ttp-agent-sdk 2.1.5 → 2.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-widget.js +1 -1
- package/dist/agent-widget.js.map +1 -1
- package/package.json +1 -1
package/dist/agent-widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-widget.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAqB,YAAID,IAEzBD,EAAkB,YAAIC,GACvB,CATD,CASGK,KAAM,I,wCCNPH,EAAOD,QAAU,EAAjB,I,kBCQEK,EAAqBC,OAAOC,IAAI,8BAEpC,SAASC,EAAQC,EAAMC,EAAQC,GAC7B,IAAIC,EAAM,KAGV,QAFA,IAAWD,IAAaC,EAAM,GAAKD,QACnC,IAAWD,EAAOE,MAAQA,EAAM,GAAKF,EAAOE,KACxC,QAASF,EAEX,IAAK,IAAIG,KADTF,EAAW,CAAC,EACSD,EACnB,QAAUG,IAAaF,EAASE,GAAYH,EAAOG,SAChDF,EAAWD,EAElB,OADAA,EAASC,EAASG,IACX,CACLC,SAAUV,EACVI,KAAMA,EACNG,IAAKA,EACLE,SAAK,IAAWJ,EAASA,EAAS,KAClCM,MAAOL,EAEX,CAlBwBL,OAAOC,IAAI,kBAoBnCP,EAAQiB,IAAMT,EACdR,EAAQkB,KAAOV,C,gBC9BbP,EAAOD,QAAU,EAAjB,I,cCQuBM,OAAOC,IAAI,8BACdD,OAAOC,IAAI,gBACTD,OAAOC,IAAI,kBACRD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACXD,OAAOC,IAAI,kBACZD,OAAOC,IAAI,iBACPD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACfD,OAAOC,IAAI,cACXD,OAAOC,IAAI,cACPD,OAAOC,IAAI,kBACTD,OAAOa,S,IAQ7BC,EAAuB,CACvBC,UAAW,WACT,OAAO,CACT,EACAC,mBAAoB,WAAa,EACjCC,oBAAqB,WAAa,EAClCC,gBAAiB,WAAa,GAEhCC,EAASC,OAAOD,OAChBE,EAAc,CAAC,EACjB,SAASC,EAAUZ,EAAOa,EAASC,GACjC1B,KAAKY,MAAQA,EACbZ,KAAKyB,QAAUA,EACfzB,KAAK2B,KAAOJ,EACZvB,KAAK0B,QAAUA,GAAWV,CAC5B,CAgBA,SAASY,IAAkB,CAE3B,SAASC,EAAcjB,EAAOa,EAASC,GACrC1B,KAAKY,MAAQA,EACbZ,KAAKyB,QAAUA,EACfzB,KAAK2B,KAAOJ,EACZvB,KAAK0B,QAAUA,GAAWV,CAC5B,CAtBAQ,EAAUM,UAAUC,iBAAmB,CAAC,EACxCP,EAAUM,UAAUE,SAAW,SAAUC,EAAcC,GACrD,GACE,iBAAoBD,GACpB,mBAAsBA,GACtB,MAAQA,EAER,MAAME,MACJ,0GAEJnC,KAAK0B,QAAQN,gBAAgBpB,KAAMiC,EAAcC,EAAU,WAC7D,EACAV,EAAUM,UAAUM,YAAc,SAAUF,GAC1ClC,KAAK0B,QAAQR,mBAAmBlB,KAAMkC,EAAU,cAClD,EAEAN,EAAeE,UAAYN,EAAUM,UAOrC,IAAIO,EAA0BR,EAAcC,UAAY,IAAIF,EAC5DS,EAAuBC,YAAcT,EACrCR,EAAOgB,EAAwBb,EAAUM,WACzCO,EAAuBE,sBAAuB,EAC5BC,MAAMC,QAExB,IAAIC,EAAuB,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACxCxB,OAAOQ,UAAUiB,eA8MhC,mBAAsBC,aAClBA,YAkNRpD,EAAQqD,UAAY,SAAUC,EAAQC,GACpC,OAAOT,EAAqBC,EAAEM,UAAUC,EAAQC,EAClD,EAyBAvD,EAAQwD,OAAS,SAAUC,GACzB,OAAOX,EAAqBC,EAAES,OAAOC,EACvC,EACAzD,EAAQ0D,SAAW,SAAUC,GAC3B,OAAOb,EAAqBC,EAAEW,SAASC,EACzC,C,GC7gBIC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAa/D,QAGrB,IAAIC,EAAS2D,EAAyBE,GAAY,CAGjD9D,QAAS,CAAC,GAOX,OAHAiE,EAAoBH,GAAU7D,EAAQA,EAAOD,QAAS6D,GAG/C5D,EAAOD,OACf,CCrBA6D,EAAoBK,EAAI,CAAClE,EAASmE,KACjC,IAAI,IAAIvD,KAAOuD,EACXN,EAAoBO,EAAED,EAAYvD,KAASiD,EAAoBO,EAAEpE,EAASY,IAC5Ec,OAAO2C,eAAerE,EAASY,EAAK,CAAE0D,YAAY,EAAMC,IAAKJ,EAAWvD,MCJ3EiD,EAAoBO,EAAI,CAACI,EAAKC,IAAU/C,OAAOQ,UAAUiB,eAAeuB,KAAKF,EAAKC,GCClFZ,EAAoBc,EAAK3E,IACH,oBAAXM,QAA0BA,OAAOsE,aAC1ClD,OAAO2C,eAAerE,EAASM,OAAOsE,YAAa,CAAEC,MAAO,WAE7DnD,OAAO2C,eAAerE,EAAS,aAAc,CAAE6E,OAAO,K,87BCLvD,IAGqBC,EAAY,WAK/B,O,EAJA,SAAAA,K,4FAAcC,CAAA,KAAAD,GACZ1E,KAAK4E,OAAS,CAAC,CACjB,E,EAEA,EAAApE,IAAA,KAAAiE,MAGA,SAAGI,EAAO3C,GACHlC,KAAK4E,OAAOC,KACf7E,KAAK4E,OAAOC,GAAS,IAEvB7E,KAAK4E,OAAOC,GAAOC,KAAK5C,EAC1B,GAEA,CAAA1B,IAAA,MAAAiE,MAGA,SAAII,EAAO3C,GACJlC,KAAK4E,OAAOC,KAEjB7E,KAAK4E,OAAOC,GAAS7E,KAAK4E,OAAOC,GAAOE,OAAO,SAAAC,GAAE,OAAIA,IAAO9C,CAAQ,GACtE,GAEA,CAAA1B,IAAA,OAAAiE,MAGA,SAAKI,GAAgB,QAAAI,EAAAC,UAAAC,OAANC,EAAI,IAAA5C,MAAAyC,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJD,EAAIC,EAAA,GAAAH,UAAAG,GACZrF,KAAK4E,OAAOC,IAEjB7E,KAAK4E,OAAOC,GAAOS,QAAQ,SAAApD,GACzB,IACEA,EAAQqD,WAAC,EAAGH,EACd,CAAE,MAAOI,GACPC,QAAQD,MAAM,+BAADE,OAAgCb,EAAK,KAAKW,EACzD,CACF,EACF,GAEA,CAAAhF,IAAA,qBAAAiE,MAGA,SAAmBI,GACbA,SACK7E,KAAK4E,OAAOC,GAEnB7E,KAAK4E,OAAS,CAAC,CAEnB,I,gFAAC,CAhD8B,G,w3DCFjC,IAAAe,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAyKA,QAF2B,IAnKH,SAAAgD,GACtB,SAAAC,IAAc,IAAAC,EAI0B,OAT1C,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKgBhC,CAAA,KAAAiE,IACZC,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAL,IACKM,YAAc,IAAIC,IACvBN,EAAKO,iBAAmB,IAAID,IAC5BN,EAAKQ,oBAAsB,IAAIC,IAAOT,CACxC,CAEA,OAZF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAYE4D,CAAAX,EAAAD,GAZFhD,EAYEiD,EAZFrE,EAYE,EAAA/D,IAAA,gBAAAiE,OAZFoB,EAYEuB,IAAAE,EAGA,SAAAkC,EAAoBC,GAAG,IAAAC,EAAAC,EAAAC,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,GAAA,OAAa,IAE9B7F,KAAKkJ,YAAYY,IAAIL,GAAM,CAAFI,EAAAhE,EAAA,QAGkG,OAFvH6D,EAAqB1J,KAAKkJ,YAAY/E,IAAIsF,GAChDzJ,KAAKoJ,iBAAiBW,IAAIN,GAAMzJ,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,GAAK,GACvEhE,QAAQuE,IAAI,0DAADtE,OAA2D+D,EAAG,MAAA/D,OAAK1F,KAAKoJ,iBAAiBjF,IAAIsF,GAAI,kBAAiBI,EAAArD,EAAA,EACtHkD,GAAkB,WAIvB1J,KAAKqJ,sBAAuBrJ,KAAKqJ,oBAAoBS,IAAIL,GAAI,CAAAI,EAAAhE,EAAA,QAE/D,OADAJ,QAAQuE,IAAI,+DAADtE,OAAgE+D,EAAG,iBAC9EI,EAAArD,EAAA,EACO,IAAImB,QAAQ,SAACC,GAClB,IAAMqC,EAAkB,WACtB,GAAIL,EAAKV,YAAYY,IAAIL,GAAM,CAC7B,IAAMC,EAAqBE,EAAKV,YAAY/E,IAAIsF,GAChDG,EAAKR,iBAAiBW,IAAIN,GAAMG,EAAKR,iBAAiBjF,IAAIsF,IAAQ,GAAK,GACvEhE,QAAQuE,IAAI,iEAADtE,OAAkE+D,EAAG,MAAA/D,OAAKkE,EAAKR,iBAAiBjF,IAAIsF,GAAI,kBACnH7B,EAAQ8B,EACV,MACEQ,WAAWD,EAAiB,GAEhC,EACAA,GACF,IAAE,OAiCD,OA7BHxE,QAAQuE,IAAI,sDAADtE,OAAuD+D,IAClEzJ,KAAKqJ,oBAAoBc,IAAIV,GACvBE,EAAa,IAAIS,UAAUX,GACjCzJ,KAAKkJ,YAAYa,IAAIN,EAAKE,GAC1B3J,KAAKoJ,iBAAiBW,IAAIN,EAAK,GAG/BE,EAAWU,iBAAiB,OAAQ,SAACxF,GACnCY,QAAQuE,IAAI,gDAADtE,OAAiD+D,IAC5DG,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKW,KAAK,OAAQ1F,EAAO4E,EAC3B,GAEAE,EAAWU,iBAAiB,QAAS,SAACxF,GACpCY,QAAQuE,IAAI,gDAADtE,OAAiD+D,EAAG,YAAA/D,OAAWb,EAAM2F,KAAI,MACpFZ,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKV,YAAYoB,OAAOb,GACxBG,EAAKR,iBAAiBkB,OAAOb,GAC7BG,EAAKW,KAAK,QAAS1F,EAAO4E,EAC5B,GAEAE,EAAWU,iBAAiB,QAAS,SAACxF,GACpCY,QAAQuE,IAAI,+CAADtE,OAAgD+D,GAAO5E,GAClE+E,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKW,KAAK,QAAS1F,EAAO4E,EAC5B,GAEAE,EAAWU,iBAAiB,UAAW,SAACxF,GACtC+E,EAAKW,KAAK,UAAW1F,EAAO4E,EAC9B,GAAGI,EAAArD,EAAA,EAEImD,GAAU,EAAAH,EAAA,QA/DnBiB,EAZF,eAAA7E,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MA4EG,SA7DkBE,GAAA,OAAAH,EAAAlF,MAAC,KAADL,UAAA,IA+DnB,CAAA1E,IAAA,oBAAAiE,MAGA,SAAkBgF,GAChB,GAAKzJ,KAAKkJ,YAAYY,IAAIL,GAA1B,CAKA,IAAMoB,EAAe7K,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,EACjDqB,EAAWC,KAAKC,IAAI,EAAGH,EAAe,GAM5C,GALA7K,KAAKoJ,iBAAiBW,IAAIN,EAAKqB,GAE/BrF,QAAQuE,IAAI,kDAADtE,OAAmD+D,EAAG,MAAA/D,OAAKoF,EAAQ,4BAG7D,IAAbA,EAAgB,CAClB,IAAMnB,EAAa3J,KAAKkJ,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWsB,aAAeb,UAAUc,OACpDzF,QAAQuE,IAAI,iDAADtE,OAAkD+D,EAAG,2BAChEE,EAAWwB,MAAM,IAAM,wBAEzBnL,KAAKkJ,YAAYoB,OAAOb,GACxBzJ,KAAKoJ,iBAAiBkB,OAAOb,EAC/B,CAjBA,MAFEhE,QAAQuE,IAAI,2EAADtE,OAA4E+D,GAoB3F,GAEA,CAAAjJ,IAAA,aAAAiE,MAGA,SAAWgF,GACT,GAAIzJ,KAAKkJ,YAAYY,IAAIL,GAAM,CAC7B,IAAME,EAAa3J,KAAKkJ,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWsB,aAAeb,UAAUc,OACpDzF,QAAQuE,IAAI,uDAADtE,OAAwD+D,IACnEE,EAAWwB,MAAM,IAAM,gBAEzBnL,KAAKkJ,YAAYoB,OAAOb,GACxBzJ,KAAKoJ,iBAAiBkB,OAAOb,EAC/B,CACF,GAEA,CAAAjJ,IAAA,sBAAAiE,MAGA,SAAoBgF,GAClB,OAAKzJ,KAAKkJ,YAAYY,IAAIL,GAKnB,CACL2B,QAAQ,EACRH,WAHiBjL,KAAKkJ,YAAY/E,IAAIsF,GAGfwB,WACvBI,YAAarL,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,GAPxC,CAAE2B,QAAQ,EAAOH,WAAY,KAAMI,YAAa,EAS3D,GAEA,CAAA7K,IAAA,oBAAAiE,MAGA,WACE,IAC0D6G,EADpDC,EAAS,CAAC,EAAEC,EAAAC,EACczL,KAAKkJ,YAAYwC,WAAS,IAA1D,IAAAF,EAAAG,MAAAL,EAAAE,EAAA3F,KAAAe,MAA4D,KAAAgF,EAAAC,EAAAP,EAAA7G,MAAA,GAAhDgF,EAAGmC,EAAA,GAAEjC,EAAUiC,EAAA,GACzBL,EAAO9B,GAAO,CACZwB,WAAYtB,EAAWsB,WACvBI,YAAarL,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,EAEnD,CAAC,OAAAqC,GAAAN,EAAA7F,EAAAmG,EAAA,SAAAN,EAAArF,GAAA,CACD,OAAOoF,CACT,GAEA,CAAA/K,IAAA,WAAAiE,MAGA,WACEgB,QAAQuE,IAAI,mDAAmD,IACL+B,EADKC,EAAAP,EAC/BzL,KAAKkJ,YAAYwC,WAAS,IAA1D,IAAAM,EAAAL,MAAAI,EAAAC,EAAAnG,KAAAe,MAA4D,KAAAqF,EAAAJ,EAAAE,EAAAtH,MAAA,GAA3CkF,GAAFsC,EAAA,GAAYA,EAAA,IACrBtC,GAAcA,EAAWsB,aAAeb,UAAUc,MACpDvB,EAAWwB,MAAM,IAAM,YAE3B,CAAC,OAAAW,GAAAE,EAAArG,EAAAmG,EAAA,SAAAE,EAAA7F,GAAA,CACDnG,KAAKkJ,YAAYgD,QACjBlM,KAAKoJ,iBAAiB8C,QACtBlM,KAAKqJ,oBAAoB6C,OAC3B,IAnKF3H,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EAYE4E,CAuJC,CA/JqB,CAAS/F,I,mPCJjC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAGyD,IAEpCwG,EAAkB,SAAAxD,GACrC,SAAAwD,EAAY7L,GAAQ,IAAAuI,EAKO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAMsBhC,CAAA,KAAAwH,IAClBtD,EAPJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAOIsD,CAAA,KAAAkD,IACK7L,OAASA,EACduI,EAAKuD,GAAK,KACVvD,EAAKwD,aAAc,EACnBxD,EAAKyD,aAAe,KAAKzD,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAA4C,EAAAxD,GAdFhD,EAcEwG,EAdF5H,EAcE,EAAA/D,IAAA,UAAAiE,OAdFoB,EAcEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAAI,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,EAAA,OAAAgE,EAAArD,EAAA,EACS,IAAImB,QAAQ,SAACC,EAAS2E,GAC3B,IACE3C,EAAK0C,aAAeE,KAAKC,MAAQ,IAAM1B,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAC5EnH,QAAQuE,IAAI,gDAADtE,OAAiDkE,EAAK0C,aAAY,SAAA5G,OAAQkE,EAAKtJ,OAAOuM,eAGjGC,EAAmBC,cAAcnD,EAAKtJ,OAAOuM,aAAcjD,EAAKtJ,QAC7DuH,KAAK,SAAC8B,GACLC,EAAKwC,GAAKzC,EACVlE,QAAQuE,IAAI,yCAADtE,OAA0CkE,EAAK0C,eAG1D1C,EAAKoD,sBAGDrD,EAAWsB,aAAeb,UAAUc,OACtCtB,EAAKyC,aAAc,EACnBzC,EAAKW,KAAK,aACV3C,IAEJ,GACCqF,MAAM,SAACzH,GACNC,QAAQD,MAAM,4CAADE,OAA6CkE,EAAK0C,cAAgB9G,GAC/E+G,EAAO/G,EACT,EAEJ,CAAE,MAAOA,GACPC,QAAQD,MAAM,2CAADE,OAA4CkE,EAAK0C,cAAgB9G,GAC9E+G,EAAO/G,EACT,CACF,GAAE,EAAAgE,EAAA,GAlCJ0D,EAdF,eAAAtH,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MAiDG,WAhCY,OAAAwC,EAAA3H,MAAC,KAADL,UAAA,IAkCb,CAAA1E,IAAA,sBAAAiE,MAGA,WAAsB,IAAA0I,EAAA,KACpB,GAAKnN,KAAKoM,GAAV,CAGA,IAAMgB,EAAa,SAACvI,EAAO4E,GACrBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,4CAADtE,OAA6CyH,EAAKb,eAC7Da,EAAKd,aAAc,EACnBc,EAAK5C,KAAK,aAEd,EAEM8C,EAAc,SAACxI,EAAO4E,GACtBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,4CAADtE,OAA6CyH,EAAKb,aAAY,YAAA5G,OAAWb,EAAM2F,KAAI,MAC9F2C,EAAKd,aAAc,EACnBc,EAAK5C,KAAK,eAAgB1F,GAE9B,EAEMyI,EAAc,SAACzI,EAAO4E,GACtBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,2CAADtE,OAA4CyH,EAAKb,cAAgBzH,GAC5EsI,EAAK5C,KAAK,QAAS1F,GAEvB,EAEM0I,EAAgB,SAAC1I,EAAO4E,GACxBA,IAAQ0D,EAAK7M,OAAOuM,cACtBM,EAAKI,cAAc1I,EAEvB,EAGAiI,EAAmBU,GAAG,OAAQJ,GAC9BN,EAAmBU,GAAG,QAASH,GAC/BP,EAAmBU,GAAG,QAASF,GAC/BR,EAAmBU,GAAG,UAAWD,GAGjCvN,KAAKyN,cAAgB,CACnBC,KAAMN,EACNjC,MAAOkC,EACP7H,MAAO8H,EACPK,QAASJ,EA3CS,CA6CtB,GAEA,CAAA/M,IAAA,aAAAiE,MAGA,WACEgB,QAAQuE,IAAI,wCAADtE,OAAyC1F,KAAKsM,eAGrDtM,KAAKyN,gBACPX,EAAmBc,IAAI,OAAQ5N,KAAKyN,cAAcC,MAClDZ,EAAmBc,IAAI,QAAS5N,KAAKyN,cAActC,OACnD2B,EAAmBc,IAAI,QAAS5N,KAAKyN,cAAcjI,OACnDsH,EAAmBc,IAAI,UAAW5N,KAAKyN,cAAcE,UAInD3N,KAAKM,OAAOuM,eACdpH,QAAQuE,IAAI,+CAADtE,OAAgD1F,KAAKsM,aAAY,oBAC5EQ,EAAmBe,kBAAkB7N,KAAKM,OAAOuM,eAGnD7M,KAAKoM,GAAK,KACVpM,KAAKqM,aAAc,CACrB,GAEA,CAAA7L,IAAA,cAAAiE,MAGA,SAAYkJ,GACV,IAAK3N,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKC,KAAKC,UAAUL,GAC9B,GAEA,CAAAnN,IAAA,aAAAiE,MAGA,SAAWwJ,GACT,IAAKjO,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKG,EACf,GAEA,CAAAzN,IAAA,gBAAAiE,MAGA,SAAcI,GAAO,IAAAqJ,EAAA,KAEnB,GAAIrJ,EAAMoJ,gBAAgBE,YACxBnO,KAAKuK,KAAK,cAAe1F,EAAMoJ,WAE1B,GAAIpJ,EAAMoJ,gBAAgBG,KAC/BvJ,EAAMoJ,KAAKI,cAAcxG,KAAK,SAAAwG,GAC5BH,EAAK3D,KAAK,cAAe8D,EAC3B,GAAGpB,MAAM,SAAAnB,GACPrG,QAAQD,MAAM,+DAAgEsG,EAChF,QAKF,IACE,IAAM6B,EAAUI,KAAKO,MAAMzJ,EAAMoJ,MAGf,iBAAdN,EAAQ/H,GAAsC,iBAAd+H,EAAQ/H,GAC1C5F,KAAKuK,KAAK,UAAWoD,GAIL,iBAAdA,EAAQ/H,GACV5F,KAAKuK,KAAK,cAAeoD,GAG3B3N,KAAKuK,KAAK,UAAWoD,EACvB,CAAE,MAAOnI,GACPxF,KAAKuK,KAAK,QAAS/E,EACrB,CACF,GAEA,CAAAhF,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClBpB,WAAYjL,KAAKoM,GAAKpM,KAAKoM,GAAGnB,WAAa,KAC3CqB,aAActM,KAAKsM,aAEvB,IAlMF1G,EAoME,EAAApF,IAAA,qBAAAiE,MAGA,WACE,OAAOqI,EAAmByB,mBAC5B,GAEA,CAAA/N,IAAA,sBAAAiE,MAGA,WACEqI,EAAmB0B,UACrB,IAhNFjK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,EAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAqB,EAAAC,EAcEqH,CAkMC,CA3MoC,CAASxI,G,mPCLhD,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,EAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA5C,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExB+I,EAAa,SAAA/F,GAChC,SAAA+F,EAAYpO,GAAQ,IAAAuI,EAMO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAA+J,IAClB7F,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAyF,IACKpO,OAASA,EACduI,EAAK8F,aAAe,KACpB9F,EAAK+F,iBAAmB,KACxB/F,EAAKgG,YAAc,KACnBhG,EAAKiG,aAAc,EAAMjG,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAAmF,EAAA/F,GAdFhD,EAcE+I,EAdFnK,EAcE,EAAA/D,IAAA,QAAAiE,OAAAsK,EAAAN,EAAArH,IAAAE,EAGA,SAAAkC,IAAA,IAAAwF,EAAApF,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAG6BoJ,UAAUC,aAAaC,aAAa,CAC3DC,MAAO,CACLC,WAAYrP,KAAKM,OAAO+O,WACxBC,aAAc,EACdC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,KAEnB,OAOF,GAfAzP,KAAK6O,YAAWhF,EAAAtD,EAWhBvG,KAAK2O,aAAe,IAAKe,OAAOC,cAAgBD,OAAOE,oBAAoB,CACzEP,WAAYrP,KAAKM,OAAO+O,aAIM,cAA5BrP,KAAK2O,aAAakB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EACnC7F,KAAK2O,aAAamB,SAAQ,cAAAjG,EAAAhE,EAAA,EAI5B7F,KAAK2O,aAAaoB,aAAaC,UAAU,uBAAsB,OAGrEhQ,KAAK4O,iBAAmB,IAAIqB,iBAAiBjQ,KAAK2O,aAAc,mBAGjD3O,KAAK2O,aAAauB,wBAAwBlQ,KAAK6O,aACvDsB,QAAQnQ,KAAK4O,kBAGpB5O,KAAK4O,iBAAiBwB,KAAKC,UAAY,SAACxL,GACtC,IAAAyL,EAAuBzL,EAAMoJ,KAArB5N,EAAIiQ,EAAJjQ,KAAM4N,EAAIqC,EAAJrC,KAED,mBAAT5N,GACFuJ,EAAKW,KAAK,YAAa0D,EAE3B,EAGAjO,KAAK4O,iBAAiBwB,KAAKG,YAAY,CACrClQ,KAAM,qBACN4N,KAAM,CAAEuC,SAAS,KAGnBxQ,KAAK8O,aAAc,EACnB9O,KAAKuK,KAAK,oBAAoBV,EAAAhE,EAAA,eAGJ,MAHIgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAG9BvG,KAAKuK,KAAK,QAAOyE,GAASA,EAAA,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAG7B,WAvDU,OAAAuF,EAAAxJ,MAAC,KAADL,UAAA,IAyDX,CAAA1E,IAAA,OAAAiE,OAAAgM,EAAAhC,EAAArH,IAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,IAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACO7F,KAAK8O,YAAa,CAAF8B,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,aAAAoK,EAAAxK,EAAA,GAMfpG,KAAK4O,iBAAkB,CAAFgC,EAAA/K,EAAA,QACmC,OAA1D7F,KAAK4O,iBAAiBwB,KAAKG,YAAY,CAAElQ,KAAM,UAAWuQ,EAAA/K,EAAA,EACpD,IAAI8B,QAAQ,SAAAC,GAAO,OAAIsC,WAAWtC,EAAS,IAAI,GAAC,OAOvD,GAHG5H,KAAK6O,cACP7O,KAAK6O,YAAYgC,YAAYvL,QAAQ,SAAAwL,GAAK,OAAIA,EAAMC,MAAM,GAC1D/Q,KAAK6O,YAAc,OAGjB7O,KAAK2O,cAA4C,WAA5B3O,KAAK2O,aAAakB,MAAkB,CAAAe,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACrD7F,KAAK2O,aAAaxD,QAAO,OAC/BnL,KAAK2O,aAAe,KAAK,OAG3B3O,KAAK4O,iBAAmB,KACxB5O,KAAK8O,aAAc,EACnB9O,KAAKuK,KAAK,oBAAoBqG,EAAA/K,EAAA,eAGJ,MAHI+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAG9BvG,KAAKuK,KAAK,QAAOoG,GAASA,EAAA,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAG7B,WA/BS,OAAAD,EAAAlL,MAAC,KAADL,UAAA,IAiCV,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACLqK,YAAa9O,KAAK8O,YAClBkC,kBAAmBhR,KAAK2O,aAAe3O,KAAK2O,aAAakB,MAAQ,SAErE,GAEA,CAAArP,IAAA,UAAAiE,MAGA,WACEzE,KAAK+Q,MACP,IA7HFxM,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EA0EEkM,EA5DA1B,CA+GC,CAzH+B,CAASrK,G,mPCJ3C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExBsL,EAAW,SAAAtI,GAC9B,SAAAsI,EAAY3Q,GAAQ,IAAAuI,EAOQ,OAZ9B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAAsM,IAClBpI,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAgI,IACK3Q,OAASA,EACduI,EAAK8F,aAAe,KACpB9F,EAAKqI,WAAa,GAClBrI,EAAKsI,WAAY,EACjBtI,EAAKuI,mBAAoB,EACzBvI,EAAKwI,cAAgB,KAAKxI,CAC5B,CAEA,OAfF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAeE4D,CAAA0H,EAAAtI,GAfFhD,EAeEsL,EAfF1M,EAeE,EAAA/D,IAAA,YAAAiE,MAGA,SAAU6M,GAAW,IAAA1H,EAAA,KACnB,IACE,IAAM2H,EAAYvR,KAAKwR,gBAAgBF,GACvCtR,KAAKkR,WAAWpM,KAAKyM,GAGhBvR,KAAKmR,WAAcnR,KAAKoR,mBAC3BlH,WAAW,kBAAMN,EAAK6H,cAAc,EAAE,GAE1C,CAAE,MAAOjM,GACPxF,KAAKuK,KAAK,gBAAiB/E,EAC7B,CACF,GAEA,CAAAhF,IAAA,kBAAAiE,MAGA,SAAgB4J,GACd,IAAMqD,EAAa,IAAIC,WAAWtD,GAGlC,GAAIqD,EAAWvM,QAAU,EAAG,CAE1B,GAAsB,KAAlBuM,EAAW,IAAiC,KAAlBA,EAAW,IACnB,KAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,cAIzC,GAAsB,MAAlBqR,EAAW,MAA0C,KAA1BA,EAAW,IACxC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,eAIzC,GAAsB,KAAlBqR,EAAW,IAAiC,MAAlBA,EAAW,IACnB,MAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,aAE3C,CAGA,OAAO,IAAI+N,KAAK,CAACC,GAAc,CAAEhO,KAAM,aACzC,GAEA,CAAAG,IAAA,eAAAiE,OA9DFoB,EA8DEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAA+H,EAAA5C,EAAAN,EAAAuD,EAAAC,EAAA7C,EAAA7B,EAAA,YAAA/F,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WAEM7F,KAAKoR,oBAAqBpR,KAAKmR,WAAwC,IAA3BnR,KAAKkR,WAAW/L,OAAY,CAAA0E,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,UAMnC,GAFzCxG,KAAKoR,mBAAoB,EAEnBG,EAAYvR,KAAKkR,WAAWY,QAClB,CAAFjI,EAAAhE,EAAA,QACmB,OAA/B7F,KAAKoR,mBAAoB,EAAMvH,EAAArD,EAAA,UAe/B,GAf+BqD,EAAAzD,EAAA,EAK/BpG,KAAKmR,WAAY,EACjBnR,KAAKuK,KAAK,mBAGLvK,KAAK2O,eACR3O,KAAK2O,aAAe,IAAKe,OAAOC,cAAgBD,OAAOE,qBAM9B,eAHrBjB,EAAe3O,KAAK2O,cAGTkB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EAC9B8I,EAAamB,SAAQ,cAAAjG,EAAAhE,EAAA,EAIH0L,EAAUlD,cAAa,OAAhC,OAAXA,EAAWxE,EAAAtD,EAAAsD,EAAAhE,EAAG,EACM8I,EAAaoD,gBAAgB1D,GAAY,OAA7DuD,EAAW/H,EAAAtD,GAEXsL,EAASlD,EAAaqD,sBACrBC,OAASL,EAChBC,EAAO1B,QAAQxB,EAAauD,aAE5BlS,KAAKqR,cAAgBQ,EAGrBA,EAAOM,QAAU,WACfhF,EAAKgE,WAAY,EACjBhE,EAAKiE,mBAAoB,EACzBjE,EAAKkE,cAAgB,KACrBlE,EAAK5C,KAAK,mBAGN4C,EAAK+D,WAAW/L,OAAS,GAC3B+E,WAAW,kBAAMiD,EAAKsE,cAAc,EAAE,IAE1C,EAGAI,EAAOO,QAAQvI,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAGfvG,KAAKmR,WAAY,EACjBnR,KAAKoR,mBAAoB,EACzBpR,KAAKqR,cAAgB,KACrBrR,KAAKuK,KAAK,gBAAeyE,GAGrBhP,KAAKkR,WAAW/L,OAAS,GAC3B+E,WAAW,kBAAMiD,EAAKsE,cAAc,EAAE,KACvC,cAAA5H,EAAArD,EAAA,KAAAgD,EAAA,gBApEL6I,EA9DF,eAAAzM,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MAoIG,WAnEiB,OAAA2H,EAAA9M,MAAC,KAADL,UAAA,IAqElB,CAAA1E,IAAA,OAAAiE,MAGA,WACEzE,KAAKsS,eACP,GAEA,CAAA9R,IAAA,gBAAAiE,MAGA,WACE,GAAIzE,KAAKqR,cAAe,CACtB,IACErR,KAAKqR,cAAcN,MACrB,CAAE,MAAOvL,GACP,CAEFxF,KAAKqR,cAAgB,IACvB,CAEArR,KAAKmR,WAAY,EACjBnR,KAAKoR,mBAAoB,EACzBpR,KAAKkR,WAAa,GAClBlR,KAAKuK,KAAK,kBACZ,GAEA,CAAA/J,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL0M,UAAWnR,KAAKmR,UAChBC,kBAAmBpR,KAAKoR,kBACxBmB,YAAavS,KAAKkR,WAAW/L,OAC7B6L,kBAAmBhR,KAAK2O,aAAe3O,KAAK2O,aAAakB,MAAQ,SAErE,GAEA,CAAArP,IAAA,UAAAiE,MAGA,WACEzE,KAAK+Q,OAED/Q,KAAK2O,cAA4C,WAA5B3O,KAAK2O,aAAakB,QACzC7P,KAAK2O,aAAaxD,QAClBnL,KAAK2O,aAAe,KAExB,IAtLFpK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EA8DEwM,CAwHC,CAlL6B,CAAS3N,G,oPCJzC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA8H,GAAA7M,EAAApB,GAAA,IAAAqB,EAAAtE,OAAAmR,KAAA9M,GAAA,GAAArE,OAAAoR,sBAAA,KAAA1O,EAAA1C,OAAAoR,sBAAA/M,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAjD,OAAAqR,yBAAAhN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAgN,GAAAjN,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAiO,GAAAlR,OAAAsE,IAAA,GAAAN,QAAA,SAAAf,GAAAsO,GAAAlN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAjD,OAAAwR,0BAAAxR,OAAAyR,iBAAApN,EAAArE,OAAAwR,0BAAAlN,IAAA4M,GAAAlR,OAAAsE,IAAAN,QAAA,SAAAf,GAAAjD,OAAA2C,eAAA0B,EAAApB,EAAAjD,OAAAqR,yBAAA/M,EAAArB,GAAA,UAAAoB,CAAA,UAAAkN,GAAAlN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAArE,OAAA2C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,KAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,GAAA,mBAAAxC,CAAA,cAAA6C,GAAA7C,GAAA,OAAA6C,GAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,GAAA7C,EAAA,UAAA8C,GAAA9C,EAAAD,GAAA,OAAA+C,GAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,GAAA9C,EAAAD,EAAA,CAM2C,IAEtBqN,GAAQ,SAAArK,GAC3B,SAAAqK,IAAyB,IAAAnK,EAAbvI,EAAM4E,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,EA8BM,OAvC9B,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCASyBhC,CAAA,KAAAqO,IACrBnK,EAVJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,GAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,KAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,GAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAUIsD,CAAA,KAAA+J,IAGK1S,OAAMsS,GAAA,CACT/F,aAAcvM,EAAOuM,cAAgB,oCACrCoG,QAAS3S,EAAO2S,QAChBC,MAAO5S,EAAO4S,MACdC,MAAO7S,EAAO6S,MACdC,MAAO9S,EAAO8S,OAAS,UACvBC,SAAU/S,EAAO+S,UAAY,KAC7BhE,WAAY/O,EAAO+O,YAAc,MAC9B/O,GAILuI,EAAKwD,aAAc,EACnBxD,EAAKiG,aAAc,EACnBjG,EAAKsI,WAAY,EACjBtI,EAAKyK,aAAc,EAGnBzK,EAAK0K,iBAAmB,IAAIpH,EAAkByG,GAAAA,GAAC,CAAC,EAC3C/J,EAAKvI,QAAM,IACdkT,eAA6C,IAA9B3K,EAAKvI,OAAOkT,iBAE7B3K,EAAK4K,cAAgB,IAAI/E,EAAc7F,EAAKvI,QAC5CuI,EAAK6K,YAAc,IAAIzC,EAAYpI,EAAKvI,QAGxCuI,EAAK8K,qBAAqB9K,CAC5B,CAEA,OA1CF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,GAAA9C,EAAAD,EAAA,CA0CE4D,CAAAyJ,EAAArK,GA1CFhD,EA0CEqN,EA1CFzO,EA0CE,EAAA/D,IAAA,qBAAAiE,MAGA,WAAqB,IAAAmF,EAAA,KAEnB5J,KAAKuT,iBAAiB/F,GAAG,YAAa,WACpC5D,EAAKyC,aAAc,EACnBzC,EAAKgK,mBACLhK,EAAKW,KAAK,YACZ,GAEAvK,KAAKuT,iBAAiB/F,GAAG,eAAgB,SAAC3I,GACxC+E,EAAKyC,aAAc,EAIfzC,EAAKkF,cACPrJ,QAAQuE,IAAI,uEACZJ,EAAKiK,gBAAgB5G,MAAM,SAAAnB,GACzBrG,QAAQD,MAAM,oDAAqDsG,EACrE,IAIFlC,EAAKW,KAAK,eAAgB1F,EAC5B,GAEA7E,KAAKuT,iBAAiB/F,GAAG,QAAS,SAAChI,GACjCoE,EAAKW,KAAK,QAAS/E,EACrB,GAEAxF,KAAKuT,iBAAiB/F,GAAG,UAAW,SAACG,GAEnC,GAAkB,mBAAdA,EAAQ/H,GAA0B+H,EAAQM,KAC5C,IAIE,IAFA,IAAM6F,EAAeC,KAAKpG,EAAQM,MAC5BqD,EAAY,IAAIK,WAAWmC,EAAa3O,QACrCW,EAAI,EAAGA,EAAIgO,EAAa3O,OAAQW,IACvCwL,EAAUxL,GAAKgO,EAAaE,WAAWlO,GAGzCL,QAAQuE,IAAI,oDACZJ,EAAK8J,YAAYO,UAAU3C,GAC3B1H,EAAKW,KAAK,kBACZ,CAAE,MAAO/E,GACPC,QAAQD,MAAM,0CAA2CA,EAC3D,MAEAoE,EAAKW,KAAK,UAAWoD,EAEzB,GAEA3N,KAAKuT,iBAAiB/F,GAAG,cAAe,SAAC8D,GACvC1H,EAAK8J,YAAYO,UAAU3C,EAC7B,GAEAtR,KAAKuT,iBAAiB/F,GAAG,UAAW,SAACG,GACnC/D,EAAKW,KAAK,UAAWoD,EACvB,GAEA3N,KAAKuT,iBAAiB/F,GAAG,cAAe,SAACG,GACvC/D,EAAKW,KAAK,cAAeoD,GAEzB/D,EAAK8J,YAAYpB,eACnB,GAGAtS,KAAKyT,cAAcjG,GAAG,mBAAoB,WACxC5D,EAAKkF,aAAc,EACnBlF,EAAKW,KAAK,mBACZ,GAEAvK,KAAKyT,cAAcjG,GAAG,mBAAoB,WACxC5D,EAAKkF,aAAc,EACnBlF,EAAKW,KAAK,mBACZ,GAEAvK,KAAKyT,cAAcjG,GAAG,YAAa,SAAC8D,GAC9B1H,EAAKyC,aACPzC,EAAK2J,iBAAiBW,WAAW5C,EAErC,GAGAtR,KAAK0T,YAAYlG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKW,KAAK,kBACZ,GAEAvK,KAAK0T,YAAYlG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKW,KAAK,kBACZ,GAEAvK,KAAK0T,YAAYlG,GAAG,gBAAiB,SAAChI,GACpCoE,EAAKW,KAAK,gBAAiB/E,EAC7B,EACF,GAEA,CAAAhF,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAGA,SAAAkC,IAAA,IAAA2K,EAAAnF,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WACM7F,KAAKsT,YAAa,CAAFzJ,EAAAhE,EAAA,QAC0C,OAA5DJ,QAAQ2O,KAAK,+CAA+CvK,EAAArD,EAAA,GACrD,GAAK,OAgBsD,OAhBtDqD,EAAAzD,EAAA,EAKN+N,EAAQnU,KAAKqU,oBACnB5O,QAAQuE,IAAI,yCAA0CmK,GACtD1O,QAAQuE,IAAI,uBAAwB,CAClCiJ,QAASjT,KAAKM,OAAO2S,QACrBC,MAAOlT,KAAKM,OAAO4S,MACnBG,SAAUrT,KAAKM,OAAO+S,WAIxBrT,KAAKuT,iBAAiBjT,OAAOuM,aAAesH,EAE5C1O,QAAQuE,IAAI,sDAAsDH,EAAAhE,EAAA,EAC5D7F,KAAKuT,iBAAiBpD,UAAS,OACyC,OAA9E1K,QAAQuE,IAAI,kEAAkEH,EAAArD,EAAA,GACvE,GAAI,OAGe,OAHfqD,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAEXd,QAAQD,MAAM,6CAA4CwJ,GAC1DhP,KAAKuK,KAAK,QAAOyE,GAASnF,EAAArD,EAAA,GACnB,GAAK,EAAAgD,EAAA,iBAEf,WA5BY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IA8Bb,CAAA1E,IAAA,oBAAAiE,MAGA,WACE,IAAIgF,EAAMzJ,KAAKM,OAAOuM,aAChByH,EAAS,IAAIC,gBAwBnB,GArBIvU,KAAKM,OAAO2S,UACdqB,EAAOE,OAAO,UAAWxU,KAAKM,OAAO2S,SACrCxN,QAAQuE,IAAI,mCAAoChK,KAAKM,OAAO2S,UAI1DjT,KAAKM,OAAO4S,QACdoB,EAAOE,OAAO,QAASxU,KAAKM,OAAO4S,OACnCzN,QAAQuE,IAAI,iCAAkChK,KAAKM,OAAO4S,QAIxDlT,KAAKM,OAAO8S,OAA+B,YAAtBpT,KAAKM,OAAO8S,OACnCkB,EAAOE,OAAO,QAASxU,KAAKM,OAAO8S,OAGjCpT,KAAKM,OAAO+S,UAAqC,OAAzBrT,KAAKM,OAAO+S,UACtCiB,EAAOE,OAAO,WAAYxU,KAAKM,OAAO+S,UAIpCiB,EAAO3H,WAAY,CACrB,IAAM8H,EAAYhL,EAAIiL,SAAS,KAAO,IAAM,IAC5CjL,GAAOgL,EAAYH,EAAO3H,UAC5B,CAEA,OAAOlD,CACT,GAEA,CAAAjJ,IAAA,aAAAiE,MAGA,WACMzE,KAAKsT,YACP7N,QAAQuE,IAAI,0DAGdvE,QAAQuE,IAAI,iDACZhK,KAAK6T,gBACL7T,KAAKuT,iBAAiBoB,aACxB,GAEA,CAAAnU,IAAA,4BAAAiE,MAGA,WACMzE,KAAKsT,aAGTtT,KAAKuT,iBAAiBqB,2BACxB,GAEA,CAAApU,IAAA,YAAAiE,OAAAoQ,EAAApG,GAAArH,KAAAE,EAGA,SAAAoJ,IAAA,OAAAtJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,WACM7F,KAAKsT,YAAa,CAAF1C,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,GACX,GAAK,OAImB,OADjCxG,KAAK2U,aACL3U,KAAK4U,4BAA4BhE,EAAA/K,EAAA,EACpB7F,KAAKmQ,UAAS,cAAAS,EAAApK,EAAA,EAAAoK,EAAArK,GAAA,EAAAmK,EAAA,SAC5B,WARc,OAAAmE,EAAAtP,MAAC,KAADL,UAAA,IAUf,CAAA1E,IAAA,iBAAAiE,OAAAqQ,EAAArG,GAAArH,KAAAE,EAGA,SAAAyN,IAAA,IAAApE,EAAA,OAAAvJ,KAAAC,EAAA,SAAA2N,GAAA,cAAAA,EAAA5O,EAAA4O,EAAAnP,GAAA,UACO7F,KAAKqM,YAAa,CAAF2I,EAAAnP,EAAA,cACb,IAAI1D,MAAM,iCAAgC,OAYhD,OAZgD6S,EAAA5O,EAAA,EAKhDpG,KAAKuT,iBAAiB0B,YAAY,CAChCrP,EAAG,wBACHuN,MAAOnT,KAAKkV,gBACZ9B,MAAOpT,KAAKM,OAAO8S,MACnBC,SAAUrT,KAAKM,OAAO+S,WAGxB2B,EAAAnP,EAAA,EACM7F,KAAKyT,cAAcrB,QAAO,cAAA4C,EAAAxO,EAAA,GACzB,GAAI,OAEe,OAFfwO,EAAA5O,EAAA,EAAAuK,EAAAqE,EAAAzO,EAEXvG,KAAKuK,KAAK,QAAOoG,GAASqE,EAAAxO,EAAA,GACnB,GAAK,EAAAuO,EAAA,iBAEf,WArBmB,OAAAD,EAAAvP,MAAC,KAADL,UAAA,IAuBpB,CAAA1E,IAAA,gBAAAiE,OAAA0Q,EAAA1G,GAAArH,KAAAE,EAGA,SAAA8N,IAAA,IAAAC,EAAA,OAAAjO,KAAAC,EAAA,SAAAiO,GAAA,cAAAA,EAAAlP,EAAAkP,EAAAzP,GAAA,UACO7F,KAAK8O,YAAa,CAAFwG,EAAAzP,EAAA,eAAAyP,EAAA9O,EAAA,UAWnB,OAXmB8O,EAAAlP,EAAA,EAMnBpG,KAAKuT,iBAAiB0B,YAAY,CAChCrP,EAAG,uBACHuN,MAAOnT,KAAKkV,kBAGdI,EAAAzP,EAAA,EACM7F,KAAKyT,cAAc1C,OAAM,OAGE,OAAjC/Q,KAAK0T,YAAYpB,gBAAgBgD,EAAA9O,EAAA,GAE1B,GAAI,OAEe,OAFf8O,EAAAlP,EAAA,EAAAiP,EAAAC,EAAA/O,EAEXvG,KAAKuK,KAAK,QAAO8K,GAASC,EAAA9O,EAAA,GACnB,GAAK,EAAA4O,EAAA,iBAEf,WAvBkB,OAAAD,EAAA5P,MAAC,KAADL,UAAA,IAyBnB,CAAA1E,IAAA,kBAAAiE,OAAA8Q,EAAA9G,GAAArH,KAAAE,EAGA,SAAAkO,IAAA,OAAApO,KAAAC,EAAA,SAAAoO,GAAA,cAAAA,EAAA5P,GAAA,WACM7F,KAAK8O,YAAa,CAAF2G,EAAA5P,EAAA,eAAA4P,EAAA5P,EAAA,EACL7F,KAAK6T,gBAAe,OAEC,cAAA4B,EAAAjP,EAAA,EAAAiP,EAAAlP,GAFD,cAAAkP,EAAA5P,EAAA,EAEpB7F,KAAK0V,iBAAgB,cAAAD,EAAAjP,EAAA,KAAAgP,EAAA,SAErC,WANoB,OAAAD,EAAAhQ,MAAC,KAADL,UAAA,IAQrB,CAAA1E,IAAA,oBAAAiE,MAGA,WACEzE,KAAK0T,YAAYpB,eACnB,GAEA,CAAA9R,IAAA,gBAAAiE,OAAAkR,EAAAlH,GAAArH,KAAAE,EAGA,SAAAsO,IAAA,OAAAxO,KAAAC,EAAA,SAAAwO,GAAA,cAAAA,EAAAhQ,GAAA,OAIE,GAFA7F,KAAK8V,oBAGA9V,KAAK8O,YAAa,CAAF+G,EAAAhQ,EAAA,eAAAgQ,EAAAhQ,EAAA,EACb7F,KAAK0V,iBAAgB,cAAAG,EAAArP,EAAA,KAAAoP,EAAA,SAE9B,WARkB,OAAAD,EAAApQ,MAAC,KAADL,UAAA,IAUnB,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClByC,YAAa9O,KAAK8O,YAClBqC,UAAWnR,KAAKmR,UAEpB,GAEA,CAAA3Q,IAAA,eAAAiE,MAGA,SAAasR,GACX/V,KAAKM,OAAMsS,GAAAA,GAAA,GAAQ5S,KAAKM,QAAWyV,EACrC,GAEA,CAAAvV,IAAA,gBAAAiE,MAGA,WACE,MAAO,OAASsG,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAAK,IAAMJ,KAAKC,KACvE,GAEA,CAAAjM,IAAA,mBAAAiE,MAGA,WACE,GAAKzE,KAAKqM,YAAV,CAKA,IAAM2J,EAAe,CACnBpQ,EAAG,SAID5F,KAAKM,OAAO4S,OACd8C,EAAa9C,MAAQlT,KAAKM,OAAO4S,MACjCzN,QAAQuE,IAAI,0EACHhK,KAAKM,OAAO6S,OAErB6C,EAAa7C,MAAQnT,KAAKM,OAAO6S,MACjC1N,QAAQuE,IAAI,0EAGZgM,EAAa7C,MAAQnT,KAAKkV,gBAC1BzP,QAAQuE,IAAI,wEAMVhK,KAAKM,OAAO4S,MACdzN,QAAQuE,IAAI,6CAA8ChK,KAAKM,OAAO4S,OAC7DlT,KAAKM,OAAO6S,MACrB1N,QAAQuE,IAAI,iCAAkChK,KAAKM,OAAO6S,OAE1D1N,QAAQuE,IAAI,oCAAqCgM,EAAa7C,OAGhE,IACEnT,KAAKuT,iBAAiB0B,YAAYe,GAClCvQ,QAAQuE,IAAI,gCAAiCgM,EAC/C,CAAE,MAAOxQ,GACPC,QAAQD,MAAM,0CAA2CA,GACzDxF,KAAKuK,KAAK,QAAS/E,EACrB,CArCA,MAFEC,QAAQ2O,KAAK,sDAwCjB,GAEA,CAAA5T,IAAA,UAAAiE,MAGA,WACMzE,KAAKsT,YACP7N,QAAQuE,IAAI,uDAIdvE,QAAQuE,IAAI,8CAGZhK,KAAK2U,aAEL3U,KAAKsT,aAAc,EACnBtT,KAAKyT,cAAcwC,UACnBjW,KAAK0T,YAAYuC,UACjBjW,KAAKkW,qBAELzQ,QAAQuE,IAAI,6CACd,IAzaFzF,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAgUEoR,EAlBAJ,EA5BAJ,EA1BAL,EAbAD,EA7FA3H,CA2RC,CAja0B,CAASxI,G,2qBC4EtC,SAF0B,IAhFH,WAKrB,O,EAJA,SAAAyR,K,4FAAcxR,CAAA,KAAAwR,GACZnW,KAAKkJ,YAAc,IAAIC,GACzB,G,EAEA,EAAA3I,IAAA,qBAAAiE,MAGA,SAAmBgF,EAAK6C,GACtB,IAAKtM,KAAKkJ,YAAYY,IAAIL,GAOxB,OANAzJ,KAAKkJ,YAAYa,IAAIN,EAAK,CACxB6C,aAAAA,EACA8J,UAAW5J,KAAKC,MAChB4J,MAAO,IAET5Q,QAAQuE,IAAI,+CAADtE,OAAgD4G,EAAY,SAAA5G,OAAQ+D,KACxE,EAGT,IAAM6M,EAAWtW,KAAKkJ,YAAY/E,IAAIsF,GAChC8M,EAA0B/J,KAAKC,MAAQ6J,EAASF,UAGtD,OAAIG,EAA0B,KAC5BvW,KAAKkJ,YAAYa,IAAIN,EAAK,CACxB6C,aAAAA,EACA8J,UAAW5J,KAAKC,MAChB4J,MAAO,IAET5Q,QAAQuE,IAAI,gDAADtE,OAAiD4G,EAAY,SAAA5G,OAAQ+D,EAAG,yBAAA/D,OAAwB6Q,EAAuB,aAC3H,IAITD,EAASD,QACT5Q,QAAQuE,IAAI,4CAADtE,OAA6C4G,EAAY,SAAA5G,OAAQ+D,EAAG,MAAA/D,OAAK4Q,EAASD,MAAK,iBAAA3Q,OAAgB6Q,EAAuB,SAClI,EACT,GAEA,CAAA/V,IAAA,uBAAAiE,MAGA,SAAqBgF,EAAK6C,GACxB,IAAMgK,EAAWtW,KAAKkJ,YAAY/E,IAAIsF,GAClC6M,GAAYA,EAAShK,eAAiBA,IACxCtM,KAAKkJ,YAAYoB,OAAOb,GACxBhE,QAAQuE,IAAI,iDAADtE,OAAkD4G,EAAY,SAAA5G,OAAQ+D,IAErF,GAEA,CAAAjJ,IAAA,sBAAAiE,MAGA,SAAoBgF,GAClB,IAAM6M,EAAWtW,KAAKkJ,YAAY/E,IAAIsF,GACtC,OAAK6M,GAI2B9J,KAAKC,MAAQ6J,EAASF,UACrB,GACnC,GAEA,CAAA5V,IAAA,oBAAAiE,MAGA,SAAkBgF,GAChB,OAAOzJ,KAAKkJ,YAAY/E,IAAIsF,EAC9B,GAEA,CAAAjJ,IAAA,WAAAiE,MAGA,WACEzE,KAAKkJ,YAAYgD,QACjBzG,QAAQuE,IAAI,gDACd,M,8EAAC,CA5EoB,I,uPCFvB,IAAArE,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,KAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,GAAA,mBAAAxC,CAAA,cAAA6C,GAAA7C,GAAA,OAAA6C,GAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,GAAA7C,EAAA,UAAA8C,GAAA9C,EAAAD,GAAA,OAAA+C,GAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,GAAA9C,EAAAD,EAAA,CAGuD,IAElC6Q,GAAgB,SAAA7N,GACnC,SAAA6N,EAAYlW,GAAQ,IAAAuI,EASQ,OAf9B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAMsBhC,CAAA,KAAA6R,IAClB3N,EAPJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,GAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,GAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,KAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,GAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAOIsD,CAAA,KAAAuN,IACKlW,OAASA,EACduI,EAAKuD,GAAK,KACVvD,EAAKwD,aAAc,EACnBxD,EAAK4N,kBAAoB,EACzB5N,EAAK6N,sBAAgD,IAAzBpW,EAAOkT,cAA0B,EAAI,EACjE3K,EAAK8N,gBAAiB,EACtB9N,EAAK+N,cAAe,EACpB/N,EAAKyD,aAAe,KAAMzD,CAC5B,CAEA,OAlBF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,GAAA9C,EAAAD,EAAA,CAkBE4D,CAAAiN,EAAA7N,GAlBFhD,EAkBE6Q,EAlBFjS,EAkBE,EAAA/D,IAAA,UAAAiE,OAlBFoB,EAkBEuB,KAAAE,EAGA,SAAAkC,IAAA,IAAAI,EAAA,YAAAxC,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,EAAA,OAAAgE,EAAArD,EAAA,EACS,IAAImB,QAAQ,SAACC,EAAS2E,GAC3B,IAEE,GAAI3C,EAAKwC,KAAOxC,EAAKwC,GAAGnB,aAAeb,UAAUyM,YAAcjN,EAAKwC,GAAGnB,aAAeb,UAAUc,MAE9F,YADAtD,IAKF,GAAIgC,EAAK+M,eAEP,YADA/O,IAKF,GAAIgC,EAAKgN,aAEP,YADAhP,IAKF,IAAKkP,GAAkBC,oBAAoBnN,EAAKtJ,OAAOuM,cAGrD,OAFApH,QAAQuE,IAAI,iEAADtE,OAAkEkE,EAAKtJ,OAAOuM,oBACzFjF,IAQF,GAJAgC,EAAKgN,cAAe,EACpBhN,EAAK0C,aAAeE,KAAKC,MAAQ,IAAM1B,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,IAGvEkK,GAAkBE,mBAAmBpN,EAAKtJ,OAAOuM,aAAcjD,EAAK0C,cAIvE,OAHA7G,QAAQuE,IAAI,2DAADtE,OAA4DkE,EAAK0C,eAC5E1C,EAAKgN,cAAe,OACpBhP,IAIFnC,QAAQuE,IAAI,oDAADtE,OAAqDkE,EAAK0C,eACrE1C,EAAKwC,GAAK,IAAIhC,UAAUR,EAAKtJ,OAAOuM,cAEpCjD,EAAKwC,GAAG6K,OAAS,WACfxR,QAAQuE,IAAI,8CAADtE,OAA+CkE,EAAK0C,eAC/D1C,EAAKyC,aAAc,EACnBzC,EAAK6M,kBAAoB,EACzB7M,EAAK+M,gBAAiB,EACtB/M,EAAKgN,cAAe,EACpBhN,EAAKW,KAAK,aACV3C,GACF,EAEAgC,EAAKwC,GAAGiE,UAAY,SAACxL,GACnB+E,EAAK2D,cAAc1I,EACrB,EAEA+E,EAAKwC,GAAG8K,QAAU,SAACrS,GACjBY,QAAQuE,IAAI,0CAADtE,OAA2CkE,EAAK0C,aAAY,YAAA5G,OAAWb,EAAM2F,KAAI,MAC5FZ,EAAKyC,aAAc,EACnBzC,EAAKgN,cAAe,EACpBhN,EAAKW,KAAK,eAAgB1F,GAGP,MAAfA,EAAM2F,MAAiBZ,EAAK6M,kBAAoB7M,EAAK8M,uBAAyB9M,EAAK+M,iBACrF/M,EAAK+M,gBAAiB,EACtB/M,EAAK6M,oBACLhR,QAAQuE,IAAI,gDAADtE,OAAiDkE,EAAK6M,kBAAiB,KAAA/Q,OAAIkE,EAAK8M,uBAC3FxM,WAAW,WACTN,EAAK+M,gBAAiB,EACtB/M,EAAKuG,UAAUlD,MAAM,WACnB,EAEJ,EAAG,IAAOrD,EAAK6M,mBAEnB,EAEA7M,EAAKwC,GAAG+K,QAAU,SAAC3R,GACjBC,QAAQuE,IAAI,yCAADtE,OAA0CkE,EAAK0C,cAAgB9G,GAC1EoE,EAAKgN,cAAe,EACpBhN,EAAKW,KAAK,QAAS/E,GACnB+G,EAAO/G,EACT,CAEF,CAAE,MAAOA,GACPC,QAAQuE,IAAI,0CAADtE,OAA2CkE,EAAK0C,cAAgB9G,GAC3EoE,EAAKgN,cAAe,EACpBrK,EAAO/G,EACT,CACF,GAAE,EAAAgE,EAAA,GA3FJ0D,EAlBF,eAAAtH,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MA8GG,WAzFY,OAAAwC,EAAA3H,MAAC,KAADL,UAAA,IA2Fb,CAAA1E,IAAA,aAAAiE,MAGA,WAEEzE,KAAK2W,gBAAiB,EACtB3W,KAAKyW,kBAAoBzW,KAAK0W,qBAG1B1W,KAAKsM,cACPwK,GAAkBM,qBAAqBpX,KAAKM,OAAOuM,aAAc7M,KAAKsM,cAGpEtM,KAAKoM,IAAMpM,KAAKoM,GAAGnB,aAAeb,UAAUc,MAC9ClL,KAAKoM,GAAGjB,MAAM,IAAM,0BAEtBnL,KAAKoM,GAAK,KACVpM,KAAKqM,aAAc,EACnBrM,KAAK4W,cAAe,CACtB,GAEA,CAAApW,IAAA,4BAAAiE,MAGA,WACEzE,KAAKyW,kBAAoB,EACzBzW,KAAK2W,gBAAiB,CACxB,GAEA,CAAAnW,IAAA,cAAAiE,MAUA,SAAYkJ,GACV,IAAK3N,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKC,KAAKC,UAAUL,GAC9B,GAEA,CAAAnN,IAAA,aAAAiE,MAGA,SAAWwJ,GACT,IAAKjO,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKG,EACf,GAEA,CAAAzN,IAAA,gBAAAiE,MAGA,SAAcI,GAAO,IAAAsI,EAAA,KAEnB,GAAItI,EAAMoJ,gBAAgBE,YACxBnO,KAAKuK,KAAK,cAAe1F,EAAMoJ,WAE1B,GAAIpJ,EAAMoJ,gBAAgBG,KAC/BvJ,EAAMoJ,KAAKI,cAAcxG,KAAK,SAAAwG,GAC5BlB,EAAK5C,KAAK,cAAe8D,EAC3B,GAAGpB,MAAM,SAAAnB,GACPqB,EAAK5C,KAAK,QAASuB,EACrB,QAKF,IACE,IAAM6B,EAAUI,KAAKO,MAAMzJ,EAAMoJ,MAGf,iBAAdN,EAAQ/H,GAAsC,iBAAd+H,EAAQ/H,GAC1C5F,KAAKuK,KAAK,UAAWoD,GAIL,iBAAdA,EAAQ/H,GACV5F,KAAKuK,KAAK,cAAeoD,GAG3B3N,KAAKuK,KAAK,UAAWoD,EACvB,CAAE,MAAOnI,GACPxF,KAAKuK,KAAK,QAAS/E,EACrB,CACF,GAEA,CAAAhF,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClBpB,WAAYjL,KAAKoM,GAAKpM,KAAKoM,GAAGnB,WAAab,UAAUiN,OAEzD,IAvNFzR,EAuNG,EAAApF,IAAA,sBAAAiE,MAvED,WACEqS,GAAkBtI,UACpB,IAlJFjK,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,GAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAqB,EAAAC,EAkBEqH,CAgIC,CA7IkC,CAASxI,G,0tCCL9C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA6H,GAAAtH,EAAAoB,GAAA,gBAAApB,GAAA,GAAA/B,MAAAC,QAAA8B,GAAA,OAAAA,CAAA,CAAA+S,CAAA/S,IAAA,SAAAA,EAAAmC,GAAA,IAAAd,EAAA,MAAArB,EAAA,yBAAArE,QAAAqE,EAAArE,OAAAa,WAAAwD,EAAA,uBAAAqB,EAAA,KAAAD,EAAAE,EAAAC,EAAAG,EAAAO,EAAA,GAAAL,GAAA,EAAAnC,GAAA,SAAA8B,GAAAF,EAAAA,EAAAtB,KAAAC,IAAAgT,KAAA,IAAA7Q,EAAA,IAAApF,OAAAsE,KAAAA,EAAA,OAAAO,GAAA,cAAAA,GAAAR,EAAAG,EAAAxB,KAAAsB,IAAAgB,QAAAJ,EAAA1B,KAAAa,EAAAlB,OAAA+B,EAAArB,SAAAuB,GAAAP,GAAA,UAAA5B,GAAAP,GAAA,EAAA6B,EAAAtB,CAAA,iBAAA4B,GAAA,MAAAP,EAAAiB,SAAAZ,EAAAL,EAAAiB,SAAAvF,OAAA2E,KAAAA,GAAA,kBAAAjC,EAAA,MAAA6B,CAAA,SAAAW,CAAA,EAAAgR,CAAAjT,EAAAoB,IAAA,SAAApB,EAAAiC,GAAA,GAAAjC,EAAA,qBAAAA,EAAA,OAAAkT,GAAAlT,EAAAiC,GAAA,IAAAZ,EAAA,GAAA+G,SAAArI,KAAAC,GAAAmT,MAAA,uBAAA9R,GAAArB,EAAAjC,cAAAsD,EAAArB,EAAAjC,YAAAqV,MAAA,QAAA/R,GAAA,QAAAA,EAAApD,MAAAoV,KAAArT,GAAA,cAAAqB,GAAA,2CAAAiS,KAAAjS,GAAA6R,GAAAlT,EAAAiC,QAAA,GAAAsR,CAAAvT,EAAAoB,IAAA,qBAAAgB,UAAA,6IAAAoR,EAAA,UAAAN,GAAAlT,EAAAiC,IAAA,MAAAA,GAAAA,EAAAjC,EAAAY,UAAAqB,EAAAjC,EAAAY,QAAA,QAAAQ,EAAA,EAAAE,EAAArD,MAAAgE,GAAAb,EAAAa,EAAAb,IAAAE,EAAAF,GAAApB,EAAAoB,GAAA,OAAAE,CAAA,CAiKA,SA5JoB,SAAHmS,GAmBX,IAlBJnL,EAAYmL,EAAZnL,aACAoG,EAAO+E,EAAP/E,QAAOgF,EAAAD,EACP5E,MAAAA,OAAK,IAAA6E,EAAG,UAASA,EAAAC,EAAAF,EACjB3E,SAAAA,OAAQ,IAAA6E,EAAG,KAAIA,EAAAC,EAAAH,EACfxE,cAAAA,OAAa,IAAA2E,GAAOA,EACpBC,EAAWJ,EAAXI,YACAC,EAAcL,EAAdK,eACAC,EAAkBN,EAAlBM,mBACAC,EAAkBP,EAAlBO,mBACAC,EAAiBR,EAAjBQ,kBACAC,EAAiBT,EAAjBS,kBACAC,EAAOV,EAAPU,QACAC,EAASX,EAATW,UACAC,EAASZ,EAATY,UACAC,EAAab,EAAba,cAAaC,EAAAd,EACbe,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAAAE,EAAAhB,EACdiB,MAAAA,OAAK,IAAAD,EAAG,CAAC,EAACA,EACVE,EAAQlB,EAARkB,SAEqDC,EAAAtN,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA9C+I,EAAW8M,EAAA,GAAEC,EAAcD,EAAA,GACmBE,EAAAxN,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA9CwL,EAAWuK,EAAA,GAAEC,EAAcD,EAAA,GACeE,EAAA1N,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA/BkW,GAAFD,EAAA,GAAcA,EAAA,IAC0CE,EAAA5N,IAAxBvI,EAAAA,GAAAA,UAAS,gBAAe,GAA/CoW,GAAFD,EAAA,GAAqBA,EAAA,IAEtCE,GAAcvW,EAAAA,GAAAA,QAAO,OAG3BH,EAAAA,GAAAA,WAAU,WACRwC,QAAQuE,IAAI,mDAADtE,OAAoDmH,IAG3D8M,EAAYC,UACdnU,QAAQuE,IAAI,0DACZ2P,EAAYC,QAAQ3D,UACpB0D,EAAYC,QAAU,MAGxB,IAAMC,EAAW,IAAI7G,GAAS,CAC5BnG,aAAAA,EACAoG,QAAAA,EACAG,MAAAA,EACAC,SAAAA,EACAG,cAAAA,IA0DF,OAtDAqG,EAASrM,GAAG,YAAa,WACvB4L,GAAe,GACfM,EAAoB,aACpBtB,SAAAA,GACF,GAEAyB,EAASrM,GAAG,eAAgB,WAC1B4L,GAAe,GACfM,EAAoB,gBACpBrB,SAAAA,GACF,GAEAwB,EAASrM,GAAG,mBAAoB,WAC9B8L,GAAe,GACfhB,SAAAA,GACF,GAEAuB,EAASrM,GAAG,mBAAoB,WAC9B8L,GAAe,GACff,SAAAA,GACF,GAEAsB,EAASrM,GAAG,kBAAmB,WAC7BgM,GAAa,GACbhB,SAAAA,GACF,GAEAqB,EAASrM,GAAG,kBAAmB,WAC7BgM,GAAa,GACbf,SAAAA,GACF,GAEAoB,EAASrM,GAAG,QAAS,SAAChI,GACpBkT,SAAAA,EAAUlT,EACZ,GAEAqU,EAASrM,GAAG,UAAW,SAACG,GACtBgL,SAAAA,EAAYhL,EACd,GAEAkM,EAASrM,GAAG,UAAW,SAACG,GACtBiL,SAAAA,EAAYjL,EACd,GAEAkM,EAASrM,GAAG,cAAe,SAACG,GAC1BkL,SAAAA,EAAgBlL,EAClB,GAEAgM,EAAYC,QAAUC,EAGtBA,EAAS1J,UAGF,WACL1K,QAAQuE,IAAI,sDAADtE,OAAuDmH,IAC9D8M,EAAYC,UACdD,EAAYC,QAAQ3D,UACpB0D,EAAYC,QAAU,KAE1B,CACF,EAAG,CAAC/M,EAAcoG,EAASG,EAAOC,IAGlC,IAAMyG,EAAW,eApHnBjU,EAoHmBkU,GApHnBlU,EAoHmBuB,KAAAE,EAAG,SAAAkC,IAAA,IAAAwF,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UACb8T,EAAYC,QAAS,CAAF/P,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,iBAAAqD,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAGhB8T,EAAYC,QAAQI,kBAAiB,OAAAnQ,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAE3Cd,QAAQD,MAAM,4BAA2BwJ,GAAS,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,gBA1HxD,eAAA5D,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,OA4HG,kBARgB,OAAAqP,EAAAxU,MAAA,KAAAL,UAAA,KAWX+U,GACJC,EAAAA,GAAAA,MAAA,OAAKjB,MAAO,CAAEkB,QAAS,OAAQC,WAAY,SAAUC,IAAK,OAAQnB,SAAA,EAChEoB,EAAAA,GAAAA,KAAA,OAAKrB,MAAO,CAAEsB,SAAU,QAASrB,SAC9BpK,EAAc,KAAO,QAExBwL,EAAAA,GAAAA,KAAA,OAAApB,SACGpK,EAAc,iBAAmB,uBAKxC,OACEwL,EAAAA,GAAAA,KAAA,UACEvB,UAAS,gBAAArT,OAAkBoJ,EAAc,YAAc,GAAE,KAAApJ,OAAIqT,GAC7DE,MAAKrG,GAAA,CACH4H,QAAS,YACTC,OAAQ,OACRC,aAAc,MACdC,gBAAiB7L,EAAc,UAAY,UAC3C8L,MAAO,QACPC,OAAQ,UACRN,SAAU,OACVO,WAAY,MACZC,WAAY,iBACT9B,GAEL+B,QAASlB,EACTmB,UAAW5O,EAAY6M,SAEtBA,GAAYe,GAGnB,E,uPC/JA,IAAAtU,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA8H,GAAA7M,EAAApB,GAAA,IAAAqB,EAAAtE,OAAAmR,KAAA9M,GAAA,GAAArE,OAAAoR,sBAAA,KAAA1O,EAAA1C,OAAAoR,sBAAA/M,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAjD,OAAAqR,yBAAAhN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAiN,GAAAlN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAArE,OAAA2C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAE2C,IAEtBoV,GAAW,WA6B9B,OAjCFvV,EAKE,SAAAuV,IAA0B,IAAdC,EAAOjW,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,GALzB,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAK0BhC,CAAA,KAAAuW,GACtBlb,KAAKmb,QANT,SAAAxV,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAiO,GAAAlR,OAAAsE,IAAA,GAAAN,QAAA,SAAAf,GAAAsO,GAAAlN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAjD,OAAAwR,0BAAAxR,OAAAyR,iBAAApN,EAAArE,OAAAwR,0BAAAlN,IAAA4M,GAAAlR,OAAAsE,IAAAN,QAAA,SAAAf,GAAAjD,OAAA2C,eAAA0B,EAAApB,EAAAjD,OAAAqR,yBAAA/M,EAAArB,GAAA,UAAAoB,CAAA,CAMgBiN,CAAA,CACV/F,aAAcsO,EAAQtO,cAAgB,oCACtCoG,QAASkI,EAAQlI,QACjBG,MAAO+H,EAAQ/H,OAAS,UACxBC,SAAU8H,EAAQ9H,UAAY,KAC9B+H,UAAWD,EAAQC,WAAaC,SAASC,KACzCC,WAAYJ,EAAQI,YAAc,kBAClCC,YAAaL,EAAQK,aAAe,gBACjCL,GAGLnb,KAAKqM,aAAc,EACnBrM,KAAK8O,aAAc,EACnB9O,KAAKmR,WAAY,EAEjBnR,KAAK6Z,SAAW,IAAI7G,GAAS,CAC3BnG,aAAc7M,KAAKmb,QAAQtO,aAC3BoG,QAASjT,KAAKmb,QAAQlI,QACtBG,MAAOpT,KAAKmb,QAAQ/H,MACpBC,SAAUrT,KAAKmb,QAAQ9H,WAGzBrT,KAAKgN,sBACLhN,KAAKyb,eACLzb,KAAKmQ,SACP,EA/BF5L,EAiCE,EAAA/D,IAAA,sBAAAiE,MAGA,WAAsB,IAAAoE,EAAA,KACpB7I,KAAK6Z,SAASrM,GAAG,YAAa,WAAM,IAAAkO,EAAAC,EAClC9S,EAAKwD,aAAc,EACnBxD,EAAK+S,eACmB,QAAxBF,GAAAC,EAAA9S,EAAKsS,SAAQ/C,mBAAW,IAAAsD,GAAxBA,EAAApX,KAAAqX,EACF,GAEA3b,KAAK6Z,SAASrM,GAAG,eAAgB,WAAM,IAAAqO,EAAAC,EACrCjT,EAAKwD,aAAc,EACnBxD,EAAK+S,eACsB,QAA3BC,GAAAC,EAAAjT,EAAKsS,SAAQ9C,sBAAc,IAAAwD,GAA3BA,EAAAvX,KAAAwX,EACF,GAEA9b,KAAK6Z,SAASrM,GAAG,mBAAoB,WAAM,IAAAuO,EAAAC,EACzCnT,EAAKiG,aAAc,EACnBjG,EAAK+S,eAC0B,QAA/BG,GAAAC,EAAAnT,EAAKsS,SAAQ7C,0BAAkB,IAAAyD,GAA/BA,EAAAzX,KAAA0X,EACF,GAEAhc,KAAK6Z,SAASrM,GAAG,mBAAoB,WAAM,IAAAyO,EAAAC,EACzCrT,EAAKiG,aAAc,EACnBjG,EAAK+S,eAC0B,QAA/BK,GAAAC,EAAArT,EAAKsS,SAAQ5C,0BAAkB,IAAA0D,GAA/BA,EAAA3X,KAAA4X,EACF,GAEAlc,KAAK6Z,SAASrM,GAAG,kBAAmB,WAAM,IAAA2O,EAAAC,EACxCvT,EAAKsI,WAAY,EACa,QAA9BgL,GAAAC,EAAAvT,EAAKsS,SAAQ3C,yBAAiB,IAAA2D,GAA9BA,EAAA7X,KAAA8X,EACF,GAEApc,KAAK6Z,SAASrM,GAAG,kBAAmB,WAAM,IAAA6O,EAAAC,EACxCzT,EAAKsI,WAAY,EACa,QAA9BkL,GAAAC,EAAAzT,EAAKsS,SAAQ1C,yBAAiB,IAAA4D,GAA9BA,EAAA/X,KAAAgY,EACF,GAEAtc,KAAK6Z,SAASrM,GAAG,QAAS,SAAChI,GAAU,IAAA+W,EAAAC,EACf,QAApBD,GAAAC,EAAA3T,EAAKsS,SAAQzC,eAAO,IAAA6D,GAApBA,EAAAjY,KAAAkY,EAAuBhX,EACzB,GAEAxF,KAAK6Z,SAASrM,GAAG,UAAW,SAACG,GAAY,IAAA8O,EAAAC,EACjB,QAAtBD,GAAAC,EAAA7T,EAAKsS,SAAQxC,iBAAS,IAAA8D,GAAtBA,EAAAnY,KAAAoY,EAAyB/O,EAC3B,GAEA3N,KAAK6Z,SAASrM,GAAG,UAAW,SAACG,GAAY,IAAAgP,EAAAC,EACjB,QAAtBD,GAAAC,EAAA/T,EAAKsS,SAAQvC,iBAAS,IAAA+D,GAAtBA,EAAArY,KAAAsY,EAAyBjP,EAC3B,GAEA3N,KAAK6Z,SAASrM,GAAG,cAAe,SAACG,GAAY,IAAAkP,EAAAC,EACjB,QAA1BD,GAAAC,EAAAjU,EAAKsS,SAAQtC,qBAAa,IAAAgE,GAA1BA,EAAAvY,KAAAwY,EAA6BnP,EAC/B,EACF,GAEA,CAAAnN,IAAA,eAAAiE,MAGA,WAAe,IAAAmF,EAAA,KACb5J,KAAK+c,OAAS1B,SAAS2B,cAAc,UACrChd,KAAK+c,OAAOhE,UAAY/Y,KAAKmb,QAAQK,YACrCxb,KAAK+c,OAAO9D,MAAMgE,QAAU,yTAe5Bjd,KAAK+c,OAAO1S,iBAAiB,QAAS,kBAAMT,EAAKoQ,iBAAiB,GAClEha,KAAKmb,QAAQC,UAAU8B,YAAYld,KAAK+c,QAExC/c,KAAK4b,cACP,GAEA,CAAApb,IAAA,eAAAiE,MAGA,WACE,GAAKzE,KAAK+c,OAAV,CAEA,IAAMI,EAAOnd,KAAK8O,YAAc,KAAO,KACjCsO,EAAOpd,KAAK8O,YAAc,iBAAmB,kBAEnD9O,KAAK+c,OAAOM,UAAY,0CAAH3X,OACcyX,EAAI,yBAAAzX,OAC7B0X,EAAI,iBAGdpd,KAAK+c,OAAO9B,UAAYjb,KAAKqM,YAC7BrM,KAAK+c,OAAO9D,MAAM0B,gBAAkB3a,KAAK8O,YAAc,UACrB9O,KAAKqM,YAAc,UAAY,SAZzC,CAa1B,GAEA,CAAA7L,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAGA,SAAAkC,IAAA,IAAAwF,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAEU7F,KAAK6Z,SAAS1J,UAAS,OAAAtG,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAE7Bd,QAAQD,MAAM,qBAAoBwJ,GAAS,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAE9C,WANY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IAQb,CAAA1E,IAAA,kBAAAiE,OAAA8Q,EAAA9G,GAAArH,KAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACO7F,KAAK6Z,SAAU,CAAFjJ,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,iBAAAoK,EAAAxK,EAAA,EAAAwK,EAAA/K,EAAA,EAGV7F,KAAK6Z,SAASG,kBAAiB,OAAApJ,EAAA/K,EAAA,eAAA+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAErCd,QAAQD,MAAM,4BAA2BmL,GAAS,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAErD,WARoB,OAAA6E,EAAAhQ,MAAC,KAADL,UAAA,IAUrB,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClByC,YAAa9O,KAAK8O,YAClBqC,UAAWnR,KAAKmR,UAEpB,GAEA,CAAA3Q,IAAA,eAAAiE,MAGA,SAAasR,GACX/V,KAAK6Z,SAASyD,aAAavH,EAC7B,GAEA,CAAAvV,IAAA,UAAAiE,MAGA,WACMzE,KAAK+c,QAAU/c,KAAK+c,OAAOQ,YAC7Bvd,KAAK+c,OAAOQ,WAAWC,YAAYxd,KAAK+c,QAGtC/c,KAAK6Z,UACP7Z,KAAK6Z,SAAS5D,SAElB,IA3LF1R,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAiJEgR,EAXArI,CAqDC,CAvL6B,G,uPCJhC,IAAAvH,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA/F,GAAA6B,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,8CAAAmB,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAAyZ,GAAA9X,EAAApB,EAAAqB,GAAA,OAAArB,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,GAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,CAAA,UAAAoC,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAQO,IAAM4X,GAAQ,WAalB,OAAAD,GAZD,SAAAC,EAAYpd,GAAQqE,GAAA,KAAA+Y,GAClB1d,KAAKM,OAASA,EACdN,KAAK6Z,SAAW,KAChB7Z,KAAKqM,aAAc,EACnBrM,KAAK2d,aAAc,EAGnB3d,KAAKoY,YAAc,WAAO,EAC1BpY,KAAKqY,eAAiB,WAAO,EAC7BrY,KAAK0Y,QAAU,SAAClT,GAAK,OAAKC,QAAQD,MAAM,aAAcA,EAAM,EAC5DxF,KAAK4d,aAAe,SAACR,GAAU,EAC/Bpd,KAAK6d,gBAAkB,SAACC,GAAa,CACvC,EAAC,EAAAtd,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAED,SAAAkC,EAAcuU,GAAS,IAAA/O,EAAAnG,EAAA,YAAAzB,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UAAAgE,EAAAzD,EAAA,EAEd2X,EAAW,CAAFlU,EAAAhE,EAAA,cACN,IAAI1D,MAAM,yBAAwB,OA4C1C,OAxCAnC,KAAK6Z,SAAW,IAAI7G,GAAS,CAC3BnG,aAAckR,EACdvK,eAAe,IAIjBxT,KAAK6Z,SAASrM,GAAG,YAAa,WAC5B3E,EAAKwD,aAAc,EACnBxD,EAAKuP,aACP,GAEApY,KAAK6Z,SAASrM,GAAG,eAAgB,WAC/B3E,EAAKwD,aAAc,EACnBxD,EAAKwP,gBACP,GAEArY,KAAK6Z,SAASrM,GAAG,QAAS,SAAChI,GACzBqD,EAAK6P,QAAQlT,EACf,GAEAxF,KAAK6Z,SAASrM,GAAG,UAAW,SAACG,GAC3B9E,EAAKmV,uBAAuBrQ,EAC9B,GAEA3N,KAAK6Z,SAASrM,GAAG,mBAAoB,WACnC3E,EAAK8U,aAAc,CACrB,GAEA3d,KAAK6Z,SAASrM,GAAG,mBAAoB,WACnC3E,EAAK8U,aAAc,CACrB,GAEA3d,KAAK6Z,SAASrM,GAAG,kBAAmB,WAClC3E,EAAKgV,iBAAgB,EACvB,GAEA7d,KAAK6Z,SAASrM,GAAG,kBAAmB,WAClC3E,EAAKgV,iBAAgB,EACvB,GAEAhU,EAAAhE,EAAA,EACM7F,KAAK6Z,SAAS1J,UAAS,OAAAtG,EAAAhE,EAAA,eAGT,MAHSgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAG7BvG,KAAK0Y,QAAO1J,GAAQA,EAAA,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAGvB,SAtDYoB,GAAA,OAAAsC,EAAA3H,MAAC,KAADL,UAAA,KAAA1E,IAAA,yBAAAiE,MAwDb,SAAuBkJ,GAErB,OAAQA,EAAQtN,MACd,IAAK,YACHoF,QAAQuE,IAAI,gCACZ,MAEF,IAAK,kBACHhK,KAAK4d,aAAajQ,EAAQsQ,oBAAsBtQ,EAAQyP,MACxD,MAEF,IAAK,iBAIL,IAAK,WAIL,IAAK,eAEH,MAEF,IAAK,QACHpd,KAAK0Y,QAAQ,IAAIvW,MAAMwL,EAAQA,UAGrC,GAAC,CAAAnN,IAAA,iBAAAiE,OAAAyZ,EAAAzP,GAAArH,KAAAE,EAED,SAAAoJ,IAAA,OAAAtJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,WACM7F,KAAK6Z,SAAU,CAAFjJ,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACT7F,KAAK6Z,SAASnE,iBAAgB,cAAA9E,EAAApK,EAAA,KAAAkK,EAAA,SAEvC,WAJmB,OAAAwN,EAAA3Y,MAAC,KAADL,UAAA,KAAA1E,IAAA,gBAAAiE,MAMpB,WACMzE,KAAK6Z,UACP7Z,KAAK6Z,SAAShG,eAElB,GAAC,CAAArT,IAAA,kBAAAiE,MAED,SAAgB0Z,GACVne,KAAK6Z,UAAY7Z,KAAKqM,aAExBrM,KAAK6Z,SAAStG,iBAAiB0B,YAAY,CACzCrP,EAAG,mBACHuY,UAAAA,GAGN,GAAC,CAAA3d,IAAA,aAAAiE,MAED,WACMzE,KAAK6Z,WACP7Z,KAAK6Z,SAAS5D,UACdjW,KAAK6Z,SAAW,MAElB7Z,KAAKqM,aAAc,EACnBrM,KAAK2d,aAAc,CACrB,KA/BC,IAAAO,EArFAhR,CAoHA,CAjIkB,GAwIRkR,GAAW,WAYrB,OAAAX,GAXD,SAAAW,EAAY9d,GAAQqE,GAAA,KAAAyZ,GAClBpe,KAAKM,OAASA,EACdN,KAAKqe,IAAM,IAAIX,GACf1d,KAAKse,QAAS,EACdte,KAAKue,UAAW,EAEhBve,KAAKwe,SAAWle,EAAOke,UAAY,eACnCxe,KAAKye,aAAene,EAAOme,cAAgB,UAE3Cze,KAAK2T,qBACL3T,KAAK0e,cACP,EAAC,EAAAle,IAAA,qBAAAiE,MAED,WAAqB,IAAAmF,EAAA,KACnB5J,KAAKqe,IAAIjG,YAAc,WACrB3S,QAAQuE,IAAI,mBACZJ,EAAK+U,aAAa,YACpB,EAEA3e,KAAKqe,IAAIhG,eAAiB,WACxB5S,QAAQuE,IAAI,sBACZJ,EAAK+U,aAAa,gBAClB/U,EAAK2U,UAAW,EAChB3U,EAAKgV,sBAAqB,EAC5B,EAEA5e,KAAKqe,IAAI3F,QAAU,SAAClT,GAClBC,QAAQD,MAAM,eAAgBA,GAC9BoE,EAAKiV,UAAUrZ,EAAMmI,QACvB,EAEA3N,KAAKqe,IAAIT,aAAe,SAACR,GACvB3X,QAAQuE,IAAI,sBAAuBoT,GACnCxT,EAAKkV,WAAW,OAAQ1B,EAC1B,EAEApd,KAAKqe,IAAIR,gBAAkB,SAACC,GAC1BrY,QAAQuE,IAAI,qBAAsB8T,GAC9BA,EACFlU,EAAKmV,oBAELnV,EAAKoV,mBAET,CACF,GAAC,CAAAxe,IAAA,eAAAiE,MAED,WAAe,IAAA0I,EAAA,KACP8R,EAAS5D,SAAS2B,cAAc,OACtCiC,EAAOC,GAAK,eACZD,EAAO5B,UAAY,mFAAH3X,OAIR1F,KAAKwe,SAAS9J,SAAS,UAAY,gBAAkB,aAAY,gBAAAhP,OACjE1F,KAAKwe,SAAS9J,SAAS,SAAW,eAAiB,cAAa,+QAAAhP,OASpD1F,KAAKye,aAAY,+kBAAA/Y,OAwB7B1F,KAAKwe,SAAS9J,SAAS,SAAW,YAAc,WAAU,0XAAAhP,OAe9C1F,KAAKye,aAAY,kuCAAA/Y,OAqDjB1F,KAAKye,aAAY,m2DAgErCpD,SAASC,KAAK4B,YAAY+B,GAE1B5D,SAAS8D,eAAe,gBAAgBC,QAAU,kBAAMjS,EAAKkS,aAAa,EAC1EhE,SAAS8D,eAAe,eAAeC,QAAU,kBAAMjS,EAAKkS,aAAa,EACzEhE,SAAS8D,eAAe,oBAAoBC,QAAU,kBAAMjS,EAAKmS,aAAa,CAChF,GAAC,CAAA9e,IAAA,cAAAiE,MAED,WACEzE,KAAKse,QAAUte,KAAKse,OACNjD,SAAS8D,eAAe,eAChCI,UAAUC,OAAO,OACzB,GAAC,CAAAhf,IAAA,cAAAiE,OAAAgb,EAAAhR,GAAArH,KAAAE,EAED,SAAAyN,IAAA,IAAAgJ,EAAApN,EAAA,OAAAvJ,KAAAC,EAAA,SAAA2N,GAAA,cAAAA,EAAA5O,EAAA4O,EAAAnP,GAAA,UACO7F,KAAKue,SAAU,CAAFvJ,EAAAnP,EAAA,QAE8B,OAF9BmP,EAAA5O,EAAA,EAEdX,QAAQuE,IAAI,gCAAgCgL,EAAAnP,EAAA,EACpB7F,KAAK0f,eAAc,OACE,OADvC3B,EAAS/I,EAAAzO,EACfd,QAAQuE,IAAI,qBAAsB+T,GAAW/I,EAAAnP,EAAA,EAEvC7F,KAAKqe,IAAIlO,QAAQ4N,GAAU,OACO,OAAxCtY,QAAQuE,IAAI,4BAA4BgL,EAAAnP,EAAA,EAElC7F,KAAKqe,IAAIsB,iBAAgB,OAC/Bla,QAAQuE,IAAI,wBAEZhK,KAAKue,UAAW,EAChBve,KAAK4e,sBAAqB,GAC1B5e,KAAK8e,WAAW,SAAU,qCAAqC9J,EAAAnP,EAAA,eAAAmP,EAAA5O,EAAA,EAAAuK,EAAAqE,EAAAzO,EAE/Dd,QAAQD,MAAM,qBAAoBmL,GAClC3Q,KAAK6e,UAAUlO,EAAMhD,SAAS,OAAAqH,EAAAnP,EAAA,eAGhCJ,QAAQuE,IAAI,gCACZhK,KAAKqe,IAAIuB,gBACT5f,KAAKqe,IAAI1J,aACT3U,KAAKue,UAAW,EAChBve,KAAK4e,sBAAqB,GAC1B5e,KAAK8e,WAAW,SAAU,wBAAwB,cAAA9J,EAAAxO,EAAA,KAAAuO,EAAA,iBAErD,WA5BgB,OAAA0K,EAAAla,MAAC,KAADL,UAAA,KAAA1E,IAAA,uBAAAiE,MA8BjB,SAAqBkZ,GACnB,IAAMkC,EAAYxE,SAAS8D,eAAe,oBACpCW,EAAUD,EAAUE,cAAc,OAEpCpC,GACFkC,EAAUN,UAAUpV,IAAI,UACxB0V,EAAU5G,MAAM+G,WAAa,UAC7BH,EAAUI,MAAQ,0BAGlBJ,EAAU5G,MAAMiH,UAAY,sBAG5BJ,EAAQzC,UAAY,oGAKpBwC,EAAUN,UAAUY,OAAO,UAC3BN,EAAU5G,MAAM+G,WAAahgB,KAAKye,aAClCoB,EAAUI,MAAQ,2BAGlBJ,EAAU5G,MAAMiH,UAAY,GAG5BJ,EAAQzC,UAAY,uOAKxB,GAAC,CAAA7c,IAAA,eAAAiE,OAAA2b,EAAA3R,GAAArH,KAAAE,EAED,SAAA8N,IAAA,IAAAiL,EAAAC,EAAArS,EAAAqG,EAAA/I,EAAA,OAAAnE,KAAAC,EAAA,SAAAiO,GAAA,cAAAA,EAAAzP,GAAA,UAC2C,iBAA9B7F,KAAKM,OAAOigB,cAA0B,CAAAjL,EAAAzP,EAAA,QAS9C,OARKwa,EAAc,CAClBpN,QAASjT,KAAKM,OAAO2S,QACrBkL,UAAWne,KAAKM,OAAO6d,WAAa,CAAC,GAInCne,KAAKM,OAAO4S,QACdmN,EAAYnN,MAAQlT,KAAKM,OAAO4S,OACjCoC,EAAAzP,EAAA,EAEsB2a,MAAMxgB,KAAKM,OAAOigB,cAAe,CACtDE,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBpF,KAAMvN,KAAKC,UAAUqS,KACrB,OANY,IAARC,EAAQhL,EAAA/O,GAQAoa,GAAI,CAAFrL,EAAAzP,EAAA,cACR,IAAI1D,MAAM,8BAADuD,OAA+B4a,EAASM,aAAa,cAAAtL,EAAAzP,EAAA,EAGnDya,EAASO,OAAM,OAAxB,OAAJ5S,EAAIqH,EAAA/O,EAAA+O,EAAA9O,EAAA,EACHyH,EAAK8P,WAAa9P,EAAKkG,OAASlG,EAAKxE,KAAG,UAEH,mBAA9BzJ,KAAKM,OAAOigB,cAA4B,CAAAjL,EAAAzP,EAAA,QASrD,OARKyO,EAAS,CACbrB,QAASjT,KAAKM,OAAO2S,QACrBkL,UAAWne,KAAKM,OAAO6d,WAAa,CAAC,GAInCne,KAAKM,OAAO4S,QACdoB,EAAOpB,MAAQlT,KAAKM,OAAO4S,OAC5BoC,EAAAzP,EAAA,EAEoB7F,KAAKM,OAAOigB,cAAcjM,GAAO,OAA1C,OAAN/I,EAAM+J,EAAA/O,EAAA+O,EAAA9O,EAAA,EAEa,iBAAX+E,EAAsBA,EAAUA,EAAOwS,WAAaxS,EAAO4I,OAAS5I,EAAO9B,KAAI,aAGvF,IAAItH,MAAM,sDAAqD,cAAAmT,EAAA9O,EAAA,KAAA4O,EAAA,SAExE,WA7CiB,OAAAgL,EAAA7a,MAAC,KAADL,UAAA,KAAA1E,IAAA,aAAAiE,MA+ClB,SAAWpE,EAAM+c,GACf,IAAM0D,EAAWzF,SAAS8D,eAAe,kBACnCxR,EAAU0N,SAAS2B,cAAc,OACvCrP,EAAQoL,UAAY,WAAHrT,OAAcrF,GAC/BsN,EAAQoT,YAAc3D,EACtB0D,EAAS5D,YAAYvP,GACrBmT,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAAzgB,IAAA,oBAAAiE,MAED,WACE,IAAMqc,EAAWzF,SAAS8D,eAAe,kBACnC+B,EAAW7F,SAAS2B,cAAc,OACxCkE,EAASnI,UAAY,+BACrBmI,EAAShC,GAAK,qBACdgC,EAASH,YAAc,uBACvBD,EAAS5D,YAAYgE,GACrBJ,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAAzgB,IAAA,oBAAAiE,MAED,WACE,IAAMyc,EAAW7F,SAAS8D,eAAe,sBACrC+B,GAAUA,EAASf,QACzB,GAAC,CAAA3f,IAAA,YAAAiE,MAED,SAAUkJ,GACR,IAAMmT,EAAWzF,SAAS8D,eAAe,kBACnC3Z,EAAQ6V,SAAS2B,cAAc,OACrCxX,EAAMuT,UAAY,gBAClBvT,EAAMub,YAAcpT,EACpBmT,EAAS5D,YAAY1X,EACvB,GAAC,CAAAhF,IAAA,eAAAiE,MAED,SAAa0c,GACX1b,QAAQuE,IAAI,iBAAkBmX,EAChC,KAnFC,IAAAf,EA/DAX,CAkJA,CAzXqB,G,uPChJxB,IAAA9Z,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA8H,GAAA7M,EAAApB,GAAA,IAAAqB,EAAAtE,OAAAmR,KAAA9M,GAAA,GAAArE,OAAAoR,sBAAA,KAAA1O,EAAA1C,OAAAoR,sBAAA/M,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAjD,OAAAqR,yBAAAhN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAgN,GAAAjN,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAiO,GAAAlR,OAAAsE,IAAA,GAAAN,QAAA,SAAAf,GAAAsO,GAAAlN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAjD,OAAAwR,0BAAAxR,OAAAyR,iBAAApN,EAAArE,OAAAwR,0BAAAlN,IAAA4M,GAAAlR,OAAAsE,IAAAN,QAAA,SAAAf,GAAAjD,OAAA2C,eAAA0B,EAAApB,EAAAjD,OAAAqR,yBAAA/M,EAAArB,GAAA,UAAAoB,CAAA,UAAAkN,GAAAlN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAArE,OAAA2C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAIO,IAAMsb,GAAmB,WAU7B,OAdHzb,EAKE,SAAAyb,IAAyB,IAAb9gB,EAAM4E,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,GALxB,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKyBhC,CAAA,KAAAyc,GAErBphB,KAAKM,OAASN,KAAKqhB,kBAAkB/gB,GACrCN,KAAKqe,IAAM,IAAIX,SACf1d,KAAKse,QAAS,EACdte,KAAKue,UAAW,EAEhBve,KAAK2T,qBACL3T,KAAK0e,cACP,EAdFna,EAcG,EAAA/D,IAAA,oBAAAiE,MAED,SAAkB6c,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5B,OAAArR,GAAA,CAEEI,QAASqO,EAAWrO,QACpBsN,cAAee,EAAWf,cAG1BpD,KAAIvK,GAAA,CACFvS,MAAqB,QAAfkhB,EAAAD,EAAWnE,YAAI,IAAAoE,OAAA,EAAfA,EAAiBlhB,OAAQ,aAC/B8jB,aAA4B,QAAf3C,EAAAF,EAAWnE,YAAI,IAAAqE,OAAA,EAAfA,EAAiB2C,cAAe,KAC7CC,OAAsB,QAAf3C,EAAAH,EAAWnE,YAAI,IAAAsE,OAAA,EAAfA,EAAiB2C,QAAS,KACjChH,MAAqB,QAAfsE,EAAAJ,EAAWnE,YAAI,IAAAuE,OAAA,EAAfA,EAAiBtE,OAAQ,KAC/BiH,MAAqB,QAAf1C,EAAAL,EAAWnE,YAAI,IAAAwE,OAAA,EAAfA,EAAiB0C,OAAQ,UAC5B/C,EAAWnE,MAIhBqB,SAAQ5L,GAAA,CACN0R,UAA6B,QAAnB1C,EAAAN,EAAW9C,gBAAQ,IAAAoD,OAAA,EAAnBA,EAAqB0C,WAAY,SAC3CC,YAA+B,QAAnB1C,EAAAP,EAAW9C,gBAAQ,IAAAqD,OAAA,EAAnBA,EAAqB0C,aAAc,QAC/CC,QAA2B,QAAnB1C,EAAAR,EAAW9C,gBAAQ,IAAAsD,OAAA,EAAnBA,EAAqB0C,SAAU,CAAEC,EAAG,GAAIpe,EAAG,KAChDib,EAAW9C,UAIhBzB,OAAMnK,GAAA,CACJyR,MAAuB,QAAjBtC,EAAAT,EAAWvE,cAAM,IAAAgF,OAAA,EAAjBA,EAAmBsC,OAAQ,SACjCK,OAAwB,QAAjB1C,EAAAV,EAAWvE,cAAM,IAAAiF,OAAA,EAAjBA,EAAmB0C,QAAS,SACnCjG,cAA+B,QAAjBwD,EAAAX,EAAWvE,cAAM,IAAAkF,OAAA,EAAjBA,EAAmBxD,eAAgB,UACjDkG,YAA6B,QAAjBzC,EAAAZ,EAAWvE,cAAM,IAAAmF,OAAA,EAAjBA,EAAmByC,aAAc,UAC7CC,aAA8B,QAAjBzC,EAAAb,EAAWvE,cAAM,IAAAoF,OAAA,EAAjBA,EAAmByC,cAAe,UAC/CC,QAAyB,QAAjBzC,EAAAd,EAAWvE,cAAM,IAAAqF,OAAA,EAAjBA,EAAmByC,UAAU,EACrCC,aAA8B,QAAjBzC,EAAAf,EAAWvE,cAAM,IAAAsF,OAAA,EAAjBA,EAAmByC,cAAe,oBAC5CxD,EAAWvE,QAIhBgI,MAAKnS,GAAA,CACHoS,OAAuB,QAAhB1C,EAAAhB,EAAWyD,aAAK,IAAAzC,OAAA,EAAhBA,EAAkB0C,QAAS,IAClCC,QAAwB,QAAhB1C,EAAAjB,EAAWyD,aAAK,IAAAxC,OAAA,EAAhBA,EAAkB0C,SAAU,IACpCvK,cAA8B,QAAhB8H,EAAAlB,EAAWyD,aAAK,IAAAvC,OAAA,EAAhBA,EAAkB9H,eAAgB,GAChDC,iBAAiC,QAAhB8H,EAAAnB,EAAWyD,aAAK,IAAAtC,OAAA,EAAhBA,EAAkB9H,kBAAmB,yBACtDuK,gBAAgC,QAAhBxC,EAAApB,EAAWyD,aAAK,IAAArC,OAAA,EAAhBA,EAAkBwC,iBAAkB,aACpDzK,QAAwB,QAAhBkI,EAAArB,EAAWyD,aAAK,IAAApC,OAAA,EAAhBA,EAAkBlI,SAAU,6BACjC6G,EAAWyD,OAIhBI,OAAMvS,GAAA,CACJqN,OAAwB,QAAjB2C,EAAAtB,EAAW6D,cAAM,IAAAvC,OAAA,EAAjBA,EAAmB3C,QAAS,kBACnCmF,WAA4C,KAAhB,QAAjBvC,EAAAvB,EAAW6D,cAAM,IAAAtC,OAAA,EAAjBA,EAAmBuC,WAC9BzK,iBAAkC,QAAjBmI,EAAAxB,EAAW6D,cAAM,IAAArC,OAAA,EAAjBA,EAAmBnI,kBAAmB,KACvD0K,WAA4B,QAAjBtC,EAAAzB,EAAW6D,cAAM,IAAApC,OAAA,EAAjBA,EAAmBsC,YAAa,UAC3CC,iBAAwD,KAAtB,QAAjBtC,EAAA1B,EAAW6D,cAAM,IAAAnC,OAAA,EAAjBA,EAAmBsC,kBACjChE,EAAW6D,QAIhBrE,SAAQlO,GAAA,CACN2S,qBAAwC,QAAnBtC,EAAA3B,EAAWR,gBAAQ,IAAAmC,OAAA,EAAnBA,EAAqBsC,sBAAuB,UACjEC,sBAAyC,QAAnBtC,EAAA5B,EAAWR,gBAAQ,IAAAoC,OAAA,EAAnBA,EAAqBsC,uBAAwB,UACnEC,uBAA0C,QAAnBtC,EAAA7B,EAAWR,gBAAQ,IAAAqC,OAAA,EAAnBA,EAAqBsC,wBAAyB,UACrEC,sBAAyC,QAAnBtC,EAAA9B,EAAWR,gBAAQ,IAAAsC,OAAA,EAAnBA,EAAqBsC,uBAAwB,UACnEL,WAA8B,QAAnBhC,EAAA/B,EAAWR,gBAAQ,IAAAuC,OAAA,EAAnBA,EAAqBgC,YAAa,UAC7C9K,UAA6B,QAAnB+I,EAAAhC,EAAWR,gBAAQ,IAAAwC,OAAA,EAAnBA,EAAqB/I,WAAY,OAC3CG,cAAiC,QAAnB6I,EAAAjC,EAAWR,gBAAQ,IAAAyC,OAAA,EAAnBA,EAAqB7I,eAAgB,GAChD4G,EAAWR,UAIhBZ,UAAStN,GAAA,CACP+S,aAAmD,KAAlB,QAApBnC,EAAAlC,EAAWpB,iBAAS,IAAAsD,OAAA,EAApBA,EAAsBmC,aACnCC,aAAmD,KAAlB,QAApBnC,EAAAnC,EAAWpB,iBAAS,IAAAuD,OAAA,EAApBA,EAAsBmC,aACnCC,aAAmD,KAAlB,QAApBnC,EAAApC,EAAWpB,iBAAS,IAAAwD,OAAA,EAApBA,EAAsBmC,aACnCC,UAA8B,QAApBnC,EAAArC,EAAWpB,iBAAS,IAAAyD,OAAA,EAApBA,EAAsBmC,WAAY,IACzCxE,EAAWpB,WAIhB6F,SAAQnT,GAAA,CACNoT,UAA6B,QAAnBpC,EAAAtC,EAAWyE,gBAAQ,IAAAnC,OAAA,EAAnBA,EAAqBoC,YAAY,EAC3CC,aAAgC,QAAnBpC,EAAAvC,EAAWyE,gBAAQ,IAAAlC,OAAA,EAAnBA,EAAqBoC,eAAe,EACjDC,oBAAgE,KAAzB,QAAnBpC,EAAAxC,EAAWyE,gBAAQ,IAAAjC,OAAA,EAAnBA,EAAqBoC,oBACzCC,gBAAmC,QAAnBpC,EAAAzC,EAAWyE,gBAAQ,IAAAhC,OAAA,EAAnBA,EAAqBoC,iBAAkB,oCACpD7E,EAAWyE,UAIhBK,cAAaxT,GAAA,CACXyT,WAAmC,QAAxBrC,EAAA1C,EAAW8E,qBAAa,IAAApC,OAAA,EAAxBA,EAA0BqC,YAAa,kBAClDC,iBAAyC,QAAxBrC,EAAA3C,EAAW8E,qBAAa,IAAAnC,OAAA,EAAxBA,EAA0BqC,kBAAmB,gCAC9DC,oBAAqE,KAAzB,QAAxBrC,EAAA5C,EAAW8E,qBAAa,IAAAlC,OAAA,EAAxBA,EAA0BqC,qBAC3CjF,EAAW8E,eAIhBI,aAAclF,EAAWkF,cAAgB,GAGzCrI,UAAWmD,EAAWnD,WAAa,CAAC,EAGpCM,aAAc6C,EAAW7C,cAAgB,WAAS,WACxC6C,EAAW9C,UAAY,eAErC,GAAC,CAAAhe,IAAA,qBAAAiE,MAED,WAAqB,IAAAoE,EAAA,KACnB7I,KAAKqe,IAAIjG,YAAc,WACrBvP,EAAK8V,aAAa,aACd9V,EAAKvI,OAAOylB,SAASG,oBACvBrd,EAAKiW,WAAW,SAAUjW,EAAKvI,OAAOylB,SAASI,eAEnD,EAEAnmB,KAAKqe,IAAIhG,eAAiB,WACxBxP,EAAK8V,aAAa,gBAClB9V,EAAK0V,UAAW,CAClB,EAEAve,KAAKqe,IAAI3F,QAAU,SAAClT,GAClBqD,EAAKgW,UAAUrZ,EAAMmI,QACvB,EAEA3N,KAAKqe,IAAIT,aAAe,SAACR,GACvBvU,EAAKiW,WAAW,OAAQ1B,EAC1B,EAEApd,KAAKqe,IAAIR,gBAAkB,SAACC,GACtBA,EACFjV,EAAKkW,oBAELlW,EAAKmW,mBAET,CACF,GAAC,CAAAxe,IAAA,eAAAiE,MAED,WAAe,IAAAmF,EAAA,KACPqV,EAAS5D,SAAS2B,cAAc,OACtCiC,EAAOC,GAAK,wBACZD,EAAO5B,UAAYrd,KAAKymB,qBAExBpL,SAASC,KAAK4B,YAAY+B,GAE1Bjf,KAAK0mB,oBAGD1mB,KAAKM,OAAOylB,SAASC,UACvB9b,WAAW,kBAAMN,EAAKyV,aAAa,EAAE,IAEzC,GAAC,CAAA7e,IAAA,qBAAAiE,MAED,WACczE,KAAKM,OAAOke,SAAxB,IACMmI,EAAM3mB,KAAKM,OAAOyc,OAClBI,EAAOnd,KAAKM,OAAO6c,KAEnBgI,GADQnlB,KAAKM,OAAOykB,MACX/kB,KAAKM,OAAO6kB,QAWrByB,GAVW5mB,KAAKM,OAAOwgB,SAChB9gB,KAAKM,OAAO4f,UAGL,CAClB2G,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,GAAI,IAEyBL,EAAItC,OAAS,IAStC4C,EANY,CAChBJ,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,GAAI,IAEqB7J,EAAKkH,OAAS,GAGnC6C,EAAiBlnB,KAAKmnB,yBAGtBC,EAAWpnB,KAAKqnB,iBAAiBJ,GAEvC,MAAO,4BAAPvhB,OAEM1F,KAAKsnB,YAAYJ,EAAgBN,EAAYK,GAAS,cAAAvhB,OACtD1F,KAAKM,OAAOkmB,aAAY,mGAAA9gB,OAIN1F,KAAKM,OAAO8lB,cAAcC,UAAS,uCAAA3gB,OAC7B1F,KAAKM,OAAO8lB,cAAcE,gBAAe,gBAAA5gB,OACjE0hB,EAAQ,8EAAA1hB,OAIRyf,EAAOC,UAAY,0FAAH1f,OAEiByf,EAAOE,UAAS,OAAA3f,OAAMyf,EAAOlF,MAAK,uBAAAva,OAC/Dyf,EAAOG,gBAAkB,qDAAuD,GAAE,gCAEpF,GAAE,mPAAA5f,OAOA0hB,EAAQ,4DAKpB,GAAC,CAAA5mB,IAAA,yBAAAiE,MAED,WACE,IAAM8iB,EAAMvnB,KAAKM,OAAOke,SAClBgG,EAAS+C,EAAI/C,QAAU,CAAEC,EAAG,GAAIpe,EAAG,IAErCmhB,EAAS,GAoBb,MAjBqB,QAAjBD,EAAIjD,SACNkD,GAAU,QAAJ9hB,OAAY8e,EAAOne,EAAC,OACA,WAAjBkhB,EAAIjD,SACbkD,GAAU,WAAJ9hB,OAAe8e,EAAOne,EAAC,OACH,WAAjBkhB,EAAIjD,WACbkD,GAAU,0CAIW,SAAnBD,EAAIhD,WACNiD,GAAU,SAAJ9hB,OAAa8e,EAAOC,EAAC,OACC,UAAnB8C,EAAIhD,WACbiD,GAAU,UAAJ9hB,OAAc8e,EAAOC,EAAC,OACA,WAAnB8C,EAAIhD,aACbiD,GAAU,2CAGLA,CACT,GAAC,CAAAhnB,IAAA,mBAAAiE,MAED,SAAiB4f,GACf,IAAMlH,EAAOnd,KAAKM,OAAO6c,KAEzB,OAAQA,EAAK9c,MACX,IAAK,SACH,MAAO,aAAPqF,OAAoByX,EAAKgH,YAAW,0CAAAze,OAAyC2e,EAAI,gBAAA3e,OAAe2e,EAAI,gCAEtG,IAAK,QACH,MAAO,2BAAP3e,OAAkC2e,EAAI,yBAAA3e,OAAwByX,EAAKiH,MAAK,WAE1E,IAAK,OACH,MAAO,2BAAP1e,OAAkCqF,KAAK0c,MAAa,GAAPpD,GAAW,0CAAA3e,OAAyCyX,EAAKC,KAAI,WAG5G,QACE,MAAO,0CAAP1X,OAAiD2e,EAAI,gBAAA3e,OAAe2e,EAAI,sQAK9E,GAAC,CAAA7jB,IAAA,cAAAiE,MAED,SAAYyiB,EAAgBN,EAAYK,GACtC,IAAMN,EAAM3mB,KAAKM,OAAOyc,OAClBgI,EAAQ/kB,KAAKM,OAAOykB,MACpBI,EAASnlB,KAAKM,OAAO6kB,OACrBrE,EAAW9gB,KAAKM,OAAOwgB,SACvB4G,EAAO1nB,KAAKM,OAAO4f,UAEzB,MAAO,uEAAPxa,OAGMwhB,EAAc,wLAAAxhB,OAMPkhB,EAAU,yBAAAlhB,OACTkhB,EAAU,gCAAAlhB,OACW,WAAdihB,EAAIjC,MAAqB,MAAsB,WAAdiC,EAAIjC,MAAqB,IAAM,OAAM,2BAAAhf,OACzEihB,EAAIlI,aAAY,wKAAA/Y,OAMZgiB,EAAK5B,SAAQ,qBAAApgB,OAC7BihB,EAAI9B,OAAS,0BAAHnf,OAA6BihB,EAAI7B,YAAW,KAAM,GAAE,6BAAApf,OAGhEgiB,EAAK/B,YAAc,mEAAHjgB,OAEAihB,EAAIhC,WAAU,oDAAAjf,OAE1BihB,EAAI9B,OAAS,0BAAHnf,OAA6BihB,EAAI7B,YAAW,KAAM,GAAE,uBAEhE,GAAE,kHAAApf,OAKMkhB,EAAa,GAAE,iBAAAlhB,OACa,UAApC1F,KAAKM,OAAOke,SAAS+F,WAAyB,YAAc,WAAU,qBAAA7e,OAC/Dqf,EAAMC,MAAK,yBAAAtf,OACVqf,EAAME,OAAM,6BAAAvf,OACRqf,EAAMpK,gBAAe,8BAAAjV,OAClBqf,EAAMrK,aAAY,yBAAAhV,OACzBqf,EAAMtK,OAAM,2EAAA/U,OAGpBqf,EAAMG,eAAiB,oBAAHxf,OAAuBqf,EAAMG,eAAc,KAAM,GAAE,cAAAxf,OACvEgiB,EAAK7B,YAAc,mBAAHngB,OAAsBgiB,EAAK5B,SAAQ,WAAY,GAAE,2FAAApgB,OAKjEgiB,EAAK7B,YAAc,wCAA0C,GAAE,2EAAAngB,OAInDyf,EAAOxK,iBAAmBgM,EAAIlI,aAAY,sBAAA/Y,OAC/Cyf,EAAOE,UAAS,qJAAA3f,OAKRqf,EAAMrK,aAAY,OAAAhV,OAAMqf,EAAMrK,aAAY,8HAAAhV,OAMlDyf,EAAOE,UAAS,4eAAA3f,OAsBRob,EAASpG,aAAY,qDAAAhV,OAEzBob,EAASvG,SAAQ,sBAAA7U,OACrBob,EAASuE,UAAS,mEAAA3f,OAIbob,EAASyE,oBAAmB,mGAAA7f,OAK5Bob,EAAS0E,qBAAoB,sGAAA9f,OAK7Bob,EAAS2E,sBAAqB,kIAAA/f,OAM9Bob,EAAS4E,qBAAoB,+EAAAhgB,OAG1Bob,EAASpG,aAAY,gRAAAhV,OAY7BkhB,EAAU,yBAAAlhB,OACTkhB,EAAU,gCAAAlhB,OACW,WAAdihB,EAAIjC,MAAqB,MAAsB,WAAdiC,EAAIjC,MAAqB,IAAM,OAAM,kDAAAhf,OAEzEihB,EAAIlI,aAAY,iJAAA/Y,OAKZgiB,EAAK5B,SAAQ,6FAAApgB,OAIjBihB,EAAI/B,YAAW,eAAAlf,OAC3BgiB,EAAK9B,YAAc,wDAEjB,GAAE,6BAAAlgB,OAGNgiB,EAAK9B,YAAc,0IAKjB,GAAE,yGAOV,GAAC,CAAAplB,IAAA,oBAAAiE,MAED,WAAoB,IAAA0I,EAAA,KAClBkO,SAAS8D,eAAe,yBAAyBC,QAAU,kBAAMjS,EAAKkS,aAAa,EAEnF,IAAMsI,EAAWtM,SAAS8D,eAAe,wBACrCwI,IACFA,EAASvI,QAAU,kBAAMjS,EAAKkS,aAAa,GAG7ChE,SAAS8D,eAAe,6BAA6BC,QAAU,kBAAMjS,EAAKmS,aAAa,EAGnFtf,KAAKM,OAAO8lB,cAAcG,oBAC5BvmB,KAAK4nB,yBAET,GAAC,CAAApnB,IAAA,0BAAAiE,MAED,WAA0B,IAAAyJ,EAAA,KACxBmN,SAAShR,iBAAiB,UAAW,SAAC1E,GACtB,WAAVA,EAAEnF,KAAoB0N,EAAKoQ,QAC7BpQ,EAAKmR,aAET,EACF,GAAC,CAAA7e,IAAA,cAAAiE,MAED,WACEzE,KAAKse,QAAUte,KAAKse,OACNjD,SAAS8D,eAAe,wBAChCI,UAAUC,OAAO,OACzB,GAAC,CAAAhf,IAAA,cAAAiE,OAAAgb,EAAAhR,GAAArH,KAAAE,EAED,SAAAkC,IAAA,IAAAuU,EAAA/O,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UACO7F,KAAKue,SAAU,CAAF1U,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAEU7F,KAAK0f,eAAc,OAA5B,OAAT3B,EAASlU,EAAAtD,EAAAsD,EAAAhE,EAAG,EACZ7F,KAAKqe,IAAIlO,QAAQ4N,GAAU,cAAAlU,EAAAhE,EAAA,EAC3B7F,KAAKqe,IAAIsB,iBAAgB,OAC/B3f,KAAKue,UAAW,EAChBlD,SAAS8D,eAAe,6BAA6BI,UAAUpV,IAAI,UACnEnK,KAAK8e,WAAW,SAAU,gBAAgBjV,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAE1Cd,QAAQD,MAAM,mBAAkBwJ,GAChChP,KAAK6e,UAAU7P,EAAMrB,SAAS,OAAA9D,EAAAhE,EAAA,eAGhC7F,KAAKqe,IAAIuB,gBACT5f,KAAKqe,IAAI1J,aACT3U,KAAKue,UAAW,EAChBlD,SAAS8D,eAAe,6BAA6BI,UAAUY,OAAO,UAAU,cAAAtW,EAAArD,EAAA,KAAAgD,EAAA,iBAEnF,WAnBgB,OAAAiW,EAAAla,MAAC,KAADL,UAAA,KAAA1E,IAAA,eAAAiE,OAAA2b,EAAA3R,GAAArH,KAAAE,EAqBjB,SAAAoJ,IAAA,IAAA4P,EAAArS,EAAA1C,EAAA,OAAAnE,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,UAC2C,iBAA9B7F,KAAKM,OAAOigB,cAA0B,CAAA3P,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACxB2a,MAAMxgB,KAAKM,OAAOigB,cAAe,CACtDE,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBpF,KAAMvN,KAAKC,UAAU,CACnBiF,QAASjT,KAAKM,OAAO2S,QACrBkL,UAAWne,KAAKM,OAAO6d,WAAa,CAAC,MAEvC,OATY,IAARmC,EAAQ1P,EAAArK,GAWAoa,GAAI,CAAF/P,EAAA/K,EAAA,cACR,IAAI1D,MAAM,8BAADuD,OAA+B4a,EAASM,aAAa,cAAAhQ,EAAA/K,EAAA,EAGnDya,EAASO,OAAM,OAAxB,OAAJ5S,EAAI2C,EAAArK,EAAAqK,EAAApK,EAAA,EACHyH,EAAK8P,WAAa9P,EAAKkG,OAASlG,EAAKxE,KAAG,UAEH,mBAA9BzJ,KAAKM,OAAOigB,cAA4B,CAAA3P,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACjC7F,KAAKM,OAAOigB,cAAc,CAC7CtN,QAASjT,KAAKM,OAAO2S,QACrBkL,UAAWne,KAAKM,OAAO6d,WAAa,CAAC,IACrC,OAHU,OAAN5S,EAAMqF,EAAArK,EAAAqK,EAAApK,EAAA,EAKa,iBAAX+E,EAAsBA,EAAUA,EAAOwS,WAAaxS,EAAO4I,OAAS5I,EAAO9B,KAAI,aAGvF,IAAItH,MAAM,sDAAqD,cAAAyO,EAAApK,EAAA,KAAAkK,EAAA,SAExE,WA/BiB,OAAA0P,EAAA7a,MAAC,KAADL,UAAA,KAAA1E,IAAA,aAAAiE,MAiClB,SAAWpE,EAAM+c,GACf,IAAM0D,EAAWzF,SAAS8D,eAAe,2BACnCxR,EAAU0N,SAAS2B,cAAc,OACvCrP,EAAQoL,UAAY,WAAHrT,OAAcrF,GAC/BsN,EAAQoT,YAAc3D,EACtB0D,EAAS5D,YAAYvP,GACrBmT,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAAzgB,IAAA,oBAAAiE,MAED,WACE,IAAMqc,EAAWzF,SAAS8D,eAAe,2BACnC+B,EAAW7F,SAAS2B,cAAc,OACxCkE,EAASnI,UAAY,+BACrBmI,EAAShC,GAAK,qBACdgC,EAASH,YAAc,uBACvBD,EAAS5D,YAAYgE,GACrBJ,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAAzgB,IAAA,oBAAAiE,MAED,WACE,IAAMyc,EAAW7F,SAAS8D,eAAe,sBACrC+B,GAAUA,EAASf,QACzB,GAAC,CAAA3f,IAAA,YAAAiE,MAED,SAAUkJ,GACR,IAAMmT,EAAWzF,SAAS8D,eAAe,2BACnC3Z,EAAQ6V,SAAS2B,cAAc,OACrCxX,EAAMuT,UAAY,gBAClBvT,EAAMub,YAAcpT,EACpBmT,EAAS5D,YAAY1X,EACvB,GAAC,CAAAhF,IAAA,eAAAiE,MAED,SAAa0c,GACX1b,QAAQuE,IAAI,0BAA2BmX,EACzC,GAEA,CAAA3gB,IAAA,eAAAiE,MACA,SAAasR,GACX/V,KAAKM,OAASN,KAAKqhB,kBAAiBzO,GAAAA,GAAC,CAAC,EAAI5S,KAAKM,QAAWyV,IAE1D,IAAM8R,EAAiBxM,SAAS8D,eAAe,yBAC3C0I,GACFA,EAAe1H,SAEjBngB,KAAK0e,cACP,GAAC,CAAAle,IAAA,UAAAiE,MAED,WACE,IAAMwa,EAAS5D,SAAS8D,eAAe,yBACnCF,GACFA,EAAOkB,SAELngB,KAAKqe,KACPre,KAAKqe,IAAI1J,YAEb,IAzkBFpQ,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EA4dmB6b,EAFhBX,CA+GA,CArkB6B,GCgCnBqI,GAAU,QAkBvB,UACE9U,SAAAA,GACAwD,iBAAAA,GACArK,mBAAAA,EACAuC,cAAAA,EACAuC,YAAAA,EACAvM,aAAAA,EACAwW,YAAAA,GACA6M,mBAAAA,GACArK,SAAAA,GACAU,YAAAA,GACAgD,oBAAAA,GACA0G,QAAAA,I","sources":["webpack://TTPAgentSDK/webpack/universalModuleDefinition","webpack://TTPAgentSDK/./node_modules/react/index.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://TTPAgentSDK/./node_modules/react/jsx-runtime.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react.production.js","webpack://TTPAgentSDK/webpack/bootstrap","webpack://TTPAgentSDK/webpack/runtime/define property getters","webpack://TTPAgentSDK/webpack/runtime/hasOwnProperty shorthand","webpack://TTPAgentSDK/webpack/runtime/make namespace object","webpack://TTPAgentSDK/./src/core/EventEmitter.js","webpack://TTPAgentSDK/./src/core/WebSocketSingleton.js","webpack://TTPAgentSDK/./src/core/WebSocketManagerV2.js","webpack://TTPAgentSDK/./src/core/AudioRecorder.js","webpack://TTPAgentSDK/./src/core/AudioPlayer.js","webpack://TTPAgentSDK/./src/core/VoiceSDK.js","webpack://TTPAgentSDK/./src/core/ConnectionManager.js","webpack://TTPAgentSDK/./src/core/WebSocketManager.js","webpack://TTPAgentSDK/./src/react/VoiceButton.jsx","webpack://TTPAgentSDK/./src/vanilla/VoiceButton.js","webpack://TTPAgentSDK/./src/legacy/AgentSDK.js","webpack://TTPAgentSDK/./src/legacy/EnhancedAgentSDK.js","webpack://TTPAgentSDK/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TTPAgentSDK\"] = factory();\n\telse\n\t\troot[\"TTPAgentSDK\"] = factory();\n})(this, () => {\nreturn ","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\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))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * EventEmitter - Simple event system for the VoiceSDK\n */\nexport default class EventEmitter {\n constructor() {\n this.events = {};\n }\n \n /**\n * Add event listener\n */\n on(event, callback) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(callback);\n }\n \n /**\n * Remove event listener\n */\n off(event, callback) {\n if (!this.events[event]) return;\n \n this.events[event] = this.events[event].filter(cb => cb !== callback);\n }\n \n /**\n * Emit event\n */\n emit(event, ...args) {\n if (!this.events[event]) return;\n \n this.events[event].forEach(callback => {\n try {\n callback(...args);\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error);\n }\n });\n }\n \n /**\n * Remove all listeners for an event\n */\n removeAllListeners(event) {\n if (event) {\n delete this.events[event];\n } else {\n this.events = {};\n }\n }\n}\n","/**\n * WebSocketSingleton - Ensures only one WebSocket connection per URL exists\n */\nimport EventEmitter from './EventEmitter.js';\n\nclass WebSocketSingleton extends EventEmitter {\n constructor() {\n super();\n this.connections = new Map(); // Map of URL -> WebSocket instance\n this.connectionCounts = new Map(); // Map of URL -> number of subscribers\n this.creatingConnections = new Set(); // Set of URLs currently being created\n }\n \n /**\n * Get or create a WebSocket connection\n */\n async getConnection(url, config = {}) {\n // If connection already exists, just return it\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Reusing existing connection for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n return existingConnection;\n }\n \n // Check if we're already in the process of creating a connection\n if (this.creatingConnections && this.creatingConnections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Connection already being created for ${url}, waiting...`);\n // Wait for the existing creation to complete\n return new Promise((resolve) => {\n const checkConnection = () => {\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Got existing connection after wait for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n resolve(existingConnection);\n } else {\n setTimeout(checkConnection, 50);\n }\n };\n checkConnection();\n });\n }\n \n // Create new connection\n console.log(`🔌 WebSocketSingleton: Creating new connection for ${url}`);\n this.creatingConnections.add(url);\n const connection = new WebSocket(url);\n this.connections.set(url, connection);\n this.connectionCounts.set(url, 1);\n \n // Set up event forwarding\n connection.addEventListener('open', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection opened for ${url}`);\n this.creatingConnections.delete(url);\n this.emit('open', event, url);\n });\n \n connection.addEventListener('close', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection closed for ${url} (Code: ${event.code})`);\n this.creatingConnections.delete(url);\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n this.emit('close', event, url);\n });\n \n connection.addEventListener('error', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection error for ${url}`, event);\n this.creatingConnections.delete(url);\n this.emit('error', event, url);\n });\n \n connection.addEventListener('message', (event) => {\n this.emit('message', event, url);\n });\n \n return connection;\n }\n \n /**\n * Release a connection (decrement subscriber count)\n */\n releaseConnection(url) {\n if (!this.connections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Attempted to release non-existent connection for ${url}`);\n return;\n }\n \n const currentCount = this.connectionCounts.get(url) || 0;\n const newCount = Math.max(0, currentCount - 1);\n this.connectionCounts.set(url, newCount);\n \n console.log(`🔌 WebSocketSingleton: Released connection for ${url} (${newCount} subscribers remaining)`);\n \n // If no more subscribers, close the connection\n if (newCount === 0) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Closing connection for ${url} (no more subscribers)`);\n connection.close(1000, 'No more subscribers');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Force close a connection\n */\n forceClose(url) {\n if (this.connections.has(url)) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Force closing connection for ${url}`);\n connection.close(1000, 'Force close');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Get connection status\n */\n getConnectionStatus(url) {\n if (!this.connections.has(url)) {\n return { exists: false, readyState: null, subscribers: 0 };\n }\n \n const connection = this.connections.get(url);\n return {\n exists: true,\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n \n /**\n * Get all active connections\n */\n getAllConnections() {\n const result = {};\n for (const [url, connection] of this.connections.entries()) {\n result[url] = {\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n return result;\n }\n \n /**\n * Clear all connections (for testing)\n */\n clearAll() {\n console.log(`🔌 WebSocketSingleton: Clearing all connections`);\n for (const [url, connection] of this.connections.entries()) {\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Clear all');\n }\n }\n this.connections.clear();\n this.connectionCounts.clear();\n this.creatingConnections.clear();\n }\n}\n\n// Global singleton instance\nconst webSocketSingleton = new WebSocketSingleton();\n\nexport default webSocketSingleton;\n","/**\n * WebSocketManagerV2 - Uses singleton pattern to prevent multiple connections\n */\nimport EventEmitter from './EventEmitter.js';\nimport webSocketSingleton from './WebSocketSingleton.js';\n\nexport default class WebSocketManagerV2 extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.connectionId = null;\n }\n \n /**\n * Connect to WebSocket using singleton\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n console.log(`🔌 WebSocketManagerV2: Requesting connection ${this.connectionId} for ${this.config.websocketUrl}`);\n \n // Get connection from singleton\n webSocketSingleton.getConnection(this.config.websocketUrl, this.config)\n .then((connection) => {\n this.ws = connection;\n console.log(`🔌 WebSocketManagerV2: Got connection ${this.connectionId}`);\n \n // Set up event listeners\n this.setupEventListeners();\n \n // If already connected, resolve immediately\n if (connection.readyState === WebSocket.OPEN) {\n this.isConnected = true;\n this.emit('connected');\n resolve();\n }\n })\n .catch((error) => {\n console.error(`🔌 WebSocketManagerV2: Connection failed ${this.connectionId}`, error);\n reject(error);\n });\n \n } catch (error) {\n console.error(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, error);\n reject(error);\n }\n });\n }\n \n /**\n * Set up event listeners\n */\n setupEventListeners() {\n if (!this.ws) return;\n \n // Use singleton's event forwarding\n const handleOpen = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection opened ${this.connectionId}`);\n this.isConnected = true;\n this.emit('connected');\n }\n };\n \n const handleClose = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.emit('disconnected', event);\n }\n };\n \n const handleError = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, event);\n this.emit('error', event);\n }\n };\n \n const handleMessage = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.handleMessage(event);\n }\n };\n \n // Add event listeners\n webSocketSingleton.on('open', handleOpen);\n webSocketSingleton.on('close', handleClose);\n webSocketSingleton.on('error', handleError);\n webSocketSingleton.on('message', handleMessage);\n \n // Store handlers for cleanup\n this.eventHandlers = {\n open: handleOpen,\n close: handleClose,\n error: handleError,\n message: handleMessage\n };\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n console.log(`🔌 WebSocketManagerV2: Disconnecting ${this.connectionId}`);\n \n // Remove event listeners\n if (this.eventHandlers) {\n webSocketSingleton.off('open', this.eventHandlers.open);\n webSocketSingleton.off('close', this.eventHandlers.close);\n webSocketSingleton.off('error', this.eventHandlers.error);\n webSocketSingleton.off('message', this.eventHandlers.message);\n }\n \n // Release connection from singleton\n if (this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Releasing connection ${this.connectionId} from singleton`);\n webSocketSingleton.releaseConnection(this.config.websocketUrl);\n }\n \n this.ws = null;\n this.isConnected = false;\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming messages\n */\n handleMessage(event) {\n // Check if it's binary data\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n console.error('🔌 WebSocketManagerV2: Error converting Blob to ArrayBuffer:', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : null,\n connectionId: this.connectionId\n };\n }\n \n /**\n * Get singleton status (for debugging)\n */\n static getSingletonStatus() {\n return webSocketSingleton.getAllConnections();\n }\n \n /**\n * Clear all singleton connections (for testing)\n */\n static clearAllConnections() {\n webSocketSingleton.clearAll();\n }\n}\n","/**\n * AudioRecorder - Handles audio recording using AudioWorklet\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioRecorder extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioWorkletNode = null;\n this.mediaStream = null;\n this.isRecording = false;\n }\n \n /**\n * Start audio recording\n */\n async start() {\n try {\n // Get user media\n this.mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n sampleRate: this.config.sampleRate,\n channelCount: 1,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true\n }\n });\n \n // Create AudioContext\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)({\n sampleRate: this.config.sampleRate\n });\n \n // Resume AudioContext if suspended\n if (this.audioContext.state === 'suspended') {\n await this.audioContext.resume();\n }\n \n // Load AudioWorklet module\n await this.audioContext.audioWorklet.addModule('/audio-processor.js');\n \n // Create AudioWorklet node\n this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor');\n \n // Create media stream source\n const source = this.audioContext.createMediaStreamSource(this.mediaStream);\n source.connect(this.audioWorkletNode);\n \n // Handle messages from AudioWorklet\n this.audioWorkletNode.port.onmessage = (event) => {\n const { type, data } = event.data;\n \n if (type === 'pcm_audio_data') {\n this.emit('audioData', data);\n }\n };\n \n // Enable continuous mode\n this.audioWorkletNode.port.postMessage({\n type: 'setForceContinuous',\n data: { enabled: true }\n });\n \n this.isRecording = true;\n this.emit('recordingStarted');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Stop audio recording\n */\n async stop() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Flush any remaining audio data\n if (this.audioWorkletNode) {\n this.audioWorkletNode.port.postMessage({ type: 'flush' });\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n \n // Disconnect and cleanup\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n await this.audioContext.close();\n this.audioContext = null;\n }\n \n this.audioWorkletNode = null;\n this.isRecording = false;\n this.emit('recordingStopped');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Get recording status\n */\n getStatus() {\n return {\n isRecording: this.isRecording,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n }\n}\n","/**\n * AudioPlayer - Handles audio playback with queue system\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioPlayer extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioQueue = [];\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n }\n \n /**\n * Add audio data to playback queue\n */\n playAudio(audioData) {\n try {\n const audioBlob = this.createAudioBlob(audioData);\n this.audioQueue.push(audioBlob);\n \n // Process queue if not already playing or processing\n if (!this.isPlaying && !this.isProcessingQueue) {\n setTimeout(() => this.processQueue(), 50);\n }\n } catch (error) {\n this.emit('playbackError', error);\n }\n }\n \n /**\n * Create audio blob from ArrayBuffer\n */\n createAudioBlob(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer);\n \n // Detect audio format\n if (uint8Array.length >= 4) {\n // WAV header (RIFF)\n if (uint8Array[0] === 0x52 && uint8Array[1] === 0x49 && \n uint8Array[2] === 0x46 && uint8Array[3] === 0x46) {\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n // MP3 header\n if (uint8Array[0] === 0xFF && (uint8Array[1] & 0xE0) === 0xE0) {\n return new Blob([arrayBuffer], { type: 'audio/mpeg' });\n }\n \n // OGG header\n if (uint8Array[0] === 0x4F && uint8Array[1] === 0x67 && \n uint8Array[2] === 0x67 && uint8Array[3] === 0x53) {\n return new Blob([arrayBuffer], { type: 'audio/ogg' });\n }\n }\n \n // Default to WAV format\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n /**\n * Process audio queue\n */\n async processQueue() {\n // Prevent multiple simultaneous queue processing\n if (this.isProcessingQueue || this.isPlaying || this.audioQueue.length === 0) {\n return;\n }\n \n this.isProcessingQueue = true;\n \n const audioBlob = this.audioQueue.shift();\n if (!audioBlob) {\n this.isProcessingQueue = false;\n return;\n }\n \n try {\n this.isPlaying = true;\n this.emit('playbackStarted');\n \n // Create AudioContext if not exists\n if (!this.audioContext) {\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n }\n \n const audioContext = this.audioContext;\n \n // Resume AudioContext if suspended\n if (audioContext.state === 'suspended') {\n await audioContext.resume();\n }\n \n // Create audio source from blob\n const arrayBuffer = await audioBlob.arrayBuffer();\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n \n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n \n this.currentSource = source;\n \n // Handle audio end\n source.onended = () => {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackStopped');\n \n // Process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n };\n \n // Start playback\n source.start();\n \n } catch (error) {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackError', error);\n \n // Try to process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n }\n }\n \n /**\n * Stop current playback and clear queue\n */\n stop() {\n this.stopImmediate();\n }\n \n /**\n * Stop current playback immediately and clear queue\n */\n stopImmediate() {\n if (this.currentSource) {\n try {\n this.currentSource.stop();\n } catch (error) {\n // Ignore errors when stopping\n }\n this.currentSource = null;\n }\n \n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.audioQueue = [];\n this.emit('playbackStopped');\n }\n \n /**\n * Get playback status\n */\n getStatus() {\n return {\n isPlaying: this.isPlaying,\n isProcessingQueue: this.isProcessingQueue,\n queueLength: this.audioQueue.length,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n this.audioContext.close();\n this.audioContext = null;\n }\n }\n}\n","/**\n * VoiceSDK - Core voice interaction SDK\n * Handles WebSocket connection, audio recording, and audio playback\n */\nimport EventEmitter from './EventEmitter.js';\nimport WebSocketManagerV2 from './WebSocketManagerV2.js';\nimport AudioRecorder from './AudioRecorder.js';\nimport AudioPlayer from './AudioPlayer.js';\n\nexport default class VoiceSDK extends EventEmitter {\n constructor(config = {}) {\n super();\n \n // Configuration\n this.config = {\n websocketUrl: config.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: config.agentId, // Optional - for direct agent access (unsecured method)\n appId: config.appId, // User's app ID for authentication\n ttpId: config.ttpId, // Optional - custom TTP ID (fallback if appId not provided)\n voice: config.voice || 'default',\n language: config.language || 'en',\n sampleRate: config.sampleRate || 16000,\n ...config\n };\n \n // State\n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n this.isDestroyed = false;\n \n // Components\n this.webSocketManager = new WebSocketManagerV2({\n ...this.config,\n autoReconnect: this.config.autoReconnect !== false // Default to true unless explicitly disabled\n });\n this.audioRecorder = new AudioRecorder(this.config);\n this.audioPlayer = new AudioPlayer(this.config);\n \n // Bind event handlers\n this.setupEventHandlers();\n }\n \n /**\n * Setup event handlers for all components\n */\n setupEventHandlers() {\n // WebSocket events\n this.webSocketManager.on('connected', () => {\n this.isConnected = true;\n this.sendHelloMessage();\n this.emit('connected');\n });\n \n this.webSocketManager.on('disconnected', (event) => {\n this.isConnected = false;\n \n // IMPORTANT: Stop recording when WebSocket disconnects (e.g., no credits, max duration exceeded)\n // This ensures microphone is released and no more audio is streamed\n if (this.isRecording) {\n console.log('🎤 VoiceSDK: Auto-stopping recording due to WebSocket disconnection');\n this.stopRecording().catch(err => {\n console.error('VoiceSDK: Error stopping recording on disconnect:', err);\n });\n }\n \n // Pass close event details (code, reason) to consumers\n this.emit('disconnected', event);\n });\n \n this.webSocketManager.on('error', (error) => {\n this.emit('error', error);\n });\n \n this.webSocketManager.on('message', (message) => {\n // Handle greeting audio message\n if (message.t === 'greeting_audio' && message.data) {\n try {\n // Convert base64 audio data to Uint8Array\n const binaryString = atob(message.data);\n const audioData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n audioData[i] = binaryString.charCodeAt(i);\n }\n \n console.log('🎵 VoiceSDK: Received greeting audio, playing...');\n this.audioPlayer.playAudio(audioData);\n this.emit('greetingStarted');\n } catch (error) {\n console.error('VoiceSDK: Error playing greeting audio:', error);\n }\n } else {\n this.emit('message', message);\n }\n });\n \n this.webSocketManager.on('binaryAudio', (audioData) => {\n this.audioPlayer.playAudio(audioData);\n });\n \n this.webSocketManager.on('bargeIn', (message) => {\n this.emit('bargeIn', message);\n });\n \n this.webSocketManager.on('stopPlaying', (message) => {\n this.emit('stopPlaying', message);\n // Immediately stop all audio playback\n this.audioPlayer.stopImmediate();\n });\n \n // Audio recorder events\n this.audioRecorder.on('recordingStarted', () => {\n this.isRecording = true;\n this.emit('recordingStarted');\n });\n \n this.audioRecorder.on('recordingStopped', () => {\n this.isRecording = false;\n this.emit('recordingStopped');\n });\n \n this.audioRecorder.on('audioData', (audioData) => {\n if (this.isConnected) {\n this.webSocketManager.sendBinary(audioData);\n }\n });\n \n // Audio player events\n this.audioPlayer.on('playbackStarted', () => {\n this.isPlaying = true;\n this.emit('playbackStarted');\n });\n \n this.audioPlayer.on('playbackStopped', () => {\n this.isPlaying = false;\n this.emit('playbackStopped');\n });\n \n this.audioPlayer.on('playbackError', (error) => {\n this.emit('playbackError', error);\n });\n }\n \n /**\n * Connect to the voice server\n */\n async connect() {\n if (this.isDestroyed) {\n console.warn('VoiceSDK: Cannot connect - SDK is destroyed');\n return false; // Prevent connect after destroy\n }\n \n try {\n // Build WebSocket URL with query parameters if needed\n const wsUrl = this.buildWebSocketUrl();\n console.log('🔌 VoiceSDK: Attempting connection to:', wsUrl);\n console.log('🔌 VoiceSDK: Config:', {\n agentId: this.config.agentId,\n appId: this.config.appId,\n language: this.config.language\n });\n \n // Update the WebSocket manager with the URL that includes query parameters\n this.webSocketManager.config.websocketUrl = wsUrl;\n \n console.log('🔌 VoiceSDK: Calling webSocketManager.connect()...');\n await this.webSocketManager.connect();\n console.log('🔌 VoiceSDK: webSocketManager.connect() completed successfully');\n return true;\n } catch (error) {\n console.error('🔌 VoiceSDK: Connection failed with error:', error);\n this.emit('error', error);\n return false;\n }\n }\n\n /**\n * Build WebSocket URL with query parameters for authentication\n */\n buildWebSocketUrl() {\n let url = this.config.websocketUrl;\n const params = new URLSearchParams();\n \n // Add agentId as query parameter if provided\n if (this.config.agentId) {\n params.append('agentId', this.config.agentId);\n console.log('VoiceSDK: Adding agentId to URL:', this.config.agentId);\n }\n \n // Add appId as query parameter if provided\n if (this.config.appId) {\n params.append('appId', this.config.appId);\n console.log('VoiceSDK: Adding appId to URL:', this.config.appId);\n }\n \n // Add other parameters if needed\n if (this.config.voice && this.config.voice !== 'default') {\n params.append('voice', this.config.voice);\n }\n \n if (this.config.language && this.config.language !== 'en') {\n params.append('language', this.config.language);\n }\n \n // Append query parameters to URL if any exist\n if (params.toString()) {\n const separator = url.includes('?') ? '&' : '?';\n url += separator + params.toString();\n }\n \n return url;\n }\n \n /**\n * Disconnect from the voice server\n */\n disconnect() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Disconnect called but already destroyed`);\n return; // Prevent disconnect after destroy\n }\n console.log(`🎙️ VoiceSDK: Disconnecting from voice server`);\n this.stopRecording();\n this.webSocketManager.disconnect();\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n if (this.isDestroyed) {\n return;\n }\n this.webSocketManager.resetReconnectionAttempts();\n }\n \n /**\n * Manually reconnect to the voice server\n */\n async reconnect() {\n if (this.isDestroyed) {\n return false;\n }\n \n this.disconnect();\n this.resetReconnectionAttempts();\n return await this.connect();\n }\n \n /**\n * Start voice recording and streaming\n */\n async startRecording() {\n if (!this.isConnected) {\n throw new Error('Not connected to voice server');\n }\n \n try {\n // Send start continuous mode message\n this.webSocketManager.sendMessage({\n t: 'start_continuous_mode',\n ttpId: this.generateTtpId(),\n voice: this.config.voice,\n language: this.config.language\n });\n \n // Start audio recording\n await this.audioRecorder.start();\n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Stop voice recording and streaming\n */\n async stopRecording() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Send stop continuous mode message\n this.webSocketManager.sendMessage({\n t: 'stop_continuous_mode',\n ttpId: this.generateTtpId()\n });\n \n // Stop audio recording\n await this.audioRecorder.stop();\n \n // Stop audio playback immediately when stopping recording\n this.audioPlayer.stopImmediate();\n \n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Toggle recording state\n */\n async toggleRecording() {\n if (this.isRecording) {\n return await this.stopRecording();\n } else {\n return await this.startRecording();\n }\n }\n \n /**\n * Stop audio playback immediately (for barge-in scenarios)\n */\n stopAudioPlayback() {\n this.audioPlayer.stopImmediate();\n }\n \n /**\n * Handle barge-in (user starts speaking while audio is playing)\n */\n async handleBargeIn() {\n // Stop current audio playback immediately\n this.stopAudioPlayback();\n \n // If not already recording, start recording\n if (!this.isRecording) {\n await this.startRecording();\n }\n }\n \n /**\n * Get current connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.config = { ...this.config, ...newConfig };\n }\n \n /**\n * Generate unique TTP ID\n */\n generateTtpId() {\n return 'sdk_' + Math.random().toString(36).substr(2, 9) + '_' + Date.now();\n }\n\n /**\n * Send hello message with appropriate authentication\n */\n sendHelloMessage() {\n if (!this.isConnected) {\n console.warn('VoiceSDK: Cannot send hello message - not connected');\n return;\n }\n\n const helloMessage = {\n t: \"hello\"\n };\n\n // Use app ID for authentication (preferred method)\n if (this.config.appId) {\n helloMessage.appId = this.config.appId;\n console.log('VoiceSDK: Sending hello message with appId (app-based authentication)');\n } else if (this.config.ttpId) {\n // Fallback to custom TTP ID if app ID not provided\n helloMessage.ttpId = this.config.ttpId;\n console.log('VoiceSDK: Sending hello message with custom TTP ID (fallback method)');\n } else {\n // Generate TTP ID as last resort\n helloMessage.ttpId = this.generateTtpId();\n console.log('VoiceSDK: Sending hello message with generated TTP ID (last resort)');\n }\n\n // Note: agentId is now sent as query parameter in WebSocket URL, not in hello message\n\n // Log authentication method for debugging\n if (this.config.appId) {\n console.log('VoiceSDK: Using app ID for authentication:', this.config.appId);\n } else if (this.config.ttpId) {\n console.log('VoiceSDK: Using custom TTP ID:', this.config.ttpId);\n } else {\n console.log('VoiceSDK: Using generated TTP ID:', helloMessage.ttpId);\n }\n\n try {\n this.webSocketManager.sendMessage(helloMessage);\n console.log('VoiceSDK: Hello message sent:', helloMessage);\n } catch (error) {\n console.error('VoiceSDK: Failed to send hello message:', error);\n this.emit('error', error);\n }\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Destroy called but already destroyed`);\n return; // Prevent multiple destroy calls\n }\n \n console.log(`🎙️ VoiceSDK: Destroying VoiceSDK instance`);\n \n // Disconnect first, before setting isDestroyed\n this.disconnect();\n \n this.isDestroyed = true;\n this.audioRecorder.destroy();\n this.audioPlayer.destroy();\n this.removeAllListeners();\n \n console.log(`🎙️ VoiceSDK: VoiceSDK instance destroyed`);\n }\n}\n","/**\n * ConnectionManager - Global connection manager to prevent multiple connections to the same URL\n */\nclass ConnectionManager {\n constructor() {\n this.connections = new Map(); // Map of URL -> connection info\n }\n \n /**\n * Register a connection attempt\n */\n registerConnection(url, connectionId) {\n if (!this.connections.has(url)) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Registered connection ${connectionId} for ${url}`);\n return true;\n }\n \n const existing = this.connections.get(url);\n const timeSinceLastConnection = Date.now() - existing.timestamp;\n \n // If it's been more than 30 seconds since the last connection, allow it\n if (timeSinceLastConnection > 30000) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Allowed new connection ${connectionId} for ${url} (old connection was ${timeSinceLastConnection}ms ago)`);\n return true;\n }\n \n // Otherwise, prevent the connection\n existing.count++;\n console.log(`🔌 ConnectionManager: Blocked connection ${connectionId} for ${url} (${existing.count} attempts in ${timeSinceLastConnection}ms)`);\n return false;\n }\n \n /**\n * Unregister a connection\n */\n unregisterConnection(url, connectionId) {\n const existing = this.connections.get(url);\n if (existing && existing.connectionId === connectionId) {\n this.connections.delete(url);\n console.log(`🔌 ConnectionManager: Unregistered connection ${connectionId} for ${url}`);\n }\n }\n \n /**\n * Check if a connection is allowed\n */\n isConnectionAllowed(url) {\n const existing = this.connections.get(url);\n if (!existing) {\n return true;\n }\n \n const timeSinceLastConnection = Date.now() - existing.timestamp;\n return timeSinceLastConnection > 30000; // Allow if more than 30 seconds ago\n }\n \n /**\n * Get connection info\n */\n getConnectionInfo(url) {\n return this.connections.get(url);\n }\n \n /**\n * Clear all connections (useful for testing)\n */\n clearAll() {\n this.connections.clear();\n console.log('🔌 ConnectionManager: Cleared all connections');\n }\n}\n\n// Global instance\nconst connectionManager = new ConnectionManager();\n\nexport default connectionManager;\n","/**\n * WebSocketManager - Handles WebSocket connection and message routing\n */\nimport EventEmitter from './EventEmitter.js';\nimport connectionManager from './ConnectionManager.js';\n\nexport default class WebSocketManager extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = config.autoReconnect !== false ? 3 : 0; // Disable auto-reconnect if explicitly set to false\n this.isReconnecting = false;\n this.isConnecting = false; // Track if we're currently trying to connect\n this.connectionId = null; // Unique ID for this connection attempt\n }\n \n /**\n * Connect to WebSocket\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n // Prevent multiple connections\n if (this.ws && (this.ws.readyState === WebSocket.CONNECTING || this.ws.readyState === WebSocket.OPEN)) {\n resolve();\n return;\n }\n \n // Prevent connection if already reconnecting\n if (this.isReconnecting) {\n resolve();\n return;\n }\n \n // Prevent connection if already connecting\n if (this.isConnecting) {\n resolve();\n return;\n }\n \n // Check if connection is allowed by global manager\n if (!connectionManager.isConnectionAllowed(this.config.websocketUrl)) {\n console.log(`🔌 WebSocketManager: Connection blocked by global manager for ${this.config.websocketUrl}`);\n resolve();\n return;\n }\n \n this.isConnecting = true;\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n \n // Register with global connection manager\n if (!connectionManager.registerConnection(this.config.websocketUrl, this.connectionId)) {\n console.log(`🔌 WebSocketManager: Connection registration failed for ${this.connectionId}`);\n this.isConnecting = false;\n resolve();\n return;\n }\n \n console.log(`🔌 WebSocketManager: Starting connection attempt ${this.connectionId}`);\n this.ws = new WebSocket(this.config.websocketUrl);\n \n this.ws.onopen = () => {\n console.log(`🔌 WebSocketManager: Connection successful ${this.connectionId}`);\n this.isConnected = true;\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n this.isConnecting = false;\n this.emit('connected');\n resolve();\n };\n \n this.ws.onmessage = (event) => {\n this.handleMessage(event);\n };\n \n this.ws.onclose = (event) => {\n console.log(`🔌 WebSocketManager: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.isConnecting = false;\n this.emit('disconnected', event);\n \n // Attempt reconnection if not intentional and not already reconnecting\n if (event.code !== 1000 && this.reconnectAttempts < this.maxReconnectAttempts && !this.isReconnecting) {\n this.isReconnecting = true;\n this.reconnectAttempts++;\n console.log(`🔌 WebSocketManager: Attempting reconnection ${this.reconnectAttempts}/${this.maxReconnectAttempts}`);\n setTimeout(() => {\n this.isReconnecting = false;\n this.connect().catch(() => {\n // Ignore reconnection errors to prevent infinite loops\n });\n }, 1000 * this.reconnectAttempts);\n }\n };\n \n this.ws.onerror = (error) => {\n console.log(`🔌 WebSocketManager: Connection error ${this.connectionId}`, error);\n this.isConnecting = false;\n this.emit('error', error);\n reject(error);\n };\n \n } catch (error) {\n console.log(`🔌 WebSocketManager: Connection failed ${this.connectionId}`, error);\n this.isConnecting = false;\n reject(error);\n }\n });\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n // Stop any reconnection attempts\n this.isReconnecting = false;\n this.reconnectAttempts = this.maxReconnectAttempts; // Prevent reconnection\n \n // Unregister from global connection manager\n if (this.connectionId) {\n connectionManager.unregisterConnection(this.config.websocketUrl, this.connectionId);\n }\n \n if (this.ws && this.ws.readyState === WebSocket.OPEN) {\n this.ws.close(1000, 'Intentional disconnect');\n }\n this.ws = null;\n this.isConnected = false;\n this.isConnecting = false;\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n }\n \n /**\n * Clear all global connections (useful for testing)\n */\n static clearAllConnections() {\n connectionManager.clearAll();\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming WebSocket messages\n */\n handleMessage(event) {\n // Check if it's binary data first\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n this.emit('error', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : WebSocket.CLOSED\n };\n }\n}\n","/**\n * VoiceButton - React component for voice interaction\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nconst VoiceButton = ({ \n websocketUrl,\n agentId, // Optional - for direct agent access (unsecured method)\n voice = 'default',\n language = 'en',\n autoReconnect = true,\n onConnected,\n onDisconnected,\n onRecordingStarted,\n onRecordingStopped,\n onPlaybackStarted,\n onPlaybackStopped,\n onError,\n onMessage,\n onBargeIn,\n onStopPlaying,\n className = '',\n style = {},\n children\n}) => {\n const [isConnected, setIsConnected] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [isPlaying, setIsPlaying] = useState(false);\n const [connectionStatus, setConnectionStatus] = useState('Disconnected');\n \n const voiceSDKRef = useRef(null);\n \n // Initialize VoiceSDK\n useEffect(() => {\n console.log(`🎙️ VoiceButton: Creating VoiceSDK instance for ${websocketUrl}`);\n \n // Clean up existing instance if any\n if (voiceSDKRef.current) {\n console.log(`🎙️ VoiceButton: Destroying existing VoiceSDK instance`);\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n \n const voiceSDK = new VoiceSDK({\n websocketUrl,\n agentId, // Pass through agentId if provided\n voice,\n language,\n autoReconnect\n });\n \n // Setup event listeners\n voiceSDK.on('connected', () => {\n setIsConnected(true);\n setConnectionStatus('Connected');\n onConnected?.();\n });\n \n voiceSDK.on('disconnected', () => {\n setIsConnected(false);\n setConnectionStatus('Disconnected');\n onDisconnected?.();\n });\n \n voiceSDK.on('recordingStarted', () => {\n setIsRecording(true);\n onRecordingStarted?.();\n });\n \n voiceSDK.on('recordingStopped', () => {\n setIsRecording(false);\n onRecordingStopped?.();\n });\n \n voiceSDK.on('playbackStarted', () => {\n setIsPlaying(true);\n onPlaybackStarted?.();\n });\n \n voiceSDK.on('playbackStopped', () => {\n setIsPlaying(false);\n onPlaybackStopped?.();\n });\n \n voiceSDK.on('error', (error) => {\n onError?.(error);\n });\n \n voiceSDK.on('message', (message) => {\n onMessage?.(message);\n });\n \n voiceSDK.on('bargeIn', (message) => {\n onBargeIn?.(message);\n });\n \n voiceSDK.on('stopPlaying', (message) => {\n onStopPlaying?.(message);\n });\n \n voiceSDKRef.current = voiceSDK;\n \n // Auto-connect\n voiceSDK.connect();\n \n // Cleanup on unmount\n return () => {\n console.log(`🎙️ VoiceButton: Cleaning up VoiceSDK instance for ${websocketUrl}`);\n if (voiceSDKRef.current) {\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n };\n }, [websocketUrl, agentId, voice, language]);\n \n // Handle button click\n const handleClick = async () => {\n if (!voiceSDKRef.current) return;\n \n try {\n await voiceSDKRef.current.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n };\n \n // Default button content\n const defaultContent = (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <div style={{ fontSize: '20px' }}>\n {isRecording ? '🔴' : '🎤'}\n </div>\n <div>\n {isRecording ? 'Stop Listening' : 'Start Listening'}\n </div>\n </div>\n );\n \n return (\n <button\n className={`voice-button ${isRecording ? 'recording' : ''} ${className}`}\n style={{\n padding: '12px 24px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: isRecording ? '#dc3545' : '#007bff',\n color: 'white',\n cursor: 'pointer',\n fontSize: '16px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n ...style\n }}\n onClick={handleClick}\n disabled={!isConnected}\n >\n {children || defaultContent}\n </button>\n );\n};\n\nexport default VoiceButton;\n","/**\n * VoiceButton - Vanilla JavaScript voice button\n */\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nexport default class VoiceButton {\n constructor(options = {}) {\n this.options = {\n websocketUrl: options.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: options.agentId, // Optional - for direct agent access (unsecured method)\n voice: options.voice || 'default',\n language: options.language || 'en',\n container: options.container || document.body,\n buttonText: options.buttonText || 'Start Listening',\n buttonClass: options.buttonClass || 'voice-button',\n ...options\n };\n \n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n \n this.voiceSDK = new VoiceSDK({\n websocketUrl: this.options.websocketUrl,\n agentId: this.options.agentId, // Pass through agentId if provided\n voice: this.options.voice,\n language: this.options.language\n });\n \n this.setupEventListeners();\n this.createButton();\n this.connect();\n }\n \n /**\n * Setup event listeners\n */\n setupEventListeners() {\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.updateButton();\n this.options.onConnected?.();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.updateButton();\n this.options.onDisconnected?.();\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isRecording = true;\n this.updateButton();\n this.options.onRecordingStarted?.();\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isRecording = false;\n this.updateButton();\n this.options.onRecordingStopped?.();\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.isPlaying = true;\n this.options.onPlaybackStarted?.();\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.isPlaying = false;\n this.options.onPlaybackStopped?.();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.options.onError?.(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.options.onMessage?.(message);\n });\n \n this.voiceSDK.on('bargeIn', (message) => {\n this.options.onBargeIn?.(message);\n });\n \n this.voiceSDK.on('stopPlaying', (message) => {\n this.options.onStopPlaying?.(message);\n });\n }\n \n /**\n * Create the button element\n */\n createButton() {\n this.button = document.createElement('button');\n this.button.className = this.options.buttonClass;\n this.button.style.cssText = `\n padding: 12px 24px;\n border: none;\n border-radius: 8px;\n background-color: #6c757d;\n color: white;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n `;\n \n this.button.addEventListener('click', () => this.toggleRecording());\n this.options.container.appendChild(this.button);\n \n this.updateButton();\n }\n \n /**\n * Update button appearance and state\n */\n updateButton() {\n if (!this.button) return;\n \n const icon = this.isRecording ? '🔴' : '🎤';\n const text = this.isRecording ? 'Stop Listening' : 'Start Listening';\n \n this.button.innerHTML = `\n <span style=\"font-size: 20px;\">${icon}</span>\n <span>${text}</span>\n `;\n \n this.button.disabled = !this.isConnected;\n this.button.style.backgroundColor = this.isRecording ? '#dc3545' : \n this.isConnected ? '#007bff' : '#6c757d';\n }\n \n /**\n * Connect to voice server\n */\n async connect() {\n try {\n await this.voiceSDK.connect();\n } catch (error) {\n console.error('Failed to connect:', error);\n }\n }\n \n /**\n * Toggle recording\n */\n async toggleRecording() {\n if (!this.voiceSDK) return;\n \n try {\n await this.voiceSDK.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n }\n \n /**\n * Get current status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.voiceSDK.updateConfig(newConfig);\n }\n \n /**\n * Destroy the button and cleanup\n */\n destroy() {\n if (this.button && this.button.parentNode) {\n this.button.parentNode.removeChild(this.button);\n }\n \n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n }\n }\n}\n","/**\n * Legacy AgentSDK - Backward Compatibility Layer\n * \n * This maintains the original AgentSDK API while using the new VoiceSDK internally.\n * This ensures existing integrations continue to work without changes.\n */\n\nimport { VoiceSDK } from '../index.js';\n\nexport class AgentSDK {\n constructor(config) {\n this.config = config;\n this.voiceSDK = null;\n this.isConnected = false;\n this.isListening = false;\n \n // Legacy callback properties\n this.onConnected = () => {};\n this.onDisconnected = () => {};\n this.onError = (error) => console.error('SDK Error:', error);\n this.onTranscript = (text) => {};\n this.onAgentSpeaking = (isStart) => {};\n }\n\n async connect(signedUrl) {\n try {\n if (!signedUrl) {\n throw new Error('signedUrl is required');\n }\n \n // Create VoiceSDK instance\n this.voiceSDK = new VoiceSDK({\n websocketUrl: signedUrl,\n autoReconnect: false\n });\n \n // Set up event handlers to map to legacy callbacks\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.onConnected();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.onDisconnected();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.onError(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.handleWebSocketMessage(message);\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isListening = true;\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isListening = false;\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.onAgentSpeaking(true);\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.onAgentSpeaking(false);\n });\n \n // Connect using VoiceSDK\n await this.voiceSDK.connect();\n \n } catch (error) {\n this.onError(error);\n throw error;\n }\n }\n\n handleWebSocketMessage(message) {\n // Map new message format to legacy format\n switch (message.type) {\n case 'connected':\n console.log('Session started successfully');\n break;\n \n case 'user_transcript':\n this.onTranscript(message.user_transcription || message.text);\n break;\n \n case 'agent_response':\n // Handle agent text response\n break;\n \n case 'barge_in':\n // Handle barge-in\n break;\n \n case 'stop_playing':\n // Handle stop playing\n break;\n \n case 'error':\n this.onError(new Error(message.message));\n break;\n }\n }\n\n async startListening() {\n if (this.voiceSDK) {\n await this.voiceSDK.startRecording();\n }\n }\n\n stopListening() {\n if (this.voiceSDK) {\n this.voiceSDK.stopRecording();\n }\n }\n\n updateVariables(variables) {\n if (this.voiceSDK && this.isConnected) {\n // Send variables update message\n this.voiceSDK.webSocketManager.sendMessage({\n t: 'update_variables',\n variables\n });\n }\n }\n\n disconnect() {\n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n this.isConnected = false;\n this.isListening = false;\n }\n}\n\n// ============================================\n// WIDGET - Pre-built UI using the SDK\n// ============================================\n\nexport class AgentWidget {\n constructor(config) {\n this.config = config;\n this.sdk = new AgentSDK();\n this.isOpen = false;\n this.isActive = false;\n \n this.position = config.position || 'bottom-right';\n this.primaryColor = config.primaryColor || '#4F46E5';\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n console.log('✅ SDK connected');\n this.updateStatus('connected');\n };\n\n this.sdk.onDisconnected = () => {\n console.log('❌ SDK disconnected');\n this.updateStatus('disconnected');\n this.isActive = false;\n this.updateMicButtonState(false);\n };\n\n this.sdk.onError = (error) => {\n console.error('❌ SDK error:', error);\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n console.log('📝 User transcript:', text);\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n console.log('🤖 Agent speaking:', isStart);\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'agent-widget';\n widget.innerHTML = `\n <style>\n #agent-widget {\n position: fixed;\n ${this.position.includes('bottom') ? 'bottom: 20px;' : 'top: 20px;'}\n ${this.position.includes('right') ? 'right: 20px;' : 'left: 20px;'}\n z-index: 9999;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #agent-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: ${this.primaryColor};\n border: none;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n }\n \n #agent-button:hover {\n transform: scale(1.1);\n }\n \n #agent-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n #agent-panel {\n display: none;\n position: absolute;\n bottom: 80px;\n ${this.position.includes('right') ? 'right: 0;' : 'left: 0;'}\n width: 350px;\n height: 500px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.2);\n flex-direction: column;\n overflow: hidden;\n }\n \n #agent-panel.open {\n display: flex;\n }\n \n #agent-header {\n background: ${this.primaryColor};\n color: white;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n \n #agent-close {\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n font-size: 24px;\n }\n \n #agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: 8px;\n max-width: 80%;\n }\n \n .message.user {\n background: #E5E7EB;\n align-self: flex-end;\n }\n \n .message.agent {\n background: #F3F4F6;\n align-self: flex-start;\n }\n \n #agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #agent-mic-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: none;\n background: ${this.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n }\n \n #agent-mic-button.active {\n background: #EF4444;\n animation: pulse 1.5s infinite;\n }\n \n #agent-mic-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n \n .error-message {\n background: #FEE2E2;\n color: #991B1B;\n padding: 12px;\n border-radius: 8px;\n margin: 8px;\n }\n </style>\n \n <button id=\"agent-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n \n <div id=\"agent-panel\">\n <div id=\"agent-header\">\n <h3 style=\"margin: 0;\">Voice Assistant</h3>\n <button id=\"agent-close\">×</button>\n </div>\n \n <div id=\"agent-messages\"></div>\n \n <div id=\"agent-controls\">\n <button id=\"agent-mic-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n </div>\n </div>\n `;\n \n document.body.appendChild(widget);\n \n document.getElementById('agent-button').onclick = () => this.togglePanel();\n document.getElementById('agent-close').onclick = () => this.togglePanel();\n document.getElementById('agent-mic-button').onclick = () => this.toggleVoice();\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n console.log('🎤 Starting voice session...');\n const signedUrl = await this.getSignedUrl();\n console.log('🔗 Got signed URL:', signedUrl);\n \n await this.sdk.connect(signedUrl);\n console.log('✅ Connected to WebSocket');\n \n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n } catch (error) {\n console.error('❌ Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n console.log('🔇 Stopping voice session...');\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n this.updateMicButtonState(false);\n this.addMessage('system', '🔇 Stopped listening');\n }\n }\n\n updateMicButtonState(isListening) {\n const micButton = document.getElementById('agent-mic-button');\n const micIcon = micButton.querySelector('svg');\n \n if (isListening) {\n micButton.classList.add('active');\n micButton.style.background = '#EF4444'; // Red when listening\n micButton.title = 'Click to stop listening';\n \n // Add pulsing animation\n micButton.style.animation = 'pulse 1.5s infinite';\n \n // Change icon to stop icon\n micIcon.innerHTML = `\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>\n <path d=\"M9 9h6\"/>\n `;\n } else {\n micButton.classList.remove('active');\n micButton.style.background = this.primaryColor; // Original color\n micButton.title = 'Click to start listening';\n \n // Remove animation\n micButton.style.animation = '';\n \n // Change back to mic icon\n micIcon.innerHTML = `\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n `;\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const requestBody = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n requestBody.appId = this.config.appId;\n }\n \n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestBody)\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const params = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n params.appId = this.config.appId;\n }\n \n const result = await this.config.getSessionUrl(params);\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Widget status:', status);\n }\n}\n","/**\n * Enhanced AgentWidget with extensive customization options\n * Supports custom icons, flexible positioning, and many other configuration options\n */\n\nexport class EnhancedAgentWidget {\n constructor(config = {}) {\n // Merge user config with defaults\n this.config = this.mergeWithDefaults(config);\n this.sdk = new AgentSDK();\n this.isOpen = false;\n this.isActive = false;\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n mergeWithDefaults(userConfig) {\n return {\n // Required\n agentId: userConfig.agentId,\n getSessionUrl: userConfig.getSessionUrl,\n \n // Icon/Image Configuration\n icon: {\n type: userConfig.icon?.type || 'microphone', // 'microphone', 'custom', 'emoji', 'text'\n customImage: userConfig.icon?.customImage || null, // URL to custom image\n emoji: userConfig.icon?.emoji || '🎤', // Emoji to use\n text: userConfig.icon?.text || 'AI', // Text to display\n size: userConfig.icon?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n ...userConfig.icon\n },\n \n // Positioning Configuration\n position: {\n vertical: userConfig.position?.vertical || 'bottom', // 'top', 'bottom', 'center'\n horizontal: userConfig.position?.horizontal || 'right', // 'left', 'right', 'center'\n offset: userConfig.position?.offset || { x: 20, y: 20 }, // Custom offset in pixels\n ...userConfig.position\n },\n \n // Button Configuration\n button: {\n size: userConfig.button?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n shape: userConfig.button?.shape || 'circle', // 'circle', 'square', 'rounded'\n primaryColor: userConfig.button?.primaryColor || '#4F46E5',\n hoverColor: userConfig.button?.hoverColor || '#7C3AED',\n activeColor: userConfig.button?.activeColor || '#EF4444',\n shadow: userConfig.button?.shadow || true,\n shadowColor: userConfig.button?.shadowColor || 'rgba(0,0,0,0.15)',\n ...userConfig.button\n },\n \n // Panel Configuration\n panel: {\n width: userConfig.panel?.width || 350,\n height: userConfig.panel?.height || 500,\n borderRadius: userConfig.panel?.borderRadius || 12,\n backgroundColor: userConfig.panel?.backgroundColor || 'rgba(255,255,255,0.95)',\n backdropFilter: userConfig.panel?.backdropFilter || 'blur(10px)',\n border: userConfig.panel?.border || '1px solid rgba(0,0,0,0.1)',\n ...userConfig.panel\n },\n \n // Header Configuration\n header: {\n title: userConfig.header?.title || 'Voice Assistant',\n showTitle: userConfig.header?.showTitle !== false,\n backgroundColor: userConfig.header?.backgroundColor || null, // Uses button primaryColor if null\n textColor: userConfig.header?.textColor || '#FFFFFF',\n showCloseButton: userConfig.header?.showCloseButton !== false,\n ...userConfig.header\n },\n \n // Messages Configuration\n messages: {\n userBackgroundColor: userConfig.messages?.userBackgroundColor || '#E5E7EB',\n agentBackgroundColor: userConfig.messages?.agentBackgroundColor || '#F3F4F6',\n systemBackgroundColor: userConfig.messages?.systemBackgroundColor || '#DCFCE7',\n errorBackgroundColor: userConfig.messages?.errorBackgroundColor || '#FEE2E2',\n textColor: userConfig.messages?.textColor || '#1F2937',\n fontSize: userConfig.messages?.fontSize || '14px',\n borderRadius: userConfig.messages?.borderRadius || 8,\n ...userConfig.messages\n },\n \n // Animation Configuration\n animation: {\n enableHover: userConfig.animation?.enableHover !== false,\n enablePulse: userConfig.animation?.enablePulse !== false,\n enableSlide: userConfig.animation?.enableSlide !== false,\n duration: userConfig.animation?.duration || 0.3,\n ...userConfig.animation\n },\n \n // Behavior Configuration\n behavior: {\n autoOpen: userConfig.behavior?.autoOpen || false,\n autoConnect: userConfig.behavior?.autoConnect || false,\n showWelcomeMessage: userConfig.behavior?.showWelcomeMessage !== false,\n welcomeMessage: userConfig.behavior?.welcomeMessage || 'Hello! How can I help you today?',\n ...userConfig.behavior\n },\n \n // Accessibility Configuration\n accessibility: {\n ariaLabel: userConfig.accessibility?.ariaLabel || 'Voice Assistant',\n ariaDescription: userConfig.accessibility?.ariaDescription || 'Click to open voice assistant',\n keyboardNavigation: userConfig.accessibility?.keyboardNavigation !== false,\n ...userConfig.accessibility\n },\n \n // Custom CSS\n customStyles: userConfig.customStyles || '',\n \n // Variables for the agent\n variables: userConfig.variables || {},\n \n // Legacy support (for backward compatibility)\n primaryColor: userConfig.primaryColor || '#4F46E5',\n position: userConfig.position || 'bottom-right'\n };\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n this.updateStatus('connected');\n if (this.config.behavior.showWelcomeMessage) {\n this.addMessage('system', this.config.behavior.welcomeMessage);\n }\n };\n\n this.sdk.onDisconnected = () => {\n this.updateStatus('disconnected');\n this.isActive = false;\n };\n\n this.sdk.onError = (error) => {\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'enhanced-agent-widget';\n widget.innerHTML = this.generateWidgetHTML();\n \n document.body.appendChild(widget);\n \n this.setupWidgetEvents();\n \n // Auto-open if configured\n if (this.config.behavior.autoOpen) {\n setTimeout(() => this.togglePanel(), 1000);\n }\n }\n\n generateWidgetHTML() {\n const pos = this.config.position;\n const btn = this.config.button;\n const icon = this.config.icon;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n // Calculate button size\n const buttonSizes = {\n small: 50,\n medium: 60,\n large: 70,\n xl: 80\n };\n const buttonSize = buttonSizes[btn.size] || 60;\n\n // Calculate icon size\n const iconSizes = {\n small: 20,\n medium: 28,\n large: 36,\n xl: 44\n };\n const iconSize = iconSizes[icon.size] || 28;\n\n // Generate position styles\n const positionStyles = this.generatePositionStyles();\n\n // Generate icon HTML\n const iconHTML = this.generateIconHTML(iconSize);\n\n return `\n <style>\n ${this.generateCSS(positionStyles, buttonSize, iconSize)}\n ${this.config.customStyles}\n </style>\n \n <button id=\"enhanced-agent-button\" \n aria-label=\"${this.config.accessibility.ariaLabel}\"\n aria-description=\"${this.config.accessibility.ariaDescription}\">\n ${iconHTML}\n </button>\n \n <div id=\"enhanced-agent-panel\">\n ${header.showTitle ? `\n <div id=\"enhanced-agent-header\">\n <h3 style=\"margin: 0; color: ${header.textColor};\">${header.title}</h3>\n ${header.showCloseButton ? '<button id=\"enhanced-agent-close\">×</button>' : ''}\n </div>\n ` : ''}\n \n <div id=\"enhanced-agent-messages\"></div>\n \n <div id=\"enhanced-agent-controls\">\n <button id=\"enhanced-agent-mic-button\" \n aria-label=\"Start/Stop Voice Recording\">\n ${iconHTML}\n </button>\n </div>\n </div>\n `;\n }\n\n generatePositionStyles() {\n const pos = this.config.position;\n const offset = pos.offset || { x: 20, y: 20 };\n \n let styles = '';\n \n // Vertical positioning\n if (pos.vertical === 'top') {\n styles += `top: ${offset.y}px;`;\n } else if (pos.vertical === 'bottom') {\n styles += `bottom: ${offset.y}px;`;\n } else if (pos.vertical === 'center') {\n styles += `top: 50%; transform: translateY(-50%);`;\n }\n \n // Horizontal positioning\n if (pos.horizontal === 'left') {\n styles += `left: ${offset.x}px;`;\n } else if (pos.horizontal === 'right') {\n styles += `right: ${offset.x}px;`;\n } else if (pos.horizontal === 'center') {\n styles += `left: 50%; transform: translateX(-50%);`;\n }\n \n return styles;\n }\n\n generateIconHTML(size) {\n const icon = this.config.icon;\n \n switch (icon.type) {\n case 'custom':\n return `<img src=\"${icon.customImage}\" alt=\"Voice Assistant\" style=\"width: ${size}px; height: ${size}px; object-fit: contain;\" />`;\n \n case 'emoji':\n return `<span style=\"font-size: ${size}px; line-height: 1;\">${icon.emoji}</span>`;\n \n case 'text':\n return `<span style=\"font-size: ${Math.floor(size * 0.6)}px; font-weight: bold; color: white;\">${icon.text}</span>`;\n \n case 'microphone':\n default:\n return `<svg viewBox=\"0 0 24 24\" style=\"width: ${size}px; height: ${size}px; fill: white;\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>`;\n }\n }\n\n generateCSS(positionStyles, buttonSize, iconSize) {\n const btn = this.config.button;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n return `\n #enhanced-agent-widget {\n position: fixed;\n ${positionStyles}\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #enhanced-agent-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n background: ${btn.primaryColor};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n ${btn.shadow ? `box-shadow: 0 4px 12px ${btn.shadowColor};` : ''}\n }\n \n ${anim.enableHover ? `\n #enhanced-agent-button:hover {\n background: ${btn.hoverColor};\n transform: scale(1.05);\n ${btn.shadow ? `box-shadow: 0 8px 20px ${btn.shadowColor};` : ''}\n }\n ` : ''}\n \n #enhanced-agent-panel {\n display: none;\n position: absolute;\n bottom: ${buttonSize + 20}px;\n ${this.config.position.horizontal === 'right' ? 'right: 0;' : 'left: 0;'}\n width: ${panel.width}px;\n height: ${panel.height}px;\n background: ${panel.backgroundColor};\n border-radius: ${panel.borderRadius}px;\n border: ${panel.border};\n flex-direction: column;\n overflow: hidden;\n ${panel.backdropFilter ? `backdrop-filter: ${panel.backdropFilter};` : ''}\n ${anim.enableSlide ? `transition: all ${anim.duration}s ease;` : ''}\n }\n \n #enhanced-agent-panel.open {\n display: flex;\n ${anim.enableSlide ? 'transform: translateY(0); opacity: 1;' : ''}\n }\n \n #enhanced-agent-header {\n background: ${header.backgroundColor || btn.primaryColor};\n color: ${header.textColor};\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ${panel.borderRadius}px ${panel.borderRadius}px 0 0;\n }\n \n #enhanced-agent-close {\n background: none;\n border: none;\n color: ${header.textColor};\n cursor: pointer;\n font-size: 24px;\n padding: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n #enhanced-agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n max-width: 80%;\n font-size: ${messages.fontSize};\n color: ${messages.textColor};\n }\n \n .message.user {\n background: ${messages.userBackgroundColor};\n align-self: flex-end;\n }\n \n .message.agent {\n background: ${messages.agentBackgroundColor};\n align-self: flex-start;\n }\n \n .message.system {\n background: ${messages.systemBackgroundColor};\n align-self: flex-start;\n font-style: italic;\n }\n \n .error-message {\n background: ${messages.errorBackgroundColor};\n color: #991B1B;\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n margin: 8px;\n }\n \n #enhanced-agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #enhanced-agent-mic-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n border: none;\n background: ${btn.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n }\n \n #enhanced-agent-mic-button.active {\n background: ${btn.activeColor};\n ${anim.enablePulse ? `\n animation: pulse 1.5s infinite;\n ` : ''}\n }\n \n ${anim.enablePulse ? `\n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n ` : ''}\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n `;\n }\n\n setupWidgetEvents() {\n document.getElementById('enhanced-agent-button').onclick = () => this.togglePanel();\n \n const closeBtn = document.getElementById('enhanced-agent-close');\n if (closeBtn) {\n closeBtn.onclick = () => this.togglePanel();\n }\n \n document.getElementById('enhanced-agent-mic-button').onclick = () => this.toggleVoice();\n \n // Keyboard navigation\n if (this.config.accessibility.keyboardNavigation) {\n this.setupKeyboardNavigation();\n }\n }\n\n setupKeyboardNavigation() {\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape' && this.isOpen) {\n this.togglePanel();\n }\n });\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('enhanced-agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n const signedUrl = await this.getSignedUrl();\n await this.sdk.connect(signedUrl);\n await this.sdk.startListening();\n this.isActive = true;\n document.getElementById('enhanced-agent-mic-button').classList.add('active');\n this.addMessage('system', 'Listening...');\n } catch (error) {\n console.error('Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n document.getElementById('enhanced-agent-mic-button').classList.remove('active');\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n })\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const result = await this.config.getSessionUrl({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n });\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('enhanced-agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('enhanced-agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('enhanced-agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Enhanced Widget status:', status);\n }\n\n // Public API methods\n updateConfig(newConfig) {\n this.config = this.mergeWithDefaults({ ...this.config, ...newConfig });\n // Recreate widget with new config\n const existingWidget = document.getElementById('enhanced-agent-widget');\n if (existingWidget) {\n existingWidget.remove();\n }\n this.createWidget();\n }\n\n destroy() {\n const widget = document.getElementById('enhanced-agent-widget');\n if (widget) {\n widget.remove();\n }\n if (this.sdk) {\n this.sdk.disconnect();\n }\n }\n}\n\n// Export for use\nexport default EnhancedAgentWidget;\n","/**\n * TTP Agent SDK - Main Entry Point\n * \n * A comprehensive SDK for voice interaction with AI agents.\n * Provides real-time audio recording, WebSocket communication, and audio playback.\n * \n * Features:\n * - 🎤 Real-time Audio Recording with AudioWorklet\n * - 🔄 WebSocket Communication with authentication\n * - 🔊 Audio Playback with queue management\n * - ⚛️ React Components\n * - 🌐 Vanilla JavaScript Components\n * - 🎯 Event-driven architecture\n * - 🔒 Multiple authentication methods\n */\n\n// Core SDK\nimport VoiceSDK from './core/VoiceSDK.js';\nimport WebSocketManager from './core/WebSocketManager.js';\nimport WebSocketManagerV2 from './core/WebSocketManagerV2.js';\nimport AudioRecorder from './core/AudioRecorder.js';\nimport AudioPlayer from './core/AudioPlayer.js';\nimport EventEmitter from './core/EventEmitter.js';\n\n// React components\nimport VoiceButton from './react/VoiceButton.jsx';\n\n// Vanilla JavaScript components\nimport VanillaVoiceButton from './vanilla/VoiceButton.js';\n\n// Legacy AgentSDK (for backward compatibility)\nimport { AgentSDK, AgentWidget } from './legacy/AgentSDK.js';\n\n// Enhanced AgentWidget with extensive customization\nimport { EnhancedAgentWidget } from './legacy/EnhancedAgentSDK.js';\n\n// Version\nexport const VERSION = '2.0.0';\n\n// Named exports\nexport {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget\n};\n\n// Default export for convenience\nexport default {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget,\n VERSION\n};\n"],"names":["root","factory","exports","module","define","amd","this","REACT_ELEMENT_TYPE","Symbol","for","jsxProd","type","config","maybeKey","key","propName","ref","$$typeof","props","jsx","jsxs","iterator","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","assign","Object","emptyObject","Component","context","updater","refs","ComponentDummy","PureComponent","prototype","isReactComponent","setState","partialState","callback","Error","forceUpdate","pureComponentPrototype","constructor","isPureReactComponent","Array","isArray","ReactSharedInternals","H","A","T","S","hasOwnProperty","reportError","useEffect","create","deps","useRef","initialValue","useState","initialState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","call","r","toStringTag","value","EventEmitter","_classCallCheck","events","event","push","filter","cb","_len","arguments","length","args","_key","forEach","apply","error","console","concat","e","t","n","i","c","Generator","u","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","_toPrimitive","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_EventEmitter","WebSocketSingleton","_this","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","connections","Map","connectionCounts","creatingConnections","Set","_inherits","_callee","url","existingConnection","connection","_this2","_context","has","set","log","checkConnection","setTimeout","add","WebSocket","addEventListener","delete","emit","code","_getConnection","_next","_throw","_x","currentCount","newCount","Math","max","readyState","OPEN","close","exists","subscribers","_step","result","_iterator","_createForOfIteratorHelper","entries","s","_step$value","_slicedToArray","err","_step2","_iterator2","_step2$value","clear","WebSocketManagerV2","ws","isConnected","connectionId","reject","Date","now","random","toString","substr","websocketUrl","webSocketSingleton","getConnection","setupEventListeners","catch","_connect","_this3","handleOpen","handleClose","handleError","handleMessage","on","eventHandlers","open","message","off","releaseConnection","send","JSON","stringify","data","_this4","ArrayBuffer","Blob","arrayBuffer","parse","getAllConnections","clearAll","_asyncToGenerator","AudioRecorder","audioContext","audioWorkletNode","mediaStream","isRecording","_start","_t","navigator","mediaDevices","getUserMedia","audio","sampleRate","channelCount","echoCancellation","noiseSuppression","autoGainControl","window","AudioContext","webkitAudioContext","state","resume","audioWorklet","addModule","AudioWorkletNode","createMediaStreamSource","connect","port","onmessage","_event$data","postMessage","enabled","_stop","_callee2","_t2","_context2","getTracks","track","stop","audioContextState","AudioPlayer","audioQueue","isPlaying","isProcessingQueue","currentSource","audioData","audioBlob","createAudioBlob","processQueue","uint8Array","Uint8Array","audioBuffer","source","shift","decodeAudioData","createBufferSource","buffer","destination","onended","start","_processQueue","stopImmediate","queueLength","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","VoiceSDK","agentId","appId","ttpId","voice","language","isDestroyed","webSocketManager","autoReconnect","audioRecorder","audioPlayer","setupEventHandlers","sendHelloMessage","stopRecording","binaryString","atob","charCodeAt","playAudio","sendBinary","wsUrl","warn","buildWebSocketUrl","params","URLSearchParams","append","separator","includes","disconnect","resetReconnectionAttempts","_reconnect","_startRecording","_callee3","_context3","sendMessage","generateTtpId","_stopRecording","_callee4","_t3","_context4","_toggleRecording","_callee5","_context5","startRecording","_handleBargeIn","_callee6","_context6","stopAudioPlayback","newConfig","helloMessage","destroy","removeAllListeners","ConnectionManager","timestamp","count","existing","timeSinceLastConnection","WebSocketManager","reconnectAttempts","maxReconnectAttempts","isReconnecting","isConnecting","CONNECTING","connectionManager","isConnectionAllowed","registerConnection","onopen","onclose","onerror","unregisterConnection","CLOSED","_arrayWithHoles","next","_iterableToArrayLimit","_arrayLikeToArray","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","_ref","_ref$voice","_ref$language","_ref$autoReconnect","onConnected","onDisconnected","onRecordingStarted","onRecordingStopped","onPlaybackStarted","onPlaybackStopped","onError","onMessage","onBargeIn","onStopPlaying","_ref$className","className","_ref$style","style","children","_useState2","setIsConnected","_useState4","setIsRecording","_useState6","setIsPlaying","_useState8","setConnectionStatus","voiceSDKRef","current","voiceSDK","handleClick","_ref2","toggleRecording","defaultContent","_jsxs","display","alignItems","gap","_jsx","fontSize","padding","border","borderRadius","backgroundColor","color","cursor","fontWeight","transition","onClick","disabled","VoiceButton","options","container","document","body","buttonText","buttonClass","createButton","_this$options$onConne","_this$options","updateButton","_this$options$onDisco","_this$options2","_this$options$onRecor","_this$options3","_this$options$onRecor2","_this$options4","_this$options$onPlayb","_this$options5","_this$options$onPlayb2","_this$options6","_this$options$onError","_this$options7","_this$options$onMessa","_this$options8","_this$options$onBarge","_this$options9","_this$options$onStopP","_this$options0","button","createElement","cssText","appendChild","icon","text","innerHTML","updateConfig","parentNode","removeChild","_createClass","AgentSDK","isListening","onTranscript","onAgentSpeaking","isStart","signedUrl","handleWebSocketMessage","user_transcription","_startListening","variables","AgentWidget","sdk","isOpen","isActive","position","primaryColor","createWidget","updateStatus","updateMicButtonState","showError","addMessage","showAgentThinking","hideAgentThinking","widget","id","getElementById","onclick","togglePanel","toggleVoice","classList","toggle","_toggleVoice","getSignedUrl","startListening","stopListening","micButton","micIcon","querySelector","background","title","animation","remove","_getSignedUrl","requestBody","response","getSessionUrl","fetch","method","headers","ok","statusText","json","messages","textContent","scrollTop","scrollHeight","thinking","status","EnhancedAgentWidget","mergeWithDefaults","userConfig","_userConfig$icon","_userConfig$icon2","_userConfig$icon3","_userConfig$icon4","_userConfig$icon5","_userConfig$position","_userConfig$position2","_userConfig$position3","_userConfig$button","_userConfig$button2","_userConfig$button3","_userConfig$button4","_userConfig$button5","_userConfig$button6","_userConfig$button7","_userConfig$panel","_userConfig$panel2","_userConfig$panel3","_userConfig$panel4","_userConfig$panel5","_userConfig$panel6","_userConfig$header","_userConfig$header2","_userConfig$header3","_userConfig$header4","_userConfig$header5","_userConfig$messages","_userConfig$messages2","_userConfig$messages3","_userConfig$messages4","_userConfig$messages5","_userConfig$messages6","_userConfig$messages7","_userConfig$animation","_userConfig$animation2","_userConfig$animation3","_userConfig$animation4","_userConfig$behavior","_userConfig$behavior2","_userConfig$behavior3","_userConfig$behavior4","_userConfig$accessibi","_userConfig$accessibi2","_userConfig$accessibi3","customImage","emoji","size","vertical","horizontal","offset","x","shape","hoverColor","activeColor","shadow","shadowColor","panel","width","height","backdropFilter","header","showTitle","textColor","showCloseButton","userBackgroundColor","agentBackgroundColor","systemBackgroundColor","errorBackgroundColor","enableHover","enablePulse","enableSlide","duration","behavior","autoOpen","autoConnect","showWelcomeMessage","welcomeMessage","accessibility","ariaLabel","ariaDescription","keyboardNavigation","customStyles","generateWidgetHTML","setupWidgetEvents","btn","buttonSize","small","medium","large","xl","iconSize","positionStyles","generatePositionStyles","iconHTML","generateIconHTML","generateCSS","pos","styles","floor","anim","closeBtn","setupKeyboardNavigation","existingWidget","VERSION","VanillaVoiceButton"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"agent-widget.js","mappings":"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","sources":["webpack://TTPAgentSDK/webpack/universalModuleDefinition","webpack://TTPAgentSDK/./node_modules/react/index.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://TTPAgentSDK/./node_modules/react/jsx-runtime.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react.production.js","webpack://TTPAgentSDK/webpack/bootstrap","webpack://TTPAgentSDK/webpack/runtime/define property getters","webpack://TTPAgentSDK/webpack/runtime/hasOwnProperty shorthand","webpack://TTPAgentSDK/webpack/runtime/make namespace object","webpack://TTPAgentSDK/./src/core/EventEmitter.js","webpack://TTPAgentSDK/./src/core/WebSocketSingleton.js","webpack://TTPAgentSDK/./src/core/WebSocketManagerV2.js","webpack://TTPAgentSDK/./src/core/AudioRecorder.js","webpack://TTPAgentSDK/./src/core/AudioPlayer.js","webpack://TTPAgentSDK/./src/core/VoiceSDK.js","webpack://TTPAgentSDK/./src/core/ConnectionManager.js","webpack://TTPAgentSDK/./src/core/WebSocketManager.js","webpack://TTPAgentSDK/./src/react/VoiceButton.jsx","webpack://TTPAgentSDK/./src/vanilla/VoiceButton.js","webpack://TTPAgentSDK/./src/legacy/AgentSDK.js","webpack://TTPAgentSDK/./src/legacy/EnhancedAgentSDK.js","webpack://TTPAgentSDK/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TTPAgentSDK\"] = factory();\n\telse\n\t\troot[\"TTPAgentSDK\"] = factory();\n})(this, () => {\nreturn ","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\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))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * EventEmitter - Simple event system for the VoiceSDK\n */\nexport default class EventEmitter {\n constructor() {\n this.events = {};\n }\n \n /**\n * Add event listener\n */\n on(event, callback) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(callback);\n }\n \n /**\n * Remove event listener\n */\n off(event, callback) {\n if (!this.events[event]) return;\n \n this.events[event] = this.events[event].filter(cb => cb !== callback);\n }\n \n /**\n * Emit event\n */\n emit(event, ...args) {\n if (!this.events[event]) return;\n \n this.events[event].forEach(callback => {\n try {\n callback(...args);\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error);\n }\n });\n }\n \n /**\n * Remove all listeners for an event\n */\n removeAllListeners(event) {\n if (event) {\n delete this.events[event];\n } else {\n this.events = {};\n }\n }\n}\n","/**\n * WebSocketSingleton - Ensures only one WebSocket connection per URL exists\n */\nimport EventEmitter from './EventEmitter.js';\n\nclass WebSocketSingleton extends EventEmitter {\n constructor() {\n super();\n this.connections = new Map(); // Map of URL -> WebSocket instance\n this.connectionCounts = new Map(); // Map of URL -> number of subscribers\n this.creatingConnections = new Set(); // Set of URLs currently being created\n }\n \n /**\n * Get or create a WebSocket connection\n */\n async getConnection(url, config = {}) {\n // If connection already exists, just return it\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Reusing existing connection for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n return existingConnection;\n }\n \n // Check if we're already in the process of creating a connection\n if (this.creatingConnections && this.creatingConnections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Connection already being created for ${url}, waiting...`);\n // Wait for the existing creation to complete\n return new Promise((resolve) => {\n const checkConnection = () => {\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Got existing connection after wait for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n resolve(existingConnection);\n } else {\n setTimeout(checkConnection, 50);\n }\n };\n checkConnection();\n });\n }\n \n // Create new connection\n console.log(`🔌 WebSocketSingleton: Creating new connection for ${url}`);\n this.creatingConnections.add(url);\n const connection = new WebSocket(url);\n this.connections.set(url, connection);\n this.connectionCounts.set(url, 1);\n \n // Set up event forwarding\n connection.addEventListener('open', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection opened for ${url}`);\n this.creatingConnections.delete(url);\n this.emit('open', event, url);\n });\n \n connection.addEventListener('close', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection closed for ${url} (Code: ${event.code})`);\n this.creatingConnections.delete(url);\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n this.emit('close', event, url);\n });\n \n connection.addEventListener('error', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection error for ${url}`, event);\n this.creatingConnections.delete(url);\n this.emit('error', event, url);\n });\n \n connection.addEventListener('message', (event) => {\n this.emit('message', event, url);\n });\n \n return connection;\n }\n \n /**\n * Release a connection (decrement subscriber count)\n */\n releaseConnection(url) {\n if (!this.connections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Attempted to release non-existent connection for ${url}`);\n return;\n }\n \n const currentCount = this.connectionCounts.get(url) || 0;\n const newCount = Math.max(0, currentCount - 1);\n this.connectionCounts.set(url, newCount);\n \n console.log(`🔌 WebSocketSingleton: Released connection for ${url} (${newCount} subscribers remaining)`);\n \n // If no more subscribers, close the connection\n if (newCount === 0) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Closing connection for ${url} (no more subscribers)`);\n connection.close(1000, 'No more subscribers');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Force close a connection\n */\n forceClose(url) {\n if (this.connections.has(url)) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Force closing connection for ${url}`);\n connection.close(1000, 'Force close');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Get connection status\n */\n getConnectionStatus(url) {\n if (!this.connections.has(url)) {\n return { exists: false, readyState: null, subscribers: 0 };\n }\n \n const connection = this.connections.get(url);\n return {\n exists: true,\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n \n /**\n * Get all active connections\n */\n getAllConnections() {\n const result = {};\n for (const [url, connection] of this.connections.entries()) {\n result[url] = {\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n return result;\n }\n \n /**\n * Clear all connections (for testing)\n */\n clearAll() {\n console.log(`🔌 WebSocketSingleton: Clearing all connections`);\n for (const [url, connection] of this.connections.entries()) {\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Clear all');\n }\n }\n this.connections.clear();\n this.connectionCounts.clear();\n this.creatingConnections.clear();\n }\n}\n\n// Global singleton instance\nconst webSocketSingleton = new WebSocketSingleton();\n\nexport default webSocketSingleton;\n","/**\n * WebSocketManagerV2 - Uses singleton pattern to prevent multiple connections\n */\nimport EventEmitter from './EventEmitter.js';\nimport webSocketSingleton from './WebSocketSingleton.js';\n\nexport default class WebSocketManagerV2 extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.connectionId = null;\n }\n \n /**\n * Connect to WebSocket using singleton\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n console.log(`🔌 WebSocketManagerV2: Requesting connection ${this.connectionId} for ${this.config.websocketUrl}`);\n \n // Get connection from singleton\n webSocketSingleton.getConnection(this.config.websocketUrl, this.config)\n .then((connection) => {\n this.ws = connection;\n console.log(`🔌 WebSocketManagerV2: Got connection ${this.connectionId}`);\n \n // Set up event listeners\n this.setupEventListeners();\n \n // If already connected, resolve immediately\n if (connection.readyState === WebSocket.OPEN) {\n this.isConnected = true;\n this.emit('connected');\n resolve();\n }\n })\n .catch((error) => {\n console.error(`🔌 WebSocketManagerV2: Connection failed ${this.connectionId}`, error);\n reject(error);\n });\n \n } catch (error) {\n console.error(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, error);\n reject(error);\n }\n });\n }\n \n /**\n * Set up event listeners\n */\n setupEventListeners() {\n if (!this.ws) return;\n \n // Use singleton's event forwarding\n const handleOpen = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection opened ${this.connectionId}`);\n this.isConnected = true;\n this.emit('connected');\n }\n };\n \n const handleClose = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.emit('disconnected', event);\n }\n };\n \n const handleError = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, event);\n this.emit('error', event);\n }\n };\n \n const handleMessage = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.handleMessage(event);\n }\n };\n \n // Add event listeners\n webSocketSingleton.on('open', handleOpen);\n webSocketSingleton.on('close', handleClose);\n webSocketSingleton.on('error', handleError);\n webSocketSingleton.on('message', handleMessage);\n \n // Store handlers for cleanup\n this.eventHandlers = {\n open: handleOpen,\n close: handleClose,\n error: handleError,\n message: handleMessage\n };\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n console.log(`🔌 WebSocketManagerV2: Disconnecting ${this.connectionId}`);\n \n // Remove event listeners\n if (this.eventHandlers) {\n webSocketSingleton.off('open', this.eventHandlers.open);\n webSocketSingleton.off('close', this.eventHandlers.close);\n webSocketSingleton.off('error', this.eventHandlers.error);\n webSocketSingleton.off('message', this.eventHandlers.message);\n }\n \n // Release connection from singleton\n if (this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Releasing connection ${this.connectionId} from singleton`);\n webSocketSingleton.releaseConnection(this.config.websocketUrl);\n }\n \n this.ws = null;\n this.isConnected = false;\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming messages\n */\n handleMessage(event) {\n // Check if it's binary data\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n console.error('🔌 WebSocketManagerV2: Error converting Blob to ArrayBuffer:', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : null,\n connectionId: this.connectionId\n };\n }\n \n /**\n * Get singleton status (for debugging)\n */\n static getSingletonStatus() {\n return webSocketSingleton.getAllConnections();\n }\n \n /**\n * Clear all singleton connections (for testing)\n */\n static clearAllConnections() {\n webSocketSingleton.clearAll();\n }\n}\n","/**\n * AudioRecorder - Handles audio recording using AudioWorklet\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioRecorder extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioWorkletNode = null;\n this.mediaStream = null;\n this.isRecording = false;\n }\n \n /**\n * Start audio recording\n */\n async start() {\n try {\n console.log('🎤 AudioRecorder: Requesting microphone access...');\n // Get user media\n this.mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n sampleRate: this.config.sampleRate,\n channelCount: 1,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true\n }\n });\n console.log('✅ AudioRecorder: Microphone access granted');\n \n console.log('🎤 AudioRecorder: Creating AudioContext...');\n // Create AudioContext\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)({\n sampleRate: this.config.sampleRate\n });\n \n // Resume AudioContext if suspended\n if (this.audioContext.state === 'suspended') {\n console.log('🎤 AudioRecorder: Resuming suspended AudioContext...');\n await this.audioContext.resume();\n }\n console.log('✅ AudioRecorder: AudioContext ready');\n \n console.log('🎤 AudioRecorder: Loading AudioWorklet module...');\n // Load AudioWorklet module\n await this.audioContext.audioWorklet.addModule('/audio-processor.js');\n console.log('✅ AudioRecorder: AudioWorklet module loaded');\n \n console.log('🎤 AudioRecorder: Creating AudioWorklet node...');\n // Create AudioWorklet node\n this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor');\n \n console.log('🎤 AudioRecorder: Connecting audio source...');\n // Create media stream source\n const source = this.audioContext.createMediaStreamSource(this.mediaStream);\n source.connect(this.audioWorkletNode);\n \n // Handle messages from AudioWorklet\n this.audioWorkletNode.port.onmessage = (event) => {\n const { type, data } = event.data;\n \n if (type === 'pcm_audio_data') {\n console.log('🎵 AudioRecorder: Received audio data, length:', data.length);\n this.emit('audioData', data);\n }\n };\n \n console.log('🎤 AudioRecorder: Enabling continuous mode...');\n // Enable continuous mode\n this.audioWorkletNode.port.postMessage({\n type: 'setForceContinuous',\n data: { enabled: true }\n });\n \n this.isRecording = true;\n console.log('✅ AudioRecorder: Recording started successfully');\n this.emit('recordingStarted');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Stop audio recording\n */\n async stop() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Flush any remaining audio data\n if (this.audioWorkletNode) {\n this.audioWorkletNode.port.postMessage({ type: 'flush' });\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n \n // Disconnect and cleanup\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n await this.audioContext.close();\n this.audioContext = null;\n }\n \n this.audioWorkletNode = null;\n this.isRecording = false;\n this.emit('recordingStopped');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Get recording status\n */\n getStatus() {\n return {\n isRecording: this.isRecording,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n }\n}\n","/**\n * AudioPlayer - Handles audio playback with queue system\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioPlayer extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioQueue = [];\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n }\n \n /**\n * Add audio data to playback queue\n */\n playAudio(audioData) {\n try {\n const audioBlob = this.createAudioBlob(audioData);\n this.audioQueue.push(audioBlob);\n \n // Process queue if not already playing or processing\n if (!this.isPlaying && !this.isProcessingQueue) {\n setTimeout(() => this.processQueue(), 50);\n }\n } catch (error) {\n this.emit('playbackError', error);\n }\n }\n \n /**\n * Create audio blob from ArrayBuffer\n */\n createAudioBlob(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer);\n \n // Detect audio format\n if (uint8Array.length >= 4) {\n // WAV header (RIFF)\n if (uint8Array[0] === 0x52 && uint8Array[1] === 0x49 && \n uint8Array[2] === 0x46 && uint8Array[3] === 0x46) {\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n // MP3 header\n if (uint8Array[0] === 0xFF && (uint8Array[1] & 0xE0) === 0xE0) {\n return new Blob([arrayBuffer], { type: 'audio/mpeg' });\n }\n \n // OGG header\n if (uint8Array[0] === 0x4F && uint8Array[1] === 0x67 && \n uint8Array[2] === 0x67 && uint8Array[3] === 0x53) {\n return new Blob([arrayBuffer], { type: 'audio/ogg' });\n }\n }\n \n // Default to WAV format\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n /**\n * Process audio queue\n */\n async processQueue() {\n // Prevent multiple simultaneous queue processing\n if (this.isProcessingQueue || this.isPlaying || this.audioQueue.length === 0) {\n return;\n }\n \n this.isProcessingQueue = true;\n \n const audioBlob = this.audioQueue.shift();\n if (!audioBlob) {\n this.isProcessingQueue = false;\n return;\n }\n \n try {\n this.isPlaying = true;\n this.emit('playbackStarted');\n \n // Create AudioContext if not exists\n if (!this.audioContext) {\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n }\n \n const audioContext = this.audioContext;\n \n // Resume AudioContext if suspended\n if (audioContext.state === 'suspended') {\n await audioContext.resume();\n }\n \n // Create audio source from blob\n const arrayBuffer = await audioBlob.arrayBuffer();\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n \n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n \n this.currentSource = source;\n \n // Handle audio end\n source.onended = () => {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackStopped');\n \n // Process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n };\n \n // Start playback\n source.start();\n \n } catch (error) {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackError', error);\n \n // Try to process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n }\n }\n \n /**\n * Stop current playback and clear queue\n */\n stop() {\n this.stopImmediate();\n }\n \n /**\n * Stop current playback immediately and clear queue\n */\n stopImmediate() {\n if (this.currentSource) {\n try {\n this.currentSource.stop();\n } catch (error) {\n // Ignore errors when stopping\n }\n this.currentSource = null;\n }\n \n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.audioQueue = [];\n this.emit('playbackStopped');\n }\n \n /**\n * Get playback status\n */\n getStatus() {\n return {\n isPlaying: this.isPlaying,\n isProcessingQueue: this.isProcessingQueue,\n queueLength: this.audioQueue.length,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n this.audioContext.close();\n this.audioContext = null;\n }\n }\n}\n","/**\n * VoiceSDK - Core voice interaction SDK\n * Handles WebSocket connection, audio recording, and audio playback\n */\nimport EventEmitter from './EventEmitter.js';\nimport WebSocketManagerV2 from './WebSocketManagerV2.js';\nimport AudioRecorder from './AudioRecorder.js';\nimport AudioPlayer from './AudioPlayer.js';\n\nexport default class VoiceSDK extends EventEmitter {\n constructor(config = {}) {\n super();\n \n // Configuration\n this.config = {\n websocketUrl: config.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: config.agentId, // Optional - for direct agent access (unsecured method)\n appId: config.appId, // User's app ID for authentication\n ttpId: config.ttpId, // Optional - custom TTP ID (fallback if appId not provided)\n voice: config.voice || 'default',\n language: config.language || 'en',\n sampleRate: config.sampleRate || 16000,\n ...config\n };\n \n // State\n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n this.isDestroyed = false;\n \n // Components\n this.webSocketManager = new WebSocketManagerV2({\n ...this.config,\n autoReconnect: this.config.autoReconnect !== false // Default to true unless explicitly disabled\n });\n this.audioRecorder = new AudioRecorder(this.config);\n this.audioPlayer = new AudioPlayer(this.config);\n \n // Bind event handlers\n this.setupEventHandlers();\n }\n \n /**\n * Setup event handlers for all components\n */\n setupEventHandlers() {\n // WebSocket events\n this.webSocketManager.on('connected', () => {\n this.isConnected = true;\n this.sendHelloMessage();\n this.emit('connected');\n });\n \n this.webSocketManager.on('disconnected', (event) => {\n this.isConnected = false;\n \n // IMPORTANT: Stop recording when WebSocket disconnects (e.g., no credits, max duration exceeded)\n // This ensures microphone is released and no more audio is streamed\n if (this.isRecording) {\n console.log('🎤 VoiceSDK: Auto-stopping recording due to WebSocket disconnection');\n this.stopRecording().catch(err => {\n console.error('VoiceSDK: Error stopping recording on disconnect:', err);\n });\n }\n \n // Pass close event details (code, reason) to consumers\n this.emit('disconnected', event);\n });\n \n this.webSocketManager.on('error', (error) => {\n this.emit('error', error);\n });\n \n this.webSocketManager.on('message', (message) => {\n // Handle greeting audio message\n if (message.t === 'greeting_audio' && message.data) {\n try {\n // Convert base64 audio data to Uint8Array\n const binaryString = atob(message.data);\n const audioData = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n audioData[i] = binaryString.charCodeAt(i);\n }\n \n console.log('🎵 VoiceSDK: Received greeting audio, playing...');\n this.audioPlayer.playAudio(audioData);\n this.emit('greetingStarted');\n } catch (error) {\n console.error('VoiceSDK: Error playing greeting audio:', error);\n }\n } else {\n this.emit('message', message);\n }\n });\n \n this.webSocketManager.on('binaryAudio', (audioData) => {\n this.audioPlayer.playAudio(audioData);\n });\n \n this.webSocketManager.on('bargeIn', (message) => {\n this.emit('bargeIn', message);\n });\n \n this.webSocketManager.on('stopPlaying', (message) => {\n this.emit('stopPlaying', message);\n // Immediately stop all audio playback\n this.audioPlayer.stopImmediate();\n });\n \n // Audio recorder events\n this.audioRecorder.on('recordingStarted', () => {\n this.isRecording = true;\n this.emit('recordingStarted');\n });\n \n this.audioRecorder.on('recordingStopped', () => {\n this.isRecording = false;\n this.emit('recordingStopped');\n });\n \n this.audioRecorder.on('audioData', (audioData) => {\n if (this.isConnected) {\n this.webSocketManager.sendBinary(audioData);\n }\n });\n \n // Audio player events\n this.audioPlayer.on('playbackStarted', () => {\n this.isPlaying = true;\n this.emit('playbackStarted');\n });\n \n this.audioPlayer.on('playbackStopped', () => {\n this.isPlaying = false;\n this.emit('playbackStopped');\n });\n \n this.audioPlayer.on('playbackError', (error) => {\n this.emit('playbackError', error);\n });\n }\n \n /**\n * Connect to the voice server\n */\n async connect() {\n if (this.isDestroyed) {\n console.warn('VoiceSDK: Cannot connect - SDK is destroyed');\n return false; // Prevent connect after destroy\n }\n \n try {\n // Build WebSocket URL with query parameters if needed\n const wsUrl = this.buildWebSocketUrl();\n console.log('🔌 VoiceSDK: Attempting connection to:', wsUrl);\n console.log('🔌 VoiceSDK: Config:', {\n agentId: this.config.agentId,\n appId: this.config.appId,\n language: this.config.language\n });\n \n // Update the WebSocket manager with the URL that includes query parameters\n this.webSocketManager.config.websocketUrl = wsUrl;\n \n console.log('🔌 VoiceSDK: Calling webSocketManager.connect()...');\n await this.webSocketManager.connect();\n console.log('🔌 VoiceSDK: webSocketManager.connect() completed successfully');\n return true;\n } catch (error) {\n console.error('🔌 VoiceSDK: Connection failed with error:', error);\n this.emit('error', error);\n return false;\n }\n }\n\n /**\n * Build WebSocket URL with query parameters for authentication\n */\n buildWebSocketUrl() {\n let url = this.config.websocketUrl;\n const params = new URLSearchParams();\n \n // Add agentId as query parameter if provided\n if (this.config.agentId) {\n params.append('agentId', this.config.agentId);\n console.log('VoiceSDK: Adding agentId to URL:', this.config.agentId);\n }\n \n // Add appId as query parameter if provided\n if (this.config.appId) {\n params.append('appId', this.config.appId);\n console.log('VoiceSDK: Adding appId to URL:', this.config.appId);\n }\n \n // Add other parameters if needed\n if (this.config.voice && this.config.voice !== 'default') {\n params.append('voice', this.config.voice);\n }\n \n if (this.config.language && this.config.language !== 'en') {\n params.append('language', this.config.language);\n }\n \n // Append query parameters to URL if any exist\n if (params.toString()) {\n const separator = url.includes('?') ? '&' : '?';\n url += separator + params.toString();\n }\n \n return url;\n }\n \n /**\n * Disconnect from the voice server\n */\n disconnect() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Disconnect called but already destroyed`);\n return; // Prevent disconnect after destroy\n }\n console.log(`🎙️ VoiceSDK: Disconnecting from voice server`);\n this.stopRecording();\n this.webSocketManager.disconnect();\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n if (this.isDestroyed) {\n return;\n }\n this.webSocketManager.resetReconnectionAttempts();\n }\n \n /**\n * Manually reconnect to the voice server\n */\n async reconnect() {\n if (this.isDestroyed) {\n return false;\n }\n \n this.disconnect();\n this.resetReconnectionAttempts();\n return await this.connect();\n }\n \n /**\n * Start voice recording and streaming\n */\n async startRecording() {\n if (!this.isConnected) {\n throw new Error('Not connected to voice server');\n }\n \n try {\n console.log('🎤 VoiceSDK: Starting continuous mode...');\n // Send start continuous mode message\n this.webSocketManager.sendMessage({\n t: 'start_continuous_mode',\n ttpId: this.generateTtpId(),\n voice: this.config.voice,\n language: this.config.language\n });\n \n console.log('🎤 VoiceSDK: Starting audio recorder...');\n // Start audio recording\n await this.audioRecorder.start();\n console.log('✅ VoiceSDK: Audio recording started successfully');\n return true;\n } catch (error) {\n console.error('❌ VoiceSDK: Failed to start recording:', error);\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Stop voice recording and streaming\n */\n async stopRecording() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Send stop continuous mode message\n this.webSocketManager.sendMessage({\n t: 'stop_continuous_mode',\n ttpId: this.generateTtpId()\n });\n \n // Stop audio recording\n await this.audioRecorder.stop();\n \n // Stop audio playback immediately when stopping recording\n this.audioPlayer.stopImmediate();\n \n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Toggle recording state\n */\n async toggleRecording() {\n if (this.isRecording) {\n return await this.stopRecording();\n } else {\n return await this.startRecording();\n }\n }\n \n /**\n * Stop audio playback immediately (for barge-in scenarios)\n */\n stopAudioPlayback() {\n this.audioPlayer.stopImmediate();\n }\n \n /**\n * Handle barge-in (user starts speaking while audio is playing)\n */\n async handleBargeIn() {\n // Stop current audio playback immediately\n this.stopAudioPlayback();\n \n // If not already recording, start recording\n if (!this.isRecording) {\n await this.startRecording();\n }\n }\n \n /**\n * Get current connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.config = { ...this.config, ...newConfig };\n }\n \n /**\n * Generate unique TTP ID\n */\n generateTtpId() {\n return 'sdk_' + Math.random().toString(36).substr(2, 9) + '_' + Date.now();\n }\n\n /**\n * Send hello message with appropriate authentication\n */\n sendHelloMessage() {\n if (!this.isConnected) {\n console.warn('VoiceSDK: Cannot send hello message - not connected');\n return;\n }\n\n const helloMessage = {\n t: \"hello\"\n };\n\n // Use app ID for authentication (preferred method)\n if (this.config.appId) {\n helloMessage.appId = this.config.appId;\n console.log('VoiceSDK: Sending hello message with appId (app-based authentication)');\n } else if (this.config.ttpId) {\n // Fallback to custom TTP ID if app ID not provided\n helloMessage.ttpId = this.config.ttpId;\n console.log('VoiceSDK: Sending hello message with custom TTP ID (fallback method)');\n } else {\n // Generate TTP ID as last resort\n helloMessage.ttpId = this.generateTtpId();\n console.log('VoiceSDK: Sending hello message with generated TTP ID (last resort)');\n }\n\n // Note: agentId is now sent as query parameter in WebSocket URL, not in hello message\n\n // Log authentication method for debugging\n if (this.config.appId) {\n console.log('VoiceSDK: Using app ID for authentication:', this.config.appId);\n } else if (this.config.ttpId) {\n console.log('VoiceSDK: Using custom TTP ID:', this.config.ttpId);\n } else {\n console.log('VoiceSDK: Using generated TTP ID:', helloMessage.ttpId);\n }\n\n try {\n this.webSocketManager.sendMessage(helloMessage);\n console.log('VoiceSDK: Hello message sent:', helloMessage);\n } catch (error) {\n console.error('VoiceSDK: Failed to send hello message:', error);\n this.emit('error', error);\n }\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Destroy called but already destroyed`);\n return; // Prevent multiple destroy calls\n }\n \n console.log(`🎙️ VoiceSDK: Destroying VoiceSDK instance`);\n \n // Disconnect first, before setting isDestroyed\n this.disconnect();\n \n this.isDestroyed = true;\n this.audioRecorder.destroy();\n this.audioPlayer.destroy();\n this.removeAllListeners();\n \n console.log(`🎙️ VoiceSDK: VoiceSDK instance destroyed`);\n }\n}\n","/**\n * ConnectionManager - Global connection manager to prevent multiple connections to the same URL\n */\nclass ConnectionManager {\n constructor() {\n this.connections = new Map(); // Map of URL -> connection info\n }\n \n /**\n * Register a connection attempt\n */\n registerConnection(url, connectionId) {\n if (!this.connections.has(url)) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Registered connection ${connectionId} for ${url}`);\n return true;\n }\n \n const existing = this.connections.get(url);\n const timeSinceLastConnection = Date.now() - existing.timestamp;\n \n // If it's been more than 30 seconds since the last connection, allow it\n if (timeSinceLastConnection > 30000) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Allowed new connection ${connectionId} for ${url} (old connection was ${timeSinceLastConnection}ms ago)`);\n return true;\n }\n \n // Otherwise, prevent the connection\n existing.count++;\n console.log(`🔌 ConnectionManager: Blocked connection ${connectionId} for ${url} (${existing.count} attempts in ${timeSinceLastConnection}ms)`);\n return false;\n }\n \n /**\n * Unregister a connection\n */\n unregisterConnection(url, connectionId) {\n const existing = this.connections.get(url);\n if (existing && existing.connectionId === connectionId) {\n this.connections.delete(url);\n console.log(`🔌 ConnectionManager: Unregistered connection ${connectionId} for ${url}`);\n }\n }\n \n /**\n * Check if a connection is allowed\n */\n isConnectionAllowed(url) {\n const existing = this.connections.get(url);\n if (!existing) {\n return true;\n }\n \n const timeSinceLastConnection = Date.now() - existing.timestamp;\n return timeSinceLastConnection > 30000; // Allow if more than 30 seconds ago\n }\n \n /**\n * Get connection info\n */\n getConnectionInfo(url) {\n return this.connections.get(url);\n }\n \n /**\n * Clear all connections (useful for testing)\n */\n clearAll() {\n this.connections.clear();\n console.log('🔌 ConnectionManager: Cleared all connections');\n }\n}\n\n// Global instance\nconst connectionManager = new ConnectionManager();\n\nexport default connectionManager;\n","/**\n * WebSocketManager - Handles WebSocket connection and message routing\n */\nimport EventEmitter from './EventEmitter.js';\nimport connectionManager from './ConnectionManager.js';\n\nexport default class WebSocketManager extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = config.autoReconnect !== false ? 3 : 0; // Disable auto-reconnect if explicitly set to false\n this.isReconnecting = false;\n this.isConnecting = false; // Track if we're currently trying to connect\n this.connectionId = null; // Unique ID for this connection attempt\n }\n \n /**\n * Connect to WebSocket\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n // Prevent multiple connections\n if (this.ws && (this.ws.readyState === WebSocket.CONNECTING || this.ws.readyState === WebSocket.OPEN)) {\n resolve();\n return;\n }\n \n // Prevent connection if already reconnecting\n if (this.isReconnecting) {\n resolve();\n return;\n }\n \n // Prevent connection if already connecting\n if (this.isConnecting) {\n resolve();\n return;\n }\n \n // Check if connection is allowed by global manager\n if (!connectionManager.isConnectionAllowed(this.config.websocketUrl)) {\n console.log(`🔌 WebSocketManager: Connection blocked by global manager for ${this.config.websocketUrl}`);\n resolve();\n return;\n }\n \n this.isConnecting = true;\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n \n // Register with global connection manager\n if (!connectionManager.registerConnection(this.config.websocketUrl, this.connectionId)) {\n console.log(`🔌 WebSocketManager: Connection registration failed for ${this.connectionId}`);\n this.isConnecting = false;\n resolve();\n return;\n }\n \n console.log(`🔌 WebSocketManager: Starting connection attempt ${this.connectionId}`);\n this.ws = new WebSocket(this.config.websocketUrl);\n \n this.ws.onopen = () => {\n console.log(`🔌 WebSocketManager: Connection successful ${this.connectionId}`);\n this.isConnected = true;\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n this.isConnecting = false;\n this.emit('connected');\n resolve();\n };\n \n this.ws.onmessage = (event) => {\n this.handleMessage(event);\n };\n \n this.ws.onclose = (event) => {\n console.log(`🔌 WebSocketManager: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.isConnecting = false;\n this.emit('disconnected', event);\n \n // Attempt reconnection if not intentional and not already reconnecting\n if (event.code !== 1000 && this.reconnectAttempts < this.maxReconnectAttempts && !this.isReconnecting) {\n this.isReconnecting = true;\n this.reconnectAttempts++;\n console.log(`🔌 WebSocketManager: Attempting reconnection ${this.reconnectAttempts}/${this.maxReconnectAttempts}`);\n setTimeout(() => {\n this.isReconnecting = false;\n this.connect().catch(() => {\n // Ignore reconnection errors to prevent infinite loops\n });\n }, 1000 * this.reconnectAttempts);\n }\n };\n \n this.ws.onerror = (error) => {\n console.log(`🔌 WebSocketManager: Connection error ${this.connectionId}`, error);\n this.isConnecting = false;\n this.emit('error', error);\n reject(error);\n };\n \n } catch (error) {\n console.log(`🔌 WebSocketManager: Connection failed ${this.connectionId}`, error);\n this.isConnecting = false;\n reject(error);\n }\n });\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n // Stop any reconnection attempts\n this.isReconnecting = false;\n this.reconnectAttempts = this.maxReconnectAttempts; // Prevent reconnection\n \n // Unregister from global connection manager\n if (this.connectionId) {\n connectionManager.unregisterConnection(this.config.websocketUrl, this.connectionId);\n }\n \n if (this.ws && this.ws.readyState === WebSocket.OPEN) {\n this.ws.close(1000, 'Intentional disconnect');\n }\n this.ws = null;\n this.isConnected = false;\n this.isConnecting = false;\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n }\n \n /**\n * Clear all global connections (useful for testing)\n */\n static clearAllConnections() {\n connectionManager.clearAll();\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming WebSocket messages\n */\n handleMessage(event) {\n // Check if it's binary data first\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n this.emit('error', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : WebSocket.CLOSED\n };\n }\n}\n","/**\n * VoiceButton - React component for voice interaction\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nconst VoiceButton = ({ \n websocketUrl,\n agentId, // Optional - for direct agent access (unsecured method)\n voice = 'default',\n language = 'en',\n autoReconnect = true,\n onConnected,\n onDisconnected,\n onRecordingStarted,\n onRecordingStopped,\n onPlaybackStarted,\n onPlaybackStopped,\n onError,\n onMessage,\n onBargeIn,\n onStopPlaying,\n className = '',\n style = {},\n children\n}) => {\n const [isConnected, setIsConnected] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [isPlaying, setIsPlaying] = useState(false);\n const [connectionStatus, setConnectionStatus] = useState('Disconnected');\n \n const voiceSDKRef = useRef(null);\n \n // Initialize VoiceSDK\n useEffect(() => {\n console.log(`🎙️ VoiceButton: Creating VoiceSDK instance for ${websocketUrl}`);\n \n // Clean up existing instance if any\n if (voiceSDKRef.current) {\n console.log(`🎙️ VoiceButton: Destroying existing VoiceSDK instance`);\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n \n const voiceSDK = new VoiceSDK({\n websocketUrl,\n agentId, // Pass through agentId if provided\n voice,\n language,\n autoReconnect\n });\n \n // Setup event listeners\n voiceSDK.on('connected', () => {\n setIsConnected(true);\n setConnectionStatus('Connected');\n onConnected?.();\n });\n \n voiceSDK.on('disconnected', () => {\n setIsConnected(false);\n setConnectionStatus('Disconnected');\n onDisconnected?.();\n });\n \n voiceSDK.on('recordingStarted', () => {\n setIsRecording(true);\n onRecordingStarted?.();\n });\n \n voiceSDK.on('recordingStopped', () => {\n setIsRecording(false);\n onRecordingStopped?.();\n });\n \n voiceSDK.on('playbackStarted', () => {\n setIsPlaying(true);\n onPlaybackStarted?.();\n });\n \n voiceSDK.on('playbackStopped', () => {\n setIsPlaying(false);\n onPlaybackStopped?.();\n });\n \n voiceSDK.on('error', (error) => {\n onError?.(error);\n });\n \n voiceSDK.on('message', (message) => {\n onMessage?.(message);\n });\n \n voiceSDK.on('bargeIn', (message) => {\n onBargeIn?.(message);\n });\n \n voiceSDK.on('stopPlaying', (message) => {\n onStopPlaying?.(message);\n });\n \n voiceSDKRef.current = voiceSDK;\n \n // Auto-connect\n voiceSDK.connect();\n \n // Cleanup on unmount\n return () => {\n console.log(`🎙️ VoiceButton: Cleaning up VoiceSDK instance for ${websocketUrl}`);\n if (voiceSDKRef.current) {\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n };\n }, [websocketUrl, agentId, voice, language]);\n \n // Handle button click\n const handleClick = async () => {\n if (!voiceSDKRef.current) return;\n \n try {\n await voiceSDKRef.current.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n };\n \n // Default button content\n const defaultContent = (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <div style={{ fontSize: '20px' }}>\n {isRecording ? '🔴' : '🎤'}\n </div>\n <div>\n {isRecording ? 'Stop Listening' : 'Start Listening'}\n </div>\n </div>\n );\n \n return (\n <button\n className={`voice-button ${isRecording ? 'recording' : ''} ${className}`}\n style={{\n padding: '12px 24px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: isRecording ? '#dc3545' : '#007bff',\n color: 'white',\n cursor: 'pointer',\n fontSize: '16px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n ...style\n }}\n onClick={handleClick}\n disabled={!isConnected}\n >\n {children || defaultContent}\n </button>\n );\n};\n\nexport default VoiceButton;\n","/**\n * VoiceButton - Vanilla JavaScript voice button\n */\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nexport default class VoiceButton {\n constructor(options = {}) {\n this.options = {\n websocketUrl: options.websocketUrl || 'wss://speech.talktopc.com/ws/conv',\n agentId: options.agentId, // Optional - for direct agent access (unsecured method)\n voice: options.voice || 'default',\n language: options.language || 'en',\n container: options.container || document.body,\n buttonText: options.buttonText || 'Start Listening',\n buttonClass: options.buttonClass || 'voice-button',\n ...options\n };\n \n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n \n this.voiceSDK = new VoiceSDK({\n websocketUrl: this.options.websocketUrl,\n agentId: this.options.agentId, // Pass through agentId if provided\n voice: this.options.voice,\n language: this.options.language\n });\n \n this.setupEventListeners();\n this.createButton();\n this.connect();\n }\n \n /**\n * Setup event listeners\n */\n setupEventListeners() {\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.updateButton();\n this.options.onConnected?.();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.updateButton();\n this.options.onDisconnected?.();\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isRecording = true;\n this.updateButton();\n this.options.onRecordingStarted?.();\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isRecording = false;\n this.updateButton();\n this.options.onRecordingStopped?.();\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.isPlaying = true;\n this.options.onPlaybackStarted?.();\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.isPlaying = false;\n this.options.onPlaybackStopped?.();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.options.onError?.(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.options.onMessage?.(message);\n });\n \n this.voiceSDK.on('bargeIn', (message) => {\n this.options.onBargeIn?.(message);\n });\n \n this.voiceSDK.on('stopPlaying', (message) => {\n this.options.onStopPlaying?.(message);\n });\n }\n \n /**\n * Create the button element\n */\n createButton() {\n this.button = document.createElement('button');\n this.button.className = this.options.buttonClass;\n this.button.style.cssText = `\n padding: 12px 24px;\n border: none;\n border-radius: 8px;\n background-color: #6c757d;\n color: white;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n `;\n \n this.button.addEventListener('click', () => this.toggleRecording());\n this.options.container.appendChild(this.button);\n \n this.updateButton();\n }\n \n /**\n * Update button appearance and state\n */\n updateButton() {\n if (!this.button) return;\n \n const icon = this.isRecording ? '🔴' : '🎤';\n const text = this.isRecording ? 'Stop Listening' : 'Start Listening';\n \n this.button.innerHTML = `\n <span style=\"font-size: 20px;\">${icon}</span>\n <span>${text}</span>\n `;\n \n this.button.disabled = !this.isConnected;\n this.button.style.backgroundColor = this.isRecording ? '#dc3545' : \n this.isConnected ? '#007bff' : '#6c757d';\n }\n \n /**\n * Connect to voice server\n */\n async connect() {\n try {\n await this.voiceSDK.connect();\n } catch (error) {\n console.error('Failed to connect:', error);\n }\n }\n \n /**\n * Toggle recording\n */\n async toggleRecording() {\n if (!this.voiceSDK) return;\n \n try {\n await this.voiceSDK.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n }\n \n /**\n * Get current status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.voiceSDK.updateConfig(newConfig);\n }\n \n /**\n * Destroy the button and cleanup\n */\n destroy() {\n if (this.button && this.button.parentNode) {\n this.button.parentNode.removeChild(this.button);\n }\n \n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n }\n }\n}\n","/**\n * Legacy AgentSDK - Backward Compatibility Layer\n * \n * This maintains the original AgentSDK API while using the new VoiceSDK internally.\n * This ensures existing integrations continue to work without changes.\n */\n\nimport { VoiceSDK } from '../index.js';\n\nexport class AgentSDK {\n constructor(config) {\n console.log('🚀 AgentSDK v2.1.4 initialized with config:', config);\n this.config = config;\n this.voiceSDK = null;\n this.isConnected = false;\n this.isListening = false;\n \n // Legacy callback properties\n this.onConnected = () => {};\n this.onDisconnected = () => {};\n this.onError = (error) => console.error('SDK Error:', error);\n this.onTranscript = (text) => {};\n this.onAgentSpeaking = (isStart) => {};\n }\n\n async connect(signedUrl) {\n try {\n if (!signedUrl) {\n throw new Error('signedUrl is required');\n }\n \n // Create VoiceSDK instance\n this.voiceSDK = new VoiceSDK({\n websocketUrl: signedUrl,\n autoReconnect: false,\n agentId: this.config.agentId,\n appId: this.config.appId,\n language: this.config.language || 'en'\n });\n \n // Set up event handlers to map to legacy callbacks\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.onConnected();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.onDisconnected();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.onError(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.handleWebSocketMessage(message);\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isListening = true;\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isListening = false;\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.onAgentSpeaking(true);\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.onAgentSpeaking(false);\n });\n \n // Connect using VoiceSDK\n await this.voiceSDK.connect();\n \n } catch (error) {\n this.onError(error);\n throw error;\n }\n }\n\n handleWebSocketMessage(message) {\n // Map new message format to legacy format\n switch (message.type) {\n case 'connected':\n console.log('Session started successfully');\n break;\n \n case 'user_transcript':\n this.onTranscript(message.user_transcription || message.text);\n break;\n \n case 'agent_response':\n // Handle agent text response\n break;\n \n case 'barge_in':\n // Handle barge-in\n break;\n \n case 'stop_playing':\n // Handle stop playing\n break;\n \n case 'error':\n this.onError(new Error(message.message));\n break;\n }\n }\n\n async startListening() {\n if (this.voiceSDK) {\n try {\n console.log('🎤 AgentSDK: Starting recording...');\n await this.voiceSDK.startRecording();\n console.log('✅ AgentSDK: Recording started successfully');\n } catch (error) {\n console.error('❌ AgentSDK: Failed to start recording:', error);\n throw error;\n }\n } else {\n console.error('❌ AgentSDK: No voiceSDK instance available');\n throw new Error('No voiceSDK instance available');\n }\n }\n\n stopListening() {\n if (this.voiceSDK) {\n this.voiceSDK.stopRecording();\n }\n }\n\n updateVariables(variables) {\n if (this.voiceSDK && this.isConnected) {\n // Send variables update message\n this.voiceSDK.webSocketManager.sendMessage({\n t: 'update_variables',\n variables\n });\n }\n }\n\n disconnect() {\n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n this.isConnected = false;\n this.isListening = false;\n }\n}\n\n// ============================================\n// WIDGET - Pre-built UI using the SDK\n// ============================================\n\nexport class AgentWidget {\n constructor(config) {\n console.log('🎯 AgentWidget v2.1.4 initialized with config:', config);\n this.config = config;\n this.sdk = new AgentSDK(config); // ✅ Pass config to AgentSDK\n this.isOpen = false;\n this.isActive = false;\n \n this.position = config.position || 'bottom-right';\n this.primaryColor = config.primaryColor || '#4F46E5';\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n console.log('✅ SDK connected');\n this.updateStatus('connected');\n };\n\n this.sdk.onDisconnected = () => {\n console.log('❌ SDK disconnected');\n this.updateStatus('disconnected');\n this.isActive = false;\n this.updateMicButtonState(false);\n };\n\n this.sdk.onError = (error) => {\n console.error('❌ SDK error:', error);\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n console.log('📝 User transcript:', text);\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n console.log('🤖 Agent speaking:', isStart);\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'agent-widget';\n widget.innerHTML = `\n <style>\n #agent-widget {\n position: fixed;\n ${this.position.includes('bottom') ? 'bottom: 20px;' : 'top: 20px;'}\n ${this.position.includes('right') ? 'right: 20px;' : 'left: 20px;'}\n z-index: 9999;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #agent-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: ${this.primaryColor};\n border: none;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n }\n \n #agent-button:hover {\n transform: scale(1.1);\n }\n \n #agent-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n #agent-panel {\n display: none;\n position: absolute;\n bottom: 80px;\n ${this.position.includes('right') ? 'right: 0;' : 'left: 0;'}\n width: 350px;\n height: 500px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.2);\n flex-direction: column;\n overflow: hidden;\n }\n \n #agent-panel.open {\n display: flex;\n }\n \n #agent-header {\n background: ${this.primaryColor};\n color: white;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n \n #agent-close {\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n font-size: 24px;\n }\n \n #agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: 8px;\n max-width: 80%;\n }\n \n .message.user {\n background: #E5E7EB;\n align-self: flex-end;\n }\n \n .message.agent {\n background: #F3F4F6;\n align-self: flex-start;\n }\n \n #agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #agent-mic-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: none;\n background: ${this.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n }\n \n #agent-mic-button.active {\n background: #EF4444;\n animation: pulse 1.5s infinite;\n }\n \n #agent-mic-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n \n .error-message {\n background: #FEE2E2;\n color: #991B1B;\n padding: 12px;\n border-radius: 8px;\n margin: 8px;\n }\n </style>\n \n <button id=\"agent-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n \n <div id=\"agent-panel\">\n <div id=\"agent-header\">\n <h3 style=\"margin: 0;\">Voice Assistant</h3>\n <button id=\"agent-close\">×</button>\n </div>\n \n <div id=\"agent-messages\"></div>\n \n <div id=\"agent-controls\">\n <button id=\"agent-mic-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n </div>\n </div>\n `;\n \n document.body.appendChild(widget);\n \n document.getElementById('agent-button').onclick = () => this.togglePanel();\n document.getElementById('agent-close').onclick = () => this.togglePanel();\n document.getElementById('agent-mic-button').onclick = () => this.toggleVoice();\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n console.log('🎤 Starting voice session...');\n const signedUrl = await this.getSignedUrl();\n console.log('🔗 Got signed URL:', signedUrl);\n \n await this.sdk.connect(signedUrl);\n console.log('✅ Connected to WebSocket');\n \n await this.sdk.startListening();\n console.log('🎤 Started listening');\n \n this.isActive = true;\n this.updateMicButtonState(true);\n this.addMessage('system', '🎤 Listening... Click mic to stop');\n } catch (error) {\n console.error('❌ Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n console.log('🔇 Stopping voice session...');\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n this.updateMicButtonState(false);\n this.addMessage('system', '🔇 Stopped listening');\n }\n }\n\n updateMicButtonState(isListening) {\n const micButton = document.getElementById('agent-mic-button');\n const micIcon = micButton.querySelector('svg');\n \n if (isListening) {\n micButton.classList.add('active');\n micButton.style.background = '#EF4444'; // Red when listening\n micButton.title = 'Click to stop listening';\n \n // Add pulsing animation\n micButton.style.animation = 'pulse 1.5s infinite';\n \n // Change icon to stop icon\n micIcon.innerHTML = `\n <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>\n <path d=\"M9 9h6\"/>\n `;\n } else {\n micButton.classList.remove('active');\n micButton.style.background = this.primaryColor; // Original color\n micButton.title = 'Click to start listening';\n \n // Remove animation\n micButton.style.animation = '';\n \n // Change back to mic icon\n micIcon.innerHTML = `\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n `;\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const requestBody = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n requestBody.appId = this.config.appId;\n }\n \n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestBody)\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const params = {\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n };\n \n // Add appId if provided in config\n if (this.config.appId) {\n params.appId = this.config.appId;\n }\n \n const result = await this.config.getSessionUrl(params);\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Widget status:', status);\n }\n}\n","/**\n * Enhanced AgentWidget with extensive customization options\n * Supports custom icons, flexible positioning, and many other configuration options\n */\n\nexport class EnhancedAgentWidget {\n constructor(config = {}) {\n // Merge user config with defaults\n this.config = this.mergeWithDefaults(config);\n this.sdk = new AgentSDK();\n this.isOpen = false;\n this.isActive = false;\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n mergeWithDefaults(userConfig) {\n return {\n // Required\n agentId: userConfig.agentId,\n getSessionUrl: userConfig.getSessionUrl,\n \n // Icon/Image Configuration\n icon: {\n type: userConfig.icon?.type || 'microphone', // 'microphone', 'custom', 'emoji', 'text'\n customImage: userConfig.icon?.customImage || null, // URL to custom image\n emoji: userConfig.icon?.emoji || '🎤', // Emoji to use\n text: userConfig.icon?.text || 'AI', // Text to display\n size: userConfig.icon?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n ...userConfig.icon\n },\n \n // Positioning Configuration\n position: {\n vertical: userConfig.position?.vertical || 'bottom', // 'top', 'bottom', 'center'\n horizontal: userConfig.position?.horizontal || 'right', // 'left', 'right', 'center'\n offset: userConfig.position?.offset || { x: 20, y: 20 }, // Custom offset in pixels\n ...userConfig.position\n },\n \n // Button Configuration\n button: {\n size: userConfig.button?.size || 'medium', // 'small', 'medium', 'large', 'xl'\n shape: userConfig.button?.shape || 'circle', // 'circle', 'square', 'rounded'\n primaryColor: userConfig.button?.primaryColor || '#4F46E5',\n hoverColor: userConfig.button?.hoverColor || '#7C3AED',\n activeColor: userConfig.button?.activeColor || '#EF4444',\n shadow: userConfig.button?.shadow || true,\n shadowColor: userConfig.button?.shadowColor || 'rgba(0,0,0,0.15)',\n ...userConfig.button\n },\n \n // Panel Configuration\n panel: {\n width: userConfig.panel?.width || 350,\n height: userConfig.panel?.height || 500,\n borderRadius: userConfig.panel?.borderRadius || 12,\n backgroundColor: userConfig.panel?.backgroundColor || 'rgba(255,255,255,0.95)',\n backdropFilter: userConfig.panel?.backdropFilter || 'blur(10px)',\n border: userConfig.panel?.border || '1px solid rgba(0,0,0,0.1)',\n ...userConfig.panel\n },\n \n // Header Configuration\n header: {\n title: userConfig.header?.title || 'Voice Assistant',\n showTitle: userConfig.header?.showTitle !== false,\n backgroundColor: userConfig.header?.backgroundColor || null, // Uses button primaryColor if null\n textColor: userConfig.header?.textColor || '#FFFFFF',\n showCloseButton: userConfig.header?.showCloseButton !== false,\n ...userConfig.header\n },\n \n // Messages Configuration\n messages: {\n userBackgroundColor: userConfig.messages?.userBackgroundColor || '#E5E7EB',\n agentBackgroundColor: userConfig.messages?.agentBackgroundColor || '#F3F4F6',\n systemBackgroundColor: userConfig.messages?.systemBackgroundColor || '#DCFCE7',\n errorBackgroundColor: userConfig.messages?.errorBackgroundColor || '#FEE2E2',\n textColor: userConfig.messages?.textColor || '#1F2937',\n fontSize: userConfig.messages?.fontSize || '14px',\n borderRadius: userConfig.messages?.borderRadius || 8,\n ...userConfig.messages\n },\n \n // Animation Configuration\n animation: {\n enableHover: userConfig.animation?.enableHover !== false,\n enablePulse: userConfig.animation?.enablePulse !== false,\n enableSlide: userConfig.animation?.enableSlide !== false,\n duration: userConfig.animation?.duration || 0.3,\n ...userConfig.animation\n },\n \n // Behavior Configuration\n behavior: {\n autoOpen: userConfig.behavior?.autoOpen || false,\n autoConnect: userConfig.behavior?.autoConnect || false,\n showWelcomeMessage: userConfig.behavior?.showWelcomeMessage !== false,\n welcomeMessage: userConfig.behavior?.welcomeMessage || 'Hello! How can I help you today?',\n ...userConfig.behavior\n },\n \n // Accessibility Configuration\n accessibility: {\n ariaLabel: userConfig.accessibility?.ariaLabel || 'Voice Assistant',\n ariaDescription: userConfig.accessibility?.ariaDescription || 'Click to open voice assistant',\n keyboardNavigation: userConfig.accessibility?.keyboardNavigation !== false,\n ...userConfig.accessibility\n },\n \n // Custom CSS\n customStyles: userConfig.customStyles || '',\n \n // Variables for the agent\n variables: userConfig.variables || {},\n \n // Legacy support (for backward compatibility)\n primaryColor: userConfig.primaryColor || '#4F46E5',\n position: userConfig.position || 'bottom-right'\n };\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n this.updateStatus('connected');\n if (this.config.behavior.showWelcomeMessage) {\n this.addMessage('system', this.config.behavior.welcomeMessage);\n }\n };\n\n this.sdk.onDisconnected = () => {\n this.updateStatus('disconnected');\n this.isActive = false;\n };\n\n this.sdk.onError = (error) => {\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'enhanced-agent-widget';\n widget.innerHTML = this.generateWidgetHTML();\n \n document.body.appendChild(widget);\n \n this.setupWidgetEvents();\n \n // Auto-open if configured\n if (this.config.behavior.autoOpen) {\n setTimeout(() => this.togglePanel(), 1000);\n }\n }\n\n generateWidgetHTML() {\n const pos = this.config.position;\n const btn = this.config.button;\n const icon = this.config.icon;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n // Calculate button size\n const buttonSizes = {\n small: 50,\n medium: 60,\n large: 70,\n xl: 80\n };\n const buttonSize = buttonSizes[btn.size] || 60;\n\n // Calculate icon size\n const iconSizes = {\n small: 20,\n medium: 28,\n large: 36,\n xl: 44\n };\n const iconSize = iconSizes[icon.size] || 28;\n\n // Generate position styles\n const positionStyles = this.generatePositionStyles();\n\n // Generate icon HTML\n const iconHTML = this.generateIconHTML(iconSize);\n\n return `\n <style>\n ${this.generateCSS(positionStyles, buttonSize, iconSize)}\n ${this.config.customStyles}\n </style>\n \n <button id=\"enhanced-agent-button\" \n aria-label=\"${this.config.accessibility.ariaLabel}\"\n aria-description=\"${this.config.accessibility.ariaDescription}\">\n ${iconHTML}\n </button>\n \n <div id=\"enhanced-agent-panel\">\n ${header.showTitle ? `\n <div id=\"enhanced-agent-header\">\n <h3 style=\"margin: 0; color: ${header.textColor};\">${header.title}</h3>\n ${header.showCloseButton ? '<button id=\"enhanced-agent-close\">×</button>' : ''}\n </div>\n ` : ''}\n \n <div id=\"enhanced-agent-messages\"></div>\n \n <div id=\"enhanced-agent-controls\">\n <button id=\"enhanced-agent-mic-button\" \n aria-label=\"Start/Stop Voice Recording\">\n ${iconHTML}\n </button>\n </div>\n </div>\n `;\n }\n\n generatePositionStyles() {\n const pos = this.config.position;\n const offset = pos.offset || { x: 20, y: 20 };\n \n let styles = '';\n \n // Vertical positioning\n if (pos.vertical === 'top') {\n styles += `top: ${offset.y}px;`;\n } else if (pos.vertical === 'bottom') {\n styles += `bottom: ${offset.y}px;`;\n } else if (pos.vertical === 'center') {\n styles += `top: 50%; transform: translateY(-50%);`;\n }\n \n // Horizontal positioning\n if (pos.horizontal === 'left') {\n styles += `left: ${offset.x}px;`;\n } else if (pos.horizontal === 'right') {\n styles += `right: ${offset.x}px;`;\n } else if (pos.horizontal === 'center') {\n styles += `left: 50%; transform: translateX(-50%);`;\n }\n \n return styles;\n }\n\n generateIconHTML(size) {\n const icon = this.config.icon;\n \n switch (icon.type) {\n case 'custom':\n return `<img src=\"${icon.customImage}\" alt=\"Voice Assistant\" style=\"width: ${size}px; height: ${size}px; object-fit: contain;\" />`;\n \n case 'emoji':\n return `<span style=\"font-size: ${size}px; line-height: 1;\">${icon.emoji}</span>`;\n \n case 'text':\n return `<span style=\"font-size: ${Math.floor(size * 0.6)}px; font-weight: bold; color: white;\">${icon.text}</span>`;\n \n case 'microphone':\n default:\n return `<svg viewBox=\"0 0 24 24\" style=\"width: ${size}px; height: ${size}px; fill: white;\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>`;\n }\n }\n\n generateCSS(positionStyles, buttonSize, iconSize) {\n const btn = this.config.button;\n const panel = this.config.panel;\n const header = this.config.header;\n const messages = this.config.messages;\n const anim = this.config.animation;\n\n return `\n #enhanced-agent-widget {\n position: fixed;\n ${positionStyles}\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #enhanced-agent-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n background: ${btn.primaryColor};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n ${btn.shadow ? `box-shadow: 0 4px 12px ${btn.shadowColor};` : ''}\n }\n \n ${anim.enableHover ? `\n #enhanced-agent-button:hover {\n background: ${btn.hoverColor};\n transform: scale(1.05);\n ${btn.shadow ? `box-shadow: 0 8px 20px ${btn.shadowColor};` : ''}\n }\n ` : ''}\n \n #enhanced-agent-panel {\n display: none;\n position: absolute;\n bottom: ${buttonSize + 20}px;\n ${this.config.position.horizontal === 'right' ? 'right: 0;' : 'left: 0;'}\n width: ${panel.width}px;\n height: ${panel.height}px;\n background: ${panel.backgroundColor};\n border-radius: ${panel.borderRadius}px;\n border: ${panel.border};\n flex-direction: column;\n overflow: hidden;\n ${panel.backdropFilter ? `backdrop-filter: ${panel.backdropFilter};` : ''}\n ${anim.enableSlide ? `transition: all ${anim.duration}s ease;` : ''}\n }\n \n #enhanced-agent-panel.open {\n display: flex;\n ${anim.enableSlide ? 'transform: translateY(0); opacity: 1;' : ''}\n }\n \n #enhanced-agent-header {\n background: ${header.backgroundColor || btn.primaryColor};\n color: ${header.textColor};\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ${panel.borderRadius}px ${panel.borderRadius}px 0 0;\n }\n \n #enhanced-agent-close {\n background: none;\n border: none;\n color: ${header.textColor};\n cursor: pointer;\n font-size: 24px;\n padding: 0;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n #enhanced-agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n max-width: 80%;\n font-size: ${messages.fontSize};\n color: ${messages.textColor};\n }\n \n .message.user {\n background: ${messages.userBackgroundColor};\n align-self: flex-end;\n }\n \n .message.agent {\n background: ${messages.agentBackgroundColor};\n align-self: flex-start;\n }\n \n .message.system {\n background: ${messages.systemBackgroundColor};\n align-self: flex-start;\n font-style: italic;\n }\n \n .error-message {\n background: ${messages.errorBackgroundColor};\n color: #991B1B;\n padding: 12px;\n border-radius: ${messages.borderRadius}px;\n margin: 8px;\n }\n \n #enhanced-agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #enhanced-agent-mic-button {\n width: ${buttonSize}px;\n height: ${buttonSize}px;\n border-radius: ${btn.shape === 'circle' ? '50%' : btn.shape === 'square' ? '0' : '12px'};\n border: none;\n background: ${btn.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all ${anim.duration}s ease;\n }\n \n #enhanced-agent-mic-button.active {\n background: ${btn.activeColor};\n ${anim.enablePulse ? `\n animation: pulse 1.5s infinite;\n ` : ''}\n }\n \n ${anim.enablePulse ? `\n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n ` : ''}\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n `;\n }\n\n setupWidgetEvents() {\n document.getElementById('enhanced-agent-button').onclick = () => this.togglePanel();\n \n const closeBtn = document.getElementById('enhanced-agent-close');\n if (closeBtn) {\n closeBtn.onclick = () => this.togglePanel();\n }\n \n document.getElementById('enhanced-agent-mic-button').onclick = () => this.toggleVoice();\n \n // Keyboard navigation\n if (this.config.accessibility.keyboardNavigation) {\n this.setupKeyboardNavigation();\n }\n }\n\n setupKeyboardNavigation() {\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape' && this.isOpen) {\n this.togglePanel();\n }\n });\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('enhanced-agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n const signedUrl = await this.getSignedUrl();\n await this.sdk.connect(signedUrl);\n await this.sdk.startListening();\n this.isActive = true;\n document.getElementById('enhanced-agent-mic-button').classList.add('active');\n this.addMessage('system', 'Listening...');\n } catch (error) {\n console.error('Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n document.getElementById('enhanced-agent-mic-button').classList.remove('active');\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n })\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const result = await this.config.getSessionUrl({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n });\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('enhanced-agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('enhanced-agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('enhanced-agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Enhanced Widget status:', status);\n }\n\n // Public API methods\n updateConfig(newConfig) {\n this.config = this.mergeWithDefaults({ ...this.config, ...newConfig });\n // Recreate widget with new config\n const existingWidget = document.getElementById('enhanced-agent-widget');\n if (existingWidget) {\n existingWidget.remove();\n }\n this.createWidget();\n }\n\n destroy() {\n const widget = document.getElementById('enhanced-agent-widget');\n if (widget) {\n widget.remove();\n }\n if (this.sdk) {\n this.sdk.disconnect();\n }\n }\n}\n\n// Export for use\nexport default EnhancedAgentWidget;\n","/**\n * TTP Agent SDK - Main Entry Point\n * \n * A comprehensive SDK for voice interaction with AI agents.\n * Provides real-time audio recording, WebSocket communication, and audio playback.\n * \n * Features:\n * - 🎤 Real-time Audio Recording with AudioWorklet\n * - 🔄 WebSocket Communication with authentication\n * - 🔊 Audio Playback with queue management\n * - ⚛️ React Components\n * - 🌐 Vanilla JavaScript Components\n * - 🎯 Event-driven architecture\n * - 🔒 Multiple authentication methods\n */\n\n// Core SDK\nimport VoiceSDK from './core/VoiceSDK.js';\nimport WebSocketManager from './core/WebSocketManager.js';\nimport WebSocketManagerV2 from './core/WebSocketManagerV2.js';\nimport AudioRecorder from './core/AudioRecorder.js';\nimport AudioPlayer from './core/AudioPlayer.js';\nimport EventEmitter from './core/EventEmitter.js';\n\n// React components\nimport VoiceButton from './react/VoiceButton.jsx';\n\n// Vanilla JavaScript components\nimport VanillaVoiceButton from './vanilla/VoiceButton.js';\n\n// Legacy AgentSDK (for backward compatibility)\nimport { AgentSDK, AgentWidget } from './legacy/AgentSDK.js';\n\n// Enhanced AgentWidget with extensive customization\nimport { EnhancedAgentWidget } from './legacy/EnhancedAgentSDK.js';\n\n// Version\nexport const VERSION = '2.0.0';\n\n// Named exports\nexport {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget\n};\n\n// Default export for convenience\nexport default {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n EnhancedAgentWidget,\n VERSION\n};\n"],"names":["root","factory","exports","module","define","amd","this","REACT_ELEMENT_TYPE","Symbol","for","jsxProd","type","config","maybeKey","key","propName","ref","$$typeof","props","jsx","jsxs","iterator","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","assign","Object","emptyObject","Component","context","updater","refs","ComponentDummy","PureComponent","prototype","isReactComponent","setState","partialState","callback","Error","forceUpdate","pureComponentPrototype","constructor","isPureReactComponent","Array","isArray","ReactSharedInternals","H","A","T","S","hasOwnProperty","reportError","useEffect","create","deps","useRef","initialValue","useState","initialState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","call","r","toStringTag","value","EventEmitter","_classCallCheck","events","event","push","filter","cb","_len","arguments","length","args","_key","forEach","apply","error","console","concat","e","t","n","i","c","Generator","u","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","_toPrimitive","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_EventEmitter","WebSocketSingleton","_this","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","connections","Map","connectionCounts","creatingConnections","Set","_inherits","_callee","url","existingConnection","connection","_this2","_context","has","set","log","checkConnection","setTimeout","add","WebSocket","addEventListener","delete","emit","code","_getConnection","_next","_throw","_x","currentCount","newCount","Math","max","readyState","OPEN","close","exists","subscribers","_step","result","_iterator","_createForOfIteratorHelper","entries","s","_step$value","_slicedToArray","err","_step2","_iterator2","_step2$value","clear","WebSocketManagerV2","ws","isConnected","connectionId","reject","Date","now","random","toString","substr","websocketUrl","webSocketSingleton","getConnection","setupEventListeners","catch","_connect","_this3","handleOpen","handleClose","handleError","handleMessage","on","eventHandlers","open","message","off","releaseConnection","send","JSON","stringify","data","_this4","ArrayBuffer","Blob","arrayBuffer","parse","getAllConnections","clearAll","_asyncToGenerator","AudioRecorder","audioContext","audioWorkletNode","mediaStream","isRecording","_start","_t","navigator","mediaDevices","getUserMedia","audio","sampleRate","channelCount","echoCancellation","noiseSuppression","autoGainControl","window","AudioContext","webkitAudioContext","state","resume","audioWorklet","addModule","AudioWorkletNode","createMediaStreamSource","connect","port","onmessage","_event$data","postMessage","enabled","_stop","_callee2","_t2","_context2","getTracks","track","stop","audioContextState","AudioPlayer","audioQueue","isPlaying","isProcessingQueue","currentSource","audioData","audioBlob","createAudioBlob","processQueue","uint8Array","Uint8Array","audioBuffer","source","shift","decodeAudioData","createBufferSource","buffer","destination","onended","start","_processQueue","stopImmediate","queueLength","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","VoiceSDK","agentId","appId","ttpId","voice","language","isDestroyed","webSocketManager","autoReconnect","audioRecorder","audioPlayer","setupEventHandlers","sendHelloMessage","stopRecording","binaryString","atob","charCodeAt","playAudio","sendBinary","wsUrl","warn","buildWebSocketUrl","params","URLSearchParams","append","separator","includes","disconnect","resetReconnectionAttempts","_reconnect","_startRecording","_callee3","_context3","sendMessage","generateTtpId","_stopRecording","_callee4","_t3","_context4","_toggleRecording","_callee5","_context5","startRecording","_handleBargeIn","_callee6","_context6","stopAudioPlayback","newConfig","helloMessage","destroy","removeAllListeners","ConnectionManager","timestamp","count","existing","timeSinceLastConnection","WebSocketManager","reconnectAttempts","maxReconnectAttempts","isReconnecting","isConnecting","CONNECTING","connectionManager","isConnectionAllowed","registerConnection","onopen","onclose","onerror","unregisterConnection","CLOSED","_arrayWithHoles","next","_iterableToArrayLimit","_arrayLikeToArray","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","_ref","_ref$voice","_ref$language","_ref$autoReconnect","onConnected","onDisconnected","onRecordingStarted","onRecordingStopped","onPlaybackStarted","onPlaybackStopped","onError","onMessage","onBargeIn","onStopPlaying","_ref$className","className","_ref$style","style","children","_useState2","setIsConnected","_useState4","setIsRecording","_useState6","setIsPlaying","_useState8","setConnectionStatus","voiceSDKRef","current","voiceSDK","handleClick","_ref2","toggleRecording","defaultContent","_jsxs","display","alignItems","gap","_jsx","fontSize","padding","border","borderRadius","backgroundColor","color","cursor","fontWeight","transition","onClick","disabled","VoiceButton","options","container","document","body","buttonText","buttonClass","createButton","_this$options$onConne","_this$options","updateButton","_this$options$onDisco","_this$options2","_this$options$onRecor","_this$options3","_this$options$onRecor2","_this$options4","_this$options$onPlayb","_this$options5","_this$options$onPlayb2","_this$options6","_this$options$onError","_this$options7","_this$options$onMessa","_this$options8","_this$options$onBarge","_this$options9","_this$options$onStopP","_this$options0","button","createElement","cssText","appendChild","icon","text","innerHTML","updateConfig","parentNode","removeChild","_createClass","AgentSDK","isListening","onTranscript","onAgentSpeaking","isStart","signedUrl","handleWebSocketMessage","user_transcription","_startListening","variables","AgentWidget","sdk","isOpen","isActive","position","primaryColor","createWidget","updateStatus","updateMicButtonState","showError","addMessage","showAgentThinking","hideAgentThinking","widget","id","getElementById","onclick","togglePanel","toggleVoice","classList","toggle","_toggleVoice","getSignedUrl","startListening","stopListening","micButton","micIcon","querySelector","background","title","animation","remove","_getSignedUrl","requestBody","response","getSessionUrl","fetch","method","headers","ok","statusText","json","messages","textContent","scrollTop","scrollHeight","thinking","status","EnhancedAgentWidget","mergeWithDefaults","userConfig","_userConfig$icon","_userConfig$icon2","_userConfig$icon3","_userConfig$icon4","_userConfig$icon5","_userConfig$position","_userConfig$position2","_userConfig$position3","_userConfig$button","_userConfig$button2","_userConfig$button3","_userConfig$button4","_userConfig$button5","_userConfig$button6","_userConfig$button7","_userConfig$panel","_userConfig$panel2","_userConfig$panel3","_userConfig$panel4","_userConfig$panel5","_userConfig$panel6","_userConfig$header","_userConfig$header2","_userConfig$header3","_userConfig$header4","_userConfig$header5","_userConfig$messages","_userConfig$messages2","_userConfig$messages3","_userConfig$messages4","_userConfig$messages5","_userConfig$messages6","_userConfig$messages7","_userConfig$animation","_userConfig$animation2","_userConfig$animation3","_userConfig$animation4","_userConfig$behavior","_userConfig$behavior2","_userConfig$behavior3","_userConfig$behavior4","_userConfig$accessibi","_userConfig$accessibi2","_userConfig$accessibi3","customImage","emoji","size","vertical","horizontal","offset","x","shape","hoverColor","activeColor","shadow","shadowColor","panel","width","height","backdropFilter","header","showTitle","textColor","showCloseButton","userBackgroundColor","agentBackgroundColor","systemBackgroundColor","errorBackgroundColor","enableHover","enablePulse","enableSlide","duration","behavior","autoOpen","autoConnect","showWelcomeMessage","welcomeMessage","accessibility","ariaLabel","ariaDescription","keyboardNavigation","customStyles","generateWidgetHTML","setupWidgetEvents","btn","buttonSize","small","medium","large","xl","iconSize","positionStyles","generatePositionStyles","iconHTML","generateIconHTML","generateCSS","pos","styles","floor","anim","closeBtn","setupKeyboardNavigation","existingWidget","VERSION","VanillaVoiceButton"],"sourceRoot":""}
|