@next-bricks/ai 1.6.0 → 1.6.2

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.
Files changed (106) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/1045.7631a27d.js +2 -0
  3. package/dist/chunks/1045.7631a27d.js.map +1 -0
  4. package/dist/chunks/1055.575dd0f8.js +2 -0
  5. package/dist/chunks/1055.575dd0f8.js.map +1 -0
  6. package/dist/chunks/1122.7aff0d18.js +2 -0
  7. package/dist/chunks/1122.7aff0d18.js.map +1 -0
  8. package/dist/chunks/114.5e716979.js +2 -0
  9. package/dist/chunks/114.5e716979.js.map +1 -0
  10. package/dist/chunks/1370.eaf34ae0.js +2 -0
  11. package/dist/chunks/1370.eaf34ae0.js.map +1 -0
  12. package/dist/chunks/{1889.cab870d1.js → 1889.34660219.js} +2 -2
  13. package/dist/chunks/1889.34660219.js.map +1 -0
  14. package/dist/chunks/{1940.730f2f34.js → 1940.71750295.js} +2 -2
  15. package/dist/chunks/{1940.730f2f34.js.map → 1940.71750295.js.map} +1 -1
  16. package/dist/chunks/{2277.0a8f574e.js → 2277.bc5a4448.js} +2 -2
  17. package/dist/chunks/{2277.0a8f574e.js.map → 2277.bc5a4448.js.map} +1 -1
  18. package/dist/chunks/{3171.54d71532.js → 3171.4db597fe.js} +2 -2
  19. package/dist/chunks/{3171.54d71532.js.map → 3171.4db597fe.js.map} +1 -1
  20. package/dist/chunks/3426.d5f31557.js +2 -0
  21. package/dist/chunks/3426.d5f31557.js.map +1 -0
  22. package/dist/chunks/{3933.961ad2cb.js → 3933.8634eafd.js} +2 -2
  23. package/dist/chunks/{6314.7b0e2891.js.map → 3933.8634eafd.js.map} +1 -1
  24. package/dist/chunks/{4658.54a64f7d.js → 4658.559ed06c.js} +2 -2
  25. package/dist/chunks/{4658.54a64f7d.js.map → 4658.559ed06c.js.map} +1 -1
  26. package/dist/chunks/5399.57672b8c.js +2 -0
  27. package/dist/chunks/5399.57672b8c.js.map +1 -0
  28. package/dist/chunks/{5552.5feed7df.js → 5552.5af384d8.js} +2 -2
  29. package/dist/chunks/{5552.5feed7df.js.map → 5552.5af384d8.js.map} +1 -1
  30. package/dist/chunks/{6314.7b0e2891.js → 6314.9a743aa2.js} +2 -2
  31. package/dist/chunks/{3933.961ad2cb.js.map → 6314.9a743aa2.js.map} +1 -1
  32. package/dist/chunks/{6773.52a5e080.js → 6773.9a3a4167.js} +2 -2
  33. package/dist/chunks/6773.9a3a4167.js.map +1 -0
  34. package/dist/chunks/726.cb748905.js +2 -0
  35. package/dist/chunks/726.cb748905.js.map +1 -0
  36. package/dist/chunks/7733.37725dcb.js +2 -0
  37. package/dist/chunks/7733.37725dcb.js.map +1 -0
  38. package/dist/chunks/813.d0e17463.js +2 -0
  39. package/dist/chunks/813.d0e17463.js.map +1 -0
  40. package/dist/chunks/843.ac8d836c.js +2 -0
  41. package/dist/chunks/843.ac8d836c.js.map +1 -0
  42. package/dist/chunks/8434.dc0ad21d.js +2 -0
  43. package/dist/chunks/8434.dc0ad21d.js.map +1 -0
  44. package/dist/chunks/875.222d7099.js +2 -0
  45. package/dist/chunks/875.222d7099.js.map +1 -0
  46. package/dist/chunks/8989.82221efb.js +2 -0
  47. package/dist/chunks/8989.82221efb.js.map +1 -0
  48. package/dist/chunks/8994.0b12b467.js +3 -0
  49. package/dist/chunks/8994.0b12b467.js.map +1 -0
  50. package/dist/chunks/9251.6e1e1049.js +2 -0
  51. package/dist/chunks/9251.6e1e1049.js.map +1 -0
  52. package/dist/chunks/{9515.530a47e3.js → 9515.8c9c2d18.js} +2 -2
  53. package/dist/chunks/{9515.530a47e3.js.map → 9515.8c9c2d18.js.map} +1 -1
  54. package/dist/chunks/9559.82e73955.js +2 -0
  55. package/dist/chunks/9559.82e73955.js.map +1 -0
  56. package/dist/chunks/chat-view.2f11cf5a.js +2 -0
  57. package/dist/chunks/chat-view.2f11cf5a.js.map +1 -0
  58. package/dist/chunks/main.c6b3eed8.js +2 -0
  59. package/dist/chunks/main.c6b3eed8.js.map +1 -0
  60. package/dist/index.60cfe48e.js +2 -0
  61. package/dist/index.60cfe48e.js.map +1 -0
  62. package/dist-types/chat-view/index.d.ts +1 -0
  63. package/package.json +4 -4
  64. package/dist/chunks/1045.fc678dd3.js +0 -2
  65. package/dist/chunks/1045.fc678dd3.js.map +0 -1
  66. package/dist/chunks/1122.de9f618a.js +0 -2
  67. package/dist/chunks/1122.de9f618a.js.map +0 -1
  68. package/dist/chunks/114.870fa2ca.js +0 -2
  69. package/dist/chunks/114.870fa2ca.js.map +0 -1
  70. package/dist/chunks/1370.e919e49d.js +0 -2
  71. package/dist/chunks/1370.e919e49d.js.map +0 -1
  72. package/dist/chunks/1889.cab870d1.js.map +0 -1
  73. package/dist/chunks/2052.1b6d67cf.js +0 -2
  74. package/dist/chunks/2052.1b6d67cf.js.map +0 -1
  75. package/dist/chunks/2225.5e967b0f.js +0 -3
  76. package/dist/chunks/2225.5e967b0f.js.map +0 -1
  77. package/dist/chunks/3426.9d170e6d.js +0 -2
  78. package/dist/chunks/3426.9d170e6d.js.map +0 -1
  79. package/dist/chunks/5399.94eec5d1.js +0 -2
  80. package/dist/chunks/5399.94eec5d1.js.map +0 -1
  81. package/dist/chunks/6302.d5613af9.js +0 -2
  82. package/dist/chunks/6302.d5613af9.js.map +0 -1
  83. package/dist/chunks/6773.52a5e080.js.map +0 -1
  84. package/dist/chunks/726.58ddddbd.js +0 -2
  85. package/dist/chunks/726.58ddddbd.js.map +0 -1
  86. package/dist/chunks/7733.f0adff6d.js +0 -2
  87. package/dist/chunks/7733.f0adff6d.js.map +0 -1
  88. package/dist/chunks/843.da66a259.js +0 -2
  89. package/dist/chunks/843.da66a259.js.map +0 -1
  90. package/dist/chunks/875.2209519e.js +0 -2
  91. package/dist/chunks/875.2209519e.js.map +0 -1
  92. package/dist/chunks/8989.ba42c68e.js +0 -2
  93. package/dist/chunks/8989.ba42c68e.js.map +0 -1
  94. package/dist/chunks/9024.efb4ae83.js +0 -2
  95. package/dist/chunks/9024.efb4ae83.js.map +0 -1
  96. package/dist/chunks/9251.f6f10a9c.js +0 -2
  97. package/dist/chunks/9251.f6f10a9c.js.map +0 -1
  98. package/dist/chunks/9559.ac5cd6d1.js +0 -2
  99. package/dist/chunks/9559.ac5cd6d1.js.map +0 -1
  100. package/dist/chunks/chat-view.6acc820f.js +0 -2
  101. package/dist/chunks/chat-view.6acc820f.js.map +0 -1
  102. package/dist/chunks/main.2c6f7393.js +0 -2
  103. package/dist/chunks/main.2c6f7393.js.map +0 -1
  104. package/dist/index.1b39647e.js +0 -2
  105. package/dist/index.1b39647e.js.map +0 -1
  106. /package/dist/chunks/{2225.5e967b0f.js.LICENSE.txt → 8994.0b12b467.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/813.d0e17463.js","mappings":"sJAgDaA,GAAkBC,EAAAA,EAAAA,eAC7B,CAAC,GAGUC,EAAqBA,KAChCC,EAAAA,EAAAA,YAAWH,E,2EClDN,SAASI,EAAMC,GAA4C,IAA3C,KAAEC,GAAsBD,EACvCE,GAASC,EAAAA,EAAAA,UAAQ,IAAe,SAATF,GAAiB,CAACA,IAE/C,OAAOG,IAAAA,cAAA,OAAKC,UAAS,UAAAC,OAAYJ,EAAS,OAAS,UACrD,C,uBCDO,SAASK,EAAkBP,GAA4B,IAA3B,QAAEQ,GAAuBR,EAC1D,OAAOQ,EAAUJ,IAAAA,cAAA,OAAKC,UAAU,iCAAwC,IAC1E,CAEO,SAASI,EAAeC,GAA4B,IAA3B,QAAEF,GAAuBE,EACvD,OAAOF,EACLJ,IAAAA,cAAA,OAAKC,UAAU,8BACbD,IAAAA,cAAA,OAAKC,UAAU,QACbD,IAAAA,cAAA,YACAA,IAAAA,cAAA,YACAA,IAAAA,cAAA,YACAA,IAAAA,cAAA,cAGF,IACN,C,cCZMO,GAAcC,EAAAA,EAAAA,WAA2B,WAExC,SAASC,EAASb,GAAoC,IAAnC,KAAEc,EAAI,QAAEC,GAAyBf,EACzD,OACEI,IAAAA,cAAA,OAAKC,UAAU,cACZS,EACDV,IAAAA,cAAA,OAAKC,UAAU,gBACZU,EACGA,EAAQC,KAAI,CAACC,EAAMC,IACjBd,IAAAA,cAACO,EAAW,CAACQ,IAAKD,GAAQD,KAE5B,MAIZ,C,+DCXO,SAASG,EAAYpB,GAA6B,IAA5B,KAAEc,GAAwBd,EACrD,OACEI,IAAAA,cAAA,OAAKC,UAAU,iBACbD,IAAAA,cAACiB,EAAAA,GAAgB,KACfjB,IAAAA,cAACkB,EAAe,CAACC,MAAOT,KAIhC,CAEO,SAASQ,EAAeZ,GAAgD,IAA/C,MAAEa,GAA0Bb,EAiB1D,OAhBAc,EAAAA,EAAAA,KAAWC,GACFC,EAAAA,GAAOC,OACXC,QAAQC,IACPA,EAAIC,IAAIC,EAAAA,EAASN,GACjBI,EAAIG,OAAOC,EAAAA,IAAuBC,IAASC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACtCD,GAAI,IACPE,SAAUA,KAAM,MAElBb,GAASM,EAAIC,IAAIO,EAAAA,GAAiBd,EAAM,IAEzCK,OAAOU,EAAAA,GACPC,IAAIC,EAAAA,IACJD,IAAIE,EAAAA,IACJF,IAAIG,EAAAA,KACN,IAEItC,IAAAA,cAACuC,EAAAA,GAAQ,KAClB,CC1BO,SAASC,EAAS5C,GAA8B,IAA7B,KAAEc,GAAyBd,EAgBnD,OAAOI,IAAAA,cAAA,OAAKC,UAAU,cAAcS,EACtC,CC1BO,SAAS+B,EAAQ7C,GAAqB,IAApB,KAAEc,GAAgBd,EACzC,OAAOI,IAAAA,cAAA,OAAKC,UAAU,aAAaS,EACrC,C,cCIMgC,GAAclC,EAAAA,EAAAA,WAAyC,WACvDmC,GAAiBnC,EAAAA,EAAAA,WAAmC,cACpDoC,GAAkBC,EAAAA,EAAAA,gBACtB,2BAEIC,GAAmBD,EAAAA,EAAAA,gBACvB,2BAGK,SAASE,EAAOnD,GAIU,IAJT,KACtBC,EAAI,QACJmD,EAAO,SACPC,GACYrD,EACNsD,GAAcnD,EAAAA,EAAAA,UAClB,IACW,cAATF,KAAyBmD,SAAAA,EAASG,MAAMtC,GAAuB,SAAdA,EAAKuC,SACxD,CAACvD,EAAMmD,IAEHK,GAAiBtD,EAAAA,EAAAA,UAAQ,IAAMkD,GAAU,CAACA,KAC1C,SAAEK,IAAa7D,EAAAA,EAAAA,KASrB,OAAOyD,IAAgBG,EACrBrD,IAAAA,cAAA,OAAKC,UAAU,WACZqD,GACCtD,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,MACtBhD,IAAAA,cAAC0C,EAAW,CAACa,IAAI,OAAOC,KAAK,OAAOC,MAAM,YAE5CzD,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,QACtBhD,IAAAA,cAAC0C,EAAW,CAACa,IAAI,OAAOC,KAAK,UAAUC,MAAM,aAInDzD,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,QACtBhD,IAAAA,cAAC0C,EAAW,CAACa,IAAI,OAAOC,KAAK,OAAOE,QApBvBC,KACjB,IAAMC,EAAMZ,EAAQpC,KAAKC,GAASA,EAAKH,OAAMmD,WAC7CjB,EAAgBgB,GACbE,MAAK,IAAMhB,EAAiB,CAAEM,KAAM,UAAWW,QAAS,WACxDC,OAAM,IAAMlB,EAAiB,CAAEM,KAAM,QAASW,QAAS,UAAU,MAmBlE,IACN,C,uBCvDO,SAASE,EAAIrE,GAAuC,IAAtC,KAAEsE,GAAkCtE,EACvD,OACEI,IAAAA,cAAA,OAAKC,UAAU,QACZiE,EACmB,iBAATA,EACLA,EACAC,IAAc,IAAPD,GAAaE,OAAO,uBAC7B,KAGV,CCJA,IAAMzB,GAAiBnC,EAAAA,EAAAA,WAAmC,cACpDkC,GAAclC,EAAAA,EAAAA,WAAyC,WAEtD,SAAS6D,EAAUzE,GAAkD,IAAjD,KAAEC,EAAI,QAAEmD,GAAsBpD,EACjDE,GAASC,EAAAA,EAAAA,UAAQ,IAAe,SAATF,GAAiB,CAACA,KAEzC,SAAEoD,EAAQ,aAAEqB,IAAiB7E,EAAAA,EAAAA,KAMnC,OAAOK,IAAWmD,EAChBjD,IAAAA,cAAA,OAAKC,UAAU,eACbD,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,UACtBhD,IAAAA,cAAC0C,EAAW,CAACa,IAAI,OAAOC,KAAK,OAAOE,QAPvBC,KACjBW,EAAatB,EAAQpC,KAAKC,GAASA,EAAKH,OAAMmD,WAAW,MASvD,IACN,CCjBO,SAASU,EAAYC,GAC1B,IAAM,QAAExB,EAAO,MAAEyB,EAAK,KAAE5E,GAAS2E,EAC3B1E,GAASC,EAAAA,EAAAA,UAAQ,IAAe,SAATF,GAAiB,CAACA,IAEzC6E,GAAiBC,EAAAA,EAAAA,cACrB,CAAC3B,EAA6BjC,KAC5B,IAAM,KAAEqC,EAAI,KAAE1C,EAAI,eAAEkE,GAAmB5B,EACvC,OAAQI,GACN,IAAK,QACH,OAAOpD,IAAAA,cAACS,EAAS,CAACM,IAAKA,EAAKL,KAAMA,EAAMC,QAASiE,IACnD,IAAK,OACH,OAAO5E,IAAAA,cAACyC,EAAQ,CAAC1B,IAAKA,EAAKL,KAAMA,IACnC,IAAK,QACH,OAAOV,IAAAA,cAACwC,EAAS,CAACzB,IAAKA,EAAKL,KAAMA,IACpC,IAAK,OACH,OAAOV,IAAAA,cAACK,EAAe,CAACD,SAAO,IAEjC,QACE,OAAOJ,IAAAA,cAACgB,EAAY,CAACD,IAAKA,EAAKL,KAAMA,IACzC,GAEF,IAGImE,GAAc9E,EAAAA,EAAAA,UAClB,IAAMiD,EAAQpC,IAAI8D,IAClB,CAAC1B,EAAS0B,IAGZ,OACE1E,IAAAA,cAAA,OAAKC,UAAU,eACbD,IAAAA,cAAA,OAAKC,UAAU,eACZH,EAAS,IAAM,OAChBE,IAAAA,cAACiE,EAAI,CAACC,KAAMO,KAEdzE,IAAAA,cAAA,OAAKC,UAAU,mBACbD,IAAAA,cAAA,OAAKC,UAAU,WACZ4E,EACD7E,IAAAA,cAACqE,EAAeG,GAChBxE,IAAAA,cAAC+C,EAAYyB,KAKvB,C,cC9CMM,GAActE,EAAAA,EAAAA,WAAyC,WACvDD,GAAcC,EAAAA,EAAAA,WAA2B,WAWzCuE,EAAmB,GACnBC,EAAa,GAEnB,SAASC,EAAmBrF,GAKR,IALS,KAC3BsF,EAAI,YACJC,EAAW,KACX3B,EAAI,eACJ4B,GACgBxF,GACV,aAAE0E,IAAiB7E,EAAAA,EAAAA,KAMnB4F,GAAYtF,EAAAA,EAAAA,UAAQ,SAAAuF,EAAA,OAAiB,QAAjBA,EAAM9B,aAAI,EAAJA,EAAM+B,aAAK,IAAAD,EAAAA,EAAI,UAAU,GAAE,CAAC9B,IAE5D,OACExD,IAAAA,cAAA,OACEC,UAAU,yBACVuF,MAAO,CACLC,OAAQV,EACRW,WAAY,oCAAFxF,OAAsCmF,EAAS,gDAAAnF,OAA+CmF,EAAS,gCAEnH3B,QAboBiC,MACtBP,aAAc,EAAdA,EAAgBQ,SAAUtB,EAAac,EAAe,GAAG,GAcvDpF,IAAAA,cAAA,OAAKC,UAAU,QACbD,IAAAA,cAAC8E,GAAWe,EAAAA,EAAAA,GAAA,CACV5F,UAAU,QACLuD,QAAAA,EAAQ,CACXA,KAAM,cACND,IAAK,UACLuC,SAAU,OACX,CACDN,MAAO,CACLE,WAAY,oBAAFxF,OAAsBmF,EAAS,kCAI/CrF,IAAAA,cAAA,OAAKC,UAAU,WACbD,IAAAA,cAAA,OAAKC,UAAU,SAASiF,GACxBlF,IAAAA,cAAA,OAAKC,UAAU,eAAekF,IAItC,CAEO,SAASY,IAAkB,IAAAC,GAC1B,kBAAEC,EAAiB,QAAEC,IAAYzG,EAAAA,EAAAA,MAChC0G,EAAaC,IAAkBC,EAAAA,EAAAA,WAAkB,GAClDC,GAAUC,EAAAA,EAAAA,QAAuB,MACjCC,GAAsBD,EAAAA,EAAAA,SAAgB,GA6B5C,OAtBAE,EAAAA,EAAAA,YAAU,KACR,IAAMC,EAAUJ,EAAQK,QACxB,GAAID,EAAS,CACX,IAAME,EAAW,IAAIC,gBAAgBC,IACnC,IAAK,IAAMC,KAASD,EAEhBC,EAAMC,YAAYvB,OACC,EAAnBV,EAAoC,EAAbC,EAElBwB,EAAoBG,SACvBP,GAAe,GAGjBA,GAAe,EAEnB,IAGF,OADAQ,EAASK,QAAQP,GACV,IAAME,EAASM,YACxB,IACC,CAACf,IAEGF,SAAAA,EAAmBkB,KAAKvB,QAA6B,IAAnBM,EAAQN,OAC/C5F,IAAAA,cAAA,OAAKC,UAAU,wBACbD,IAAAA,cAAA,OAAKC,UAAU,OACS,QADJ+F,EACjBC,EAAkBmB,WAAG,IAAApB,EAAAA,EACpB,iCAEJhG,IAAAA,cAAA,OACEC,UAAU,oBACVuF,OAAKzD,EAAAA,EAAAA,GAAA,GACCoE,EACA,CACEkB,UAA8B,EAAnBtC,EAAoC,EAAbC,EAAiB,GACnDsC,SAAU,UAEZ,CAAC,GAEPC,IAAKjB,GAEJL,EAAkBkB,KAAKvG,KAAKC,GAC3Bb,IAAAA,cAACiF,GAAmBY,EAAAA,EAAAA,GAAA,CAAC9E,IAAKF,EAAK2G,YAAgB3G,OAGlDsF,EACCnG,IAAAA,cAAA,OAAKC,UAAU,qBACbD,IAAAA,cAACO,EAAW,CACViD,KAAM,CACJD,IAAK,OACLC,KAAM,QAERvD,UAAU,gBACVyD,QAzDkB+D,KAC1BjB,EAAoBG,SAAU,EAC9BP,GAAe,EAAM,GAwDd,SAID,MAEJ,IACN,C,cCtIM7F,GAAcC,EAAAA,EAAAA,WAA2B,WAExC,SAASkH,IACd,IAAM,SAAEC,IAAalI,EAAAA,EAAAA,KAKrB,OACEO,IAAAA,cAAA,OAAKC,UAAU,2BACbD,IAAAA,cAACO,EAAW,CAACN,UAAU,WAAWyD,QALfkE,KACrBD,GAAU,GAImD,QAKjE,CCAA,IAAME,EAAwB,GAEvB,SAASC,EAAWlI,GAEW,IAFV,WAC1BmI,GAAa,GACInI,EACXoI,GAAiBzB,EAAAA,EAAAA,QAAuB,MACxC0B,GAAoB1B,EAAAA,EAAAA,QAAuB,OAC1C2B,EAAWC,IAAgB9B,EAAAA,EAAAA,UAAiB,GAC7C+B,GAAO7B,EAAAA,EAAAA,SAAgB,GACvB8B,GAAiB9B,EAAAA,EAAAA,SAAgB,IAEjC,QAAEL,EAAO,QAAEoC,EAAO,QAAElI,EAAO,SAAE6C,IAAaxD,EAAAA,EAAAA,KAE1C8I,GAAiB5D,EAAAA,EAAAA,cACrB,SAAC9D,GAAyC,IAAA2H,EAAtB1H,EAAa2H,UAAA7C,OAAA,QAAA8C,IAAAD,UAAA,GAAAA,UAAA,GAAG,EAClC,OACEzI,IAAAA,cAAA,OACEC,UAAW0I,IAAW,eAAgB,CAAEC,KAAoB,SAAd/H,EAAKhB,OACnDkB,IAAe,QAAZyH,EAAE3H,EAAK4D,aAAK,IAAA+D,EAAAA,EAAI1H,GAElBiH,GAAc/H,IAAAA,cAACL,EAAM,CAACE,KAAMgB,EAAKhB,OAClCG,IAAAA,cAACuE,EAAgB1D,GAGvB,GACA,CAACkH,IAGGc,GAAc9I,EAAAA,EAAAA,UAAQ,IACtBmG,EAAQN,OACHM,EAAQtF,IAAI2H,GAEd,MACN,CAACrC,EAASqC,IAEPO,GAAc/I,EAAAA,EAAAA,UAClB,IACEuI,EACEtI,IAAAA,cAAAA,IAAAA,SAAA,KACGuI,GAAcxG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACZuG,GAAO,IACVrF,UAAU,KAEZjD,IAAAA,cAAC0H,EAAO,OAER,MACN,CAACY,EAASC,IAGNQ,GAAeC,EAAAA,EAAAA,WAAS,KAC5B,IAAMC,EACJjB,EAAerB,QAASuC,aACxBlB,EAAerB,QAASwC,aACpBC,EACJH,IAAmBjB,EAAerB,QAAS0C,WAE3CJ,EAAiB,GAAKjB,EAAerB,QAAS0C,UAC5ChB,EAAe1B,QACbyC,IACFhB,EAAKzB,SAAU,EACf0B,EAAe1B,SAAU,GAIxByC,IAEEhB,EAAKzB,QAGR0B,EAAe1B,SAAU,EAFzByB,EAAKzB,SAAU,EAInB,GACC,KAoCH,OAlCAF,EAAAA,EAAAA,YAAU,KACJxD,IACFoF,EAAe1B,SAAU,EACzByB,EAAKzB,SAAU,EACjB,GACC,CAAC1D,KAEJwD,EAAAA,EAAAA,YAAU,KACR,IAAMC,EAAUuB,EAAkBtB,QAClC,GAAID,EAAS,CACX,IAAME,EAAW,IAAIC,gBAAgBC,IACnC,IAAIwC,EAAoB,EACxB,IAAIjB,EAAe1B,QAAnB,CACA,IAAK,IAAMI,KAASD,EAClBwC,EAAYvC,EAAMC,YAAYvB,OAASoC,EAErCyB,IAAcpB,GAAc9H,GAAY6C,GAE1C+E,EAAerB,QAAS4C,OAAO,CAC7BC,IAAKC,OAAOC,mBAGZJ,EAAYpB,GAAajF,IAC3B+E,EAAerB,QAAS4C,OAAO,CAC7BC,IAAKC,OAAOC,mBAEdvB,EAAawB,KAAKC,IAAI1B,EAAWoB,IAdD,CAelC,IAGF,OADA1C,EAASK,QAAQP,GACV,IAAME,EAASM,YACxB,IACC,CAACjE,EAAU7C,EAAS8H,IAGrBlI,IAAAA,cAAA,OAAKC,UAAU,eAAesH,IAAKS,EAAgB6B,SAAUd,GAC3D/I,IAAAA,cAAA,OAAKC,UAAU,mBAAmBsH,IAAKU,GACrCjI,IAAAA,cAAC+F,EAAe,MACf8C,EACAC,GAEH9I,IAAAA,cAACG,EAAkB,CAACC,QAASA,IAGnC,C,qCCxGI0J,E,uCAlCEC,EAAwB,mUAcxBC,EAAe,CACnB,iBACA,cACA,cACA,iBACA,cACA,cACA,YACA,eACA,iBACA,iBACA,QACA,cACA,eACA,gBACA,eACA,aACA,aACA,e,2BCdIrH,GAAiBnC,EAAAA,EAAAA,WAAmC,cACpDsE,GAActE,EAAAA,EAAAA,WAAyC,WAEtD,SAASyJ,IACd,IAAO9I,EAAO+I,IAAY7D,EAAAA,EAAAA,UAAiB,KACpC8D,EAAQC,IAAa/D,EAAAA,EAAAA,WAAkB,IACvCgE,EAAQC,IAAajE,EAAAA,EAAAA,WAAkB,IACvCkE,EAAeC,IAAoBnE,EAAAA,EAAAA,aACnCoE,EAAeC,IAAoBrE,EAAAA,EAAAA,WAAkB,GACtDsE,GAAoBpE,EAAAA,EAAAA,QAAuB,MAC3CqE,GAAcrE,EAAAA,EAAAA,QAA4B,MAC1CsE,GAActE,EAAAA,EAAAA,SAAgB,GAC9BuE,GAAcvE,EAAAA,EAAAA,SAAgB,IAE9B,SACJtD,EAAQ,QACR7C,EAAO,UACP2K,EAAS,cACTC,EAAa,aACb1G,EAAY,WACZ2G,IACExL,EAAAA,EAAAA,KAEEyL,GAAWnL,EAAAA,EAAAA,UAAQ,MAAQoB,GAAO,CAACA,IACnCgK,GAAcpL,EAAAA,EAAAA,UAAQ,IAAM,CAAC,EAAG,IAAI,IACpCqL,GAAWrL,EAAAA,EAAAA,UAAQ,IAAMK,GAAW6C,GAAU,CAACA,EAAU7C,IAEzDiL,GAAmB1G,EAAAA,EAAAA,cACvB,WAAwB,IAAvB2G,EAAI7C,UAAA7C,OAAA,QAAA8C,IAAAD,UAAA,GAAAA,UAAA,GAAG0C,EACN,IAAIN,EAAYlE,UAAW0D,EAA3B,CACA,IAAMkB,EAAkBX,EAAYjE,QACpC,GAAI4E,EAAiB,CACnB,IAAMC,EDVC,SACbC,GAGqB,IAFrBC,EAAsBjD,UAAA7C,OAAA,QAAA8C,IAAAD,UAAA,GAAAA,UAAA,GAAG,KACzBkD,EAAsBlD,UAAA7C,OAAA,QAAA8C,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAEpBqB,KACHA,EAAiB8B,SAASC,cAAc,aACzBC,aAAa,YAAa,MACzChC,EAAegC,aAAa,cAAe,QAC3CF,SAASG,KAAKC,YAAYlC,IAG5B,IAAMmC,EAAkBC,OAAOC,iBAAiBV,GAC1CW,EAAcpC,EAAapJ,KAC9BsE,GAAI,GAAAhF,OAAQgF,EAAI,KAAAhF,OAAI+L,EAAgBI,iBAAiBnH,MACtDoH,KAAK,KAGPxC,EAAegC,aACb,QAAO,GAAA5L,OACJkM,EAAW,KAAAlM,OAAI6J,IAEpBD,EAAe3I,MAAQsK,EAAWtK,OAASsK,EAAWc,aAAe,GAErE,IAAIC,OAAgC9D,EAChCrB,OAAgCqB,EAKhCjD,EAASqE,EAAeZ,aADR,GADD,EAInB,GAAgB,OAAZwC,GAAgC,OAAZC,EAAkB,CAExC7B,EAAe3I,MAAQ,IACvB,IAAMsL,EAAkB3C,EAAeZ,aANrB,GAOF,OAAZwC,IACFc,EAAYC,EAAkBf,EARd,GADD,EAUfjG,EAASkE,KAAKC,IATE,GASenE,IAEjB,OAAZkG,IACFtE,EAAYoF,EAAkBd,EAZd,GADD,EAeflG,EAASkE,KAAK+C,IAAIrF,EAAW5B,GAEjC,CAEA,IAAMD,EAA6B,CACjCC,SACAkH,UAAW,SACXC,OAAQ,QAUV,OAPIJ,IACFhH,EAAMgH,UAAYA,GAEhBnF,IACF7B,EAAM6B,UAAYA,GAGb7B,CACT,CCnD+BqH,CACrBtB,EACAD,EAAK,GACLA,EAAK,IAGPd,EAAiBgB,EACnB,CACAX,EAAYlE,QAAU0D,CAXmB,CAY3C,GACA,CAACc,EAAad,IAGVyC,GAAenI,EAAAA,EAAAA,cAClBoI,IACC,IAAM5L,EAAqB,iBAAN4L,EAAiBA,EAAIA,EAAEC,OAAO7L,MACnD+I,EAAS/I,GACTyJ,EAAYjE,QAASxF,MAAQA,CAAK,GAEpC,IAeI8L,GAAetI,EAAAA,EAAAA,cAAY,KAC/B2F,GAAWnJ,IACDA,GACR,GACD,IAEG+L,GAAevI,EAAAA,EAAAA,cAAY,KAC1BuG,GAAaN,EAAYjE,UAAWyE,IAEzCH,EAAW9J,GAEXiJ,GAAU,GACVE,GAAU,GACVwC,EAAa,IACblC,EAAYjE,QAAQwG,OAAM,GACzB,CAAChM,EAAO+J,EAAUE,EAAUH,EAAY6B,IAErCM,GAAgBzI,EAAAA,EAAAA,cACnBoI,IACe,UAAVA,EAAEhM,KAAoBgM,EAAEM,UAAavC,EAAYnE,UACnDoG,EAAEO,iBACFJ,IACF,GAEF,CAACA,IAuCH,OApCAzG,EAAAA,EAAAA,YAAU,KACJsE,IACF+B,EAAa/B,GACbzG,EAAa,IACf,GACC,CAACyG,EAAWK,EAAU9G,EAAcwI,KAEvCrG,EAAAA,EAAAA,YAAU,KACR4E,EAAiBhB,EAAS,CAAC,GAAI,SAAM3B,EAAU,GAC9C,CAACvH,EAAOkJ,EAAQgB,KAEnB5E,EAAAA,EAAAA,YAAU,KACR,IAAM8G,EAAiB5C,EAAkBhE,QACzC,GAAI4G,EAAgB,CAClB,IAAMtG,EAAU,IAAIJ,gBAAe,KACjC,IAAQ2G,MAAOC,GAAiBF,EAAeG,yBACvCF,MAAOG,GACbJ,EAAeK,cAAeA,cAAeF,wBAE/ChD,EAAiB+C,IAAiBE,EAAY,IAKhD,OAFA1G,EAAQA,QAAQsG,GAET,KACLtG,EAAQC,YAAY,CAExB,IACC,KAEHT,EAAAA,EAAAA,YAAU,KAC8B,IAAAoH,GAAjC5K,GAAY2H,EAAYjE,UACR,QAAnBkH,EAAAjD,EAAYjE,eAAO,IAAAkH,GAAnBA,EAAqBC,QACvB,GACC,CAAC7K,IAGFjD,IAAAA,cAAA,OACEC,UAAW0I,IAAW,mBAAoB,CACxC,eAAgB8B,IAElBlD,IAAKoD,GAEL3K,IAAAA,cAAA,OACEC,UAAW0I,IAAW,YAAa,CACjCwB,SACAiB,WACAf,YAGFrK,IAAAA,cAAA,YACEmB,MAAOA,EACPoG,IAAKqD,EACLpF,OAAKzD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACAwI,GAAa,IAChBwD,aAAc1D,EAAS,OAAS,UAElCkC,YAAatJ,EAAW,aAAe,YACvC+K,QAASA,IAAM5D,GAAU,GACzB6D,OAAQA,IAAM7D,GAAU,GACxB8D,SAAUpB,EACVqB,UAAWf,EACXgB,mBArGuBC,KAC7BvD,EAAYnE,SAAU,CAAI,EAqGpB2H,iBAlGqBC,KAC3BzD,EAAYnE,SAAU,CAAK,IAmGvB3G,IAAAA,cAAA,QAAMC,UAAU,eACdD,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,QACtBhD,IAAAA,cAAC8E,EAAW,CACVvB,IAAI,OACJC,KAAK,cACLE,QArGgB8K,KAC1BxD,GAAe,MAuGPX,GACArK,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,MACtBhD,IAAAA,cAAC8E,EAAW,CACVvB,IAAI,OACJC,KAAK,aACLE,QAASuJ,KAIfjN,IAAAA,cAAA,OAAKC,UAAU,iBACfD,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,MACtBhD,IAAAA,cAAC8E,EAAW,CACV7E,UAAW0I,IAAW,aAAc,CAClCwB,OAAQe,EACRE,UAAWF,GAAYE,IAEzB7H,IAAKN,EAAW,OAAS,UACzBO,KAAMP,EAAW,UAAY,0BAC7B6C,SAAU7C,EAAW,GAAK,OAC1BwL,SAAUxL,EACVS,QAASwJ,MAIflN,IAAAA,cAAA,QAAMC,UAAU,gBACboK,GACCrK,IAAAA,cAAC2C,EAAc,CAACK,QAAQ,MACtBhD,IAAAA,cAAC8E,EAAW,CAACvB,IAAI,OAAOC,KAAK,SAASE,QAASuJ,OAKtD/B,GACClL,IAAAA,cAAA,OAAKC,UAAU,wBACbD,IAAAA,cAAA,OAAKC,UAAU,aAAY,qBAKrC,C,8FCxNO,SAASyO,IACd,IAAM,YAAEC,IAAgBlP,EAAAA,EAAAA,KAExB,OACEO,IAAAA,cAAA,OAAKC,UAAU,wBACbD,IAAAA,cAAA,OAAKC,UAAU,iBAAgB,QAC/BD,IAAAA,cAAA,OAAKC,UAAU,gBACZ0O,EAAY/N,KAAI,CAACC,EAAMC,IACfd,IAAAA,cAAC4O,GAAW/I,EAAAA,EAAAA,GAAA,CAAC9E,IAAKD,GAAWD,OAK9C,CAEA,SAAS+N,EAAWhP,GAAkC,IAAjC,MAAEiP,EAAK,GAAEC,GAAsBlP,GAC5C,cAAEmP,EAAa,gBAAEC,IAAoBvP,EAAAA,EAAAA,KAM3C,OACEO,IAAAA,cAAA,OACEC,UAAW0I,IAAW,eAAgB,CACpCwB,OAAQ2E,IAAOE,IAEjBtL,QATwBuL,KAC1BF,EAAcD,EAAG,GAUdD,EAGP,C,0DCvCaK,EAAc,CACzB,CACErP,KAAM,QACNmD,QAAS,CACP,CACEI,KAAM,QACN1C,KAAM,wBAIZ,CACEb,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,OAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,4DACN0C,KAAM,aAGVqB,MAAO,aACP5E,KAAM,aAER,CACEA,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,cAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,uIACN0C,KAAM,aAGVqB,MAAO,WACP5E,KAAM,aAER,CACEA,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,eAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,6EACN0C,KAAM,aAGVqB,MAAO,aACP5E,KAAM,aAER,CACEA,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,eAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,2IACN0C,KAAM,aAGVqB,MAAO,aACP5E,KAAM,aAER,CACEA,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,eAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,kRACN0C,KAAM,aAGVqB,MAAO,WACP5E,KAAM,cAIGsP,EAAY,CACvB,CACEtP,KAAM,QACNmD,QAAS,CACP,CACEI,KAAM,QACN1C,KAAM,qBACNkE,eAAgB,CAAC,2BAIvB,CACE/E,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,YAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,+4DACN0C,KAAM,aAGVqB,MAAO,WACP5E,KAAM,aAER,CACEA,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,cAGV+D,MAAO,YAET,CACEzB,QAAS,CACP,CACEtC,KAAM,g1DACN0C,KAAM,aAGVqB,MAAO,WACP5E,KAAM,c,uFC/JkBuP,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,EAAA,IAAAF,QAAAG,EAAA,IAAAH,QAAAI,EAAA,IAAAJ,QAAAK,EAAA,IAAAL,QAAAM,EAAA,IAAAN,QAAAO,EAAA,IAAAP,QAAAQ,EAAA,IAAAR,QAAAS,EAAA,IAAAC,QA4BrB,MAAMC,EAWXC,WAAAA,CAAWrQ,GAMR,IANS,QACVsQ,EAAO,cACPC,EAAgB,IAIjBvQ,GAAAwQ,EAAAA,EAAAA,GAAA,KAAAN,IAAAO,EAAAA,EAAAA,GAAA,KAAAjB,OAAA,IAAAiB,EAAAA,EAAAA,GAAA,KAAAf,OAAA,IAAAe,EAAAA,EAAAA,GAAA,KAAAd,OAAA,IAAAc,EAAAA,EAAAA,GAAA,KAAAb,GAbW,IAAKa,EAAAA,EAAAA,GAAA,KAAAZ,GACG,IAAKY,EAAAA,EAAAA,GAAA,KAAAX,OAAA,IAAAW,EAAAA,EAAAA,GAAA,KAAAV,EAES,KAAEU,EAAAA,EAAAA,GAAA,KAAAT,EACkC,CAAC,IAACS,EAAAA,EAAAA,GAAA,KAAAR,OAAA,IAUtES,EAAAA,EAAAA,GAAAhB,EAAAiB,KAAgBL,IAChBI,EAAAA,EAAAA,GAAAf,EAAAgB,KAAsBJ,EACxB,CAEAK,OAAAA,CAAQC,IACNC,EAAAA,EAAAA,GAAAf,EAAAY,MAAmBI,KAAKF,IACxBG,EAAAA,EAAAA,GAAAd,EAAAS,KAAIM,GAAAC,KAAJP,KACF,CAEAQ,OAAAA,GACE,OAAOL,EAAAA,EAAAA,GAAAf,EAAAY,MAAmBS,OAC5B,CAMAC,eAAAA,GACE,OAAAP,EAAAA,EAAAA,GAAAf,EAAOY,KACT,CAEAW,SAAAA,CAAUC,EAAeC,IAClBV,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,MACrBT,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,GAAS,KAE7BT,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,GAAOR,KAAKS,EAChC,CAEAC,WAAAA,CAAYF,EAAeC,IACrBV,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,MACpBT,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,IAAST,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,GAAOG,QACjDC,GAAOA,IAAOH,IAGrB,CAEAI,iBAAAA,CAAkBf,GAChB,IAAMU,EAAQV,EAAKU,OACfT,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,KACpBT,EAAAA,EAAAA,GAAAd,EAAAW,MAAkBY,GAAOM,SAASL,IAChCA,EAASX,aAAI,EAAJA,EAAM1M,QAAQ,GAG7B,CAEA2N,iBAAAA,CAAkB5C,IAChBwB,EAAAA,EAAAA,GAAAT,EAAAU,KAAuBzB,EACzB,CAEM6C,cAAAA,GAAiB,OAAAC,EAAAA,EAAAA,IAAA,eAAAA,EAKvB,CAEMC,IAAAA,CAAKjO,GAA4B,IAAAkO,EAAA,YAAAF,EAAAA,EAAAA,IAAA,aACrCtB,EAAAA,EAAAA,GAAAlB,EAAA0C,EAAa,IAAIC,iBACjB,IAiBUzR,EAjBN0R,GAAkB,GACtB1B,EAAAA,EAAAA,GAAAd,EAAAsC,GAAiB,SACXG,EAAAA,EAAAA,GAAiB,GAAD/R,QACjBgS,EAAAA,EAAAA,eAAa,mGAChB,CACEC,OAAQ,OACRC,QAAQ1B,EAAAA,EAAAA,GAAAtB,EAAA0C,GAAWM,OACnBrG,KAAMsG,KAAKC,UAAU,CACnBpC,SAAOQ,EAAAA,EAAAA,GAAApB,EAAEwC,GAETS,gBAAc7B,EAAAA,EAAAA,GAAAb,EAAEiC,GAChBU,MAAO5O,EACP6O,QAAQ,IAEVC,QAAS,CACP,wBAAyB,8CAE3BC,QAAMrS,GAAAsR,EAAAA,EAAAA,IAAE,UAAOgB,GACTA,EAASC,GAEXC,QAAQC,IAAI,6BAGZD,QAAQC,IAAI,yBAEhB,IAAC,SAAAC,GAAA,OAAA1S,EAAA2S,MAAA,KAAAxK,UAAA,GACDyK,UAAYC,IACV,IAAM,KAAE1C,GAAS0C,EAEjB,GADAnB,GAAkB,EACL,WAATvB,EAAJ,CAIA,IAAI2C,EAAS,CAAC,EACd,IACEA,EAASf,KAAKgB,MAAM5C,EACtB,CAAE,MAAO1D,GAaP,OAXA+F,QAAQC,IAAI,SAAUhG,QACtB+E,EAAKtB,QAAQ,CACXW,MAAO,MACPpN,QAAS,CACPuP,QAASnP,MAASC,OAAO,uBACzBmP,MAAO,CACL1T,KAAM,YACNmD,QAAS,cAKjB,EACAsN,EAAAA,EAAAA,GAAAT,EAAAiC,EAAuBsB,EAAOb,gBAC9BT,EAAKtB,QAAQ,CACXW,MAAO,MACPpN,QAASqP,GAtBX,MAFE1C,EAAAA,EAAAA,GAAAtB,EAAA0C,GAAY0B,OAyBZ,EAEJC,QAASA,KAEPX,QAAQC,IAAI,SAEPf,GACHF,EAAKtB,QAAQ,CACXW,MAAO,MACPpN,QAAS,CACPwP,MAAO,CACL1T,KAAM,YACNmD,QAAS,QAEXsQ,QAASnP,MAASC,OAAO,2BAI/BsM,EAAAA,EAAAA,GAAAtB,EAAA0C,GAAY0B,OAAO,EAErBE,QAAUC,IAERb,QAAQC,IAAI,MAAOY,IACnBjD,EAAAA,EAAAA,GAAAtB,EAAA0C,GAAY0B,OAAO,KAKzBlD,EAAAA,EAAAA,GAAAd,EAAAsC,GAAiB,EAAM,GArFcF,EAsFvC,CAEAgC,IAAAA,GAAO,IAAAC,EACLC,eAAapD,EAAAA,EAAAA,GAAAhB,EAACa,QACdG,EAAAA,EAAAA,GAAAtB,EAAAmB,QAAkB,QAAdsD,GAAAnD,EAAAA,EAAAA,GAAAtB,EAAUmB,aAAI,IAAAsD,GAAJA,EAAYL,UAC1BlD,EAAAA,EAAAA,GAAAd,EAAAe,MAAiB,IACjBD,EAAAA,EAAAA,GAAAZ,EAAAa,UAAkB7H,IAClB4H,EAAAA,EAAAA,GAAAb,EAAAc,MAAyB,IACzBK,EAAAA,EAAAA,GAAAd,EAAAS,KAAIwD,GAAAjD,KAAJP,MACAA,KAAKiB,kBAAkB,CAAEL,MAAO,QAClC,EAqBF,SAAA4C,KA/JIrD,EAAAA,EAAAA,GAAAf,EAAAY,MAAmB3K,OAAS,CAC9B,CAAC,SAAAiL,KA4ICH,EAAAA,EAAAA,GAAAjB,EAAIc,SACJD,EAAAA,EAAAA,GAAAb,EAAAc,MAAyB,IAGzBD,EAAAA,EAAAA,GAAAZ,EAAAa,KAAkByD,aAAY,KAC5B,IAAItD,EAAAA,EAAAA,GAAAlB,EAAAe,OAAkBA,KAAKU,kBAAkBrL,OAAQ,CACnD,IAAMqO,EAAc1D,KAAKQ,UACzBkD,GAAe1D,KAAKiB,kBAAkByC,EACxC,MACEH,eAAapD,EAAAA,EAAAA,GAAAhB,EAACa,QACdD,EAAAA,EAAAA,GAAAZ,EAAAa,UAAkB7H,IAClB4H,EAAAA,EAAAA,GAAAb,EAAAc,MAAyB,GACzBA,KAAKiB,kBAAkB,CAAEL,MAAO,UAClC,IACDT,EAAAA,EAAAA,GAAAnB,EAAEgB,QACL,CCpNK,SAAS2D,EAAetU,GAM5B,IAN6B,QAC9BsQ,EAAO,cACPC,EAAgB,IAIjBvQ,GACQoP,EAAiBmF,IAAsB9N,EAAAA,EAAAA,UAAiB,MACxDjG,EAASgU,IAAc/N,EAAAA,EAAAA,WAAkB,IACzCpD,EAAUoR,IAAehO,EAAAA,EAAAA,WAAkB,IAC3CsI,EAAa2F,IAAkBjO,EAAAA,EAAAA,UAAwB,KACvDH,EAASqO,IAAclO,EAAAA,EAAAA,UAAwB,KAC/CiC,EAASkM,IAAcnO,EAAAA,EAAAA,aACvB0E,EAAWzG,IAAgB+B,EAAAA,EAAAA,UAAiB,IAC7CoO,GAAclO,EAAAA,EAAAA,QAAe,IAC7BmO,GAAqBnO,EAAAA,EAAAA,UACrBoO,GAAc5U,EAAAA,EAAAA,UAClB,IACE,IAAIiQ,EAAY,CACdE,UACAC,mBAEJ,CAACD,EAASC,KAGZ1J,EAAAA,EAAAA,YAAU,QAGP,KAEHA,EAAAA,EAAAA,YAAU,KAGR6N,EAAe,CACb,CACEzF,MAAO,MACPC,GAAI,IACJrK,MAAO,WACP0F,QAAQ,IAOV,GACD,KAEH1D,EAAAA,EAAAA,YAAU,KACR,IAAMmO,EAAYtM,IACXA,IACLmM,EAAY9N,QAAU8N,EAAY9N,QAAU2B,EAAQiL,MAAMvQ,QAG1D0R,EAAmB/N,QAAU,CAC3B9G,KAAM,YACNmD,QAAS,CACP,CACEI,KAAM,WACN1C,KAAM+T,EAAY9N,UAGtB5F,IAAK4I,KAAKkL,SACVpQ,MAAON,IAAOmE,aAAO,EAAPA,EAASgL,SAASlP,OAAO,wBAEzCoQ,EAAWE,EAAmB/N,SAAQ,EAElCmO,EAAQA,KACZL,EAAY9N,QAAU,GACtB6N,OAAW9L,GACX2L,GAAY,GACZK,EAAmB/N,aAAU+B,CAAS,EAElCqM,EAAiBA,KACrBR,GAAYpN,GACHA,EAAKjH,OAAOwU,EAAmB/N,WAExCmO,GAAO,EAEHE,EAAeA,KACnBT,GAAYpN,IACsB,IAAA8N,EAAhC,OAAIP,EAAmB/N,SACK,QAA1BsO,EAAAP,EAAmB/N,eAAO,IAAAsO,GAA1BA,EAA4BjS,QAAQ2N,KAAK,CACvCvN,KAAM,WACN1C,KAAM,eAEDyG,EAAKjH,OAAOwU,EAAmB/N,UAEjCQ,CAAI,IAEb2N,GAAO,EAKT,OAHAH,EAAYzD,UAAU,MAAO0D,GAC7BD,EAAYzD,UAAU,SAAU6D,GAChCJ,EAAYzD,UAAU,OAAQ8D,GACvB,KACLL,EAAYtD,YAAY,MAAOuD,GAC/BD,EAAYtD,YAAY,SAAU0D,GAClCJ,EAAYtD,YAAY,OAAQ2D,EAAa,CAC9C,GACA,CAACL,IAEJ,IAAM1J,GAAatG,EAAAA,EAAAA,aAAW,eAAArE,GAAAsR,EAAAA,EAAAA,IAC5B,UAAOhO,GACLyQ,GAAY,GACZM,EAAY9C,KAAKjO,GACjB2Q,GAAYpN,GACHA,EAAKjH,OAAO,CACjBL,KAAM,OACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAMkD,IAGVa,MAAON,MAASC,OAAO,2BAG3BoQ,EAAW,CACT3U,KAAM,YACNmD,QAAS,CACP,CACEI,KAAM,OACN1C,KAAM,KAGV+D,MAAO,OAEX,IAAC,gBAAAuO,GAAA,OAAA1S,EAAA2S,MAAA,KAAAxK,UAAA,EA1B2B,GA2B5B,CAACkM,IAGGhN,GAAWhD,EAAAA,EAAAA,cAAY,KAC3BgQ,EAAYf,MAAM,GACjB,CAACe,IAEE3J,GAAgBrG,EAAAA,EAAAA,cAAY,KAChC4P,EAAW,IACXI,EAAYjD,mBAAmB,GAC9B,CAACiD,IAEE5F,GAAgBpK,EAAAA,EAAAA,aAAW,eAAAuQ,GAAAtD,EAAAA,EAAAA,IAAC,UAAO9C,GACvCsF,GAAW,GACXG,EAAW,IACXJ,EAAmBrF,GACnB,IAAMqG,EAAU,eAAAC,GAAAxD,EAAAA,EAAAA,IAAG,YACjB,OAAO,IAAIyD,SAASC,IAClBC,YAAW,KACTD,EAAe,MAAPxG,EAAaI,EAAcC,EAAU,GAC5C,IAAK,GAEZ,IAAC,kBANe,OAAAiG,EAAAnC,MAAA,KAAAxK,UAAA,KAOVtB,QAAagO,IACnBZ,EAAWpN,GACXiN,GAAW,EACb,IAAC,gBAAAoB,GAAA,OAAAN,EAAAjC,MAAA,KAAAxK,UAAA,EAdgC,GAc9B,IAEH,MAAO,CACLrI,UACA6C,WACA+L,kBACAL,cACA5D,YACA7E,UACAoC,UACA2C,aACAtD,WACAqD,gBACA+D,gBACAzK,eAEJ,C,kEC9KImR,E,MAA0B,GAA4B,KAE1DA,EAAwB9E,KAAK,CAAC+E,EAAO5G,GAAI,gUAC+H,KAExK,S,kECLI2G,E,MAA0B,GAA4B,KAE1DA,EAAwB9E,KAAK,CAAC+E,EAAO5G,GAAI,4hvBAmDiD,KAE1F,QAAe2G,EAAwB5R,U,kECvDnC4R,E,MAA0B,GAA4B,KAE1DA,EAAwB9E,KAAK,CAAC+E,EAAO5G,GAAI,s1DAC6Q,KAEtT,QAAe2G,EAAwB5R,U,4FCJnC8R,EAAgC,IAAIC,IAAI,aACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GAEzEF,EAAwB9E,KAAK,CAAC+E,EAAO5G,GAAI,uHAAuH+G,29BAA6/B,KAE7pC,QAAeJ,EAAwB5R,U,4FCNnC8R,EAAgC,IAAIC,IAAI,aACxCE,EAAgC,IAAIF,IAAI,YACxCH,EAA0B,IAA4B,KACtDI,EAAqC,IAAgCF,GACrEI,EAAqC,IAAgCD,GAEzEL,EAAwB9E,KAAK,CAAC+E,EAAO5G,GAAI,6xGACg9C+G,uFAAwHE,knHAAopH,KAErwK,QAAeN,EAAwB5R,U,gJCFnCmS,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQM,QAAS,IAAQA,M","sources":["webpack:///./src/chat-view/ChatViewContext.ts","webpack:///./src/chat-view/components/MessageItem/Avatar.tsx","webpack:///./src/chat-view/components/Loading.tsx","webpack:///./src/chat-view/components/MessageItem/GuideItem.tsx","webpack:///./src/chat-view/components/MessageItem/MarkdownItem.tsx","webpack:///./src/chat-view/components/MessageItem/TableItem.tsx","webpack:///./src/chat-view/components/MessageItem/TextItem.tsx","webpack:///./src/chat-view/components/MessageItem/Toolbar.tsx","webpack:///./src/chat-view/components/MessageItem/Time.tsx","webpack:///./src/chat-view/components/MessageItem/ContentTip.tsx","webpack:///./src/chat-view/components/MessageItem/index.tsx","webpack:///./src/chat-view/components/QuickAnswerList/index.tsx","webpack:///./src/chat-view/components/StopBtn.tsx","webpack:///./src/chat-view/components/MessageList.tsx","webpack:///./src/chat-view/components/utils/calculateAutoSizeStyle.ts","webpack:///./src/chat-view/components/SearchInput.tsx","webpack:///./src/chat-view/components/SessionList.tsx","webpack:///./src/chat-view/mockList.ts","webpack:///./src/chat-view/ChatService.ts","webpack:///./src/chat-view/hooks/useChatViewInfo.ts","webpack:///./src/chat-view/host-context.css","webpack:///./src/chat-view/components/MessageItem/markdown.shadow.css","webpack:///./src/chat-view/components/QuickAnswerList/quickAnswerList.shadow.css","webpack:///./src/chat-view/components/loading.shadow.css","webpack:///./src/chat-view/styles.shadow.css","webpack:///./src/chat-view/host-context.css?1beb"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { AgentDetailItem } from \"./components/QuickAnswerList/index.js\";\n\nexport type Role = \"guide\" | \"user\" | \"assistant\";\n\nexport interface MessageItemContent {\n type: \"guide\" | \"text\" | \"markdown\" | \"table\" | \"load\";\n text: string;\n examplePrompts?: string[];\n}\n\nexport interface MessageItem {\n role: Role;\n content: MessageItemContent[];\n ctime?: number | string;\n key?: number;\n chatting?: boolean;\n}\n\nexport interface SessionItem {\n title: string;\n ctime: number;\n id: string;\n active?: boolean;\n}\n\nexport interface QuickAnswerConfig {\n tip: string;\n list: AgentDetailItem[];\n}\n\ninterface ChatViewContextProps {\n activeSessionId: string;\n sessionList: SessionItem[];\n msgList: MessageItem[];\n msgItem?: MessageItem;\n loading: boolean;\n chatting: boolean;\n searchStr: string;\n showLike: boolean;\n quickAnswerConfig?: QuickAnswerConfig;\n handleChat: (str: string) => void;\n stopChat: () => void;\n updateSession: (id: string) => void;\n createSession: () => void;\n setSearchStr: (str: string) => void;\n}\n\nexport const ChatViewContext = createContext<ChatViewContextProps>(\n {} as ChatViewContextProps\n);\n\nexport const useChatViewContext = (): ChatViewContextProps =>\n useContext(ChatViewContext);\n","import React, { useMemo } from \"react\";\nimport type { Role } from \"../../ChatViewContext.js\";\n\nexport function Avatar({ role }: { role: Role }): React.ReactNode {\n const isUser = useMemo(() => role === \"user\", [role]);\n\n return <div className={`avatar ${isUser ? \"user\" : \"robot\"}`} />;\n}\n","import React from \"react\";\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nexport function MessageListLoading({ loading }: LoadingProps) {\n return loading ? <div className=\"message-list-loading-wrapper\"></div> : null;\n}\n\nexport function ChatItemLoading({ loading }: LoadingProps) {\n return loading ? (\n <div className=\"chart-item-loading-wrapper\">\n <div className=\"load\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n ) : null;\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\ninterface GuideItemProps {\n text: string;\n prompts?: string[];\n}\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function GuideItem({ text, prompts }: GuideItemProps) {\n return (\n <div className=\"guide-item\">\n {text}\n <div className=\"prompts-list\">\n {prompts\n ? prompts.map((item, index) => (\n <WrappedLink key={index}>{item}</WrappedLink>\n ))\n : null}\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport {\n defaultValueCtx,\n Editor,\n rootCtx,\n editorViewOptionsCtx,\n} from \"@milkdown/core\";\nimport { Milkdown, useEditor, MilkdownProvider } from \"@milkdown/react\";\nimport { commonmark } from \"@milkdown/preset-commonmark\";\nimport { nord } from \"@milkdown/theme-nord\";\nimport { gfm } from \"@milkdown/preset-gfm\";\nimport { prism } from \"@milkdown/plugin-prism\";\n\nexport function MarkdownItem({ text }: { text: string }) {\n return (\n <div className=\"markdown-item\">\n <MilkdownProvider>\n <MarkdownDisplay value={text} />\n </MilkdownProvider>\n </div>\n );\n}\n\nexport function MarkdownDisplay({ value }: { value: string }): React.ReactNode {\n useEditor((root) => {\n return Editor.make()\n .config((ctx) => {\n ctx.set(rootCtx, root);\n ctx.update(editorViewOptionsCtx, (prev: any) => ({\n ...prev,\n editable: () => false,\n }));\n value && ctx.set(defaultValueCtx, value);\n })\n .config(nord)\n .use(prism)\n .use(gfm)\n .use(commonmark);\n }, []);\n\n return <Milkdown />;\n}\n","import React from \"react\";\n// import { wrapBrick } from \"@next-core/react-element\";\n// import type {\n// EoNextTable,\n// NextTableComponentProps,\n// } from \"@next-bricks/advanced/next-table\";\n\ninterface MarkdownItemProps {\n text: string;\n}\n\n// const WrappedNextTable = wrapBrick<EoNextTable, NextTableComponentProps>(\n// \"eo-next-table\"\n// );\n\nexport function TableItem({ text }: MarkdownItemProps) {\n // const parseContent = useMemo((): NextTableComponentProps => {\n // let content: NextTableComponentProps;\n // try {\n // content = JSON.parse(text);\n // } catch {\n // content = {} as NextTableComponentProps;\n // }\n // return content;\n // }, [text]);\n\n // return (\n // <div className=\"table-item\">\n // <WrappedNextTable pagination={false} {...parseContent} />\n // </div>\n // );\n return <div className=\"table-item\">{text}</div>;\n}\n","import React from \"react\";\n\ninterface TextItem {\n text: string;\n}\n\nexport function TextItem({ text }: TextItem) {\n return <div className=\"text-item\">{text}</div>;\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { MessageItem, useChatViewContext } from \"../../ChatViewContext\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\n\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport function Toolbar({\n role,\n content,\n chatting,\n}: MessageItem): React.ReactNode {\n const isAssistant = useMemo(\n () =>\n role === \"assistant\" && !content?.find((item) => item.type === \"load\"),\n [role, content]\n );\n const isChattingItem = useMemo(() => chatting, [chatting]);\n const { showLike } = useChatViewContext();\n\n const handleCopy = () => {\n const str = content.map((item) => item.text).toString();\n copyToClipboard(str)\n .then(() => showNotification({ type: \"success\", message: \"复制成功\" }))\n .catch(() => showNotification({ type: \"error\", message: \"复制失败\" }));\n };\n\n return isAssistant && !isChattingItem ? (\n <div className=\"toolbar\">\n {showLike && (\n <>\n <WrappedToolTip content=\"点赞\">\n <WrapperIcon lib=\"antd\" icon=\"like\" theme=\"filled\" />\n </WrappedToolTip>\n <WrappedToolTip content=\"还不够好\">\n <WrapperIcon lib=\"antd\" icon=\"dislike\" theme=\"filled\" />\n </WrappedToolTip>\n </>\n )}\n <WrappedToolTip content=\"点击复制\">\n <WrapperIcon lib=\"antd\" icon=\"copy\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import moment from \"moment\";\nimport React from \"react\";\n\nexport function Time({ time }: { time?: string | number }) {\n return (\n <div className=\"time\">\n {time\n ? typeof time === \"string\"\n ? time\n : moment(time * 1000).format(\"YYYY-MM-DD HH:mm:ss\")\n : null}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { useChatViewContext, type MessageItem } from \"../../ChatViewContext\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function ContentTip({ role, content }: MessageItem): React.ReactNode {\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const { chatting, setSearchStr } = useChatViewContext();\n\n const handleCopy = () => {\n setSearchStr(content.map((item) => item.text).toString());\n };\n\n return isUser && !chatting ? (\n <div className=\"content-tip\">\n <WrappedToolTip content=\"点击再次提问\">\n <WrapperIcon lib=\"antd\" icon=\"edit\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { MessageItem, MessageItemContent } from \"../../ChatViewContext.js\";\nimport { GuideItem } from \"./GuideItem.js\";\nimport { MarkdownItem } from \"./MarkdownItem.js\";\nimport { TableItem } from \"./TableItem.js\";\nimport { ChatItemLoading } from \"../Loading.js\";\nimport { TextItem } from \"./TextItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { Time } from \"./Time.js\";\nimport { ContentTip } from \"./ContentTip.js\";\n\nexport function MessageNode(props: MessageItem): React.ReactNode {\n const { content, ctime, role } = props;\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const getContentNode = useCallback(\n (content: MessageItemContent, key: number) => {\n const { type, text, examplePrompts } = content;\n switch (type) {\n case \"guide\":\n return <GuideItem key={key} text={text} prompts={examplePrompts} />;\n case \"text\":\n return <TextItem key={key} text={text} />;\n case \"table\":\n return <TableItem key={key} text={text} />;\n case \"load\":\n return <ChatItemLoading loading />;\n case \"markdown\":\n default:\n return <MarkdownItem key={key} text={text} />;\n }\n },\n []\n );\n\n const messageNode = useMemo(\n () => content.map(getContentNode),\n [content, getContentNode]\n );\n\n return (\n <div className=\"message-box\">\n <div className=\"message-top\">\n {isUser ? \"我\" : \"AI助手\"}\n <Time time={ctime} />\n </div>\n <div className=\"message-content\">\n <div className=\"content\">\n {messageNode}\n <ContentTip {...props} />\n <Toolbar {...props} />\n </div>\n </div>\n </div>\n );\n}\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useChatViewContext } from \"../../ChatViewContext\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport interface AgentDetailItem {\n name: string;\n description: string;\n icon: GeneralIconProps & { color: string };\n starterPrompts?: string[];\n instanceId: string;\n [key: string]: any;\n}\n\nconst CARD_ITEM_HEIGHT = 85;\nconst HEIGHT_GAP = 24;\n\nfunction QuickAnswerCardItem({\n name,\n description,\n icon,\n starterPrompts,\n}: AgentDetailItem) {\n const { setSearchStr } = useChatViewContext();\n\n const handleCardClick = () => {\n starterPrompts?.length && setSearchStr(starterPrompts[0]);\n };\n\n const iconColor = useMemo(() => icon?.color ?? \"geekblue\", [icon]);\n\n return (\n <div\n className=\"quick-answer-card-item\"\n style={{\n height: CARD_ITEM_HEIGHT,\n background: `linear-gradient(rgba(var(--theme-${iconColor}-color-rgb-channel), 0.1), rgba(var(--theme-${iconColor}-color-rgb-channel), 0.08))`,\n }}\n onClick={handleCardClick}\n >\n <div className=\"left\">\n <WrappedIcon\n className=\"icon\"\n {...(icon ?? {\n icon: \"default-app\",\n lib: \"easyops\",\n category: \"app\",\n })}\n style={{\n background: `rgba(var(--theme-${iconColor}-color-rgb-channel), 0.5)`,\n }}\n />\n </div>\n <div className=\"content\">\n <div className=\"title\">{name}</div>\n <div className=\"description\">{description}</div>\n </div>\n </div>\n );\n}\n\nexport function QuickAnswerList() {\n const { quickAnswerConfig, msgList } = useChatViewContext();\n const [showMoreBtn, setShowMoreBtn] = useState<boolean>(false);\n const listRef = useRef<HTMLDivElement>(null);\n const hadClickShowMoreBtn = useRef<boolean>(false);\n\n const handleShowMoreClick = () => {\n hadClickShowMoreBtn.current = true;\n setShowMoreBtn(false);\n };\n\n useEffect(() => {\n const element = listRef.current;\n if (element) {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (\n entry.contentRect.height >\n CARD_ITEM_HEIGHT * 3 + HEIGHT_GAP * 2\n ) {\n if (!hadClickShowMoreBtn.current) {\n setShowMoreBtn(true);\n }\n } else {\n setShowMoreBtn(false);\n }\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }\n }, [showMoreBtn]);\n\n return quickAnswerConfig?.list.length && msgList.length === 0 ? (\n <div className=\"quick-answer-wrapper\">\n <div className=\"tip\">\n {quickAnswerConfig.tip ??\n \"你好,我是运维数智人—Murphy,我能为你提供以下服务:\"}\n </div>\n <div\n className=\"quick-answer-list\"\n style={{\n ...(showMoreBtn\n ? {\n maxHeight: CARD_ITEM_HEIGHT * 3 + HEIGHT_GAP * 2 + 10,\n overflow: \"hidden\",\n }\n : {}),\n }}\n ref={listRef}\n >\n {quickAnswerConfig.list.map((item) => (\n <QuickAnswerCardItem key={item.instanceId} {...item} />\n ))}\n </div>\n {showMoreBtn ? (\n <div className=\"show-more-wrapper\">\n <WrappedLink\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n className=\"show-more-btn\"\n onClick={handleShowMoreClick}\n >\n 显示更多\n </WrappedLink>\n </div>\n ) : null}\n </div>\n ) : null;\n}\n","import React from \"react\";\nimport { useChatViewContext } from \"../ChatViewContext\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function StopBtn() {\n const { stopChat } = useChatViewContext();\n\n const handleStopChat = () => {\n stopChat();\n };\n return (\n <div className=\"stop-responding-wrapper\">\n <WrappedLink className=\"stop-btn\" onClick={handleStopChat}>\n 停止生成\n </WrappedLink>\n </div>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { MessageItem, useChatViewContext } from \"../ChatViewContext\";\nimport { Avatar } from \"./MessageItem/Avatar.js\";\nimport classNames from \"classnames\";\nimport { MessageListLoading } from \"./Loading.js\";\nimport { MessageNode } from \"./MessageItem/index.js\";\nimport { QuickAnswerList } from \"./QuickAnswerList/index.js\";\nimport { throttle } from \"lodash\";\nimport { StopBtn } from \"./StopBtn.js\";\n\ninterface MessageListProps {\n showAvatar?: boolean;\n}\n\nconst DEFAULT_OFFSET_HEIGHT = 80;\n\nexport function MessageList({\n showAvatar = true,\n}: MessageListProps): React.ReactNode {\n const messageListRef = useRef<HTMLDivElement>(null);\n const messgetListBoxRef = useRef<HTMLDivElement>(null);\n const [preHeight, setPreHeight] = useState<number>(0);\n const flag = useRef<boolean>(false);\n const isCustomScroll = useRef<boolean>(false);\n\n const { msgList, msgItem, loading, chatting } = useChatViewContext();\n\n const getMsgItemNode = useCallback(\n (item: MessageItem, index: number = 0) => {\n return (\n <div\n className={classNames(\"message-item\", { user: item.role === \"user\" })}\n key={item.ctime ?? index}\n >\n {showAvatar && <Avatar role={item.role} />}\n <MessageNode {...item} />\n </div>\n );\n },\n [showAvatar]\n );\n\n const msgListNode = useMemo(() => {\n if (msgList.length) {\n return msgList.map(getMsgItemNode);\n }\n return null;\n }, [msgList, getMsgItemNode]);\n\n const msgItemNode = useMemo(\n () =>\n msgItem ? (\n <>\n {getMsgItemNode({\n ...msgItem,\n chatting: true,\n })}\n <StopBtn />\n </>\n ) : null,\n [msgItem, getMsgItemNode]\n );\n\n const handleScroll = throttle(() => {\n const computedHeight =\n messageListRef.current!.scrollHeight -\n messageListRef.current!.clientHeight;\n const isBottom =\n computedHeight === messageListRef.current!.scrollTop ||\n // 缓冲20高度\n computedHeight - 20 < messageListRef.current!.scrollTop;\n if (isCustomScroll.current) {\n if (isBottom) {\n flag.current = false;\n isCustomScroll.current = false;\n }\n return;\n }\n if (!isBottom) {\n // fixed:有时候在数据返回时页面会跳一下,导致计算异常,这里做临时兼容处理\n if (!flag.current) {\n flag.current = true;\n } else {\n isCustomScroll.current = true;\n }\n }\n }, 200);\n\n useEffect(() => {\n if (chatting) {\n isCustomScroll.current = false;\n flag.current = false;\n }\n }, [chatting]);\n\n useEffect(() => {\n const element = messgetListBoxRef.current;\n if (element) {\n const observer = new ResizeObserver((entries) => {\n let newHeight: number = 0;\n if (isCustomScroll.current) return;\n for (const entry of entries) {\n newHeight = entry.contentRect.height - DEFAULT_OFFSET_HEIGHT;\n }\n if (newHeight === preHeight && !loading && !chatting) {\n // msgItem置为空,合并到msgList, 高度不变,并且聊天结束\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n }\n if (newHeight > preHeight && chatting) {\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n setPreHeight(Math.max(preHeight, newHeight));\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }\n }, [chatting, loading, preHeight]);\n\n return (\n <div className=\"message-list\" ref={messageListRef} onScroll={handleScroll}>\n <div className=\"message-list-box\" ref={messgetListBoxRef}>\n <QuickAnswerList />\n {msgListNode}\n {msgItemNode}\n </div>\n <MessageListLoading loading={loading} />\n </div>\n );\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n padding: 10px !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\n/**\n * 计算 textare 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n * */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n // let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 20;\n let height = hiddenTextarea.scrollHeight - paddingSize + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows - paddingSize + borderSize;\n height = Math.max(paddingSize, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows - paddingSize + borderSize;\n // overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY: \"scroll\",\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n ChangeEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\nimport classNames from \"classnames\";\nimport { useChatViewContext } from \"../ChatViewContext.js\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function SearchInput(): React.ReactNode {\n const [value, setValue] = useState<string>(\"\");\n const [active, setActive] = useState<boolean>(false);\n const [expand, setExpand] = useState<boolean>(false);\n const [autoSizeStyle, setAutoSizeStyle] = useState<React.CSSProperties>();\n const [isFillContent, setIsFillContent] = useState<boolean>(false);\n const searchInputBoxRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const hadExpanded = useRef<boolean>(false);\n const inputEndRef = useRef<boolean>(false);\n\n const {\n chatting,\n loading,\n searchStr,\n createSession,\n setSearchStr,\n handleChat,\n } = useChatViewContext();\n\n const hadValue = useMemo(() => !!value, [value]);\n const defaultSize = useMemo(() => [1, 5], []);\n const disabled = useMemo(() => loading || chatting, [chatting, loading]);\n\n const computedAutoSize = useCallback(\n (size = defaultSize) => {\n if (hadExpanded.current && expand) return;\n const textareaElement = textareaRef.current as HTMLTextAreaElement;\n if (textareaElement) {\n const textareaStyles = calculateAutoSizeStyle(\n textareaElement,\n size[0],\n size[1]\n );\n\n setAutoSizeStyle(textareaStyles);\n }\n hadExpanded.current = expand;\n },\n [defaultSize, expand]\n );\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement> | string): void => {\n const value = typeof e === \"string\" ? e : e.target.value;\n setValue(value);\n textareaRef.current!.value = value;\n },\n []\n );\n\n const handleCompositionStart = () => {\n inputEndRef.current = true;\n };\n\n const handleCompositionEnd = () => {\n inputEndRef.current = false;\n };\n\n const hanldeCreateSession = () => {\n createSession();\n };\n\n const handleExpand = useCallback(() => {\n setExpand((value) => {\n return !value;\n });\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (!hadValue || !textareaRef.current || disabled) return;\n\n handleChat(value);\n\n setActive(false);\n setExpand(false);\n handleChange(\"\");\n textareaRef.current.blur();\n }, [value, hadValue, disabled, handleChat, handleChange]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey && !inputEndRef.current) {\n e.preventDefault();\n handleSubmit();\n }\n },\n [handleSubmit]\n );\n\n useEffect(() => {\n if (searchStr) {\n handleChange(searchStr);\n setSearchStr(\"\");\n }\n }, [searchStr, disabled, setSearchStr, handleChange]);\n\n useEffect(() => {\n computedAutoSize(expand ? [20, 20] : undefined);\n }, [value, expand, computedAutoSize]);\n\n useEffect(() => {\n const searchInputBox = searchInputBoxRef.current;\n if (searchInputBox) {\n const observe = new ResizeObserver(() => {\n const { width: currentWidth } = searchInputBox.getBoundingClientRect();\n const { width: parentWidth } =\n searchInputBox.parentElement!.parentElement!.getBoundingClientRect();\n\n setIsFillContent(currentWidth === parentWidth);\n });\n\n observe.observe(searchInputBox);\n\n return () => {\n observe.disconnect();\n };\n }\n }, []);\n\n useEffect(() => {\n if (!chatting && textareaRef.current) {\n textareaRef.current?.focus();\n }\n }, [chatting]);\n\n return (\n <div\n className={classNames(\"search-input-box\", {\n \"fill-content\": isFillContent,\n })}\n ref={searchInputBoxRef}\n >\n <div\n className={classNames(\"input-box\", {\n active,\n disabled,\n expand,\n })}\n >\n <textarea\n value={value}\n ref={textareaRef}\n style={{\n ...autoSizeStyle,\n paddingRight: expand ? \"50px\" : \"140px\",\n }}\n placeholder={chatting ? \"回复中,请稍等...\" : \"提出你的想法...\"}\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n />\n <span className=\"suffix-icon\">\n <WrappedToolTip content=\"新增会话\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"plus-circle\"\n onClick={hanldeCreateSession}\n />\n </WrappedToolTip>\n {!expand && (\n <WrappedToolTip content=\"放大\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"arrows-alt\"\n onClick={handleExpand}\n />\n </WrappedToolTip>\n )}\n <div className=\"submit-split\"></div>\n <WrappedToolTip content=\"提交\">\n <WrappedIcon\n className={classNames(\"submit-btn\", {\n active: hadValue,\n disabled: !hadValue || disabled,\n })}\n lib={chatting ? \"antd\" : \"easyops\"}\n icon={chatting ? \"loading\" : \"release-management-fill\"}\n category={chatting ? \"\" : \"menu\"}\n spinning={chatting}\n onClick={handleSubmit}\n />\n </WrappedToolTip>\n </span>\n <span className=\"toolbar-icon\">\n {expand && (\n <WrappedToolTip content=\"缩小\">\n <WrappedIcon lib=\"antd\" icon=\"shrink\" onClick={handleExpand} />\n </WrappedToolTip>\n )}\n </span>\n </div>\n {hadValue && (\n <div className=\"search-input-toolbar\">\n <div className=\"input-tip\">Shift + Enter 换行</div>\n </div>\n )}\n </div>\n );\n}\n","import React from \"react\";\nimport {\n SessionItem as SessionItemProps,\n useChatViewContext,\n} from \"../ChatViewContext\";\nimport classNames from \"classnames\";\n\nexport function SessionList(): React.ReactNode {\n const { sessionList } = useChatViewContext();\n\n return (\n <div className=\"session-list-wrapper\">\n <div className=\"session-title\">历史对话</div>\n <div className=\"session-list\">\n {sessionList.map((item, index) => {\n return <SessionItem key={index} {...item} />;\n })}\n </div>\n </div>\n );\n}\n\nfunction SessionItem({ title, id }: SessionItemProps) {\n const { updateSession, activeSessionId } = useChatViewContext();\n\n const handleUpdateSession = () => {\n updateSession(id);\n };\n\n return (\n <div\n className={classNames(\"session-item\", {\n active: id === activeSessionId,\n })}\n onClick={handleUpdateSession}\n >\n {title}\n </div>\n );\n}\n","export const mockmsgList = [\n {\n role: \"guide\",\n content: [\n {\n type: \"guide\",\n text: \"DEFAULT_CHAT_GUIDE\",\n },\n ],\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"你好\",\n },\n ],\n ctime: 1710731198,\n },\n {\n content: [\n {\n text: \"你好!很高兴能为你服务。如果你有任何问题或者需要帮助,随时告诉我,我会尽我所能为你提供帮助。有什么我可以帮你的吗?\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731200\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"你知道百度的地址吗\",\n },\n ],\n ctime: 1710731261,\n },\n {\n content: [\n {\n text: \"百度公司是一家中国的互联网技术公司,其总部位于北京市。以下是百度的官方地址:\\n\\n北京市海淀区西北旺东路10号院百度科技园\\n\\n请注意,百度可能有多个办公地点,但上述地址是其主要的总部地址。如果你需要访问百度或与其联系,建议你查看其官方网站获取最新的联系信息。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710731266,\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"可以给我官网的地址吗\",\n },\n ],\n ctime: 1710731280,\n },\n {\n content: [\n {\n text: \"当然可以。以下是百度公司的官方网站地址:\\n\\nhttps://www.baidu.com/\\n\\n你可以通过这个链接访问百度,获取更多信息和服务。\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731282\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"现在我们多少个微应用\",\n },\n ],\n ctime: 1710731716,\n },\n {\n content: [\n {\n text: \"很抱歉,但我不清楚你提到的“微应用”是指什么具体的上下文或系统。如果你是指在使用某个特定的平台或服务中的微应用数量,例如微信小程序、百度智能小程序等,我需要更多的上下文信息才能给出准确的回答。\\n\\n如果你能提供更多的细节,我会很乐意帮助你查询或解答有关微应用数量的问题。\",\n type: \"markdown\",\n },\n ],\n ctime: \"1710731720\",\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"给我一个任意表格数据\",\n },\n ],\n ctime: 1710731756,\n },\n {\n content: [\n {\n text: \"以下是任意创建的一个简单表格数据示例:\\n\\n| 姓名 | 年龄 | 性别 | 职位 |\\n|-------|-----|------|----------|\\n| 张三 | 25 | 男 | 软件工程师 |\\n| 李四 | 30 | 女 | 产品经理 |\\n| 王五 | 28 | 男 | UI设计师 |\\n| 赵六 | 32 | 女 | 市场专员 |\\n\\n这个表格包含了姓名、年龄、性别和职位四列数据,以及四个示例员工的信息。这只是一个虚构的数据示例,你可以根据需要修改或扩展表格的内容。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710731761,\n role: \"assistant\",\n },\n] as any;\n\nexport const mockList2 = [\n {\n role: \"guide\",\n content: [\n {\n type: \"guide\",\n text: \"DEFAULT_CHAT_GUIDE\",\n examplePrompts: [\"http://www.baidu.com\"],\n },\n ],\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"什么是 SSE\",\n },\n ],\n ctime: 1710837828,\n },\n {\n content: [\n {\n text: \"SSE(Server-Sent Events)是一种服务器到客户端的单向通信协议。它允许服务器通过HTTP连接向客户端推送数据,特别适用于实现实时更新功能,比如在网页上实时显示新闻更新、股票价格变动等。SSE基于HTTP协议,并且得到了所有现代浏览器的支持。\\n\\nSSE 的工作原理是什么?\\nSSE的工作原理相对简单:\\n1. 客户端通过JavaScript的`EventSource`对象向服务器发送一个HTTP请求,请求建立SSE连接。\\n2. 服务器接收到请求后,返回一个HTTP响应,这个响应的`Content-Type`头部被设置为`text/event-stream`。\\n3. 服务器保持这个连接打开,并且可以随时通过这个连接向客户端发送数据。\\n4. 客户端通过`EventSource`对象接收服务器发来的数据,并可以监听特定的事件。\\n\\nSSE 有哪些优点?\\n- **兼容性**:SSE得到了所有现代浏览器的支持,而其他一些实时通信技术如WebSocket可能不适用于所有浏览器。\\n- **简单性**:SSE的实现比较简单,不需要复杂的握手过程,直接基于HTTP协议,易于理解和部署。\\n\\n与短轮询、Comet、WebSocket等技术相比,SSE有哪些优势?\\n- **短轮询**:短轮询要求客户端定期向服务器发送请求,这种方式实现简单,但会造成很多无效请求,增加服务器负载。\\n- **Comet**:Comet技术是一种基于HTTP长连接的推送技术,但实现较为复杂,且不如SSE标准化。\\n- **WebSocket**:WebSocket提供了全双工的通信渠道,适用于需要双向通信的场景,但它的兼容性和实现复杂度不如SSE。\\n\\nSSE相比之下,在只需要服务器到客户端单向通信的场景中,提供了简单、高效且兼容性好的解决方案。\\n\\n如何实现一个简单的SSE服务?\\n以下是一个简单的示例,展示了客户端和服务器端的实现:\\n\\n**客户端(JavaScript)**\\n```javascript\\n// 创建EventSource对象\\nconst eventSource = new EventSource('http://localhost:8080/events');\\n// 监听服务器发送的消息\\neventSource.onmessage = function(event) {\\n console.log('收到消息:', event.data);\\n};\\n// 监听连接关闭事件\\neventSource.onclose = function() {\\n console.log('连接已关闭');\\n};\\n// 监听错误事件\\neventSource.onerror = function() {\\n console.log('连接出错');\\n};\\n```\\n\\n**服务器端(Node.js)**\\n```javascript\\nconst http = require('http');\\nconst express = require('express');\\nconst app = express();\\n\\napp.get('/events', function(req, res) {\\n res.setHeader('Content-Type', 'text/event-stream');\\n res.setHeader('Cache-Control', 'no-cache');\\n res.setHeader('Connection', 'keep-alive');\\n \\n // 定期发送数据到客户端\\n const sendData = () => {\\n res.write(`data: ${new Date().toString()}\\\\n\\\\n`);\\n };\\n setInterval(sendData, 1000);\\n\\n // 当连接关闭时,停止发送数据\\n req.on('close', () => {\\n clearInterval(sendData);\\n });\\n});\\n\\nconst server = http.createServer(app);\\nserver.listen(8080, () => {\\n console.log('SSE服务正在监听端口8080');\\n});\\n```\\n\\n以上代码展示了一个简单的SSE服务器和客户端的实现,其中服务器每秒向客户端发送当前时间。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710837855,\n role: \"assistant\",\n },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: \"请写出一段示例代码\",\n },\n ],\n ctime: 1710837859,\n },\n {\n content: [\n {\n text: \"当然,下面是一个简单的Node.js服务器端示例代码,它使用Express框架来创建一个SSE服务器。这个服务器会向连接的客户端发送一个简单的消息流。\\n\\n**服务器端(Node.js + Express)**\\n\\n```javascript\\nconst express = require('express');\\nconst app = express();\\nconst PORT = 3000;\\n\\napp.get('/events', function(req, res) {\\n // 设置响应头以支持SSE\\n res.writeHead(200, {\\n 'Content-Type': 'text/event-stream', // SSE的MIME类型\\n 'Cache-Control': 'no-cache', // 禁止缓存\\n 'Connection': 'keep-alive', // 保持连接\\n });\\n\\n // 发送事件到客户端\\n const sendEvent = (data, eventName = 'message') => {\\n res.write(`event: ${eventName}\\\\n`); // 事件名称\\n res.write(`data: ${JSON.stringify(data)}\\\\n\\\\n`); // 数据\\n };\\n\\n // 发送初始化消息\\n sendEvent({ message: 'Connected successfully!' });\\n\\n // 模拟定时发送数据\\n const intervalId = setInterval(() => {\\n sendEvent({ message: `Server time: ${new Date().toString()}` });\\n }, 1000); // 每1秒发送一次\\n\\n // 当请求关闭时,清除定时器\\n req.on('close', () => {\\n clearInterval(intervalId);\\n console.log('Client connection closed, stopped sending events');\\n });\\n});\\n\\napp.listen(PORT, () => {\\n console.log(`SSE server is running on http://localhost:${PORT}`);\\n});\\n```\\n\\n**客户端(HTML + JavaScript)**\\n\\n以下是客户端的HTML和JavaScript代码,它将连接到上面的SSE服务器并显示接收到的消息。\\n\\n```html\\n<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n<meta charset=\\\"UTF-8\\\">\\n<title>SSE Client Example</title>\\n<script>\\nwindow.onload = function() {\\n var eventSource = new EventSource('/events');\\n eventSource.onmessage = function(e) {\\n console.log('Received a message:', e.data);\\n document.getElementById('output').innerHTML += e.data + '<br>';\\n };\\n eventSource.onerror = function(e) {\\n console.error('EventSource failed:', e);\\n eventSource.close();\\n };\\n};\\n</script>\\n</head>\\n<body>\\n<div id=\\\"output\\\"></div>\\n</body>\\n</html>\\n```\\n\\n要运行这个示例,首先启动服务器端代码,然后打开HTML文件在浏览器中查看。服务器将开始向客户端发送消息,客户端将在`<div id=\\\"output\\\"></div>`元素中显示这些消息。\",\n type: \"markdown\",\n },\n ],\n ctime: 1710837878,\n role: \"assistant\",\n },\n] as any;\n","import { fetchEventSource } from \"@microsoft/fetch-event-source\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport moment from \"moment\";\n\nexport interface SSEMessageItem {\n conversationId?: string;\n created: number | string;\n delta: {\n content: string;\n role: string;\n };\n /** @deprecated */\n ctime?: string;\n /** @deprecated */\n mtime?: string;\n /** @deprecated */\n messages?: Array<{\n content: {\n type: string;\n text: string;\n };\n role: string;\n }>;\n}\n\nexport interface QueueItem {\n topic: string;\n message?: SSEMessageItem;\n}\n\nexport class ChatService {\n #ctrl?: AbortController;\n #agentId: string;\n #enterInterval: number;\n #charting = false;\n #isStartEmitEvent = false;\n #emitTimer: NodeJS.Timeout | undefined;\n #messageQueue: Array<QueueItem> = [];\n #subscribers: Record<string, Array<(msg?: SSEMessageItem) => void>> = {};\n #conversationId?: string;\n\n constructor({\n agentId,\n enterInterval = 50,\n }: {\n agentId: string;\n enterInterval: number;\n }) {\n this.#agentId = agentId;\n this.#enterInterval = enterInterval;\n }\n\n enqueue(data: QueueItem) {\n this.#messageQueue.push(data);\n this.#startEmitEvent();\n }\n\n dequeue() {\n return this.#messageQueue.shift();\n }\n\n #clear() {\n this.#messageQueue.length = 0;\n }\n\n getMessageQueue() {\n return this.#messageQueue;\n }\n\n subscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (!this.#subscribers[topic]) {\n this.#subscribers[topic] = [];\n }\n this.#subscribers[topic].push(callback);\n }\n\n unsubscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (this.#subscribers[topic]) {\n this.#subscribers[topic] = this.#subscribers[topic].filter(\n (cb) => cb !== callback\n );\n }\n }\n\n notifySubscribers(data: QueueItem) {\n const topic = data.topic;\n if (this.#subscribers[topic]) {\n this.#subscribers[topic].forEach((callback) => {\n callback(data?.message);\n });\n }\n }\n\n setConversationId(id?: string) {\n this.#conversationId = id;\n }\n\n async getSessionList() {\n // const response = await fetch(\n // `${getBasePath()}api/gateway/easyops.api.aiops_chat.conversation/conversation/list/${this.#agentId}`,\n // )\n // console.log(response);\n }\n\n async chat(str: string): Promise<void> {\n this.#ctrl = new AbortController();\n let hadMatchMessage = false;\n this.#charting = true;\n await fetchEventSource(\n `${getBasePath()}api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions`,\n {\n method: \"POST\",\n signal: this.#ctrl.signal,\n body: JSON.stringify({\n agentId: this.#agentId,\n // agentId: \"cmdb_search_agent\",\n conversationId: this.#conversationId,\n input: str,\n stream: true,\n }),\n headers: {\n \"giraffe-contract-name\": \"easyops.api.aiops_chat.manage.LLMChatProxy\",\n },\n onopen: async (response) => {\n if (response.ok) {\n // eslint-disable-next-line no-console\n console.log(\"open sse service success!\");\n } else {\n // eslint-disable-next-line no-console\n console.log(\"open sse service fail!\");\n }\n },\n onmessage: (msg) => {\n const { data } = msg;\n hadMatchMessage = true;\n if (data === \"[DONE]\") {\n this.#ctrl!.abort();\n return;\n }\n let result = {} as SSEMessageItem;\n try {\n result = JSON.parse(data);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"数据格式错误\", e);\n this.enqueue({\n topic: \"add\",\n message: {\n created: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n delta: {\n role: \"assistant\",\n content: \"`数据格式错误`\",\n },\n },\n });\n return;\n }\n this.#conversationId = result.conversationId;\n this.enqueue({\n topic: \"add\",\n message: result,\n });\n },\n onclose: () => {\n // eslint-disable-next-line no-console\n console.log(\"close\");\n // 兜底逻辑,连接结束,并且没有数据返回\n if (!hadMatchMessage) {\n this.enqueue({\n topic: \"add\",\n message: {\n delta: {\n role: \"assistant\",\n content: \"无法识别\",\n },\n created: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n },\n });\n }\n this.#ctrl!.abort();\n },\n onerror: (err) => {\n // eslint-disable-next-line no-console\n console.log(\"err\", err);\n this.#ctrl!.abort();\n },\n }\n );\n\n this.#charting = false;\n }\n\n stop() {\n clearInterval(this.#emitTimer);\n this.#ctrl && this.#ctrl?.abort();\n this.#charting = false;\n this.#emitTimer = undefined;\n this.#isStartEmitEvent = false;\n this.#clear();\n this.notifySubscribers({ topic: \"stop\" });\n }\n\n #startEmitEvent() {\n if (this.#isStartEmitEvent) return;\n this.#isStartEmitEvent = true;\n // 轮训队列,每隔 #enterInterval(默认 50ms) 推出第一条数据,获取到 text,推送给组件,组件接受后进行渲染\n // 直到聊天结束,并且消息队列数据为空时,停止 emit\n this.#emitTimer = setInterval(() => {\n if (this.#charting || this.getMessageQueue().length) {\n const messageItem = this.dequeue()!;\n messageItem && this.notifySubscribers(messageItem);\n } else {\n clearInterval(this.#emitTimer);\n this.#emitTimer = undefined;\n this.#isStartEmitEvent = false;\n this.notifySubscribers({ topic: \"finish\" });\n }\n }, this.#enterInterval);\n }\n}\n\n// export const chartService = new ChatService();\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { MessageItem, SessionItem } from \"../ChatViewContext.js\";\nimport { mockList2, mockmsgList } from \"../mockList.js\";\nimport moment from \"moment\";\nimport { ChatService, SSEMessageItem } from \"../ChatService.js\";\n\nexport function useChatViewInfo({\n agentId,\n enterInterval = 50,\n}: {\n agentId: string;\n enterInterval?: number;\n}) {\n const [activeSessionId, setActiveSessionid] = useState<string>(\"1\");\n const [loading, setLoading] = useState<boolean>(false);\n const [chatting, setChatting] = useState<boolean>(false);\n const [sessionList, setSessionList] = useState<SessionItem[]>([]);\n const [msgList, setMsgList] = useState<MessageItem[]>([]);\n const [msgItem, setMsgItem] = useState<MessageItem>();\n const [searchStr, setSearchStr] = useState<string>(\"\");\n const chatingText = useRef<string>(\"\");\n const chatingMessageItem = useRef<MessageItem>();\n const chatService = useMemo(\n () =>\n new ChatService({\n agentId,\n enterInterval,\n }),\n [agentId, enterInterval]\n );\n\n useEffect(() => {\n // mock\n // setMsgList(mockmsgList);\n }, []);\n\n useEffect(() => {\n // chatService.getSessionList();\n // mock\n setSessionList([\n {\n title: \"会话一\",\n id: \"1\",\n ctime: 1710731756,\n active: true,\n },\n // {\n // title: \"会话二\",\n // id: \"2\",\n // ctime: 1710731756,\n // },\n ]);\n }, []);\n\n useEffect(() => {\n const listener = (msgItem?: SSEMessageItem) => {\n if (!msgItem) return;\n chatingText.current = chatingText.current + msgItem.delta.content;\n // eslint-disable-next-line no-console\n // console.log(chatingText.current);\n chatingMessageItem.current = {\n role: \"assistant\",\n content: [\n {\n type: \"markdown\",\n text: chatingText.current,\n },\n ],\n key: Math.random(),\n ctime: moment(msgItem?.created).format(\"YYYY-MM-DD HH:mm:ss\"),\n };\n setMsgItem(chatingMessageItem.current);\n };\n const reset = () => {\n chatingText.current = \"\";\n setMsgItem(undefined);\n setChatting(false);\n chatingMessageItem.current = undefined;\n };\n const finishListener = () => {\n setMsgList((list) => {\n return list.concat(chatingMessageItem.current!);\n });\n reset();\n };\n const stopListener = () => {\n setMsgList((list) => {\n if (chatingMessageItem.current) {\n chatingMessageItem.current?.content.push({\n type: \"markdown\",\n text: \"` 对话被中断了 `\",\n });\n return list.concat(chatingMessageItem.current);\n }\n return list;\n });\n reset();\n };\n chatService.subscribe(\"add\", listener);\n chatService.subscribe(\"finish\", finishListener);\n chatService.subscribe(\"stop\", stopListener);\n return () => {\n chatService.unsubscribe(\"add\", listener);\n chatService.unsubscribe(\"finish\", finishListener);\n chatService.unsubscribe(\"stop\", stopListener);\n };\n }, [chatService]);\n\n const handleChat = useCallback(\n async (str: string) => {\n setChatting(true);\n chatService.chat(str);\n setMsgList((list) => {\n return list.concat({\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: str,\n },\n ],\n ctime: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n });\n });\n setMsgItem({\n role: \"assistant\",\n content: [\n {\n type: \"load\",\n text: \"\",\n },\n ],\n ctime: \"Now\",\n });\n },\n [chatService]\n );\n\n const stopChat = useCallback(() => {\n chatService.stop();\n }, [chatService]);\n\n const createSession = useCallback(() => {\n setMsgList([]);\n chatService.setConversationId();\n }, [chatService]);\n\n const updateSession = useCallback(async (id: string) => {\n setLoading(true);\n setMsgList([]);\n setActiveSessionid(id);\n const mockSearch = async () => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(id === \"1\" ? mockmsgList : mockList2);\n }, 5000);\n });\n };\n const list = await mockSearch();\n setMsgList(list as any);\n setLoading(false);\n }, []);\n\n return {\n loading,\n chatting,\n activeSessionId,\n sessionList,\n searchStr,\n msgList,\n msgItem,\n handleChat,\n stopChat,\n createSession,\n updateSession,\n setSearchStr,\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--message-box-bg:#f1f3f4;--search-input-icon-hover:#ddd;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.15)}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--message-box-bg:rgba(255,255,255,0.16);--search-input-icon-hover:#383838;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.24)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:\"liga\" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:\"\";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\n.milkdown-theme-nord.prose th{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline=\"true\"],\n.milkdown-theme-nord.prose br[data-is-inline=\"true\"]:after{content:\" \"}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=\"not-prose\"] *)){color:var(--color-info);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(ol):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=\"A\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"A\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"I\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"I\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=\"not-prose\"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=\"not-prose\"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~=\"not-prose\"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~=\"not-prose\"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=\"not-prose\"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=\"not-prose\"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~=\"not-prose\"] *))::before{content:\"\\`\"}.prose :where(code):not(:where([class~=\"not-prose\"] *))::after{content:\"\\`\"}.prose :where(a code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h1 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h2 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(pre):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::before{content:none}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::after{content:none}.prose :where(table):not(:where([class~=\"not-prose\"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=\"not-prose\"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=\"not-prose\"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=\"not-prose\"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=\"not-prose\"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:0.5em;margin-bottom:0.5em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~=\"not-prose\"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;margin:0;padding:0}.editor{margin-left:auto;margin-right:auto}:is(.dark .dark\\\\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}code[class*=\"language-\"],\npre[class*=\"language-\"]{color:#f8f8f2;background:none;font-family:\"Fira Code\",Consolas,Monaco,\"Andale Mono\",\"Ubuntu Mono\",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=\"language-\"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"]{background:#2e3440}:not(pre) > code[class*=\"language-\"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.quick-answer-wrapper{margin-top:20px;border-radius:6px;border:1px solid var(--color-border-divider-line);padding:16px 24px}.quick-answer-wrapper .tip{font-size:18px;margin-bottom:30px}.quick-answer-wrapper .quick-answer-list{display:grid;grid-gap:24px 16px;gap:24px 16px;border-radius:3px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item{position:relative;padding:16px;border-radius:6px;cursor:pointer;display:flex;padding:10px 20px;gap:12px;width:auto;box-sizing:border-box}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item:hover{box-shadow:var(--quick-answer-card-item-hover)}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .left .icon{font-size:20px;color:#fff;padding:8px;border-radius:6px;margin-top:4px}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content{flex:1;min-width:0}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .title{font-size:16px;font-weight:bold;color:var(--color-normal-text);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .description{color:var(--color-auxiliary-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.quick-answer-wrapper .show-more-wrapper{text-align:center;margin-top:20px}.quick-answer-wrapper .show-more-wrapper .show-more-btn{line-height:24px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after,\n .quick-answer-wrapper .show-more-wrapper .show-more-btn::before{content:\"- - - - -\";color:var(--color-text-divider-line);position:absolute}.quick-answer-wrapper .show-more-wrapper .show-more-btn::before{margin-left:-60px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after{margin-left:10px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../assets/loading.gif\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.message-list-loading-wrapper{width:140px;height:140px;background-repeat:no-repeat;margin:auto;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.chart-item-loading-wrapper{display:flex;padding:10px;font-size:40px;align-items:center;justify-content:center;color:#d2d3d4;border-radius:6px}.chart-item-loading-wrapper .load{display:inline-block;position:relative;width:64px;height:64px}.chart-item-loading-wrapper .load div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:#aaa8a8;animation-timing-function:cubic-bezier(0,1,1,0)}.chart-item-loading-wrapper .load div:nth-child(1){left:6px;animation:load1 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(2){left:6px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(3){left:26px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(4){left:45px;animation:load3 0.6s infinite}@keyframes load1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes load2{0%{transform:translate(0,0)}100%{transform:translate(19px,0)}}@keyframes load3{0%{transform:scale(1)}100%{transform:scale(0)}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/user.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/robot.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;height:100%}:host([hidden]){display:none}@media only screen and (min-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1556px}}@media only screen and (min-width: 1440px) and (max-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1156px}}@media only screen and (min-width: 804px) and (max-width: 1440px){.chat-view-container .chat-view-content .chat-view{width:804px}}@media only screen and (max-width: 804px){.chat-view-container .chat-view-content .chat-view{width:100%}}.chat-view-container{display:flex;flex-direction:row;width:100%;height:100%}.chat-view-selector{width:200px;padding:14px;border-right:1px solid var(--color-border-divider-line)}.chat-view-content{flex:1;display:flex;flex-direction:column;width:100%}.chat-view-content .chat-view-toolbar{background:#e0e4e5;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-view-content .chat-view-toolbar .username{color:#333333;font-weight:500;line-height:22px;font-size:16px}.chat-view-content .chat-view-toolbar .toolbar eo-icon{cursor:pointer}.chat-view-content .chat-view{max-width:100%;position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;overflow-y:auto;margin:0 auto}.session-list-wrapper .session-title{font-size:16px;color:var(--color-header-text);margin-bottom:16px}.session-list-wrapper .session-list{display:flex;flex-direction:column;gap:8px}.session-list-wrapper .session-list .session-item{cursor:pointer;border-radius:var(--small-border-radius);background-color:var(--third-menu-default-bg);padding:6px 16px;color:var(--color-header-text)}.session-list-wrapper .session-list .session-item.active{background-color:var(--third-menu-item-selected-bg);color:var(--color-brand)}.session-list-wrapper .session-list .session-item:hover,\n .session-list-wrapper .session-list .session-item.active:hover{color:var(--color-header-text);background-color:var(--third-menu-item-hover-bg)}.message-list{display:flex;flex-direction:column;padding-bottom:30px;padding:12px;flex:1;overflow-y:scroll}.message-list .message-list-box{display:flex;flex-direction:column;position:relative;gap:18px}.message-list .message-list-box .message-item{display:flex;gap:8px;padding-right:40px}.message-list .message-list-box .message-item.user{flex-direction:row-reverse;padding:0;padding-left:40px}.message-list .message-list-box .message-item.user .message-box{margin-bottom:0}.message-list .message-list-box .message-item.user .message-box .message-top{flex-direction:row-reverse}.message-list .message-list-box .message-item.user .message-box .message-content{justify-content:end}.message-list .message-list-box .message-item.user .message-box .message-content .content{background-color:#606f7c;color:#fff}.message-list .message-list-box .message-item.user .message-box .message-content:hover .content-tip{display:block}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip{position:absolute;left:-22px;top:0px;display:none}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip eo-icon{padding:4px;color:#606f7c;cursor:pointer}.message-list .message-list-box .message-item .avatar{width:36px;height:36px;margin-top:32px}.message-list .message-list-box .message-item .avatar.user{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.message-list .message-list-box .message-item .avatar.robot{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.message-list .message-list-box .message-item .message-box{position:relative;flex:1}.message-list .message-list-box .message-item .message-box .message-content{display:flex;justify-content:start;position:relative}.message-list .message-list-box .message-item .message-box .message-content .content{position:relative;padding:14px;border-radius:6px;background:var(--message-box-bg)}.message-list .message-list-box .message-item .message-box .message-content .content .text-item{white-space:pre-wrap}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar{position:absolute;bottom:-24px;right:0;display:flex;gap:12px}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar eo-icon{cursor:pointer;color:#606f7c}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar eo-icon[icon=\"dislike\"]{padding-right:12px;border-right:1px solid #d9d9d9}.message-list .message-list-box .message-item .message-box .message-top{display:flex;margin-bottom:4px;color:#bec8ce;gap:8px}.message-list .message-list-box .message-item .message-box .message-top .time{min-height:22px}.message-list .message-list-box .stop-responding-wrapper{position:absolute;left:44px;bottom:-28px}.search-input-box{display:flex;flex-direction:column;height:50px;padding:12px;position:relative}.search-input-box.fill-content{box-shadow:1px 0px 4px 0px rgba(197,197,197,0.5)}.search-input-box .input-box{position:absolute;bottom:20px;left:12px;right:12px;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s;overflow:visible}.search-input-box .input-box.active{border-color:var(--antd-input-focus-border-color)}.search-input-box .input-box.disabled{pointer-events:none;background:var(--input-outline-disabled);cursor:not-allowed}.search-input-box .input-box.expand textarea{padding-right:50px;margin-bottom:50px}.search-input-box .input-box textarea{width:100%;height:22px;font-size:18px;resize:none;padding:10px 50px 10px 10px;outline:none;border:none;line-height:20px;color:var(--color-normal-text);background-color:transparent;cursor:inherit;transition:all 300ms ease-out}.search-input-box .input-box textarea::placeholder{color:#b0b1b8}.search-input-box .input-box .suffix-icon{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:6px}.search-input-box .input-box .suffix-icon eo-tooltip{display:flex}.search-input-box .input-box .suffix-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .suffix-icon eo-icon:not(.disabled):hover{background:var(--search-input-icon-hover)}.search-input-box .input-box .suffix-icon .submit-split{width:1px;height:20px;background:#d1d1d1}.search-input-box .input-box .suffix-icon .submit-btn.active{color:var(--color-brand)}.search-input-box .input-box .suffix-icon .submit-btn.disabled{color:var(--color-disabled-text);cursor:not-allowed}.search-input-box .input-box .toolbar-icon{position:absolute;top:12px;right:14px}.search-input-box .input-box .toolbar-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .toolbar-icon eo-icon:hover{background:var(--search-input-icon-hover)}.search-input-box .search-input-toolbar{display:flex;justify-content:end;position:absolute;right:12px;bottom:0px}.search-input-box .search-input-toolbar .input-tip{font-size:12px;color:var(--color-secondary-text)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["ChatViewContext","createContext","useChatViewContext","useContext","Avatar","_ref","role","isUser","useMemo","React","className","concat","MessageListLoading","loading","ChatItemLoading","_ref2","WrappedLink","wrapBrick","GuideItem","text","prompts","map","item","index","key","MarkdownItem","MilkdownProvider","MarkdownDisplay","value","useEditor","root","Editor","make","config","ctx","set","rootCtx","update","editorViewOptionsCtx","prev","_objectSpread","editable","defaultValueCtx","nord","use","prism","gfm","commonmark","Milkdown","TableItem","TextItem","WrapperIcon","WrappedToolTip","copyToClipboard","unwrapProvider","showNotification","Toolbar","content","chatting","isAssistant","find","type","isChattingItem","showLike","lib","icon","theme","onClick","handleCopy","str","toString","then","message","catch","Time","time","moment","format","ContentTip","setSearchStr","MessageNode","props","ctime","getContentNode","useCallback","examplePrompts","messageNode","WrappedIcon","CARD_ITEM_HEIGHT","HEIGHT_GAP","QuickAnswerCardItem","name","description","starterPrompts","iconColor","_icon$color","color","style","height","background","handleCardClick","length","_extends","category","QuickAnswerList","_quickAnswerConfig$ti","quickAnswerConfig","msgList","showMoreBtn","setShowMoreBtn","useState","listRef","useRef","hadClickShowMoreBtn","useEffect","element","current","observer","ResizeObserver","entries","entry","contentRect","observe","disconnect","list","tip","maxHeight","overflow","ref","instanceId","handleShowMoreClick","StopBtn","stopChat","handleStopChat","DEFAULT_OFFSET_HEIGHT","MessageList","showAvatar","messageListRef","messgetListBoxRef","preHeight","setPreHeight","flag","isCustomScroll","msgItem","getMsgItemNode","_item$ctime","arguments","undefined","classNames","user","msgListNode","msgItemNode","handleScroll","throttle","computedHeight","scrollHeight","clientHeight","isBottom","scrollTop","newHeight","scroll","top","Number","MAX_SAFE_INTEGER","Math","max","onScroll","hiddenTextarea","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","SearchInput","setValue","active","setActive","expand","setExpand","autoSizeStyle","setAutoSizeStyle","isFillContent","setIsFillContent","searchInputBoxRef","textareaRef","hadExpanded","inputEndRef","searchStr","createSession","handleChat","hadValue","defaultSize","disabled","computedAutoSize","size","textareaElement","textareaStyles","uiTextNode","minRows","maxRows","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","getPropertyValue","join","placeholder","minHeight","singleRowHeight","min","overflowY","resize","calculateAutoSizeStyle","handleChange","e","target","handleExpand","handleSubmit","blur","handleKeyDown","shiftKey","preventDefault","searchInputBox","width","currentWidth","getBoundingClientRect","parentWidth","parentElement","_textareaRef$current","focus","paddingRight","onFocus","onBlur","onChange","onKeyDown","onCompositionStart","handleCompositionStart","onCompositionEnd","handleCompositionEnd","hanldeCreateSession","spinning","SessionList","sessionList","SessionItem","title","id","updateSession","activeSessionId","handleUpdateSession","mockmsgList","mockList2","_ctrl","WeakMap","_agentId","_enterInterval","_charting","_isStartEmitEvent","_emitTimer","_messageQueue","_subscribers","_conversationId","_ChatService_brand","WeakSet","ChatService","constructor","agentId","enterInterval","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_classPrivateFieldSet","this","enqueue","data","_classPrivateFieldGet","push","_assertClassBrand","_startEmitEvent","call","dequeue","shift","getMessageQueue","subscribe","topic","callback","unsubscribe","filter","cb","notifySubscribers","forEach","setConversationId","getSessionList","_asyncToGenerator","chat","_this","AbortController","hadMatchMessage","fetchEventSource","getBasePath","method","signal","JSON","stringify","conversationId","input","stream","headers","onopen","response","ok","console","log","_x","apply","onmessage","msg","result","parse","created","delta","abort","onclose","onerror","err","stop","_classPrivateFieldGet2","clearInterval","_clear","setInterval","messageItem","useChatViewInfo","setActiveSessionid","setLoading","setChatting","setSessionList","setMsgList","setMsgItem","chatingText","chatingMessageItem","chatService","listener","random","reset","finishListener","stopListener","_chatingMessageItem$c","_ref3","mockSearch","_ref4","Promise","resolve","setTimeout","_x2","___CSS_LOADER_EXPORT___","module","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_REPLACEMENT_1___","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[843],{5152:(e,t,n)=>{function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,{A:()=>r})},414:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(1369);function o(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(0,r.A)(o.key),o)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}},4586:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(1369);function o(e,t,n){return(t=(0,r.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},1369:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(7545);function o(e){var t=function(e,t){if("object"!=(0,r.A)(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=(0,r.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,r.A)(t)?t:t+""}},7545:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{A:()=>r})},843:(e,t,n)=>{n.r(t),n.d(t,{changeLanguage:()=>de,createInstance:()=>ce,default:()=>ue,dir:()=>le,exists:()=>me,getFixedT:()=>ve,hasLoadedNamespace:()=>Oe,init:()=>fe,loadLanguages:()=>xe,loadNamespaces:()=>ke,loadResources:()=>pe,reloadResources:()=>ge,setDefaultNamespace:()=>be,t:()=>ye,use:()=>he});var r=n(7545),o=n(5152),i=n(414);function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function c(e,t){if(t&&("object"===(0,r.A)(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}var f=n(4586);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var d={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},v=new(function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,o.A)(this,e),this.init(t,n)}return(0,i.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||d,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,r){return r&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,h(h({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e}()),y=function(){function e(){(0,o.A)(this,e),this.observers={}}return(0,i.A)(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach((function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)})),this}},{key:"off",value:function(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((function(e){return e!==t})):delete this.observers[e])}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.observers[e]&&[].concat(this.observers[e]).forEach((function(e){e.apply(void 0,n)})),this.observers["*"]&&[].concat(this.observers["*"]).forEach((function(t){t.apply(t,[e].concat(n))}))}}]),e}();function m(){var e,t,n=new Promise((function(n,r){e=n,t=r}));return n.resolve=e,n.reject=t,n}function b(e){return null==e?"":""+e}function O(e,t,n){function r(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function o(){return!e||"string"==typeof e}for(var i="string"!=typeof t?[].concat(t):t.split(".");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),e=Object.prototype.hasOwnProperty.call(e,a)?e[a]:{}}return o()?{}:{obj:e,k:r(i.shift())}}function k(e,t,n){var r=O(e,t,Object);r.obj[r.k]=n}function x(e,t){var n=O(e,t),r=n.obj,o=n.k;if(r)return r[o]}function w(e,t,n){for(var r in t)"__proto__"!==r&&"constructor"!==r&&(r in e?"string"==typeof e[r]||e[r]instanceof String||"string"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):w(e[r],t[r],n):e[r]=t[r]);return e}function S(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var j={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function P(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return j[e]})):e}var L="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,R=[" ",",","?","!",";"];function N(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),o=e,i=0;i<r.length;++i){if(!o)return;if("string"==typeof o[r[i]]&&i+1<r.length)return;if(void 0===o[r[i]]){for(var a=2,s=r.slice(i,i+a).join(n),u=o[s];void 0===u&&r.length>i+a;)a++,u=o[s=r.slice(i,i+a).join(n)];if(void 0===u)return;if(null===u)return null;if(t.endsWith(s)){if("string"==typeof u)return u;if(s&&"string"==typeof u[s])return u[s]}var c=r.slice(i+a).join(n);return c?N(u,c,n):void 0}o=o[r[i]]}return o}}function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var E=function(e){u(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var o=l(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return c(this,e)});function s(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return(0,o.A)(this,s),t=r.call(this),L&&y.call(a(t)),t.data=e||{},t.options=n,void 0===t.options.keySeparator&&(t.options.keySeparator="."),void 0===t.options.ignoreJSONStructure&&(t.options.ignoreJSONStructure=!0),t}return(0,i.A)(s,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=void 0!==r.ignoreJSONStructure?r.ignoreJSONStructure:this.options.ignoreJSONStructure,a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."));var s=x(this.data,a);return s||!i||"string"!=typeof n?s:N(this.data&&this.data[e]&&this.data[e][t],n,o)}},{key:"addResource",value:function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(r=t,t=(a=e.split("."))[1]),this.addNamespaces(t),k(this.data,a,r),o.silent||this.emit("added",e,t,n,r)}},{key:"addResources",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)"string"!=typeof n[o]&&"[object Array]"!==Object.prototype.toString.apply(n[o])||this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(r=n,n=t,t=(a=e.split("."))[1]),this.addNamespaces(t);var s=x(this.data,a)||{};r?w(s,n,o):s=A(A({},s),n),k(this.data,a,s),i.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?A(A({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((function(e){return t[e]&&Object.keys(t[e]).length>0}))}},{key:"toJSON",value:function(){return this.data}}]),s}(y),D={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var i=this;return e.forEach((function(e){i.processors[e]&&(t=i.processors[e].process(t,n,r,o))})),t}};function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var T={},V=function(e){u(f,e);var t,n,s=(t=f,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var o=l(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return c(this,e)});function f(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,o.A)(this,f),t=s.call(this),L&&y.call(a(t)),function(e,t,n){["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((function(e){t[e]&&(n[e]=t[e])}))}(0,e,a(t)),t.options=n,void 0===t.options.keySeparator&&(t.options.keySeparator="."),t.logger=v.create("translator"),t}return(0,i.A)(f,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],i=n&&e.indexOf(n)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(e,t,n){t=t||"",n=n||"";var r=R.filter((function(e){return t.indexOf(e)<0&&n.indexOf(e)<0}));if(0===r.length)return!0;var o=new RegExp("(".concat(r.map((function(e){return"?"===e?"\\?":e})).join("|"),")")),i=!o.test(e);if(!i){var a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}(e,n,r));if(i&&!a){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:o};var u=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(u[0])>-1)&&(o=u.shift()),e=u.join(r)}return"string"==typeof o&&(o=[o]),{key:e,namespaces:o}}},{key:"translate",value:function(e,t,n){var o=this;if("object"!==(0,r.A)(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"===(0,r.A)(t)&&(t=F({},t)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var i=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,a=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,s=this.extractFromKey(e[e.length-1],t),u=s.key,c=s.namespaces,l=c[c.length-1],p=t.lng||this.language,g=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&"cimode"===p.toLowerCase()){if(g){var h=t.nsSeparator||this.options.nsSeparator;return i?{res:"".concat(l).concat(h).concat(u),usedKey:u,exactUsedKey:u,usedLng:p,usedNS:l}:"".concat(l).concat(h).concat(u)}return i?{res:u,usedKey:u,exactUsedKey:u,usedLng:p,usedNS:l}:u}var d=this.resolve(e,t),v=d&&d.res,y=d&&d.usedKey||u,m=d&&d.exactUsedKey||u,b=Object.prototype.toString.apply(v),O=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,k=!this.i18nFormat||this.i18nFormat.handleAsObject;if(k&&v&&"string"!=typeof v&&"boolean"!=typeof v&&"number"!=typeof v&&["[object Number]","[object Function]","[object RegExp]"].indexOf(b)<0&&("string"!=typeof O||"[object Array]"!==b)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var x=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,v,F(F({},t),{},{ns:c})):"key '".concat(u," (").concat(this.language,")' returned an object instead of string.");return i?(d.res=x,d):x}if(a){var w="[object Array]"===b,S=w?[]:{},j=w?m:y;for(var P in v)if(Object.prototype.hasOwnProperty.call(v,P)){var L="".concat(j).concat(a).concat(P);S[P]=this.translate(L,F(F({},t),{joinArrays:!1,ns:c})),S[P]===L&&(S[P]=v[P])}v=S}}else if(k&&"string"==typeof O&&"[object Array]"===b)(v=v.join(O))&&(v=this.extendTranslation(v,e,t,n));else{var R=!1,N=!1,C=void 0!==t.count&&"string"!=typeof t.count,A=f.hasDefaultValue(t),E=C?this.pluralResolver.getSuffix(p,t.count,t):"",D=t["defaultValue".concat(E)]||t.defaultValue;!this.isValidLookup(v)&&A&&(R=!0,v=D),this.isValidLookup(v)||(N=!0,v=u);var I=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&N?void 0:v,T=A&&D!==v&&this.options.updateMissing;if(N||R||T){if(this.logger.log(T?"updateKey":"missingKey",p,l,u,T?D:v),a){var V=this.resolve(u,F(F({},t),{},{keySeparator:!1}));V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var U=[],K=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&K&&K[0])for(var B=0;B<K.length;B++)U.push(K[B]);else"all"===this.options.saveMissingTo?U=this.languageUtils.toResolveHierarchy(t.lng||this.language):U.push(t.lng||this.language);var M=function(e,n,r){var i=A&&r!==v?r:I;o.options.missingKeyHandler?o.options.missingKeyHandler(e,l,n,i,T,t):o.backendConnector&&o.backendConnector.saveMissing&&o.backendConnector.saveMissing(e,l,n,i,T,t),o.emit("missingKey",e,l,n,v)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?U.forEach((function(e){o.pluralResolver.getSuffixes(e,t).forEach((function(n){M([e],u+n,t["defaultValue".concat(n)]||D)}))})):M(U,u,D))}v=this.extendTranslation(v,e,t,d,n),N&&v===u&&this.options.appendNamespaceToMissingKey&&(v="".concat(l,":").concat(u)),(N||R)&&this.options.parseMissingKeyHandler&&(v="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(l,":").concat(u):u,R?v:void 0):this.options.parseMissingKeyHandler(v))}return i?(d.res=v,d):v}},{key:"extendTranslation",value:function(e,t,n,r,o){var i=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,F(F({},this.options.interpolation.defaultVariables),n),r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(F(F({},n),{interpolation:F(F({},this.options.interpolation),n.interpolation)}));var a,s="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(s){var u=e.match(this.interpolator.nestingRegexp);a=u&&u.length}var c=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(c=F(F({},this.options.interpolation.defaultVariables),c)),e=this.interpolator.interpolate(e,c,n.lng||this.language,n),s){var l=e.match(this.interpolator.nestingRegexp);a<(l&&l.length)&&(n.nest=!1)}!n.lng&&"v1"!==this.options.compatibilityAPI&&r&&r.res&&(n.lng=r.usedLng),!1!==n.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,r=new Array(e),a=0;a<e;a++)r[a]=arguments[a];return o&&o[0]===r[0]&&!n.context?(i.logger.warn("It seems you are nesting recursively key: ".concat(r[0]," in key: ").concat(t[0])),null):i.translate.apply(i,r.concat([t]))}),n)),n.interpolation&&this.interpolator.reset()}var f=n.postProcess||this.options.postProcess,p="string"==typeof f?[f]:f;return null!=e&&p&&p.length&&!1!==n.applyPostProcessor&&(e=D.handle(p,e,t,this.options&&this.options.postProcessPassResolved?F({i18nResolved:r},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,r,o,i,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!a.isValidLookup(t)){var u=a.extractFromKey(e,s),c=u.key;n=c;var l=u.namespaces;a.options.fallbackNS&&(l=l.concat(a.options.fallbackNS));var f=void 0!==s.count&&"string"!=typeof s.count,p=f&&!s.ordinal&&0===s.count&&a.pluralResolver.shouldUseIntlApi(),g=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,h=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);l.forEach((function(e){a.isValidLookup(t)||(i=e,!T["".concat(h[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(i)&&(T["".concat(h[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(h.join(", "),'" won\'t get resolved as namespace "').concat(i,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach((function(n){if(!a.isValidLookup(t)){o=n;var i,u=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(u,c,n,e,s);else{var l;f&&(l=a.pluralResolver.getSuffix(n,s.count,s));var h="".concat(a.options.pluralSeparator,"zero");if(f&&(u.push(c+l),p&&u.push(c+h)),g){var d="".concat(c).concat(a.options.contextSeparator).concat(s.context);u.push(d),f&&(u.push(d+l),p&&u.push(d+h))}}for(;i=u.pop();)a.isValidLookup(t)||(r=i,t=a.getResource(n,e,i,s))}})))}))}})),{res:t,usedKey:n,exactUsedKey:r,usedLng:o,usedNS:i}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}}],[{key:"hasDefaultValue",value:function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&"defaultValue"===t.substring(0,12)&&void 0!==e[t])return!0;return!1}}]),f}(y);function U(e){return e.charAt(0).toUpperCase()+e.slice(1)}var K=function(){function e(t){(0,o.A)(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=v.create("languageUtils")}return(0,i.A)(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map((function(e){return e.toLowerCase()})):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=U(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=U(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach((function(e){if(!t){var r=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(r)||(t=r)}})),!t&&this.options.supportedLngs&&e.forEach((function(e){if(!t){var r=n.getLanguagePartFromCode(e);if(n.isSupportedCode(r))return t=r;t=n.options.supportedLngs.find((function(e){return e===r?e:e.indexOf("-")<0&&r.indexOf("-")<0?void 0:0===e.indexOf(r)?e:void 0}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],i=function(e){e&&(n.isSupportedCode(e)?o.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),r.forEach((function(e){o.indexOf(e)<0&&i(n.formatLanguageCode(e))})),o}}]),e}(),B=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],M={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},H=["v1","v2","v3"],_={zero:0,one:1,two:2,few:3,many:4,other:5},J=function(){function e(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,o.A)(this,e),this.languageUtils=t,this.options=r,this.logger=v.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(n={},B.forEach((function(e){e.lngs.forEach((function(t){n[t]={numbers:e.nr,plurals:M[e.fc]}}))})),n)}return(0,i.A)(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map((function(e){return"".concat(t).concat(e)}))}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((function(e,t){return _[e]-_[t]})).map((function(e){return"".concat(t.options.prepend).concat(e)})):r.numbers.map((function(r){return t.getSuffix(e,r,n)})):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.getRule(e,n);return r?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(r.select(t)):this.getSuffixRetroCompatible(r,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,r=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),o=e.numbers[r];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===o?o="plural":1===o&&(o=""));var i=function(){return n.options.prepend&&o.toString()?n.options.prepend+o.toString():o.toString()};return"v1"===this.options.compatibilityJSON?1===o?"":"number"==typeof o?"_plural_".concat(o.toString()):i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}},{key:"shouldUseIntlApi",value:function(){return!H.includes(this.options.compatibilityJSON)}}]),e}();function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=function(e,t,n){var r=x(e,n);return void 0!==r?r:x(t,n)}(e,t,n);return!i&&o&&"string"==typeof n&&void 0===(i=N(e,n,r))&&(i=N(t,n,r)),i}var W=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,o.A)(this,e),this.logger=v.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return(0,i.A)(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:P,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?S(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?S(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?S(t.nestingPrefix):t.nestingPrefixEscaped||S("$t("),this.nestingSuffix=t.nestingSuffix?S(t.nestingSuffix):t.nestingSuffixEscaped||S(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,r){var o,i,a,s=this,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var l=function(e){if(e.indexOf(s.formatSeparator)<0){var o=$(t,u,e,s.options.keySeparator,s.options.ignoreJSONStructure);return s.alwaysFormat?s.format(o,void 0,n,q(q(q({},r),t),{},{interpolationkey:e})):o}var i=e.split(s.formatSeparator),a=i.shift().trim(),c=i.join(s.formatSeparator).trim();return s.format($(t,u,a,s.options.keySeparator,s.options.ignoreJSONStructure),c,n,q(q(q({},r),t),{},{interpolationkey:a}))};this.resetRegExp();var f=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,p=r&&r.interpolation&&void 0!==r.interpolation.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach((function(t){for(a=0;o=t.regex.exec(e);){var n=o[1].trim();if(void 0===(i=l(n)))if("function"==typeof f){var u=f(e,o,r);i="string"==typeof u?u:""}else if(r&&Object.prototype.hasOwnProperty.call(r,n))i="";else{if(p){i=o[0];continue}s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),i=""}else"string"==typeof i||s.useRawValueToEscape||(i=b(i));var c=t.safeValue(i);if(e=e.replace(o[0],c),p?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=s.maxReplaces)break}})),e}},{key:"nest",value:function(e,t){var n,r,o,i=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function s(e,t){var n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;var r=e.split(new RegExp("".concat(n,"[ ]*{"))),i="{".concat(r[1]);e=r[0];var a=(i=this.interpolate(i,o)).match(/'/g),s=i.match(/"/g);(a&&a.length%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o=q(q({},t),o))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(i)}return delete o.defaultValue,e}for(;n=this.nestingRegexp.exec(e);){var u=[];(o=(o=q({},a)).replace&&"string"!=typeof o.replace?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;var c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var l=n[1].split(this.formatSeparator).map((function(e){return e.trim()}));n[1]=l.shift(),u=l,c=!0}if((r=t(s.call(this,n[1].trim(),o),o))&&n[0]===e&&"string"!=typeof r)return r;"string"!=typeof r&&(r=b(r)),r||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),r=""),c&&(r=u.reduce((function(e,t){return i.format(e,t,a.lng,q(q({},a),{},{interpolationkey:n[1].trim()}))}),r.trim())),e=e.replace(n[0],r),this.regexp.lastIndex=0}return e}}]),e}();function Y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Q(e){var t={};return function(n,r,o){var i=r+JSON.stringify(o),a=t[i];return a||(a=e(r,o),t[i]=a),a(n)}}var X=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,o.A)(this,e),this.logger=v.create("formatter"),this.options=t,this.formats={number:Q((function(e,t){var n=new Intl.NumberFormat(e,G({},t));return function(e){return n.format(e)}})),currency:Q((function(e,t){var n=new Intl.NumberFormat(e,G(G({},t),{},{style:"currency"}));return function(e){return n.format(e)}})),datetime:Q((function(e,t){var n=new Intl.DateTimeFormat(e,G({},t));return function(e){return n.format(e)}})),relativetime:Q((function(e,t){var n=new Intl.RelativeTimeFormat(e,G({},t));return function(e){return n.format(e,t.range||"day")}})),list:Q((function(e,t){var n=new Intl.ListFormat(e,G({},t));return function(e){return n.format(e)}}))},this.init(t)}return(0,i.A)(e,[{key:"init",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=Q(t)}},{key:"format",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce((function(e,t){var i=function(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var o=r[1].substring(0,r[1].length-1);"currency"===t&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach((function(e){if(e){var t=function(e){if(Array.isArray(e))return e}(i=e.split(":"))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}(i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r=t[0],o=t.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}var i}))}return{formatName:t,formatOptions:n}}(t),a=i.formatName,s=i.formatOptions;if(r.formats[a]){var u=e;try{var c=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},l=c.locale||c.lng||o.locale||o.lng||n;u=r.formats[a](e,l,G(G(G({},s),o),c))}catch(e){r.logger.warn(e)}return u}return r.logger.warn("there was no format function for ".concat(a)),e}),e)}}]),e}();function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ee(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var te=function(e){u(s,e);var t,n,r=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var o=l(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return c(this,e)});function s(e,t,n){var i,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,o.A)(this,s),i=r.call(this),L&&y.call(a(i)),i.backend=e,i.store=t,i.services=n,i.languageUtils=n.languageUtils,i.options=u,i.logger=v.create("backendConnector"),i.waitingReads=[],i.maxParallelReads=u.maxParallelReads||10,i.readingCalls=0,i.maxRetries=u.maxRetries>=0?u.maxRetries:5,i.retryTimeout=u.retryTimeout>=1?u.retryTimeout:350,i.state={},i.queue=[],i.backend&&i.backend.init&&i.backend.init(n,u.backend,u),i}return(0,i.A)(s,[{key:"queueLoad",value:function(e,t,n,r){var o=this,i={},a={},s={},u={};return e.forEach((function(e){var r=!0;t.forEach((function(t){var s="".concat(e,"|").concat(t);!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?void 0===a[s]&&(a[s]=!0):(o.state[s]=1,r=!1,void 0===a[s]&&(a[s]=!0),void 0===i[s]&&(i[s]=!0),void 0===u[t]&&(u[t]=!0)))})),r||(s[e]=!0)})),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(u)}}},{key:"loaded",value:function(e,t,n){var r=e.split("|"),o=r[0],i=r[1];t&&this.emit("failedLoading",o,i,t),n&&this.store.addResourceBundle(o,i,n),this.state[e]=t?-1:2;var a={};this.queue.forEach((function(n){var r,s,u,c,l;r=n.loaded,s=i,(c=(u=O(r,[o],Object)).obj)[l=u.k]=c[l]||[],c[l].push(s),function(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}(n,e),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach((function(e){a[e]||(a[e]={});var t=n.loaded[e];t.length&&t.forEach((function(t){void 0===a[e][t]&&(a[e][t]=!0)}))})),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads)this.waitingReads.push({lng:e,ns:t,fcName:n,tried:o,wait:i,callback:a});else{this.readingCalls++;var s=function(s,u){if(r.readingCalls--,r.waitingReads.length>0){var c=r.waitingReads.shift();r.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}s&&u&&o<r.maxRetries?setTimeout((function(){r.read.call(r,e,t,n,o+1,2*i,a)}),i):a(s,u)},u=this.backend[n].bind(this.backend);if(2!==u.length)return u(e,t,s);try{var c=u(e,t);c&&"function"==typeof c.then?c.then((function(e){return s(null,e)})).catch(s):s(null,c)}catch(e){s(e)}}}},{key:"prepareLoading",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach((function(e){n.loadOne(e)}))}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(function(r,a){r&&t.logger.warn("".concat(n,"loading namespace ").concat(i," for language ").concat(o," failed"),r),!r&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(i," for language ").concat(o),a),t.loaded(e,r,a)}))}},{key:"saveMissing",value:function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=n&&""!==n){if(this.backend&&this.backend.create){var s=ee(ee({},i),{},{isUpdate:o}),u=this.backend.create.bind(this.backend);if(u.length<6)try{var c;(c=5===u.length?u(e,t,n,r,s):u(e,t,n,r))&&"function"==typeof c.then?c.then((function(e){return a(null,e)})).catch(a):a(null,c)}catch(e){a(e)}else u(e,t,n,r,a,s)}e&&e[0]&&this.store.addResource(e[0],t,n,r)}}}]),s}(y);function ne(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===(0,r.A)(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===(0,r.A)(e[2])||"object"===(0,r.A)(e[3])){var n=e[3]||e[2];Object.keys(n).forEach((function(e){t[e]=n[e]}))}return t},interpolation:{escapeValue:!0,format:function(e,t,n,r){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function re(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){(0,f.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ae(){}var se=function(e){u(f,e);var t,n,s=(t=f,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var o=l(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return c(this,e)});function f(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,o.A)(this,f),e=s.call(this),L&&y.call(a(e)),e.options=re(n),e.services={},e.logger=v,e.modules={external:[]},t=a(e),Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach((function(e){"function"==typeof t[e]&&(t[e]=t[e].bind(t))})),r&&!e.isInitialized&&!n.isClone){if(!e.options.initImmediate)return e.init(n,r),c(e,a(e));setTimeout((function(){e.init(n,r)}),0)}return e}return(0,i.A)(f,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));var r=ne();function o(e){return e?"function"==typeof e?new e:e:null}if(this.options=ie(ie(ie({},r),this.options),re(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=ie(ie({},r.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var i;this.modules.logger?v.init(o(this.modules.logger),this.options):v.init(null,this.options),this.modules.formatter?i=this.modules.formatter:"undefined"!=typeof Intl&&(i=X);var a=new K(this.options);this.store=new E(this.options.resources,this.options);var s=this.services;s.logger=v,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new J(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!i||this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format||(s.formatter=o(i),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new W(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new te(o(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit.apply(e,[t].concat(r))})),this.modules.languageDetector&&(s.languageDetector=o(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=o(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new V(this.services,this.options),this.translator.on("*",(function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e.emit.apply(e,[t].concat(r))})),this.modules.external.forEach((function(t){t.init&&t.init(e)}))}if(this.format=this.options.interpolation.format,n||(n=ae),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&"dev"!==u[0]&&(this.options.lng=u[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}}));var c=m(),l=function(){var t=function(t,r){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),c.resolve(r),n(t,r)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),c}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,r="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return n();var o=[],i=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach((function(e){o.indexOf(e)<0&&o.push(e)}))};r?i(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((function(e){return i(e)})),this.options.preload&&this.options.preload.forEach((function(e){return i(e)})),this.services.backendConnector.load(o,this.options.ns,(function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),n(e)}))}else n(null)}},{key:"reloadResources",value:function(e,t,n){var r=m();return e||(e=this.languages),t||(t=this.options.ns),n||(n=ae),this.services.backendConnector.reload(e,t,(function(e){r.resolve(),n(e)})),r}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&D.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var r=m();this.emit("languageChanging",e);var o=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},i=function(i){e||i||!n.services.languageDetector||(i=[]);var a="string"==typeof i?i:n.services.languageUtils.getBestMatchFromCodes(i);a&&(n.language||o(a),n.translator.language||n.translator.changeLanguage(a),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage&&n.services.languageDetector.cacheUserLanguage(a)),n.loadResources(a,(function(e){!function(e,i){i?(o(i),n.translator.changeLanguage(i),n.isLanguageChangingTo=void 0,n.emit("languageChanged",i),n.logger.log("languageChanged",i)):n.isLanguageChangingTo=void 0,r.resolve((function(){return n.t.apply(n,arguments)})),t&&t(e,(function(){return n.t.apply(n,arguments)}))}(e,a)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}},{key:"getFixedT",value:function(e,t,n){var o=this,i=function e(t,i){var a;if("object"!==(0,r.A)(i)){for(var s=arguments.length,u=new Array(s>2?s-2:0),c=2;c<s;c++)u[c-2]=arguments[c];a=o.options.overloadTranslationOptionHandler([t,i].concat(u))}else a=ie({},i);a.lng=a.lng||e.lng,a.lngs=a.lngs||e.lngs,a.ns=a.ns||e.ns,a.keyPrefix=a.keyPrefix||n||e.keyPrefix;var l,f=o.options.keySeparator||".";return l=a.keyPrefix&&Array.isArray(t)?t.map((function(e){return"".concat(a.keyPrefix).concat(f).concat(e)})):a.keyPrefix?"".concat(a.keyPrefix).concat(f).concat(t):t,o.t(l,a)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var r=n.lng||this.resolvedLanguage||this.languages[0],o=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;var a=function(e,n){var r=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===r||2===r};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!(!this.hasResourceBundle(r,e)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!a(r,e)||o&&!a(i,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,r=m();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)})),this.loadResources((function(e){r.resolve(),t&&t(e)})),r):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=m();"string"==typeof e&&(e=[e]);var r=this.options.preload||[],o=e.filter((function(e){return r.indexOf(e)<0}));return o.length?(this.options.preload=r.concat(o),this.loadResources((function(e){n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";var t=this.services&&this.services.languageUtils||new K(ne());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae,r=ie(ie(ie({},this.options),t),{isClone:!0}),o=new f(r);return void 0===t.debug&&void 0===t.prefix||(o.logger=o.logger.clone(t)),["store","services","language"].forEach((function(t){o[t]=e[t]})),o.services=ie({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new V(o.services,o.options),o.translator.on("*",(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];o.emit.apply(o,[e].concat(n))})),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),f}(y);(0,f.A)(se,"createInstance",(function(){return new se(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}));var ue=se.createInstance();ue.createInstance=se.createInstance;var ce=ue.createInstance,le=ue.dir,fe=ue.init,pe=ue.loadResources,ge=ue.reloadResources,he=ue.use,de=ue.changeLanguage,ve=ue.getFixedT,ye=ue.t,me=ue.exists,be=ue.setDefaultNamespace,Oe=ue.hasLoadedNamespace,ke=ue.loadNamespaces,xe=ue.loadLanguages}}]);
2
+ //# sourceMappingURL=843.ac8d836c.js.map