@next-bricks/data-view 0.15.7 → 0.15.9

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 (224) hide show
  1. package/dist/bricks.json +3 -3
  2. package/dist/chunks/{1646.00f8ddfc.js → 1646.800c5e56.js} +2 -2
  3. package/dist/chunks/{7746.66872fcf.js.map → 1646.800c5e56.js.map} +1 -1
  4. package/dist/chunks/1874.a273dacc.js +2 -0
  5. package/dist/chunks/1874.a273dacc.js.map +1 -0
  6. package/dist/chunks/{2502.f7f556e2.js → 2502.d12fe43c.js} +2 -2
  7. package/dist/chunks/2502.d12fe43c.js.map +1 -0
  8. package/dist/chunks/3458.3f529505.js +2 -0
  9. package/dist/chunks/{3458.49e46648.js.map → 3458.3f529505.js.map} +1 -1
  10. package/dist/chunks/{4049.06228157.js → 4049.f3c6fa2c.js} +2 -2
  11. package/dist/chunks/4049.f3c6fa2c.js.map +1 -0
  12. package/dist/chunks/443.5c72124e.js +2 -0
  13. package/dist/chunks/443.5c72124e.js.map +1 -0
  14. package/dist/chunks/4991.165874d4.js +2 -0
  15. package/dist/chunks/4991.165874d4.js.map +1 -0
  16. package/dist/chunks/5114.f11910ec.js +2 -0
  17. package/dist/chunks/{5114.b49c7ffd.js.map → 5114.f11910ec.js.map} +1 -1
  18. package/dist/chunks/{5151.1c92f05d.js → 5151.5b1df597.js} +2 -2
  19. package/dist/chunks/5151.5b1df597.js.map +1 -0
  20. package/dist/chunks/5202.ff1675ae.js.map +1 -1
  21. package/dist/chunks/{5381.926a90e0.js → 5381.67057e34.js} +2 -2
  22. package/dist/chunks/{5381.926a90e0.js.map → 5381.67057e34.js.map} +1 -1
  23. package/dist/chunks/{5636.8046938c.js → 5636.e0080dc9.js} +2 -2
  24. package/dist/chunks/{5636.8046938c.js.map → 5636.e0080dc9.js.map} +1 -1
  25. package/dist/chunks/{5725.4e31534a.js → 5725.a33cc67f.js} +2 -2
  26. package/dist/chunks/{5725.4e31534a.js.map → 5725.a33cc67f.js.map} +1 -1
  27. package/dist/chunks/6205.e0ca5723.js +2 -0
  28. package/dist/chunks/{6205.fe7ef46f.js.map → 6205.e0ca5723.js.map} +1 -1
  29. package/dist/chunks/6301.d76aa7db.js +2 -0
  30. package/dist/chunks/6301.d76aa7db.js.map +1 -0
  31. package/dist/chunks/{6473.5bb88c66.js → 6473.033bb65d.js} +2 -2
  32. package/dist/chunks/{6473.5bb88c66.js.map → 6473.033bb65d.js.map} +1 -1
  33. package/dist/chunks/{6660.e3a0fca8.js → 6660.35d15a5a.js} +2 -2
  34. package/dist/chunks/{6660.e3a0fca8.js.map → 6660.35d15a5a.js.map} +1 -1
  35. package/dist/chunks/7164.d5fa73ec.js +2 -0
  36. package/dist/chunks/{7164.5ceba161.js.map → 7164.d5fa73ec.js.map} +1 -1
  37. package/dist/chunks/{7672.87ae5be6.js → 7672.2c894e14.js} +2 -2
  38. package/dist/chunks/{7672.87ae5be6.js.map → 7672.2c894e14.js.map} +1 -1
  39. package/dist/chunks/{7746.66872fcf.js → 7746.c5074280.js} +2 -2
  40. package/dist/chunks/{1646.00f8ddfc.js.map → 7746.c5074280.js.map} +1 -1
  41. package/dist/chunks/7782.2a51fa60.js +2 -0
  42. package/dist/chunks/7782.2a51fa60.js.map +1 -0
  43. package/dist/chunks/8498.8821e938.js.map +1 -1
  44. package/dist/chunks/8588.38b4d80c.js +2 -0
  45. package/dist/chunks/8588.38b4d80c.js.map +1 -0
  46. package/dist/chunks/8691.fa598c6a.js +2 -0
  47. package/dist/chunks/{8691.1f6ac1b8.js.map → 8691.fa598c6a.js.map} +1 -1
  48. package/dist/chunks/9549.223583b0.js.map +1 -1
  49. package/dist/chunks/app-wall-card-item.66073883.js +3 -0
  50. package/dist/chunks/app-wall-card-item.66073883.js.map +1 -0
  51. package/dist/chunks/app-wall-relation-line.b465193b.js +3 -0
  52. package/dist/chunks/app-wall-relation-line.b465193b.js.map +1 -0
  53. package/dist/chunks/app-wall-system-card.0f4c459b.js +2 -0
  54. package/dist/chunks/app-wall-system-card.0f4c459b.js.map +1 -0
  55. package/dist/chunks/app-wall.97e70d76.js +2 -0
  56. package/dist/chunks/app-wall.97e70d76.js.map +1 -0
  57. package/dist/chunks/battery-chart.83bdf03f.js +2 -0
  58. package/dist/chunks/battery-chart.83bdf03f.js.map +1 -0
  59. package/dist/chunks/brick-notification.c5b64b84.js +2 -0
  60. package/dist/chunks/brick-notification.c5b64b84.js.map +1 -0
  61. package/dist/chunks/cabinet-app-layer.2497f75d.js +3 -0
  62. package/dist/chunks/cabinet-app-layer.2497f75d.js.map +1 -0
  63. package/dist/chunks/cabinet-button.b7c691c4.js +2 -0
  64. package/dist/chunks/cabinet-button.b7c691c4.js.map +1 -0
  65. package/dist/chunks/cabinet-container.c7fedd36.js +3 -0
  66. package/dist/chunks/cabinet-container.c7fedd36.js.map +1 -0
  67. package/dist/chunks/cabinet-graph.c542ef6e.js +2 -0
  68. package/dist/chunks/cabinet-graph.c542ef6e.js.map +1 -0
  69. package/dist/chunks/cabinet-node.4cfbd18d.js +3 -0
  70. package/dist/chunks/cabinet-node.4cfbd18d.js.map +1 -0
  71. package/dist/chunks/cabinet-thumbnail.7d897c3a.js +3 -0
  72. package/dist/chunks/cabinet-thumbnail.7d897c3a.js.map +1 -0
  73. package/dist/chunks/complex-search.a31b8d52.js +2 -0
  74. package/dist/chunks/complex-search.a31b8d52.js.map +1 -0
  75. package/dist/chunks/dropdown-menu.5f4a483a.js +3 -0
  76. package/dist/chunks/dropdown-menu.5f4a483a.js.map +1 -0
  77. package/dist/chunks/gauge-chart.a350ab36.js +2 -0
  78. package/dist/chunks/gauge-chart.a350ab36.js.map +1 -0
  79. package/dist/chunks/gear-background.234ee2d9.js +2 -0
  80. package/dist/chunks/gear-background.234ee2d9.js.map +1 -0
  81. package/dist/chunks/graph-layout-grid.e3e65333.js +2 -0
  82. package/dist/chunks/graph-layout-grid.e3e65333.js.map +1 -0
  83. package/dist/chunks/graph-node.f706e033.js +2 -0
  84. package/dist/chunks/graph-node.f706e033.js.map +1 -0
  85. package/dist/chunks/graph-text.db252964.js +2 -0
  86. package/dist/chunks/graph-text.db252964.js.map +1 -0
  87. package/dist/chunks/grid-background.a3f86d68.js +2 -0
  88. package/dist/chunks/grid-background.a3f86d68.js.map +1 -0
  89. package/dist/chunks/hi-tech-button.60b508d3.js +2 -0
  90. package/dist/chunks/hi-tech-button.60b508d3.js.map +1 -0
  91. package/dist/chunks/lights-component-title.66d2917b.js +2 -0
  92. package/dist/chunks/lights-component-title.66d2917b.js.map +1 -0
  93. package/dist/chunks/loading-panel.3550101b.js +2 -0
  94. package/dist/chunks/loading-panel.3550101b.js.map +1 -0
  95. package/dist/chunks/main.ffd01c4c.js +2 -0
  96. package/dist/chunks/main.ffd01c4c.js.map +1 -0
  97. package/dist/chunks/modern-style-component-title.5ffd3936.js +2 -0
  98. package/dist/chunks/modern-style-component-title.5ffd3936.js.map +1 -0
  99. package/dist/chunks/modern-style-page-title.a71d5704.js +2 -0
  100. package/dist/chunks/modern-style-page-title.a71d5704.js.map +1 -0
  101. package/dist/chunks/modern-style-treemap.f604b3cc.js +3 -0
  102. package/dist/chunks/modern-style-treemap.f604b3cc.js.map +1 -0
  103. package/dist/chunks/particle-animation.5cdf0004.js +2 -0
  104. package/dist/chunks/particle-animation.5cdf0004.js.map +1 -0
  105. package/dist/chunks/radar-chart.cedd89b0.js +2 -0
  106. package/dist/chunks/radar-chart.cedd89b0.js.map +1 -0
  107. package/dist/chunks/tabs-drawer.126f7cec.js +3 -0
  108. package/dist/chunks/tabs-drawer.126f7cec.js.map +1 -0
  109. package/dist/chunks/tabs-page-title.9c6318ac.js +3 -0
  110. package/dist/chunks/tabs-page-title.9c6318ac.js.map +1 -0
  111. package/dist/chunks/tech-mesh-base-view.de782fc2.js +2 -0
  112. package/dist/chunks/tech-mesh-base-view.de782fc2.js.map +1 -0
  113. package/dist/chunks/title-text.f14ab430.js +2 -0
  114. package/dist/chunks/title-text.f14ab430.js.map +1 -0
  115. package/dist/chunks/top-title-bar.34d11dd5.js +2 -0
  116. package/dist/chunks/top-title-bar.34d11dd5.js.map +1 -0
  117. package/dist/examples.json +4 -4
  118. package/dist/index.73fee407.js +2 -0
  119. package/dist/index.73fee407.js.map +1 -0
  120. package/dist/manifest.json +22 -22
  121. package/dist/types.json +46 -46
  122. package/package.json +4 -4
  123. package/dist/chunks/1874.00bcad23.js +0 -2
  124. package/dist/chunks/1874.00bcad23.js.map +0 -1
  125. package/dist/chunks/2502.f7f556e2.js.map +0 -1
  126. package/dist/chunks/2618.3b734d5a.js +0 -2
  127. package/dist/chunks/2618.3b734d5a.js.map +0 -1
  128. package/dist/chunks/2754.63e58b26.js +0 -2
  129. package/dist/chunks/2754.63e58b26.js.map +0 -1
  130. package/dist/chunks/3458.49e46648.js +0 -2
  131. package/dist/chunks/4049.06228157.js.map +0 -1
  132. package/dist/chunks/4770.7549442e.js +0 -2
  133. package/dist/chunks/4770.7549442e.js.map +0 -1
  134. package/dist/chunks/4791.ff1d135f.js +0 -2
  135. package/dist/chunks/4791.ff1d135f.js.map +0 -1
  136. package/dist/chunks/5114.b49c7ffd.js +0 -2
  137. package/dist/chunks/5151.1c92f05d.js.map +0 -1
  138. package/dist/chunks/6205.fe7ef46f.js +0 -2
  139. package/dist/chunks/6301.901eb313.js +0 -2
  140. package/dist/chunks/6301.901eb313.js.map +0 -1
  141. package/dist/chunks/7164.5ceba161.js +0 -2
  142. package/dist/chunks/7782.3293aac7.js +0 -2
  143. package/dist/chunks/7782.3293aac7.js.map +0 -1
  144. package/dist/chunks/8691.1f6ac1b8.js +0 -2
  145. package/dist/chunks/app-wall-card-item.940bfb27.js +0 -3
  146. package/dist/chunks/app-wall-card-item.940bfb27.js.map +0 -1
  147. package/dist/chunks/app-wall-relation-line.7d23426d.js +0 -3
  148. package/dist/chunks/app-wall-relation-line.7d23426d.js.map +0 -1
  149. package/dist/chunks/app-wall-system-card.bde6830e.js +0 -2
  150. package/dist/chunks/app-wall-system-card.bde6830e.js.map +0 -1
  151. package/dist/chunks/app-wall.7cdabbf0.js +0 -2
  152. package/dist/chunks/app-wall.7cdabbf0.js.map +0 -1
  153. package/dist/chunks/battery-chart.a80664a9.js +0 -2
  154. package/dist/chunks/battery-chart.a80664a9.js.map +0 -1
  155. package/dist/chunks/brick-notification.921c2ed3.js +0 -2
  156. package/dist/chunks/brick-notification.921c2ed3.js.map +0 -1
  157. package/dist/chunks/cabinet-app-layer.f6d22c56.js +0 -3
  158. package/dist/chunks/cabinet-app-layer.f6d22c56.js.map +0 -1
  159. package/dist/chunks/cabinet-button.6b3d36f2.js +0 -2
  160. package/dist/chunks/cabinet-button.6b3d36f2.js.map +0 -1
  161. package/dist/chunks/cabinet-container.254c9686.js +0 -3
  162. package/dist/chunks/cabinet-container.254c9686.js.map +0 -1
  163. package/dist/chunks/cabinet-graph.c81b9297.js +0 -2
  164. package/dist/chunks/cabinet-graph.c81b9297.js.map +0 -1
  165. package/dist/chunks/cabinet-node.9c0cd3b5.js +0 -3
  166. package/dist/chunks/cabinet-node.9c0cd3b5.js.map +0 -1
  167. package/dist/chunks/cabinet-thumbnail.239c0a33.js +0 -3
  168. package/dist/chunks/cabinet-thumbnail.239c0a33.js.map +0 -1
  169. package/dist/chunks/complex-search.c5435741.js +0 -2
  170. package/dist/chunks/complex-search.c5435741.js.map +0 -1
  171. package/dist/chunks/dropdown-menu.122b99af.js +0 -3
  172. package/dist/chunks/dropdown-menu.122b99af.js.map +0 -1
  173. package/dist/chunks/gauge-chart.97728202.js +0 -2
  174. package/dist/chunks/gauge-chart.97728202.js.map +0 -1
  175. package/dist/chunks/gear-background.aa9c8881.js +0 -2
  176. package/dist/chunks/gear-background.aa9c8881.js.map +0 -1
  177. package/dist/chunks/graph-layout-grid.9945798d.js +0 -2
  178. package/dist/chunks/graph-layout-grid.9945798d.js.map +0 -1
  179. package/dist/chunks/graph-node.3b722d4b.js +0 -2
  180. package/dist/chunks/graph-node.3b722d4b.js.map +0 -1
  181. package/dist/chunks/graph-text.9e3f6f43.js +0 -2
  182. package/dist/chunks/graph-text.9e3f6f43.js.map +0 -1
  183. package/dist/chunks/grid-background.5500a391.js +0 -2
  184. package/dist/chunks/grid-background.5500a391.js.map +0 -1
  185. package/dist/chunks/hi-tech-button.fc429ec7.js +0 -2
  186. package/dist/chunks/hi-tech-button.fc429ec7.js.map +0 -1
  187. package/dist/chunks/lights-component-title.87c1f519.js +0 -2
  188. package/dist/chunks/lights-component-title.87c1f519.js.map +0 -1
  189. package/dist/chunks/loading-panel.e90ef9a2.js +0 -2
  190. package/dist/chunks/loading-panel.e90ef9a2.js.map +0 -1
  191. package/dist/chunks/main.8dc5a4db.js +0 -2
  192. package/dist/chunks/main.8dc5a4db.js.map +0 -1
  193. package/dist/chunks/modern-style-component-title.122c04c8.js +0 -2
  194. package/dist/chunks/modern-style-component-title.122c04c8.js.map +0 -1
  195. package/dist/chunks/modern-style-page-title.9c5b4fe4.js +0 -2
  196. package/dist/chunks/modern-style-page-title.9c5b4fe4.js.map +0 -1
  197. package/dist/chunks/modern-style-treemap.fe91c398.js +0 -3
  198. package/dist/chunks/modern-style-treemap.fe91c398.js.map +0 -1
  199. package/dist/chunks/particle-animation.cc736d30.js +0 -2
  200. package/dist/chunks/particle-animation.cc736d30.js.map +0 -1
  201. package/dist/chunks/radar-chart.5de4e675.js +0 -2
  202. package/dist/chunks/radar-chart.5de4e675.js.map +0 -1
  203. package/dist/chunks/tabs-drawer.000b4e3e.js +0 -3
  204. package/dist/chunks/tabs-drawer.000b4e3e.js.map +0 -1
  205. package/dist/chunks/tabs-page-title.d7f34cdf.js +0 -3
  206. package/dist/chunks/tabs-page-title.d7f34cdf.js.map +0 -1
  207. package/dist/chunks/tech-mesh-base-view.e6d45c37.js +0 -2
  208. package/dist/chunks/tech-mesh-base-view.e6d45c37.js.map +0 -1
  209. package/dist/chunks/title-text.1dac106c.js +0 -2
  210. package/dist/chunks/title-text.1dac106c.js.map +0 -1
  211. package/dist/chunks/top-title-bar.0a07a3e1.js +0 -2
  212. package/dist/chunks/top-title-bar.0a07a3e1.js.map +0 -1
  213. package/dist/index.9de5fa0d.js +0 -2
  214. package/dist/index.9de5fa0d.js.map +0 -1
  215. /package/dist/chunks/{app-wall-card-item.940bfb27.js.LICENSE.txt → app-wall-card-item.66073883.js.LICENSE.txt} +0 -0
  216. /package/dist/chunks/{app-wall-relation-line.7d23426d.js.LICENSE.txt → app-wall-relation-line.b465193b.js.LICENSE.txt} +0 -0
  217. /package/dist/chunks/{cabinet-app-layer.f6d22c56.js.LICENSE.txt → cabinet-app-layer.2497f75d.js.LICENSE.txt} +0 -0
  218. /package/dist/chunks/{cabinet-container.254c9686.js.LICENSE.txt → cabinet-container.c7fedd36.js.LICENSE.txt} +0 -0
  219. /package/dist/chunks/{cabinet-node.9c0cd3b5.js.LICENSE.txt → cabinet-node.4cfbd18d.js.LICENSE.txt} +0 -0
  220. /package/dist/chunks/{cabinet-thumbnail.239c0a33.js.LICENSE.txt → cabinet-thumbnail.7d897c3a.js.LICENSE.txt} +0 -0
  221. /package/dist/chunks/{dropdown-menu.122b99af.js.LICENSE.txt → dropdown-menu.5f4a483a.js.LICENSE.txt} +0 -0
  222. /package/dist/chunks/{modern-style-treemap.fe91c398.js.LICENSE.txt → modern-style-treemap.f604b3cc.js.LICENSE.txt} +0 -0
  223. /package/dist/chunks/{tabs-drawer.000b4e3e.js.LICENSE.txt → tabs-drawer.126f7cec.js.LICENSE.txt} +0 -0
  224. /package/dist/chunks/{tabs-page-title.d7f34cdf.js.LICENSE.txt → tabs-page-title.9c6318ac.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[4991],{4991:(t,e,s)=>{s.r(e),s.d(e,{changeLanguage:()=>q,createInstance:()=>M,default:()=>K,dir:()=>H,exists:()=>G,getFixedT:()=>W,hasLoadedNamespace:()=>X,init:()=>B,loadLanguages:()=>tt,loadNamespaces:()=>Z,loadResources:()=>J,reloadResources:()=>z,setDefaultNamespace:()=>Q,t:()=>Y,use:()=>_});const i={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console&&console[t]&&console[t].apply(console,e)}};class n{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(t,e)}init(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=e.prefix||"i18next:",this.logger=t||i,this.options=e,this.debug=e.debug}log(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"log","",!0)}warn(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"warn","",!0)}error(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"error","")}deprecate(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(t,e,s,i){return i&&!this.debug?null:("string"==typeof t[0]&&(t[0]=`${s}${this.prefix} ${t[0]}`),this.logger[e](t))}create(t){return new n(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new n(this.logger,t)}}var o=new n;class r{constructor(){this.observers={}}on(t,e){return t.split(" ").forEach((t=>{this.observers[t]=this.observers[t]||[],this.observers[t].push(e)})),this}off(t,e){this.observers[t]&&(e?this.observers[t]=this.observers[t].filter((t=>t!==e)):delete this.observers[t])}emit(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];this.observers[t]&&[].concat(this.observers[t]).forEach((t=>{t(...s)})),this.observers["*"]&&[].concat(this.observers["*"]).forEach((e=>{e.apply(e,[t,...s])}))}}function a(){let t,e;const s=new Promise(((s,i)=>{t=s,e=i}));return s.resolve=t,s.reject=e,s}function l(t){return null==t?"":""+t}function u(t,e,s){function i(t){return t&&t.indexOf("###")>-1?t.replace(/###/g,"."):t}function n(){return!t||"string"==typeof t}const o="string"!=typeof e?[].concat(e):e.split(".");for(;o.length>1;){if(n())return{};const e=i(o.shift());!t[e]&&s&&(t[e]=new s),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{}}return n()?{}:{obj:t,k:i(o.shift())}}function h(t,e,s){const{obj:i,k:n}=u(t,e,Object);i[n]=s}function c(t,e){const{obj:s,k:i}=u(t,e);if(s)return s[i]}function p(t,e,s){for(const i in e)"__proto__"!==i&&"constructor"!==i&&(i in t?"string"==typeof t[i]||t[i]instanceof String||"string"==typeof e[i]||e[i]instanceof String?s&&(t[i]=e[i]):p(t[i],e[i],s):t[i]=e[i]);return t}function g(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var d={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function f(t){return"string"==typeof t?t.replace(/[&<>"'\/]/g,(t=>d[t])):t}const m=[" ",",","?","!",";"];function y(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!t)return;if(t[e])return t[e];const i=e.split(s);let n=t;for(let t=0;t<i.length;++t){if(!n)return;if("string"==typeof n[i[t]]&&t+1<i.length)return;if(void 0===n[i[t]]){let o=2,r=i.slice(t,t+o).join(s),a=n[r];for(;void 0===a&&i.length>t+o;)o++,r=i.slice(t,t+o).join(s),a=n[r];if(void 0===a)return;if(null===a)return null;if(e.endsWith(r)){if("string"==typeof a)return a;if(r&&"string"==typeof a[r])return a[r]}const l=i.slice(t+o).join(s);return l?y(a,l,s):void 0}n=n[i[t]]}return n}function v(t){return t&&t.indexOf("_")>0?t.replace("_","-"):t}class b extends r{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let r=[t,e];s&&"string"!=typeof s&&(r=r.concat(s)),s&&"string"==typeof s&&(r=r.concat(n?s.split(n):s)),t.indexOf(".")>-1&&(r=t.split("."));const a=c(this.data,r);return a||!o||"string"!=typeof s?a:y(this.data&&this.data[t]&&this.data[t][e],s,n)}addResource(t,e,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[t,e];s&&(r=r.concat(o?s.split(o):s)),t.indexOf(".")>-1&&(r=t.split("."),i=e,e=r[1]),this.addNamespaces(e),h(this.data,r,i),n.silent||this.emit("added",t,e,s,i)}addResources(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const i in s)"string"!=typeof s[i]&&"[object Array]"!==Object.prototype.toString.apply(s[i])||this.addResource(t,e,i,s[i],{silent:!0});i.silent||this.emit("added",t,e,s)}addResourceBundle(t,e,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},r=[t,e];t.indexOf(".")>-1&&(r=t.split("."),i=s,s=e,e=r[1]),this.addNamespaces(e);let a=c(this.data,r)||{};i?p(a,s,n):a={...a,...s},h(this.data,r,a),o.silent||this.emit("added",t,e,s)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return void 0!==this.getResource(t,e)}getResourceBundle(t,e){return e||(e=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(t,e)}:this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find((t=>e[t]&&Object.keys(e[t]).length>0))}toJSON(){return this.data}}var x={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,s,i,n){return t.forEach((t=>{this.processors[t]&&(e=this.processors[t].process(e,s,i,n))})),e}};const S={};class k extends r{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),function(t,e,s){["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((t=>{e[t]&&(s[t]=e[t])}))}(0,t,this),this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=o.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==t)return!1;const s=this.resolve(t,e);return s&&void 0!==s.res}extractFromKey(t,e){let s=void 0!==e.nsSeparator?e.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const i=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator;let n=e.ns||this.options.defaultNS||[];const o=s&&t.indexOf(s)>-1,r=!(this.options.userDefinedKeySeparator||e.keySeparator||this.options.userDefinedNsSeparator||e.nsSeparator||function(t,e,s){e=e||"",s=s||"";const i=m.filter((t=>e.indexOf(t)<0&&s.indexOf(t)<0));if(0===i.length)return!0;const n=new RegExp(`(${i.map((t=>"?"===t?"\\?":t)).join("|")})`);let o=!n.test(t);if(!o){const e=t.indexOf(s);e>0&&!n.test(t.substring(0,e))&&(o=!0)}return o}(t,s,i));if(o&&!r){const e=t.match(this.interpolator.nestingRegexp);if(e&&e.length>0)return{key:t,namespaces:n};const o=t.split(s);(s!==i||s===i&&this.options.ns.indexOf(o[0])>-1)&&(n=o.shift()),t=o.join(i)}return"string"==typeof n&&(n=[n]),{key:t,namespaces:n}}translate(t,e,s){if("object"!=typeof e&&this.options.overloadTranslationOptionHandler&&(e=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof e&&(e={...e}),e||(e={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);const i=void 0!==e.returnDetails?e.returnDetails:this.options.returnDetails,n=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator,{key:o,namespaces:r}=this.extractFromKey(t[t.length-1],e),a=r[r.length-1],l=e.lng||this.language,u=e.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){const t=e.nsSeparator||this.options.nsSeparator;return i?{res:`${a}${t}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a}:`${a}${t}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a}:o}const h=this.resolve(t,e);let c=h&&h.res;const p=h&&h.usedKey||o,g=h&&h.exactUsedKey||o,d=Object.prototype.toString.apply(c),f=void 0!==e.joinArrays?e.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&c&&"string"!=typeof c&&"boolean"!=typeof c&&"number"!=typeof c&&["[object Number]","[object Function]","[object RegExp]"].indexOf(d)<0&&("string"!=typeof f||"[object Array]"!==d)){if(!e.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const t=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,c,{...e,ns:r}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=t,h):t}if(n){const t="[object Array]"===d,s=t?[]:{},i=t?g:p;for(const t in c)if(Object.prototype.hasOwnProperty.call(c,t)){const o=`${i}${n}${t}`;s[t]=this.translate(o,{...e,joinArrays:!1,ns:r}),s[t]===o&&(s[t]=c[t])}c=s}}else if(m&&"string"==typeof f&&"[object Array]"===d)c=c.join(f),c&&(c=this.extendTranslation(c,t,e,s));else{let i=!1,r=!1;const u=void 0!==e.count&&"string"!=typeof e.count,p=k.hasDefaultValue(e),g=u?this.pluralResolver.getSuffix(l,e.count,e):"",d=e.ordinal&&u?this.pluralResolver.getSuffix(l,e.count,{ordinal:!1}):"",f=e[`defaultValue${g}`]||e[`defaultValue${d}`]||e.defaultValue;!this.isValidLookup(c)&&p&&(i=!0,c=f),this.isValidLookup(c)||(r=!0,c=o);const m=(e.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&r?void 0:c,y=p&&f!==c&&this.options.updateMissing;if(r||i||y){if(this.logger.log(y?"updateKey":"missingKey",l,a,o,y?f:c),n){const t=this.resolve(o,{...e,keySeparator:!1});t&&t.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.")}let t=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,e.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let e=0;e<s.length;e++)t.push(s[e]);else"all"===this.options.saveMissingTo?t=this.languageUtils.toResolveHierarchy(e.lng||this.language):t.push(e.lng||this.language);const i=(t,s,i)=>{const n=p&&i!==c?i:m;this.options.missingKeyHandler?this.options.missingKeyHandler(t,a,s,n,y,e):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(t,a,s,n,y,e),this.emit("missingKey",t,a,s,c)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?t.forEach((t=>{this.pluralResolver.getSuffixes(t,e).forEach((s=>{i([t],o+s,e[`defaultValue${s}`]||f)}))})):i(t,o,f))}c=this.extendTranslation(c,t,e,h,s),r&&c===o&&this.options.appendNamespaceToMissingKey&&(c=`${a}:${o}`),(r||i)&&this.options.parseMissingKeyHandler&&(c="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${a}:${o}`:o,i?c:void 0):this.options.parseMissingKeyHandler(c))}return i?(h.res=c,h):c}extendTranslation(t,e,s,i,n){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const r="string"==typeof t&&(s&&s.interpolation&&void 0!==s.interpolation.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let a;if(r){const e=t.match(this.interpolator.nestingRegexp);a=e&&e.length}let l=s.replace&&"string"!=typeof s.replace?s.replace:s;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,s.lng||this.language,s),r){const e=t.match(this.interpolator.nestingRegexp);a<(e&&e.length)&&(s.nest=!1)}!s.lng&&"v1"!==this.options.compatibilityAPI&&i&&i.res&&(s.lng=i.usedLng),!1!==s.nest&&(t=this.interpolator.nest(t,(function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];return n&&n[0]===i[0]&&!s.context?(o.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${e[0]}`),null):o.translate(...i,e)}),s)),s.interpolation&&this.interpolator.reset()}const r=s.postProcess||this.options.postProcess,a="string"==typeof r?[r]:r;return null!=t&&a&&a.length&&!1!==s.applyPostProcessor&&(t=x.handle(a,t,e,this.options&&this.options.postProcessPassResolved?{i18nResolved:i,...s}:s,this)),t}resolve(t){let e,s,i,n,o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof t&&(t=[t]),t.forEach((t=>{if(this.isValidLookup(e))return;const a=this.extractFromKey(t,r),l=a.key;s=l;let u=a.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==r.count&&"string"!=typeof r.count,c=h&&!r.ordinal&&0===r.count&&this.pluralResolver.shouldUseIntlApi(),p=void 0!==r.context&&("string"==typeof r.context||"number"==typeof r.context)&&""!==r.context,g=r.lngs?r.lngs:this.languageUtils.toResolveHierarchy(r.lng||this.language,r.fallbackLng);u.forEach((t=>{this.isValidLookup(e)||(o=t,!S[`${g[0]}-${t}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(S[`${g[0]}-${t}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" 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!!!")),g.forEach((s=>{if(this.isValidLookup(e))return;n=s;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,s,t,r);else{let t;h&&(t=this.pluralResolver.getSuffix(s,r.count,r));const e=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(o.push(l+t),r.ordinal&&0===t.indexOf(i)&&o.push(l+t.replace(i,this.options.pluralSeparator)),c&&o.push(l+e)),p){const s=`${l}${this.options.contextSeparator}${r.context}`;o.push(s),h&&(o.push(s+t),r.ordinal&&0===t.indexOf(i)&&o.push(s+t.replace(i,this.options.pluralSeparator)),c&&o.push(s+e))}}let a;for(;a=o.pop();)this.isValidLookup(e)||(i=a,e=this.getResource(s,t,a,r))})))}))})),{res:e,usedKey:s,exactUsedKey:i,usedLng:n,usedNS:o}}isValidLookup(t){return!(void 0===t||!this.options.returnNull&&null===t||!this.options.returnEmptyString&&""===t)}getResource(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,e,s,i):this.resourceStore.getResource(t,e,s,i)}static hasDefaultValue(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&"defaultValue"===e.substring(0,12)&&void 0!==t[e])return!0;return!1}}function L(t){return t.charAt(0).toUpperCase()+t.slice(1)}class w{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=o.create("languageUtils")}getScriptPartFromCode(t){if(!(t=v(t))||t.indexOf("-")<0)return null;const e=t.split("-");return 2===e.length?null:(e.pop(),"x"===e[e.length-1].toLowerCase()?null:this.formatLanguageCode(e.join("-")))}getLanguagePartFromCode(t){if(!(t=v(t))||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if("string"==typeof t&&t.indexOf("-")>-1){const e=["hans","hant","latn","cyrl","cans","mong","arab"];let s=t.split("-");return this.options.lowerCaseLng?s=s.map((t=>t.toLowerCase())):2===s.length?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),e.indexOf(s[1].toLowerCase())>-1&&(s[1]=L(s[1].toLowerCase()))):3===s.length&&(s[0]=s[0].toLowerCase(),2===s[1].length&&(s[1]=s[1].toUpperCase()),"sgn"!==s[0]&&2===s[2].length&&(s[2]=s[2].toUpperCase()),e.indexOf(s[1].toLowerCase())>-1&&(s[1]=L(s[1].toLowerCase())),e.indexOf(s[2].toLowerCase())>-1&&(s[2]=L(s[2].toLowerCase()))),s.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach((t=>{if(e)return;const s=this.formatLanguageCode(t);this.options.supportedLngs&&!this.isSupportedCode(s)||(e=s)})),!e&&this.options.supportedLngs&&t.forEach((t=>{if(e)return;const s=this.getLanguagePartFromCode(t);if(this.isSupportedCode(s))return e=s;e=this.options.supportedLngs.find((t=>t===s?t:t.indexOf("-")<0&&s.indexOf("-")<0?void 0:0===t.indexOf(s)?t:void 0))})),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if("function"==typeof t&&(t=t(e)),"string"==typeof t&&(t=[t]),"[object Array]"===Object.prototype.toString.apply(t))return t;if(!e)return t.default||[];let s=t[e];return s||(s=t[this.getScriptPartFromCode(e)]),s||(s=t[this.formatLanguageCode(e)]),s||(s=t[this.getLanguagePartFromCode(e)]),s||(s=t.default),s||[]}toResolveHierarchy(t,e){const s=this.getFallbackCodes(e||this.options.fallbackLng||[],t),i=[],n=t=>{t&&(this.isSupportedCode(t)?i.push(t):this.logger.warn(`rejecting language code not found in supportedLngs: ${t}`))};return"string"==typeof t&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(t))):"string"==typeof t&&n(this.formatLanguageCode(t)),s.forEach((t=>{i.indexOf(t)<0&&n(this.formatLanguageCode(t))})),i}}let O=[{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}],N={1:function(t){return Number(t>1)},2:function(t){return Number(1!=t)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(0==t?0:1==t?1:2==t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(1==t?0:t>=2&&t<=4?1:2)},7:function(t){return Number(1==t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(1==t?0:2==t?1:8!=t&&11!=t?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(1==t?0:2==t?1:t<7?2:t<11?3:4)},11:function(t){return Number(1==t||11==t?0:2==t||12==t?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(0!==t)},14:function(t){return Number(1==t?0:2==t?1:3==t?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:0!==t?1:2)},17:function(t){return Number(1==t||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(0==t?0:1==t?1:2)},19:function(t){return Number(1==t?0:0==t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(1==t?0:0==t||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(1==t?0:2==t?1:(t<0||t>10)&&t%10==0?2:3)}};const R=["v1","v2","v3"],$=["v4"],C={zero:0,one:1,two:2,few:3,many:4,other:5};class P{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=t,this.options=e,this.logger=o.create("pluralResolver"),this.options.compatibilityJSON&&!$.includes(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=function(){const t={};return O.forEach((e=>{e.lngs.forEach((s=>{t[s]={numbers:e.nr,plurals:N[e.fc]}}))})),t}()}addRule(t,e){this.rules[t]=e}getRule(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(v(t),{type:e.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(t,e);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(t,s).map((t=>`${e}${t}`))}getSuffixes(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(t,e);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort(((t,e)=>C[t]-C[e])).map((t=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${t}`)):s.numbers.map((s=>this.getSuffix(t,s,e))):[]}getSuffix(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(t,s);return i?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(e)}`:this.getSuffixRetroCompatible(i,e):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,e){const s=t.noAbs?t.plurals(e):t.plurals(Math.abs(e));let i=t.numbers[s];this.options.simplifyPluralSuffix&&2===t.numbers.length&&1===t.numbers[0]&&(2===i?i="plural":1===i&&(i=""));const n=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?`_plural_${i.toString()}`:n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===t.numbers.length&&1===t.numbers[0]?n():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!R.includes(this.options.compatibilityJSON)}}function j(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=function(t,e,s){const i=c(t,s);return void 0!==i?i:c(e,s)}(t,e,s);return!o&&n&&"string"==typeof s&&(o=y(t,s,i),void 0===o&&(o=y(e,s,i))),o}class E{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(t=>t),this.init(t)}init(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const e=t.interpolation;this.escape=void 0!==e.escape?e.escape:f,this.escapeValue=void 0===e.escapeValue||e.escapeValue,this.useRawValueToEscape=void 0!==e.useRawValueToEscape&&e.useRawValueToEscape,this.prefix=e.prefix?g(e.prefix):e.prefixEscaped||"{{",this.suffix=e.suffix?g(e.suffix):e.suffixEscaped||"}}",this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||",",this.unescapePrefix=e.unescapeSuffix?"":e.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":e.unescapeSuffix||"",this.nestingPrefix=e.nestingPrefix?g(e.nestingPrefix):e.nestingPrefixEscaped||g("$t("),this.nestingSuffix=e.nestingSuffix?g(e.nestingSuffix):e.nestingSuffixEscaped||g(")"),this.nestingOptionsSeparator=e.nestingOptionsSeparator?e.nestingOptionsSeparator:e.nestingOptionsSeparator||",",this.maxReplaces=e.maxReplaces?e.maxReplaces:1e3,this.alwaysFormat=void 0!==e.alwaysFormat&&e.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const e=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(e,"g");const s=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(s,"g")}interpolate(t,e,s,i){let n,o,r;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(t){return t.replace(/\$/g,"$$$$")}const h=t=>{if(t.indexOf(this.formatSeparator)<0){const n=j(e,a,t,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,s,{...i,...e,interpolationkey:t}):n}const n=t.split(this.formatSeparator),o=n.shift().trim(),r=n.join(this.formatSeparator).trim();return this.format(j(e,a,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...i,...e,interpolationkey:o})};this.resetRegExp();const c=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,p=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:t=>u(t)},{regex:this.regexp,safeValue:t=>this.escapeValue?u(this.escape(t)):u(t)}].forEach((e=>{for(r=0;n=e.regex.exec(t);){const s=n[1].trim();if(o=h(s),void 0===o)if("function"==typeof c){const e=c(t,n,i);o="string"==typeof e?e:""}else if(i&&Object.prototype.hasOwnProperty.call(i,s))o="";else{if(p){o=n[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${t}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=l(o));const a=e.safeValue(o);if(t=t.replace(n[0],a),p?(e.regex.lastIndex+=o.length,e.regex.lastIndex-=n[0].length):e.regex.lastIndex=0,r++,r>=this.maxReplaces)break}})),t}nest(t,e){let s,i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function r(t,e){const s=this.nestingOptionsSeparator;if(t.indexOf(s)<0)return t;const i=t.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;t=i[0],o=this.interpolate(o,n);const r=o.match(/'/g),a=o.match(/"/g);(r&&r.length%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{n=JSON.parse(o),e&&(n={...e,...n})}catch(e){return this.logger.warn(`failed parsing options string in nesting for key ${t}`,e),`${t}${s}${o}`}return delete n.defaultValue,t}for(;s=this.nestingRegexp.exec(t);){let a=[];n={...o},n=n.replace&&"string"!=typeof n.replace?n.replace:n,n.applyPostProcessor=!1,delete n.defaultValue;let u=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const t=s[1].split(this.formatSeparator).map((t=>t.trim()));s[1]=t.shift(),a=t,u=!0}if(i=e(r.call(this,s[1].trim(),n),n),i&&s[0]===t&&"string"!=typeof i)return i;"string"!=typeof i&&(i=l(i)),i||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${t}`),i=""),u&&(i=a.reduce(((t,e)=>this.format(t,e,o.lng,{...o,interpolationkey:s[1].trim()})),i.trim())),t=t.replace(s[0],i),this.regexp.lastIndex=0}return t}}function F(t){const e={};return function(s,i,n){const o=i+JSON.stringify(n);let r=e[o];return r||(r=t(v(i),n),e[o]=r),r(s)}}class I{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("formatter"),this.options=t,this.formats={number:F(((t,e)=>{const s=new Intl.NumberFormat(t,{...e});return t=>s.format(t)})),currency:F(((t,e)=>{const s=new Intl.NumberFormat(t,{...e,style:"currency"});return t=>s.format(t)})),datetime:F(((t,e)=>{const s=new Intl.DateTimeFormat(t,{...e});return t=>s.format(t)})),relativetime:F(((t,e)=>{const s=new Intl.RelativeTimeFormat(t,{...e});return t=>s.format(t,e.range||"day")})),list:F(((t,e)=>{const s=new Intl.ListFormat(t,{...e});return t=>s.format(t)}))},this.init(t)}init(t){const e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||","}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=F(e)}format(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.split(this.formatSeparator).reduce(((t,e)=>{const{formatName:n,formatOptions:o}=function(t){let e=t.toLowerCase().trim();const s={};if(t.indexOf("(")>-1){const i=t.split("(");e=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===e&&n.indexOf(":")<0?s.currency||(s.currency=n.trim()):"relativetime"===e&&n.indexOf(":")<0?s.range||(s.range=n.trim()):n.split(";").forEach((t=>{if(!t)return;const[e,...i]=t.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,"");s[e.trim()]||(s[e.trim()]=n),"false"===n&&(s[e.trim()]=!1),"true"===n&&(s[e.trim()]=!0),isNaN(n)||(s[e.trim()]=parseInt(n,10))}))}return{formatName:e,formatOptions:s}}(e);if(this.formats[n]){let e=t;try{const r=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},a=r.locale||r.lng||i.locale||i.lng||s;e=this.formats[n](t,a,{...o,...i,...r})}catch(t){this.logger.warn(t)}return e}return this.logger.warn(`there was no format function for ${n}`),t}),t)}}class T extends r{constructor(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=t,this.store=e,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=o.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(s,i.backend,i)}queueLoad(t,e,s,i){const n={},o={},r={},a={};return t.forEach((t=>{let i=!0;e.forEach((e=>{const r=`${t}|${e}`;!s.reload&&this.store.hasResourceBundle(t,e)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,i=!1,void 0===o[r]&&(o[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===a[e]&&(a[e]=!0)))})),i||(r[t]=!0)})),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(t,e,s){const i=t.split("|"),n=i[0],o=i[1];e&&this.emit("failedLoading",n,o,e),s&&this.store.addResourceBundle(n,o,s),this.state[t]=e?-1:2;const r={};this.queue.forEach((s=>{!function(t,e,s,i){const{obj:n,k:o}=u(t,e,Object);n[o]=n[o]||[],n[o].push(s)}(s.loaded,[n],o),function(t,e){void 0!==t.pending[e]&&(delete t.pending[e],t.pendingCount--)}(s,t),e&&s.errors.push(e),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((t=>{r[t]||(r[t]={});const e=s.loaded[t];e.length&&e.forEach((e=>{void 0===r[t][e]&&(r[t][e]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((t=>!t.done))}read(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!t.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:t,ns:e,fcName:s,tried:i,wait:n,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const t=this.waitingReads.shift();this.read(t.lng,t.ns,t.fcName,t.tried,t.wait,t.callback)}r&&a&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,t,e,s,i+1,2*n,o)}),n):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(t,e,r);try{const s=a(t,e);s&&"function"==typeof s.then?s.then((t=>r(null,t))).catch(r):r(null,s)}catch(t){r(t)}}prepareLoading(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=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."),i&&i();"string"==typeof t&&(t=this.languageUtils.toResolveHierarchy(t)),"string"==typeof e&&(e=[e]);const n=this.queueLoad(t,e,s,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach((t=>{this.loadOne(t)}))}load(t,e,s){this.prepareLoading(t,e,{},s)}reload(t,e,s){this.prepareLoading(t,e,{reload:!0},s)}loadOne(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=t.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${e}loading namespace ${n} for language ${i} failed`,s),!s&&o&&this.logger.log(`${e}loaded namespace ${n} for language ${i}`,o),this.loaded(t,s,o)}))}saveMissing(t,e,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e))this.logger.warn(`did not save key "${s}" as the namespace "${e}" 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!=s&&""!==s){if(this.backend&&this.backend.create){const a={...o,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(t,e,s,i,a):l(t,e,s,i),n&&"function"==typeof n.then?n.then((t=>r(null,t))).catch(r):r(null,n)}catch(t){r(t)}else l(t,e,s,i,r,a)}t&&t[0]&&this.store.addResource(t[0],e,s,i)}}}function V(){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:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let e={};if("object"==typeof t[1]&&(e=t[1]),"string"==typeof t[1]&&(e.defaultValue=t[1]),"string"==typeof t[2]&&(e.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const s=t[3]||t[2];Object.keys(s).forEach((t=>{e[t]=s[t]}))}return e},interpolation:{escapeValue:!0,format:(t,e,s,i)=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function A(t){return"string"==typeof t.ns&&(t.ns=[t.ns]),"string"==typeof t.fallbackLng&&(t.fallbackLng=[t.fallbackLng]),"string"==typeof t.fallbackNS&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&t.supportedLngs.indexOf("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t}function D(){}class U extends r{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;var s;if(super(),this.options=A(t),this.services={},this.logger=o,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((t=>{"function"==typeof s[t]&&(s[t]=s[t].bind(s))})),e&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,e),this;setTimeout((()=>{this.init(t,e)}),0)}}init(){var t=this;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;"function"==typeof e&&(s=e,e={}),!e.defaultNS&&!1!==e.defaultNS&&e.ns&&("string"==typeof e.ns?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const i=V();function n(t){return t?"function"==typeof t?new t:t:null}if(this.options={...i,...this.options,...A(e)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator),!this.options.isClone){let e;this.modules.logger?o.init(n(this.modules.logger),this.options):o.init(null,this.options),this.modules.formatter?e=this.modules.formatter:"undefined"!=typeof Intl&&(e=I);const s=new w(this.options);this.store=new b(this.options.resources,this.options);const r=this.services;r.logger=o,r.resourceStore=this.store,r.languageUtils=s,r.pluralResolver=new P(s,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!e||this.options.interpolation.format&&this.options.interpolation.format!==i.interpolation.format||(r.formatter=n(e),r.formatter.init(r,this.options),this.options.interpolation.format=r.formatter.format.bind(r.formatter)),r.interpolator=new E(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new T(n(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",(function(e){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];t.emit(e,...i)})),this.modules.languageDetector&&(r.languageDetector=n(this.modules.languageDetector),r.languageDetector.init&&r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=n(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new k(this.services,this.options),this.translator.on("*",(function(e){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];t.emit(e,...i)})),this.modules.external.forEach((t=>{t.init&&t.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=D),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);t.length>0&&"dev"!==t[0]&&(this.options.lng=t[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((e=>{this[e]=function(){return t.store[e](...arguments)}})),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((e=>{this[e]=function(){return t.store[e](...arguments),t}}));const r=a(),l=()=>{const t=(t,e)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),r.resolve(e),s(t,e)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return t(null,this.t.bind(this));this.changeLanguage(this.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),r}loadResources(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:D;const s="string"==typeof t?t:this.language;if("function"==typeof t&&(e=t),!this.options.resources||this.options.partialBundledLanguages){if(s&&"cimode"===s.toLowerCase())return e();const t=[],i=e=>{e&&this.services.languageUtils.toResolveHierarchy(e).forEach((e=>{t.indexOf(e)<0&&t.push(e)}))};s?i(s):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((t=>i(t))),this.options.preload&&this.options.preload.forEach((t=>i(t))),this.services.backendConnector.load(t,this.options.ns,(t=>{t||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),e(t)}))}else e(null)}reloadResources(t,e,s){const i=a();return t||(t=this.languages),e||(e=this.options.ns),s||(s=D),this.services.backendConnector.reload(t,e,(t=>{i.resolve(),s(t)})),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===t.type&&(this.modules.backend=t),("logger"===t.type||t.log&&t.warn&&t.error)&&(this.modules.logger=t),"languageDetector"===t.type&&(this.modules.languageDetector=t),"i18nFormat"===t.type&&(this.modules.i18nFormat=t),"postProcessor"===t.type&&x.addPostProcessor(t),"formatter"===t.type&&(this.modules.formatter=t),"3rdParty"===t.type&&this.modules.external.push(t),this}setResolvedLanguage(t){if(t&&this.languages&&!(["cimode","dev"].indexOf(t)>-1))for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(!(["cimode","dev"].indexOf(e)>-1)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}}changeLanguage(t,e){var s=this;this.isLanguageChangingTo=t;const i=a();this.emit("languageChanging",t);const n=t=>{this.language=t,this.languages=this.services.languageUtils.toResolveHierarchy(t),this.resolvedLanguage=void 0,this.setResolvedLanguage(t)},o=(t,o)=>{o?(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,i.resolve((function(){return s.t(...arguments)})),e&&e(t,(function(){return s.t(...arguments)}))},r=e=>{t||e||!this.services.languageDetector||(e=[]);const s="string"==typeof e?e:this.services.languageUtils.getBestMatchFromCodes(e);s&&(this.language||n(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(s)),this.loadResources(s,(t=>{o(t,s)}))};return t||!this.services.languageDetector||this.services.languageDetector.async?!t&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(t):r(this.services.languageDetector.detect()),i}getFixedT(t,e,s){var i=this;const n=function(t,e){let o;if("object"!=typeof e){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([t,e].concat(a))}else o={...e};o.lng=o.lng||n.lng,o.lngs=o.lngs||n.lngs,o.ns=o.ns||n.ns,o.keyPrefix=o.keyPrefix||s||n.keyPrefix;const u=i.options.keySeparator||".";let h;return h=o.keyPrefix&&Array.isArray(t)?t.map((t=>`${o.keyPrefix}${u}${t}`)):o.keyPrefix?`${o.keyPrefix}${u}${t}`:t,i.t(h,o)};return"string"==typeof t?n.lng=t:n.lngs=t,n.ns=e,n.keyPrefix=s,n}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let e=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;const s=e.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(t,e)=>{const s=this.services.backendConnector.state[`${t}|${e}`];return-1===s||2===s};if(e.precheck){const t=e.precheck(this,o);if(void 0!==t)return t}return!(!this.hasResourceBundle(s,t)&&this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages)&&(!o(s,t)||i&&!o(n,t)))}loadNamespaces(t,e){const s=a();return this.options.ns?("string"==typeof t&&(t=[t]),t.forEach((t=>{this.options.ns.indexOf(t)<0&&this.options.ns.push(t)})),this.loadResources((t=>{s.resolve(),e&&e(t)})),s):(e&&e(),Promise.resolve())}loadLanguages(t,e){const s=a();"string"==typeof t&&(t=[t]);const i=this.options.preload||[],n=t.filter((t=>i.indexOf(t)<0));return n.length?(this.options.preload=i.concat(n),this.loadResources((t=>{s.resolve(),e&&e(t)})),s):(e&&e(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const e=this.services&&this.services.languageUtils||new w(V());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(e.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new U(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:D;const s=t.forkResourceStore;s&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},n=new U(i);return void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t)),["store","services","language"].forEach((t=>{n[t]=this[t]})),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s&&(n.store=new b(this.store.data,i),n.services.resourceStore=n.store),n.translator=new k(n.services,i),n.translator.on("*",(function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];n.emit(t,...s)})),n.init(i,e),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const K=U.createInstance();K.createInstance=U.createInstance;const M=K.createInstance,H=K.dir,B=K.init,J=K.loadResources,z=K.reloadResources,_=K.use,q=K.changeLanguage,W=K.getFixedT,Y=K.t,G=K.exists,Q=K.setDefaultNamespace,X=K.hasLoadedNamespace,Z=K.loadNamespaces,tt=K.loadLanguages}}]);
2
+ //# sourceMappingURL=4991.165874d4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/4991.165874d4.js","mappings":"mZAAA,MAAMA,EAAgB,CACpBC,KAAM,SACNC,IAAIC,GACFC,KAAKC,OAAO,MAAOF,EACrB,EACAG,KAAKH,GACHC,KAAKC,OAAO,OAAQF,EACtB,EACAI,MAAMJ,GACJC,KAAKC,OAAO,QAASF,EACvB,EACAE,OAAOJ,EAAME,GACPK,SAAWA,QAAQP,IAAOO,QAAQP,GAAMQ,MAAMD,QAASL,EAC7D,GAEF,MAAMO,EACJC,YAAYC,GACV,IAAIC,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFV,KAAKa,KAAKL,EAAgBC,EAC5B,CACAI,KAAKL,GACH,IAAIC,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFV,KAAKc,OAASL,EAAQK,QAAU,WAChCd,KAAKe,OAASP,GAAkBZ,EAChCI,KAAKS,QAAUA,EACfT,KAAKgB,MAAQP,EAAQO,KACvB,CACAlB,MACE,IAAK,IAAImB,EAAOP,UAAUC,OAAQZ,EAAO,IAAImB,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/EpB,EAAKoB,GAAQT,UAAUS,GAEzB,OAAOnB,KAAKoB,QAAQrB,EAAM,MAAO,IAAI,EACvC,CACAG,OACE,IAAK,IAAImB,EAAQX,UAAUC,OAAQZ,EAAO,IAAImB,MAAMG,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvB,EAAKuB,GAASZ,UAAUY,GAE1B,OAAOtB,KAAKoB,QAAQrB,EAAM,OAAQ,IAAI,EACxC,CACAI,QACE,IAAK,IAAIoB,EAAQb,UAAUC,OAAQZ,EAAO,IAAImB,MAAMK,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFzB,EAAKyB,GAASd,UAAUc,GAE1B,OAAOxB,KAAKoB,QAAQrB,EAAM,QAAS,GACrC,CACA0B,YACE,IAAK,IAAIC,EAAQhB,UAAUC,OAAQZ,EAAO,IAAImB,MAAMQ,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF5B,EAAK4B,GAASjB,UAAUiB,GAE1B,OAAO3B,KAAKoB,QAAQrB,EAAM,OAAQ,wBAAwB,EAC5D,CACAqB,QAAQrB,EAAM6B,EAAKd,EAAQe,GACzB,OAAIA,IAAc7B,KAAKgB,MAAc,MACd,iBAAZjB,EAAK,KAAiBA,EAAK,GAAK,GAAGe,IAASd,KAAKc,UAAUf,EAAK,MACpEC,KAAKe,OAAOa,GAAK7B,GAC1B,CACA+B,OAAOC,GACL,OAAO,IAAIzB,EAAON,KAAKe,OAAQ,CAE3BD,OAAQ,GAAGd,KAAKc,UAAUiB,QAEzB/B,KAAKS,SAEZ,CACAuB,MAAMvB,GAGJ,OAFAA,EAAUA,GAAWT,KAAKS,SAClBK,OAASL,EAAQK,QAAUd,KAAKc,OACjC,IAAIR,EAAON,KAAKe,OAAQN,EACjC,EAEF,IAAIwB,EAAa,IAAI3B,EAErB,MAAM4B,EACJ3B,cACEP,KAAKmC,UAAY,CAAC,CACpB,CACAC,GAAGC,EAAQC,GAKT,OAJAD,EAAOE,MAAM,KAAKC,SAAQC,IACxBzC,KAAKmC,UAAUM,GAASzC,KAAKmC,UAAUM,IAAU,GACjDzC,KAAKmC,UAAUM,GAAOC,KAAKJ,EAAS,IAE/BtC,IACT,CACA2C,IAAIF,EAAOH,GACJtC,KAAKmC,UAAUM,KACfH,EAILtC,KAAKmC,UAAUM,GAASzC,KAAKmC,UAAUM,GAAOG,QAAOC,GAAKA,IAAMP,WAHvDtC,KAAKmC,UAAUM,GAI1B,CACAK,KAAKL,GACH,IAAK,IAAIxB,EAAOP,UAAUC,OAAQZ,EAAO,IAAImB,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGpB,EAAKoB,EAAO,GAAKT,UAAUS,GAEzBnB,KAAKmC,UAAUM,IACF,GAAGM,OAAO/C,KAAKmC,UAAUM,IACjCD,SAAQQ,IACbA,KAAYjD,EAAK,IAGjBC,KAAKmC,UAAU,MACF,GAAGY,OAAO/C,KAAKmC,UAAU,MACjCK,SAAQQ,IACbA,EAAS3C,MAAM2C,EAAU,CAACP,KAAU1C,GAAM,GAGhD,EAGF,SAASkD,IACP,IAAIC,EACAC,EACJ,MAAMC,EAAU,IAAIC,SAAQ,CAACC,EAASC,KACpCL,EAAMI,EACNH,EAAMI,CAAM,IAId,OAFAH,EAAQE,QAAUJ,EAClBE,EAAQG,OAASJ,EACVC,CACT,CACA,SAASI,EAAWC,GAClB,OAAc,MAAVA,EAAuB,GACpB,GAAKA,CACd,CAMA,SAASC,EAAcD,EAAQE,EAAMC,GACnC,SAASC,EAASC,GAChB,OAAOA,GAAOA,EAAIC,QAAQ,QAAU,EAAID,EAAIE,QAAQ,OAAQ,KAAOF,CACrE,CACA,SAASG,IACP,OAAQR,GAA4B,iBAAXA,CAC3B,CACA,MAAMS,EAAwB,iBAATP,EAAoB,GAAGZ,OAAOY,GAAQA,EAAKpB,MAAM,KACtE,KAAO2B,EAAMvD,OAAS,GAAG,CACvB,GAAIsD,IAAwB,MAAO,CAAC,EACpC,MAAMH,EAAMD,EAASK,EAAMC,UACtBV,EAAOK,IAAQF,IAAOH,EAAOK,GAAO,IAAIF,GAE3CH,EADEW,OAAOC,UAAUC,eAAeC,KAAKd,EAAQK,GACtCL,EAAOK,GAEP,CAAC,CAEd,CACA,OAAIG,IAA+B,CAAC,EAC7B,CACLO,IAAKf,EACLgB,EAAGZ,EAASK,EAAMC,SAEtB,CACA,SAASO,EAAQjB,EAAQE,EAAMgB,GAC7B,MAAM,IACJH,EAAG,EACHC,GACEf,EAAcD,EAAQE,EAAMS,QAChCI,EAAIC,GAAKE,CACX,CAUA,SAASC,EAAQnB,EAAQE,GACvB,MAAM,IACJa,EAAG,EACHC,GACEf,EAAcD,EAAQE,GAC1B,GAAKa,EACL,OAAOA,EAAIC,EACb,CAQA,SAASI,EAAWC,EAAQC,EAAQC,GAClC,IAAK,MAAMC,KAAQF,EACJ,cAATE,GAAiC,gBAATA,IACtBA,KAAQH,EACkB,iBAAjBA,EAAOG,IAAsBH,EAAOG,aAAiBC,QAAkC,iBAAjBH,EAAOE,IAAsBF,EAAOE,aAAiBC,OAChIF,IAAWF,EAAOG,GAAQF,EAAOE,IAErCJ,EAAWC,EAAOG,GAAOF,EAAOE,GAAOD,GAGzCF,EAAOG,GAAQF,EAAOE,IAI5B,OAAOH,CACT,CACA,SAASK,EAAYC,GACnB,OAAOA,EAAIpB,QAAQ,sCAAuC,OAC5D,CACA,IAAIqB,EAAa,CACf,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UAEP,SAASC,EAAOC,GACd,MAAoB,iBAATA,EACFA,EAAKvB,QAAQ,cAAcwB,GAAKH,EAAWG,KAE7CD,CACT,CACA,MAAME,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,KAgBnC,SAASC,EAASlB,EAAKb,GACrB,IAAIgC,EAAejF,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,IACvF,IAAK8D,EAAK,OACV,GAAIA,EAAIb,GAAO,OAAOa,EAAIb,GAC1B,MAAMiC,EAAQjC,EAAKpB,MAAMoD,GACzB,IAAIE,EAAUrB,EACd,IAAK,IAAIsB,EAAI,EAAGA,EAAIF,EAAMjF,SAAUmF,EAAG,CACrC,IAAKD,EAAS,OACd,GAAiC,iBAAtBA,EAAQD,EAAME,KAAoBA,EAAI,EAAIF,EAAMjF,OACzD,OAEF,QAA0BC,IAAtBiF,EAAQD,EAAME,IAAmB,CACnC,IAAIC,EAAI,EACJC,EAAIJ,EAAMK,MAAMH,EAAGA,EAAIC,GAAGG,KAAKP,GAC/BQ,EAAMN,EAAQG,GAClB,UAAepF,IAARuF,GAAqBP,EAAMjF,OAASmF,EAAIC,GAC7CA,IACAC,EAAIJ,EAAMK,MAAMH,EAAGA,EAAIC,GAAGG,KAAKP,GAC/BQ,EAAMN,EAAQG,GAEhB,QAAYpF,IAARuF,EAAmB,OACvB,GAAY,OAARA,EAAc,OAAO,KACzB,GAAIxC,EAAKyC,SAASJ,GAAI,CACpB,GAAmB,iBAARG,EAAkB,OAAOA,EACpC,GAAIH,GAAuB,iBAAXG,EAAIH,GAAiB,OAAOG,EAAIH,EAClD,CACA,MAAMK,EAAaT,EAAMK,MAAMH,EAAIC,GAAGG,KAAKP,GAC3C,OAAIU,EAAmBX,EAASS,EAAKE,EAAYV,QACjD,CACF,CACAE,EAAUA,EAAQD,EAAME,GAC1B,CACA,OAAOD,CACT,CACA,SAASS,EAAeC,GACtB,OAAIA,GAAQA,EAAKxC,QAAQ,KAAO,EAAUwC,EAAKvC,QAAQ,IAAK,KACrDuC,CACT,CAEA,MAAMC,UAAsBtE,EAC1B3B,YAAYgF,GACV,IAAI9E,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChF+F,GAAI,CAAC,eACLC,UAAW,eAEbC,QACA3G,KAAKuF,KAAOA,GAAQ,CAAC,EACrBvF,KAAKS,QAAUA,OACmBG,IAA9BZ,KAAKS,QAAQkF,eACf3F,KAAKS,QAAQkF,aAAe,UAEW/E,IAArCZ,KAAKS,QAAQmG,sBACf5G,KAAKS,QAAQmG,qBAAsB,EAEvC,CACAC,cAAcJ,GACRzG,KAAKS,QAAQgG,GAAG1C,QAAQ0C,GAAM,GAChCzG,KAAKS,QAAQgG,GAAG/D,KAAK+D,EAEzB,CACAK,iBAAiBL,GACf,MAAMM,EAAQ/G,KAAKS,QAAQgG,GAAG1C,QAAQ0C,GAClCM,GAAS,GACX/G,KAAKS,QAAQgG,GAAGO,OAAOD,EAAO,EAElC,CACAE,YAAYC,EAAKT,EAAI3C,GACnB,IAAIrD,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,MAAMiF,OAAwC/E,IAAzBH,EAAQkF,aAA6BlF,EAAQkF,aAAe3F,KAAKS,QAAQkF,aACxFiB,OAAsDhG,IAAhCH,EAAQmG,oBAAoCnG,EAAQmG,oBAAsB5G,KAAKS,QAAQmG,oBACnH,IAAIjD,EAAO,CAACuD,EAAKT,GACb3C,GAAsB,iBAARA,IAAkBH,EAAOA,EAAKZ,OAAOe,IACnDA,GAAsB,iBAARA,IAAkBH,EAAOA,EAAKZ,OAAO4C,EAAe7B,EAAIvB,MAAMoD,GAAgB7B,IAC5FoD,EAAInD,QAAQ,MAAQ,IACtBJ,EAAOuD,EAAI3E,MAAM,MAEnB,MAAM4E,EAASvC,EAAQ5E,KAAKuF,KAAM5B,GAClC,OAAIwD,IAAWP,GAAsC,iBAAR9C,EAAyBqD,EAC/DzB,EAAS1F,KAAKuF,MAAQvF,KAAKuF,KAAK2B,IAAQlH,KAAKuF,KAAK2B,GAAKT,GAAK3C,EAAK6B,EAC1E,CACAyB,YAAYF,EAAKT,EAAI3C,EAAKuD,GACxB,IAAI5G,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChF4G,QAAQ,GAEV,MAAM3B,OAAwC/E,IAAzBH,EAAQkF,aAA6BlF,EAAQkF,aAAe3F,KAAKS,QAAQkF,aAC9F,IAAIhC,EAAO,CAACuD,EAAKT,GACb3C,IAAKH,EAAOA,EAAKZ,OAAO4C,EAAe7B,EAAIvB,MAAMoD,GAAgB7B,IACjEoD,EAAInD,QAAQ,MAAQ,IACtBJ,EAAOuD,EAAI3E,MAAM,KACjB8E,EAAQZ,EACRA,EAAK9C,EAAK,IAEZ3D,KAAK6G,cAAcJ,GACnB/B,EAAQ1E,KAAKuF,KAAM5B,EAAM0D,GACpB5G,EAAQ6G,QAAQtH,KAAK8C,KAAK,QAASoE,EAAKT,EAAI3C,EAAKuD,EACxD,CACAE,aAAaL,EAAKT,EAAIe,GACpB,IAAI/G,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChF4G,QAAQ,GAEV,IAAK,MAAMG,KAAKD,EACc,iBAAjBA,EAAUC,IAAqE,mBAAlDrD,OAAOC,UAAUqD,SAASrH,MAAMmH,EAAUC,KAA0BzH,KAAKoH,YAAYF,EAAKT,EAAIgB,EAAGD,EAAUC,GAAI,CACrJH,QAAQ,IAGP7G,EAAQ6G,QAAQtH,KAAK8C,KAAK,QAASoE,EAAKT,EAAIe,EACnD,CACAG,kBAAkBT,EAAKT,EAAIe,EAAWI,EAAM5C,GAC1C,IAAIvE,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChF4G,QAAQ,GAEN3D,EAAO,CAACuD,EAAKT,GACbS,EAAInD,QAAQ,MAAQ,IACtBJ,EAAOuD,EAAI3E,MAAM,KACjBqF,EAAOJ,EACPA,EAAYf,EACZA,EAAK9C,EAAK,IAEZ3D,KAAK6G,cAAcJ,GACnB,IAAIoB,EAAOjD,EAAQ5E,KAAKuF,KAAM5B,IAAS,CAAC,EACpCiE,EACF/C,EAAWgD,EAAML,EAAWxC,GAE5B6C,EAAO,IACFA,KACAL,GAGP9C,EAAQ1E,KAAKuF,KAAM5B,EAAMkE,GACpBpH,EAAQ6G,QAAQtH,KAAK8C,KAAK,QAASoE,EAAKT,EAAIe,EACnD,CACAM,qBAAqBZ,EAAKT,GACpBzG,KAAK+H,kBAAkBb,EAAKT,WACvBzG,KAAKuF,KAAK2B,GAAKT,GAExBzG,KAAK8G,iBAAiBL,GACtBzG,KAAK8C,KAAK,UAAWoE,EAAKT,EAC5B,CACAsB,kBAAkBb,EAAKT,GACrB,YAAqC7F,IAA9BZ,KAAKiH,YAAYC,EAAKT,EAC/B,CACAuB,kBAAkBd,EAAKT,GAErB,OADKA,IAAIA,EAAKzG,KAAKS,QAAQiG,WACW,OAAlC1G,KAAKS,QAAQwH,iBAAkC,IAE9CjI,KAAKiH,YAAYC,EAAKT,IAEpBzG,KAAKiH,YAAYC,EAAKT,EAC/B,CACAyB,kBAAkBhB,GAChB,OAAOlH,KAAKuF,KAAK2B,EACnB,CACAiB,4BAA4BjB,GAC1B,MAAM3B,EAAOvF,KAAKkI,kBAAkBhB,GAEpC,SADU3B,GAAQnB,OAAOgE,KAAK7C,IAAS,IAC5B8C,MAAKC,GAAK/C,EAAK+C,IAAMlE,OAAOgE,KAAK7C,EAAK+C,IAAI3H,OAAS,GAChE,CACA4H,SACE,OAAOvI,KAAKuF,IACd,EAGF,IAAIiD,EAAgB,CAClBC,WAAY,CAAC,EACbC,iBAAiBC,GACf3I,KAAKyI,WAAWE,EAAOC,MAAQD,CACjC,EACAE,OAAOJ,EAAYpB,EAAOvD,EAAKrD,EAASqI,GAItC,OAHAL,EAAWjG,SAAQuG,IACb/I,KAAKyI,WAAWM,KAAY1B,EAAQrH,KAAKyI,WAAWM,GAAWC,QAAQ3B,EAAOvD,EAAKrD,EAASqI,GAAW,IAEtGzB,CACT,GAGF,MAAM4B,EAAmB,CAAC,EAC1B,MAAMC,UAAmBhH,EACvB3B,YAAY4I,GACV,IAAI1I,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFiG,QAhSJ,SAAcyC,EAAG5D,EAAG6D,GAiSX,CAAC,gBAAiB,gBAAiB,iBAAkB,eAAgB,mBAAoB,aAAc,SAhS5G7G,SAAQiF,IACJjC,EAAEiC,KAAI4B,EAAE5B,GAAKjC,EAAEiC,GAAE,GAEzB,CA6RI6B,CAAK,EAAiHH,EAAUnJ,MAChIA,KAAKS,QAAUA,OACmBG,IAA9BZ,KAAKS,QAAQkF,eACf3F,KAAKS,QAAQkF,aAAe,KAE9B3F,KAAKe,OAASkB,EAAWH,OAAO,aAClC,CACAyH,eAAerC,GACTA,IAAKlH,KAAKwJ,SAAWtC,EAC3B,CACAuC,OAAO3F,GACL,IAAIrD,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChFgJ,cAAe,CAAC,GAElB,GAAI5F,QACF,OAAO,EAET,MAAM6F,EAAW3J,KAAKsD,QAAQQ,EAAKrD,GACnC,OAAOkJ,QAA6B/I,IAAjB+I,EAASzG,GAC9B,CACA0G,eAAe9F,EAAKrD,GAClB,IAAIoJ,OAAsCjJ,IAAxBH,EAAQoJ,YAA4BpJ,EAAQoJ,YAAc7J,KAAKS,QAAQoJ,iBACrEjJ,IAAhBiJ,IAA2BA,EAAc,KAC7C,MAAMlE,OAAwC/E,IAAzBH,EAAQkF,aAA6BlF,EAAQkF,aAAe3F,KAAKS,QAAQkF,aAC9F,IAAImE,EAAarJ,EAAQgG,IAAMzG,KAAKS,QAAQiG,WAAa,GACzD,MAAMqD,EAAuBF,GAAe/F,EAAIC,QAAQ8F,IAAgB,EAClEG,IAAwBhK,KAAKS,QAAQwJ,yBAA4BxJ,EAAQkF,cAAiB3F,KAAKS,QAAQyJ,wBAA2BzJ,EAAQoJ,aA7NpJ,SAA6B/F,EAAK+F,EAAalE,GAC7CkE,EAAcA,GAAe,GAC7BlE,EAAeA,GAAgB,GAC/B,MAAMwE,EAAgB1E,EAAM7C,QAAOwH,GAAKP,EAAY9F,QAAQqG,GAAK,GAAKzE,EAAa5B,QAAQqG,GAAK,IAChG,GAA6B,IAAzBD,EAAcxJ,OAAc,OAAO,EACvC,MAAM0J,EAAI,IAAIC,OAAO,IAAIH,EAAcI,KAAIH,GAAW,MAANA,EAAY,MAAQA,IAAGlE,KAAK,SAC5E,IAAIsE,GAAWH,EAAEI,KAAK3G,GACtB,IAAK0G,EAAS,CACZ,MAAME,EAAK5G,EAAIC,QAAQ4B,GACnB+E,EAAK,IAAML,EAAEI,KAAK3G,EAAI6G,UAAU,EAAGD,MACrCF,GAAU,EAEd,CACA,OAAOA,CACT,CA+MoKI,CAAoB9G,EAAK+F,EAAalE,IACtM,GAAIoE,IAAyBC,EAAsB,CACjD,MAAMvC,EAAI3D,EAAI+G,MAAM7K,KAAK8K,aAAaC,eACtC,GAAItD,GAAKA,EAAE9G,OAAS,EAClB,MAAO,CACLmD,MACAgG,cAGJ,MAAMkB,EAAQlH,EAAIvB,MAAMsH,IACpBA,IAAgBlE,GAAgBkE,IAAgBlE,GAAgB3F,KAAKS,QAAQgG,GAAG1C,QAAQiH,EAAM,KAAO,KAAGlB,EAAakB,EAAM7G,SAC/HL,EAAMkH,EAAM9E,KAAKP,EACnB,CAEA,MAD0B,iBAAfmE,IAAyBA,EAAa,CAACA,IAC3C,CACLhG,MACAgG,aAEJ,CACAmB,UAAU7C,EAAM3H,EAASyK,GAQvB,GAPuB,iBAAZzK,GAAwBT,KAAKS,QAAQ0K,mCAC9C1K,EAAUT,KAAKS,QAAQ0K,iCAAiCzK,YAEnC,iBAAZD,IAAsBA,EAAU,IACtCA,IAEAA,IAASA,EAAU,CAAC,GACrB2H,QAAqC,MAAO,GAC3ClH,MAAMkK,QAAQhD,KAAOA,EAAO,CAAClD,OAAOkD,KACzC,MAAMiD,OAA0CzK,IAA1BH,EAAQ4K,cAA8B5K,EAAQ4K,cAAgBrL,KAAKS,QAAQ4K,cAC3F1F,OAAwC/E,IAAzBH,EAAQkF,aAA6BlF,EAAQkF,aAAe3F,KAAKS,QAAQkF,cACxF,IACJ7B,EAAG,WACHgG,GACE9J,KAAK4J,eAAexB,EAAKA,EAAKzH,OAAS,GAAIF,GACzC6K,EAAYxB,EAAWA,EAAWnJ,OAAS,GAC3CuG,EAAMzG,EAAQyG,KAAOlH,KAAKwJ,SAC1B+B,EAA0B9K,EAAQ8K,yBAA2BvL,KAAKS,QAAQ8K,wBAChF,GAAIrE,GAA6B,WAAtBA,EAAIsE,cAA4B,CACzC,GAAID,EAAyB,CAC3B,MAAM1B,EAAcpJ,EAAQoJ,aAAe7J,KAAKS,QAAQoJ,YACxD,OAAIwB,EACK,CACLnI,IAAK,GAAGoI,IAAYzB,IAAc/F,IAClC2H,QAAS3H,EACT4H,aAAc5H,EACd6H,QAASzE,EACT0E,OAAQN,GAGL,GAAGA,IAAYzB,IAAc/F,GACtC,CACA,OAAIuH,EACK,CACLnI,IAAKY,EACL2H,QAAS3H,EACT4H,aAAc5H,EACd6H,QAASzE,EACT0E,OAAQN,GAGLxH,CACT,CACA,MAAM6F,EAAW3J,KAAKsD,QAAQ8E,EAAM3H,GACpC,IAAIyC,EAAMyG,GAAYA,EAASzG,IAC/B,MAAM2I,EAAalC,GAAYA,EAAS8B,SAAW3H,EAC7CgI,EAAkBnC,GAAYA,EAAS+B,cAAgB5H,EACvDiI,EAAU3H,OAAOC,UAAUqD,SAASrH,MAAM6C,GAE1C8I,OAAoCpL,IAAvBH,EAAQuL,WAA2BvL,EAAQuL,WAAahM,KAAKS,QAAQuL,WAClFC,GAA8BjM,KAAKkM,YAAclM,KAAKkM,WAAWC,eAEvE,GAAIF,GAA8B/I,GADI,iBAARA,GAAmC,kBAARA,GAAoC,iBAARA,GAHpE,CAAC,kBAAmB,oBAAqB,mBAIUa,QAAQgI,GAAW,IAA6B,iBAAfC,GAAuC,mBAAZD,GAA+B,CAC7J,IAAKtL,EAAQ2L,gBAAkBpM,KAAKS,QAAQ2L,cAAe,CACpDpM,KAAKS,QAAQ4L,uBAChBrM,KAAKe,OAAOb,KAAK,mEAEnB,MAAMmK,EAAIrK,KAAKS,QAAQ4L,sBAAwBrM,KAAKS,QAAQ4L,sBAAsBR,EAAY3I,EAAK,IAC9FzC,EACHgG,GAAIqD,IACD,QAAQhG,MAAQ9D,KAAKwJ,mDAC1B,OAAI6B,GACF1B,EAASzG,IAAMmH,EACRV,GAEFU,CACT,CACA,GAAI1E,EAAc,CAChB,MAAM2G,EAA6B,mBAAZP,EACjBzC,EAAOgD,EAAiB,GAAK,CAAC,EAC9BC,EAAcD,EAAiBR,EAAkBD,EACvD,IAAK,MAAMpE,KAAKvE,EACd,GAAIkB,OAAOC,UAAUC,eAAeC,KAAKrB,EAAKuE,GAAI,CAChD,MAAM+E,EAAU,GAAGD,IAAc5G,IAAe8B,IAChD6B,EAAK7B,GAAKzH,KAAKiL,UAAUuB,EAAS,IAC7B/L,EAEDuL,YAAY,EACZvF,GAAIqD,IAGJR,EAAK7B,KAAO+E,IAASlD,EAAK7B,GAAKvE,EAAIuE,GACzC,CAEFvE,EAAMoG,CACR,CACF,MAAO,GAAI2C,GAAoD,iBAAfD,GAAuC,mBAAZD,EACzE7I,EAAMA,EAAIgD,KAAK8F,GACX9I,IAAKA,EAAMlD,KAAKyM,kBAAkBvJ,EAAKkF,EAAM3H,EAASyK,QACrD,CACL,IAAIwB,GAAc,EACdjB,GAAU,EACd,MAAMkB,OAAwC/L,IAAlBH,EAAQmM,OAAgD,iBAAlBnM,EAAQmM,MACpEC,EAAkB3D,EAAW2D,gBAAgBpM,GAC7CqM,EAAqBH,EAAsB3M,KAAK+M,eAAeC,UAAU9F,EAAKzG,EAAQmM,MAAOnM,GAAW,GACxGwM,EAAoCxM,EAAQyM,SAAWP,EAAsB3M,KAAK+M,eAAeC,UAAU9F,EAAKzG,EAAQmM,MAAO,CACnIM,SAAS,IACN,GACCC,EAAe1M,EAAQ,eAAeqM,MAAyBrM,EAAQ,eAAewM,MAAwCxM,EAAQ0M,cACvInN,KAAKoN,cAAclK,IAAQ2J,IAC9BH,GAAc,EACdxJ,EAAMiK,GAEHnN,KAAKoN,cAAclK,KACtBuI,GAAU,EACVvI,EAAMY,GAER,MACMuJ,GADiC5M,EAAQ6M,gCAAkCtN,KAAKS,QAAQ6M,iCACtC7B,OAAU7K,EAAYsC,EACxEqK,EAAgBV,GAAmBM,IAAiBjK,GAAOlD,KAAKS,QAAQ8M,cAC9E,GAAI9B,GAAWiB,GAAea,EAAe,CAE3C,GADAvN,KAAKe,OAAOjB,IAAIyN,EAAgB,YAAc,aAAcrG,EAAKoE,EAAWxH,EAAKyJ,EAAgBJ,EAAejK,GAC5GyC,EAAc,CAChB,MAAM6H,EAAKxN,KAAKsD,QAAQQ,EAAK,IACxBrD,EACHkF,cAAc,IAEZ6H,GAAMA,EAAGtK,KAAKlD,KAAKe,OAAOb,KAAK,kLACrC,CACA,IAAIuN,EAAO,GACX,MAAMC,EAAe1N,KAAK2N,cAAcC,iBAAiB5N,KAAKS,QAAQoN,YAAapN,EAAQyG,KAAOlH,KAAKwJ,UACvG,GAAmC,aAA/BxJ,KAAKS,QAAQqN,eAAgCJ,GAAgBA,EAAa,GAC5E,IAAK,IAAI5H,EAAI,EAAGA,EAAI4H,EAAa/M,OAAQmF,IACvC2H,EAAK/K,KAAKgL,EAAa5H,QAEe,QAA/B9F,KAAKS,QAAQqN,cACtBL,EAAOzN,KAAK2N,cAAcI,mBAAmBtN,EAAQyG,KAAOlH,KAAKwJ,UAEjEiE,EAAK/K,KAAKjC,EAAQyG,KAAOlH,KAAKwJ,UAEhC,MAAMwE,EAAO,CAACnL,EAAG4B,EAAGwJ,KAClB,MAAMC,EAAoBrB,GAAmBoB,IAAyB/K,EAAM+K,EAAuBZ,EAC/FrN,KAAKS,QAAQ0N,kBACfnO,KAAKS,QAAQ0N,kBAAkBtL,EAAGyI,EAAW7G,EAAGyJ,EAAmBX,EAAe9M,GACzET,KAAKoO,kBAAoBpO,KAAKoO,iBAAiBC,aACxDrO,KAAKoO,iBAAiBC,YAAYxL,EAAGyI,EAAW7G,EAAGyJ,EAAmBX,EAAe9M,GAEvFT,KAAK8C,KAAK,aAAcD,EAAGyI,EAAW7G,EAAGvB,EAAI,EAE3ClD,KAAKS,QAAQ4N,cACXrO,KAAKS,QAAQ6N,oBAAsB3B,EACrCc,EAAKjL,SAAQgH,IACXxJ,KAAK+M,eAAewB,YAAY/E,EAAU/I,GAAS+B,SAAQgM,IACzDR,EAAK,CAACxE,GAAW1F,EAAM0K,EAAQ/N,EAAQ,eAAe+N,MAAarB,EAAa,GAChF,IAGJa,EAAKP,EAAM3J,EAAKqJ,GAGtB,CACAjK,EAAMlD,KAAKyM,kBAAkBvJ,EAAKkF,EAAM3H,EAASkJ,EAAUuB,GACvDO,GAAWvI,IAAQY,GAAO9D,KAAKS,QAAQgO,8BAA6BvL,EAAM,GAAGoI,KAAaxH,MACzF2H,GAAWiB,IAAgB1M,KAAKS,QAAQiO,yBAEzCxL,EADoC,OAAlClD,KAAKS,QAAQwH,iBACTjI,KAAKS,QAAQiO,uBAAuB1O,KAAKS,QAAQgO,4BAA8B,GAAGnD,KAAaxH,IAAQA,EAAK4I,EAAcxJ,OAAMtC,GAEhIZ,KAAKS,QAAQiO,uBAAuBxL,GAGhD,CACA,OAAImI,GACF1B,EAASzG,IAAMA,EACRyG,GAEFzG,CACT,CACAuJ,kBAAkBvJ,EAAKY,EAAKrD,EAASkJ,EAAUuB,GAC7C,IAAIyD,EAAQ3O,KACZ,GAAIA,KAAKkM,YAAclM,KAAKkM,WAAW0C,MACrC1L,EAAMlD,KAAKkM,WAAW0C,MAAM1L,EAAK,IAC5BlD,KAAKS,QAAQiJ,cAAcmF,oBAC3BpO,GACFA,EAAQyG,KAAOlH,KAAKwJ,UAAYG,EAASgC,QAAShC,EAASiC,OAAQjC,EAAS8B,QAAS,CACtF9B,kBAEG,IAAKlJ,EAAQqO,kBAAmB,CACjCrO,EAAQiJ,eAAe1J,KAAK8K,aAAajK,KAAK,IAC7CJ,EAEDiJ,cAAe,IACV1J,KAAKS,QAAQiJ,iBACbjJ,EAAQiJ,iBAIjB,MAAMqF,EAAiC,iBAAR7L,IAAqBzC,GAAWA,EAAQiJ,oBAA2D9I,IAA1CH,EAAQiJ,cAAcqF,gBAAgCtO,EAAQiJ,cAAcqF,gBAAkB/O,KAAKS,QAAQiJ,cAAcqF,iBACjN,IAAIC,EACJ,GAAID,EAAiB,CACnB,MAAME,EAAK/L,EAAI2H,MAAM7K,KAAK8K,aAAaC,eACvCiE,EAAUC,GAAMA,EAAGtO,MACrB,CACA,IAAI4E,EAAO9E,EAAQuD,SAAsC,iBAApBvD,EAAQuD,QAAuBvD,EAAQuD,QAAUvD,EAMtF,GALIT,KAAKS,QAAQiJ,cAAcmF,mBAAkBtJ,EAAO,IACnDvF,KAAKS,QAAQiJ,cAAcmF,oBAC3BtJ,IAELrC,EAAMlD,KAAK8K,aAAaoE,YAAYhM,EAAKqC,EAAM9E,EAAQyG,KAAOlH,KAAKwJ,SAAU/I,GACzEsO,EAAiB,CACnB,MAAMI,EAAKjM,EAAI2H,MAAM7K,KAAK8K,aAAaC,eAEnCiE,GADYG,GAAMA,EAAGxO,UACFF,EAAQ2O,MAAO,EACxC,EACK3O,EAAQyG,KAAyC,OAAlClH,KAAKS,QAAQwH,kBAA6B0B,GAAYA,EAASzG,MAAKzC,EAAQyG,IAAMyC,EAASgC,UAC1F,IAAjBlL,EAAQ2O,OAAgBlM,EAAMlD,KAAK8K,aAAasE,KAAKlM,GAAK,WAC5D,IAAK,IAAIjC,EAAOP,UAAUC,OAAQZ,EAAO,IAAImB,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/EpB,EAAKoB,GAAQT,UAAUS,GAEzB,OAAI+J,GAAWA,EAAQ,KAAOnL,EAAK,KAAOU,EAAQ4O,SAChDV,EAAM5N,OAAOb,KAAK,6CAA6CH,EAAK,cAAc+D,EAAI,MAC/E,MAEF6K,EAAM1D,aAAalL,EAAM+D,EAClC,GAAGrD,IACCA,EAAQiJ,eAAe1J,KAAK8K,aAAawE,OAC/C,CACA,MAAMC,EAAc9O,EAAQ8O,aAAevP,KAAKS,QAAQ8O,YAClDC,EAA4C,iBAAhBD,EAA2B,CAACA,GAAeA,EAO7E,OANIrM,SAAqCsM,GAAsBA,EAAmB7O,SAAyC,IAA/BF,EAAQgP,qBAClGvM,EAAMsF,EAAcK,OAAO2G,EAAoBtM,EAAKY,EAAK9D,KAAKS,SAAWT,KAAKS,QAAQiP,wBAA0B,CAC9GC,aAAchG,KACXlJ,GACDA,EAAST,OAERkD,CACT,CACAI,QAAQ8E,GACN,IACIwH,EACAnE,EACAC,EACAC,EACAC,EALAnL,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAqEnF,MA/DoB,iBAAT0H,IAAmBA,EAAO,CAACA,IACtCA,EAAK5F,SAAQiC,IACX,GAAIzE,KAAKoN,cAAcwC,GAAQ,OAC/B,MAAMC,EAAY7P,KAAK4J,eAAenF,EAAGhE,GACnCqD,EAAM+L,EAAU/L,IACtB2H,EAAU3H,EACV,IAAIgG,EAAa+F,EAAU/F,WACvB9J,KAAKS,QAAQqP,aAAYhG,EAAaA,EAAW/G,OAAO/C,KAAKS,QAAQqP,aACzE,MAAMnD,OAAwC/L,IAAlBH,EAAQmM,OAAgD,iBAAlBnM,EAAQmM,MACpEmD,EAAwBpD,IAAwBlM,EAAQyM,SAA6B,IAAlBzM,EAAQmM,OAAe5M,KAAK+M,eAAeiD,mBAC9GC,OAA2CrP,IAApBH,EAAQ4O,UAAqD,iBAApB5O,EAAQ4O,SAAmD,iBAApB5O,EAAQ4O,UAA6C,KAApB5O,EAAQ4O,QAChJa,EAAQzP,EAAQgN,KAAOhN,EAAQgN,KAAOzN,KAAK2N,cAAcI,mBAAmBtN,EAAQyG,KAAOlH,KAAKwJ,SAAU/I,EAAQoN,aACxH/D,EAAWtH,SAAQiE,IACbzG,KAAKoN,cAAcwC,KACvBhE,EAASnF,GACJwC,EAAiB,GAAGiH,EAAM,MAAMzJ,MAASzG,KAAKmQ,OAASnQ,KAAKmQ,MAAMC,qBAAuBpQ,KAAKmQ,MAAMC,mBAAmBxE,KAC1H3C,EAAiB,GAAGiH,EAAM,MAAMzJ,MAAQ,EACxCzG,KAAKe,OAAOb,KAAK,QAAQuL,qBAA2ByE,EAAMhK,KAAK,2CAA2C0F,wBAA8B,6NAE1IsE,EAAM1N,SAAQ+D,IACZ,GAAIvG,KAAKoN,cAAcwC,GAAQ,OAC/BjE,EAAUpF,EACV,MAAM8J,EAAY,CAACvM,GACnB,GAAI9D,KAAKkM,YAAclM,KAAKkM,WAAWoE,cACrCtQ,KAAKkM,WAAWoE,cAAcD,EAAWvM,EAAKyC,EAAME,EAAIhG,OACnD,CACL,IAAI8P,EACA5D,IAAqB4D,EAAevQ,KAAK+M,eAAeC,UAAUzG,EAAM9F,EAAQmM,MAAOnM,IAC3F,MAAM+P,EAAa,GAAGxQ,KAAKS,QAAQgQ,sBAC7BC,EAAgB,GAAG1Q,KAAKS,QAAQgQ,yBAAyBzQ,KAAKS,QAAQgQ,kBAU5E,GATI9D,IACF0D,EAAU3N,KAAKoB,EAAMyM,GACjB9P,EAAQyM,SAAmD,IAAxCqD,EAAaxM,QAAQ2M,IAC1CL,EAAU3N,KAAKoB,EAAMyM,EAAavM,QAAQ0M,EAAe1Q,KAAKS,QAAQgQ,kBAEpEV,GACFM,EAAU3N,KAAKoB,EAAM0M,IAGrBP,EAAsB,CACxB,MAAMU,EAAa,GAAG7M,IAAM9D,KAAKS,QAAQmQ,mBAAmBnQ,EAAQ4O,UACpEgB,EAAU3N,KAAKiO,GACXhE,IACF0D,EAAU3N,KAAKiO,EAAaJ,GACxB9P,EAAQyM,SAAmD,IAAxCqD,EAAaxM,QAAQ2M,IAC1CL,EAAU3N,KAAKiO,EAAaJ,EAAavM,QAAQ0M,EAAe1Q,KAAKS,QAAQgQ,kBAE3EV,GACFM,EAAU3N,KAAKiO,EAAaH,GAGlC,CACF,CACA,IAAIK,EACJ,KAAOA,EAAcR,EAAUS,OACxB9Q,KAAKoN,cAAcwC,KACtBlE,EAAemF,EACfjB,EAAQ5P,KAAKiH,YAAYV,EAAME,EAAIoK,EAAapQ,GAEpD,IACA,GACF,IAEG,CACLyC,IAAK0M,EACLnE,UACAC,eACAC,UACAC,SAEJ,CACAwB,cAAclK,GACZ,aAAetC,IAARsC,IAAwBlD,KAAKS,QAAQsQ,YAAsB,OAAR7N,IAAoBlD,KAAKS,QAAQuQ,mBAA6B,KAAR9N,EAClH,CACA+D,YAAYV,EAAME,EAAI3C,GACpB,IAAIrD,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAIV,KAAKkM,YAAclM,KAAKkM,WAAWjF,YAAoBjH,KAAKkM,WAAWjF,YAAYV,EAAME,EAAI3C,EAAKrD,GAC/FT,KAAKiR,cAAchK,YAAYV,EAAME,EAAI3C,EAAKrD,EACvD,CACAyQ,uBAAuBzQ,GAErB,IAAK,MAAM0Q,KAAU1Q,EACnB,GAAI2D,OAAOC,UAAUC,eAAeC,KAAK9D,EAAS0Q,IAFrC,iBAE2DA,EAAOxG,UAAU,EAAG7J,UAAkBF,IAAcH,EAAQ0Q,GAClI,OAAO,EAGX,OAAO,CACT,EAGF,SAASC,EAAWC,GAClB,OAAOA,EAAOC,OAAO,GAAGC,cAAgBF,EAAOpL,MAAM,EACvD,CACA,MAAMuL,EACJjR,YAAYE,GACVT,KAAKS,QAAUA,EACfT,KAAKyR,cAAgBzR,KAAKS,QAAQgR,gBAAiB,EACnDzR,KAAKe,OAASkB,EAAWH,OAAO,gBAClC,CACA4P,sBAAsBnL,GAEpB,KADAA,EAAOD,EAAeC,KACTA,EAAKxC,QAAQ,KAAO,EAAG,OAAO,KAC3C,MAAMiC,EAAIO,EAAKhE,MAAM,KACrB,OAAiB,IAAbyD,EAAErF,OAAqB,MAC3BqF,EAAE8K,MACoC,MAAlC9K,EAAEA,EAAErF,OAAS,GAAG6K,cAA8B,KAC3CxL,KAAK2R,mBAAmB3L,EAAEE,KAAK,MACxC,CACA0L,wBAAwBrL,GAEtB,KADAA,EAAOD,EAAeC,KACTA,EAAKxC,QAAQ,KAAO,EAAG,OAAOwC,EAC3C,MAAMP,EAAIO,EAAKhE,MAAM,KACrB,OAAOvC,KAAK2R,mBAAmB3L,EAAE,GACnC,CACA2L,mBAAmBpL,GACjB,GAAoB,iBAATA,GAAqBA,EAAKxC,QAAQ,MAAQ,EAAG,CACtD,MAAM8N,EAAe,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QACtE,IAAI7L,EAAIO,EAAKhE,MAAM,KAcnB,OAbIvC,KAAKS,QAAQqR,aACf9L,EAAIA,EAAEuE,KAAIwH,GAAQA,EAAKvG,gBACD,IAAbxF,EAAErF,QACXqF,EAAE,GAAKA,EAAE,GAAGwF,cACZxF,EAAE,GAAKA,EAAE,GAAGuL,cACRM,EAAa9N,QAAQiC,EAAE,GAAGwF,gBAAkB,IAAGxF,EAAE,GAAKoL,EAAWpL,EAAE,GAAGwF,iBACpD,IAAbxF,EAAErF,SACXqF,EAAE,GAAKA,EAAE,GAAGwF,cACQ,IAAhBxF,EAAE,GAAGrF,SAAcqF,EAAE,GAAKA,EAAE,GAAGuL,eACtB,QAATvL,EAAE,IAAgC,IAAhBA,EAAE,GAAGrF,SAAcqF,EAAE,GAAKA,EAAE,GAAGuL,eACjDM,EAAa9N,QAAQiC,EAAE,GAAGwF,gBAAkB,IAAGxF,EAAE,GAAKoL,EAAWpL,EAAE,GAAGwF,gBACtEqG,EAAa9N,QAAQiC,EAAE,GAAGwF,gBAAkB,IAAGxF,EAAE,GAAKoL,EAAWpL,EAAE,GAAGwF,iBAErExF,EAAEE,KAAK,IAChB,CACA,OAAOlG,KAAKS,QAAQuR,WAAahS,KAAKS,QAAQqR,aAAevL,EAAKiF,cAAgBjF,CACpF,CACA0L,gBAAgB1L,GAId,OAH0B,iBAAtBvG,KAAKS,QAAQyR,MAA2BlS,KAAKS,QAAQ0R,4BACvD5L,EAAOvG,KAAK4R,wBAAwBrL,KAE9BvG,KAAKyR,gBAAkBzR,KAAKyR,cAAc9Q,QAAUX,KAAKyR,cAAc1N,QAAQwC,IAAS,CAClG,CACA6L,sBAAsBlC,GACpB,IAAKA,EAAO,OAAO,KACnB,IAAIN,EAmBJ,OAlBAM,EAAM1N,SAAQ+D,IACZ,GAAIqJ,EAAO,OACX,MAAMyC,EAAarS,KAAK2R,mBAAmBpL,GACtCvG,KAAKS,QAAQgR,gBAAiBzR,KAAKiS,gBAAgBI,KAAazC,EAAQyC,EAAU,KAEpFzC,GAAS5P,KAAKS,QAAQgR,eACzBvB,EAAM1N,SAAQ+D,IACZ,GAAIqJ,EAAO,OACX,MAAM0C,EAAUtS,KAAK4R,wBAAwBrL,GAC7C,GAAIvG,KAAKiS,gBAAgBK,GAAU,OAAO1C,EAAQ0C,EAClD1C,EAAQ5P,KAAKS,QAAQgR,cAAcpJ,MAAKkK,GAClCA,IAAiBD,EAAgBC,EACjCA,EAAaxO,QAAQ,KAAO,GAAKuO,EAAQvO,QAAQ,KAAO,OAA5D,EACsC,IAAlCwO,EAAaxO,QAAQuO,GAAuBC,OAAhD,GACA,IAGD3C,IAAOA,EAAQ5P,KAAK4N,iBAAiB5N,KAAKS,QAAQoN,aAAa,IAC7D+B,CACT,CACAhC,iBAAiB4E,EAAWjM,GAC1B,IAAKiM,EAAW,MAAO,GAGvB,GAFyB,mBAAdA,IAA0BA,EAAYA,EAAUjM,IAClC,iBAAdiM,IAAwBA,EAAY,CAACA,IACG,mBAA/CpO,OAAOC,UAAUqD,SAASrH,MAAMmS,GAAiC,OAAOA,EAC5E,IAAKjM,EAAM,OAAOiM,EAAUC,SAAW,GACvC,IAAI7C,EAAQ4C,EAAUjM,GAKtB,OAJKqJ,IAAOA,EAAQ4C,EAAUxS,KAAK0R,sBAAsBnL,KACpDqJ,IAAOA,EAAQ4C,EAAUxS,KAAK2R,mBAAmBpL,KACjDqJ,IAAOA,EAAQ4C,EAAUxS,KAAK4R,wBAAwBrL,KACtDqJ,IAAOA,EAAQ4C,EAAUC,SACvB7C,GAAS,EAClB,CACA7B,mBAAmBxH,EAAMmM,GACvB,MAAMC,EAAgB3S,KAAK4N,iBAAiB8E,GAAgB1S,KAAKS,QAAQoN,aAAe,GAAItH,GACtF2J,EAAQ,GACR0C,EAAUxI,IACTA,IACDpK,KAAKiS,gBAAgB7H,GACvB8F,EAAMxN,KAAK0H,GAEXpK,KAAKe,OAAOb,KAAK,uDAAuDkK,KAC1E,EAYF,MAVoB,iBAAT7D,IAAsBA,EAAKxC,QAAQ,MAAQ,GAAKwC,EAAKxC,QAAQ,MAAQ,IACpD,iBAAtB/D,KAAKS,QAAQyR,MAAyBU,EAAQ5S,KAAK2R,mBAAmBpL,IAChD,iBAAtBvG,KAAKS,QAAQyR,MAAiD,gBAAtBlS,KAAKS,QAAQyR,MAAwBU,EAAQ5S,KAAK0R,sBAAsBnL,IAC1F,gBAAtBvG,KAAKS,QAAQyR,MAAwBU,EAAQ5S,KAAK4R,wBAAwBrL,KACrD,iBAATA,GAChBqM,EAAQ5S,KAAK2R,mBAAmBpL,IAElCoM,EAAcnQ,SAAQqQ,IAChB3C,EAAMnM,QAAQ8O,GAAM,GAAGD,EAAQ5S,KAAK2R,mBAAmBkB,GAAI,IAE1D3C,CACT,EAGF,IAAI4C,EAAO,CAAC,CACVrF,KAAM,CAAC,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MACjIsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACzYsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACxIsF,GAAI,CAAC,GACLF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAClDsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,KACrBF,GAAI,GACH,CACDpF,KAAM,CAAC,KAAM,MACbsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MAAO,MACdsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IACjBF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,IACdF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACDpF,KAAM,CAAC,OACPsF,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACDpF,KAAM,CAAC,MACPsF,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACDpF,KAAM,CAAC,KAAM,MACbsF,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,KAEFG,EAAqB,CACvB,EAAG,SAAUC,GACX,OAAOC,OAAOD,EAAI,EACpB,EACA,EAAG,SAAUA,GACX,OAAOC,OAAY,GAALD,EAChB,EACA,EAAG,SAAUA,GACX,OAAO,CACT,EACA,EAAG,SAAUA,GACX,OAAOC,OAAOD,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACvH,EACA,EAAG,SAAUA,GACX,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,EAC/G,EACA,EAAG,SAAUA,GACX,OAAOC,OAAY,GAALD,EAAS,EAAIA,GAAK,GAAKA,GAAK,EAAI,EAAI,EACpD,EACA,EAAG,SAAUA,GACX,OAAOC,OAAY,GAALD,EAAS,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACjG,EACA,EAAG,SAAUA,GACX,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,GAAe,IAALA,EAAU,EAAI,EAClE,EACA,EAAG,SAAUA,GACX,OAAOC,OAAOD,GAAK,EACrB,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,EACnE,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,GAAe,IAALA,EAAU,EAAS,GAALA,GAAe,IAALA,EAAU,EAAIA,EAAI,GAAKA,EAAI,GAAK,EAAI,EACtF,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAOD,EAAI,IAAM,GAAKA,EAAI,KAAO,GAC1C,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAa,IAAND,EAChB,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAI,EACvD,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAOD,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACxG,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAOD,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAU,IAANA,EAAU,EAAI,EACjE,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,GAAUA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAI,EAC7D,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,EAAI,EAC1C,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAK,EAAI,EAC5G,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAI,EACzE,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAOD,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,EAAI,EAAI,EACzF,EACA,GAAI,SAAUA,GACZ,OAAOC,OAAY,GAALD,EAAS,EAAS,GAALA,EAAS,GAAKA,EAAI,GAAKA,EAAI,KAAOA,EAAI,IAAM,EAAI,EAAI,EACjF,GAEF,MAAME,EAAkB,CAAC,KAAM,KAAM,MAC/BC,EAAe,CAAC,MAChBC,EAAgB,CACpBC,KAAM,EACNC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,KAAM,EACNC,MAAO,GAcT,MAAMC,EACJrT,YAAYoN,GACV,IAAIlN,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFV,KAAK2N,cAAgBA,EACrB3N,KAAKS,QAAUA,EACfT,KAAKe,OAASkB,EAAWH,OAAO,kBAC1B9B,KAAKS,QAAQoT,oBAAqBT,EAAaU,SAAS9T,KAAKS,QAAQoT,oBAAwC,oBAATE,MAAyBA,KAAKC,cACtIhU,KAAKS,QAAQoT,kBAAoB,KACjC7T,KAAKe,OAAOZ,MAAM,uJAEpBH,KAAKiU,MAtBT,WACE,MAAMA,EAAQ,CAAC,EASf,OARAnB,EAAKtQ,SAAQ0R,IACXA,EAAIzG,KAAKjL,SAAQK,IACfoR,EAAMpR,GAAK,CACTsR,QAASD,EAAInB,GACbqB,QAASpB,EAAmBkB,EAAIrB,IACjC,GACD,IAEGoB,CACT,CAWiBI,EACf,CACAC,QAAQpN,EAAK1C,GACXxE,KAAKiU,MAAM/M,GAAO1C,CACpB,CACA+P,QAAQhO,GACN,IAAI9F,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,GAAIV,KAAKgQ,mBACP,IACE,OAAO,IAAI+D,KAAKC,YAAY1N,EAAeC,GAAO,CAChD1G,KAAMY,EAAQyM,QAAU,UAAY,YAExC,CAAE,MACA,MACF,CAEF,OAAOlN,KAAKiU,MAAM1N,IAASvG,KAAKiU,MAAMjU,KAAK2N,cAAciE,wBAAwBrL,GACnF,CACAiO,YAAYjO,GACV,IAAI9F,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,MAAM+T,EAAOzU,KAAKuU,QAAQhO,EAAM9F,GAChC,OAAIT,KAAKgQ,mBACAyE,GAAQA,EAAKC,kBAAkBC,iBAAiBhU,OAAS,EAE3D8T,GAAQA,EAAKN,QAAQxT,OAAS,CACvC,CACAiU,oBAAoBrO,EAAMzC,GACxB,IAAIrD,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAOV,KAAKuO,YAAYhI,EAAM9F,GAAS8J,KAAIiE,GAAU,GAAG1K,IAAM0K,KAChE,CACAD,YAAYhI,GACV,IAAI9F,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,MAAM+T,EAAOzU,KAAKuU,QAAQhO,EAAM9F,GAChC,OAAKgU,EAGDzU,KAAKgQ,mBACAyE,EAAKC,kBAAkBC,iBAAiBE,MAAK,CAACC,EAAiBC,IAAoB1B,EAAcyB,GAAmBzB,EAAc0B,KAAkBxK,KAAIyK,GAAkB,GAAGhV,KAAKS,QAAQwU,UAAUxU,EAAQyM,QAAU,UAAUlN,KAAKS,QAAQwU,UAAY,KAAKD,MAEhQP,EAAKN,QAAQ5J,KAAI2K,GAAUlV,KAAKgN,UAAUzG,EAAM2O,EAAQzU,KALtD,EAMX,CACAuM,UAAUzG,EAAMqG,GACd,IAAInM,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,MAAM+T,EAAOzU,KAAKuU,QAAQhO,EAAM9F,GAChC,OAAIgU,EACEzU,KAAKgQ,mBACA,GAAGhQ,KAAKS,QAAQwU,UAAUxU,EAAQyM,QAAU,UAAUlN,KAAKS,QAAQwU,UAAY,KAAKR,EAAKU,OAAOvI,KAElG5M,KAAKoV,yBAAyBX,EAAM7H,IAE7C5M,KAAKe,OAAOb,KAAK,6BAA6BqG,KACvC,GACT,CACA6O,yBAAyBX,EAAM7H,GAC7B,MAAMyI,EAAMZ,EAAKa,MAAQb,EAAKL,QAAQxH,GAAS6H,EAAKL,QAAQmB,KAAKC,IAAI5I,IACrE,IAAI4B,EAASiG,EAAKN,QAAQkB,GACtBrV,KAAKS,QAAQgV,sBAAgD,IAAxBhB,EAAKN,QAAQxT,QAAoC,IAApB8T,EAAKN,QAAQ,KAClE,IAAX3F,EACFA,EAAS,SACW,IAAXA,IACTA,EAAS,KAGb,MAAMkH,EAAe,IAAM1V,KAAKS,QAAQwU,SAAWzG,EAAO9G,WAAa1H,KAAKS,QAAQwU,QAAUzG,EAAO9G,WAAa8G,EAAO9G,WACzH,MAAuC,OAAnC1H,KAAKS,QAAQoT,kBACA,IAAXrF,EAAqB,GACH,iBAAXA,EAA4B,WAAWA,EAAO9G,aAClDgO,IACqC,OAAnC1V,KAAKS,QAAQoT,mBAEb7T,KAAKS,QAAQgV,sBAAgD,IAAxBhB,EAAKN,QAAQxT,QAAoC,IAApB8T,EAAKN,QAAQ,GADjFuB,IAIF1V,KAAKS,QAAQwU,SAAWI,EAAI3N,WAAa1H,KAAKS,QAAQwU,QAAUI,EAAI3N,WAAa2N,EAAI3N,UAC9F,CACAsI,mBACE,OAAQmD,EAAgBW,SAAS9T,KAAKS,QAAQoT,kBAChD,EAGF,SAAS8B,EAAqBpQ,EAAMqQ,EAAa9R,GAC/C,IAAI6B,EAAejF,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,IACnFkG,IAAsBlG,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,KAAmBA,UAAU,GACrFiD,EAj+BN,SAA6B4B,EAAMqQ,EAAa9R,GAC9C,MAAMuD,EAAQzC,EAAQW,EAAMzB,GAC5B,YAAclD,IAAVyG,EACKA,EAEFzC,EAAQgR,EAAa9R,EAC9B,CA29Ba+R,CAAoBtQ,EAAMqQ,EAAa9R,GAKlD,OAJKH,GAAQiD,GAAsC,iBAAR9C,IACzCH,EAAO+B,EAASH,EAAMzB,EAAK6B,QACd/E,IAAT+C,IAAoBA,EAAO+B,EAASkQ,EAAa9R,EAAK6B,KAErDhC,CACT,CACA,MAAMmS,EACJvV,cACE,IAAIE,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFV,KAAKe,OAASkB,EAAWH,OAAO,gBAChC9B,KAAKS,QAAUA,EACfT,KAAK+V,OAAStV,EAAQiJ,eAAiBjJ,EAAQiJ,cAAcqM,QAAU,CAAC1O,GAASA,GACjFrH,KAAKa,KAAKJ,EACZ,CACAI,OACE,IAAIJ,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9ED,EAAQiJ,gBAAejJ,EAAQiJ,cAAgB,CAClDsM,aAAa,IAEf,MAAMC,EAAQxV,EAAQiJ,cACtB1J,KAAKsF,YAA0B1E,IAAjBqV,EAAM3Q,OAAuB2Q,EAAM3Q,OAASA,EAC1DtF,KAAKgW,iBAAoCpV,IAAtBqV,EAAMD,aAA4BC,EAAMD,YAC3DhW,KAAKkW,yBAAoDtV,IAA9BqV,EAAMC,qBAAoCD,EAAMC,oBAC3ElW,KAAKc,OAASmV,EAAMnV,OAASqE,EAAY8Q,EAAMnV,QAAUmV,EAAME,eAAiB,KAChFnW,KAAKwO,OAASyH,EAAMzH,OAASrJ,EAAY8Q,EAAMzH,QAAUyH,EAAMG,eAAiB,KAChFpW,KAAKqW,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,IAChGrW,KAAKsW,eAAiBL,EAAMM,eAAiB,GAAKN,EAAMK,gBAAkB,IAC1EtW,KAAKuW,eAAiBvW,KAAKsW,eAAiB,GAAKL,EAAMM,gBAAkB,GACzEvW,KAAKwW,cAAgBP,EAAMO,cAAgBrR,EAAY8Q,EAAMO,eAAiBP,EAAMQ,sBAAwBtR,EAAY,OACxHnF,KAAK0W,cAAgBT,EAAMS,cAAgBvR,EAAY8Q,EAAMS,eAAiBT,EAAMU,sBAAwBxR,EAAY,KACxHnF,KAAK4W,wBAA0BX,EAAMW,wBAA0BX,EAAMW,wBAA0BX,EAAMW,yBAA2B,IAChI5W,KAAK6W,YAAcZ,EAAMY,YAAcZ,EAAMY,YAAc,IAC3D7W,KAAK8W,kBAAsClW,IAAvBqV,EAAMa,cAA6Bb,EAAMa,aAC7D9W,KAAK+W,aACP,CACAzH,QACMtP,KAAKS,SAAST,KAAKa,KAAKb,KAAKS,QACnC,CACAsW,cACE,MAAMC,EAAY,GAAGhX,KAAKc,cAAcd,KAAKwO,SAC7CxO,KAAKiX,OAAS,IAAI3M,OAAO0M,EAAW,KACpC,MAAME,EAAoB,GAAGlX,KAAKc,SAASd,KAAKsW,sBAAsBtW,KAAKuW,iBAAiBvW,KAAKwO,SACjGxO,KAAKmX,eAAiB,IAAI7M,OAAO4M,EAAmB,KACpD,MAAME,EAAmB,GAAGpX,KAAKwW,qBAAqBxW,KAAK0W,gBAC3D1W,KAAK+K,cAAgB,IAAIT,OAAO8M,EAAkB,IACpD,CACAlI,YAAY9J,EAAKG,EAAM2B,EAAKzG,GAC1B,IAAIoK,EACAxD,EACAgQ,EACJ,MAAMzB,EAAc5V,KAAKS,SAAWT,KAAKS,QAAQiJ,eAAiB1J,KAAKS,QAAQiJ,cAAcmF,kBAAoB,CAAC,EAClH,SAASyI,EAAUC,GACjB,OAAOA,EAAIvT,QAAQ,MAAO,OAC5B,CACA,MAAMwT,EAAe1T,IACnB,GAAIA,EAAIC,QAAQ/D,KAAKqW,iBAAmB,EAAG,CACzC,MAAM1S,EAAOgS,EAAqBpQ,EAAMqQ,EAAa9R,EAAK9D,KAAKS,QAAQkF,aAAc3F,KAAKS,QAAQmG,qBAClG,OAAO5G,KAAK8W,aAAe9W,KAAK+V,OAAOpS,OAAM/C,EAAWsG,EAAK,IACxDzG,KACA8E,EACHkS,iBAAkB3T,IACfH,CACP,CACA,MAAMqC,EAAIlC,EAAIvB,MAAMvC,KAAKqW,iBACnB5R,EAAIuB,EAAE7B,QAAQuT,OACdC,EAAI3R,EAAEE,KAAKlG,KAAKqW,iBAAiBqB,OACvC,OAAO1X,KAAK+V,OAAOJ,EAAqBpQ,EAAMqQ,EAAanR,EAAGzE,KAAKS,QAAQkF,aAAc3F,KAAKS,QAAQmG,qBAAsB+Q,EAAGzQ,EAAK,IAC/HzG,KACA8E,EACHkS,iBAAkBhT,GAClB,EAEJzE,KAAK+W,cACL,MAAMa,EAA8BnX,GAAWA,EAAQmX,6BAA+B5X,KAAKS,QAAQmX,4BAC7F7I,EAAkBtO,GAAWA,EAAQiJ,oBAA2D9I,IAA1CH,EAAQiJ,cAAcqF,gBAAgCtO,EAAQiJ,cAAcqF,gBAAkB/O,KAAKS,QAAQiJ,cAAcqF,gBA2CrL,MA1Cc,CAAC,CACb8I,MAAO7X,KAAKmX,eACZW,UAAWP,GAAOD,EAAUC,IAC3B,CACDM,MAAO7X,KAAKiX,OACZa,UAAWP,GAAOvX,KAAKgW,YAAcsB,EAAUtX,KAAKsF,OAAOiS,IAAQD,EAAUC,KAEzE/U,SAAQuV,IAEZ,IADAV,EAAW,EACJxM,EAAQkN,EAAKF,MAAMG,KAAK5S,IAAM,CACnC,MAAM6S,EAAapN,EAAM,GAAG6M,OAE5B,GADArQ,EAAQmQ,EAAaS,QACPrX,IAAVyG,EACF,GAA2C,mBAAhCuQ,EAA4C,CACrD,MAAMM,EAAON,EAA4BxS,EAAKyF,EAAOpK,GACrD4G,EAAwB,iBAAT6Q,EAAoBA,EAAO,EAC5C,MAAO,GAAIzX,GAAW2D,OAAOC,UAAUC,eAAeC,KAAK9D,EAASwX,GAClE5Q,EAAQ,OACH,IAAI0H,EAAiB,CAC1B1H,EAAQwD,EAAM,GACd,QACF,CACE7K,KAAKe,OAAOb,KAAK,8BAA8B+X,uBAAgC7S,KAC/EiC,EAAQ,EACV,KAC0B,iBAAVA,GAAuBrH,KAAKkW,sBAC5C7O,EAAQ7D,EAAW6D,IAErB,MAAMyQ,EAAYC,EAAKD,UAAUzQ,GASjC,GARAjC,EAAMA,EAAIpB,QAAQ6G,EAAM,GAAIiN,GACxB/I,GACFgJ,EAAKF,MAAMM,WAAa9Q,EAAM1G,OAC9BoX,EAAKF,MAAMM,WAAatN,EAAM,GAAGlK,QAEjCoX,EAAKF,MAAMM,UAAY,EAEzBd,IACIA,GAAYrX,KAAK6W,YACnB,KAEJ,KAEKzR,CACT,CACAgK,KAAKhK,EAAKyN,GACR,IACIhI,EACAxD,EACA+Q,EAHA3X,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAInF,SAAS2X,EAAiBvU,EAAKwU,GAC7B,MAAMC,EAAMvY,KAAK4W,wBACjB,GAAI9S,EAAIC,QAAQwU,GAAO,EAAG,OAAOzU,EACjC,MAAMsG,EAAItG,EAAIvB,MAAM,IAAI+H,OAAO,GAAGiO,WAClC,IAAIC,EAAgB,IAAIpO,EAAE,KAC1BtG,EAAMsG,EAAE,GACRoO,EAAgBxY,KAAKkP,YAAYsJ,EAAeJ,GAChD,MAAMK,EAAsBD,EAAc3N,MAAM,MAC1C6N,EAAsBF,EAAc3N,MAAM,OAC5C4N,GAAuBA,EAAoB9X,OAAS,GAAM,IAAM+X,GAAuBA,EAAoB/X,OAAS,GAAM,KAC5H6X,EAAgBA,EAAcxU,QAAQ,KAAM,MAE9C,IACEoU,EAAgBO,KAAK/J,MAAM4J,GACvBF,IAAkBF,EAAgB,IACjCE,KACAF,GAEP,CAAE,MAAOQ,GAEP,OADA5Y,KAAKe,OAAOb,KAAK,oDAAoD4D,IAAO8U,GACrE,GAAG9U,IAAMyU,IAAMC,GACxB,CAEA,cADOJ,EAAcjL,aACdrJ,CACT,CACA,KAAO+G,EAAQ7K,KAAK+K,cAAciN,KAAK5S,IAAM,CAC3C,IAAIyT,EAAa,GACjBT,EAAgB,IACX3X,GAEL2X,EAAgBA,EAAcpU,SAA4C,iBAA1BoU,EAAcpU,QAAuBoU,EAAcpU,QAAUoU,EAC7GA,EAAc3I,oBAAqB,SAC5B2I,EAAcjL,aACrB,IAAI2L,GAAW,EACf,IAAgD,IAA5CjO,EAAM,GAAG9G,QAAQ/D,KAAKqW,mBAA4B,OAAO5L,KAAKI,EAAM,IAAK,CAC3E,MAAMR,EAAIQ,EAAM,GAAGtI,MAAMvC,KAAKqW,iBAAiB9L,KAAIwO,GAAQA,EAAKrB,SAChE7M,EAAM,GAAKR,EAAElG,QACb0U,EAAaxO,EACbyO,GAAW,CACb,CAEA,GADAzR,EAAQwL,EAAGwF,EAAiB9T,KAAKvE,KAAM6K,EAAM,GAAG6M,OAAQU,GAAgBA,GACpE/Q,GAASwD,EAAM,KAAOzF,GAAwB,iBAAViC,EAAoB,OAAOA,EAC9C,iBAAVA,IAAoBA,EAAQ7D,EAAW6D,IAC7CA,IACHrH,KAAKe,OAAOb,KAAK,qBAAqB2K,EAAM,kBAAkBzF,KAC9DiC,EAAQ,IAENyR,IACFzR,EAAQwR,EAAWG,QAAO,CAAC1Q,EAAGqP,IAAM3X,KAAK+V,OAAOzN,EAAGqP,EAAGlX,EAAQyG,IAAK,IAC9DzG,EACHgX,iBAAkB5M,EAAM,GAAG6M,UACzBrQ,EAAMqQ,SAEZtS,EAAMA,EAAIpB,QAAQ6G,EAAM,GAAIxD,GAC5BrH,KAAKiX,OAAOkB,UAAY,CAC1B,CACA,OAAO/S,CACT,EAgCF,SAAS6T,EAAsBC,GAC7B,MAAMC,EAAQ,CAAC,EACf,OAAO,SAAyB5B,EAAKrQ,EAAKzG,GACxC,MAAMqD,EAAMoD,EAAMyR,KAAKS,UAAU3Y,GACjC,IAAI4Y,EAAYF,EAAMrV,GAKtB,OAJKuV,IACHA,EAAYH,EAAG5S,EAAeY,GAAMzG,GACpC0Y,EAAMrV,GAAOuV,GAERA,EAAU9B,EACnB,CACF,CACA,MAAM+B,EACJ/Y,cACE,IAAIE,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFV,KAAKe,OAASkB,EAAWH,OAAO,aAChC9B,KAAKS,QAAUA,EACfT,KAAKuZ,QAAU,CACbrE,OAAQ+D,GAAsB,CAAC/R,EAAKsS,KAClC,MAAMH,EAAY,IAAItF,KAAK0F,aAAavS,EAAK,IACxCsS,IAEL,OAAOjC,GAAO8B,EAAUtD,OAAOwB,EAAI,IAErCmC,SAAUT,GAAsB,CAAC/R,EAAKsS,KACpC,MAAMH,EAAY,IAAItF,KAAK0F,aAAavS,EAAK,IACxCsS,EACHG,MAAO,aAET,OAAOpC,GAAO8B,EAAUtD,OAAOwB,EAAI,IAErCqC,SAAUX,GAAsB,CAAC/R,EAAKsS,KACpC,MAAMH,EAAY,IAAItF,KAAK8F,eAAe3S,EAAK,IAC1CsS,IAEL,OAAOjC,GAAO8B,EAAUtD,OAAOwB,EAAI,IAErCuC,aAAcb,GAAsB,CAAC/R,EAAKsS,KACxC,MAAMH,EAAY,IAAItF,KAAKgG,mBAAmB7S,EAAK,IAC9CsS,IAEL,OAAOjC,GAAO8B,EAAUtD,OAAOwB,EAAKiC,EAAIQ,OAAS,MAAM,IAEzDC,KAAMhB,GAAsB,CAAC/R,EAAKsS,KAChC,MAAMH,EAAY,IAAItF,KAAKmG,WAAWhT,EAAK,IACtCsS,IAEL,OAAOjC,GAAO8B,EAAUtD,OAAOwB,EAAI,KAGvCvX,KAAKa,KAAKJ,EACZ,CACAI,KAAKsI,GAIH,MAAM8M,GAHQvV,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAChFgJ,cAAe,CAAC,IAEIA,cACtB1J,KAAKqW,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,GAClG,CACA8D,IAAIvR,EAAMiK,GACR7S,KAAKuZ,QAAQ3Q,EAAK4C,cAAckM,QAAU7E,CAC5C,CACAuH,UAAUxR,EAAMiK,GACd7S,KAAKuZ,QAAQ3Q,EAAK4C,cAAckM,QAAUuB,EAAsBpG,EAClE,CACAkD,OAAO1O,EAAO0O,EAAQ7O,GACpB,IAAIzG,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EA0BnF,OAzBgBqV,EAAOxT,MAAMvC,KAAKqW,iBACX2C,QAAO,CAACqB,EAAK1C,KAClC,MAAM,WACJ2C,EAAU,cACVC,GApGR,SAAwBC,GACtB,IAAIF,EAAaE,EAAUhP,cAAckM,OACzC,MAAM6C,EAAgB,CAAC,EACvB,GAAIC,EAAUzW,QAAQ,MAAQ,EAAG,CAC/B,MAAMiC,EAAIwU,EAAUjY,MAAM,KAC1B+X,EAAatU,EAAE,GAAGwF,cAAckM,OAChC,MAAM+C,EAASzU,EAAE,GAAG2E,UAAU,EAAG3E,EAAE,GAAGrF,OAAS,GAC5B,aAAf2Z,GAA6BG,EAAO1W,QAAQ,KAAO,EAChDwW,EAAcb,WAAUa,EAAcb,SAAWe,EAAO/C,QACrC,iBAAf4C,GAAiCG,EAAO1W,QAAQ,KAAO,EAC3DwW,EAAcP,QAAOO,EAAcP,MAAQS,EAAO/C,QAE1C+C,EAAOlY,MAAM,KACrBC,SAAQgX,IACX,IAAKA,EAAK,OACV,MAAO1V,KAAQ4W,GAAQlB,EAAIjX,MAAM,KAC3BgV,EAAMmD,EAAKxU,KAAK,KAAKwR,OAAO1T,QAAQ,WAAY,IACjDuW,EAAczW,EAAI4T,UAAS6C,EAAczW,EAAI4T,QAAUH,GAChD,UAARA,IAAiBgD,EAAczW,EAAI4T,SAAU,GACrC,SAARH,IAAgBgD,EAAczW,EAAI4T,SAAU,GAC3CiD,MAAMpD,KAAMgD,EAAczW,EAAI4T,QAAUkD,SAASrD,EAAK,IAAG,GAGpE,CACA,MAAO,CACL+C,aACAC,gBAEJ,CAyEUM,CAAelD,GACnB,GAAI3X,KAAKuZ,QAAQe,GAAa,CAC5B,IAAIQ,EAAYT,EAChB,IACE,MAAMU,EAAata,GAAWA,EAAQua,cAAgBva,EAAQua,aAAava,EAAQgX,mBAAqB,CAAC,EACnG5U,EAAIkY,EAAWE,QAAUF,EAAW7T,KAAOzG,EAAQwa,QAAUxa,EAAQyG,KAAOA,EAClF4T,EAAY9a,KAAKuZ,QAAQe,GAAYD,EAAKxX,EAAG,IACxC0X,KACA9Z,KACAsa,GAEP,CAAE,MAAO5a,GACPH,KAAKe,OAAOb,KAAKC,EACnB,CACA,OAAO2a,CACT,CAGA,OAFE9a,KAAKe,OAAOb,KAAK,oCAAoCoa,KAEhDD,CAAG,GACThT,EAEL,EASF,MAAM6T,UAAkBhZ,EACtB3B,YAAY4a,EAASC,EAAOjS,GAC1B,IAAI1I,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFiG,QACA3G,KAAKmb,QAAUA,EACfnb,KAAKob,MAAQA,EACbpb,KAAKmJ,SAAWA,EAChBnJ,KAAK2N,cAAgBxE,EAASwE,cAC9B3N,KAAKS,QAAUA,EACfT,KAAKe,OAASkB,EAAWH,OAAO,oBAChC9B,KAAKqb,aAAe,GACpBrb,KAAKsb,iBAAmB7a,EAAQ6a,kBAAoB,GACpDtb,KAAKub,aAAe,EACpBvb,KAAKwb,WAAa/a,EAAQ+a,YAAc,EAAI/a,EAAQ+a,WAAa,EACjExb,KAAKyb,aAAehb,EAAQgb,cAAgB,EAAIhb,EAAQgb,aAAe,IACvEzb,KAAK0b,MAAQ,CAAC,EACd1b,KAAK2b,MAAQ,GACT3b,KAAKmb,SAAWnb,KAAKmb,QAAQta,MAC/Bb,KAAKmb,QAAQta,KAAKsI,EAAU1I,EAAQ0a,QAAS1a,EAEjD,CACAmb,UAAUC,EAAW/R,EAAYrJ,EAASqb,GACxC,MAAMC,EAAS,CAAC,EACVC,EAAU,CAAC,EACXC,EAAkB,CAAC,EACnBC,EAAmB,CAAC,EA4B1B,OA3BAL,EAAUrZ,SAAQ0E,IAChB,IAAIiV,GAAmB,EACvBrS,EAAWtH,SAAQiE,IACjB,MAAMmC,EAAO,GAAG1B,KAAOT,KAClBhG,EAAQ2b,QAAUpc,KAAKob,MAAMrT,kBAAkBb,EAAKT,GACvDzG,KAAK0b,MAAM9S,GAAQ,EACV5I,KAAK0b,MAAM9S,GAAQ,IAAmC,IAArB5I,KAAK0b,MAAM9S,QAC/BhI,IAAlBob,EAAQpT,KAAqBoT,EAAQpT,IAAQ,IAEjD5I,KAAK0b,MAAM9S,GAAQ,EACnBuT,GAAmB,OACGvb,IAAlBob,EAAQpT,KAAqBoT,EAAQpT,IAAQ,QAC5BhI,IAAjBmb,EAAOnT,KAAqBmT,EAAOnT,IAAQ,QAClBhI,IAAzBsb,EAAiBzV,KAAmByV,EAAiBzV,IAAM,IACjE,IAEG0V,IAAkBF,EAAgB/U,IAAO,EAAI,KAEhD9C,OAAOgE,KAAK2T,GAAQpb,QAAUyD,OAAOgE,KAAK4T,GAASrb,SACrDX,KAAK2b,MAAMjZ,KAAK,CACdsZ,UACAK,aAAcjY,OAAOgE,KAAK4T,GAASrb,OACnC2b,OAAQ,CAAC,EACTC,OAAQ,GACRT,aAGG,CACLC,OAAQ3X,OAAOgE,KAAK2T,GACpBC,QAAS5X,OAAOgE,KAAK4T,GACrBC,gBAAiB7X,OAAOgE,KAAK6T,GAC7BC,iBAAkB9X,OAAOgE,KAAK8T,GAElC,CACAI,OAAO1T,EAAM4T,EAAKjX,GAChB,MAAMC,EAAIoD,EAAKrG,MAAM,KACf2E,EAAM1B,EAAE,GACRiB,EAAKjB,EAAE,GACTgX,GAAKxc,KAAK8C,KAAK,gBAAiBoE,EAAKT,EAAI+V,GACzCjX,GACFvF,KAAKob,MAAMzT,kBAAkBT,EAAKT,EAAIlB,GAExCvF,KAAK0b,MAAM9S,GAAQ4T,GAAO,EAAI,EAC9B,MAAMF,EAAS,CAAC,EAChBtc,KAAK2b,MAAMnZ,SAAQia,KAp3CvB,SAAkBhZ,EAAQE,EAAMgB,EAAU5B,GACxC,MAAM,IACJyB,EAAG,EACHC,GACEf,EAAcD,EAAQE,EAAMS,QAChCI,EAAIC,GAAKD,EAAIC,IAAM,GAEND,EAAIC,GAAG/B,KAAKiC,EAC3B,CA62CM+X,CAASD,EAAEH,OAAQ,CAACpV,GAAMT,GA7EhC,SAAuBgW,EAAG7T,QACAhI,IAApB6b,EAAET,QAAQpT,YACL6T,EAAET,QAAQpT,GACjB6T,EAAEJ,eAEN,CAyEMM,CAAcF,EAAG7T,GACb4T,GAAKC,EAAEF,OAAO7Z,KAAK8Z,GACA,IAAnBC,EAAEJ,cAAuBI,EAAEG,OAC7BxY,OAAOgE,KAAKqU,EAAEH,QAAQ9Z,SAAQK,IACvByZ,EAAOzZ,KAAIyZ,EAAOzZ,GAAK,CAAC,GAC7B,MAAMga,EAAaJ,EAAEH,OAAOzZ,GACxBga,EAAWlc,QACbkc,EAAWra,SAAQyQ,SACIrS,IAAjB0b,EAAOzZ,GAAGoQ,KAAkBqJ,EAAOzZ,GAAGoQ,IAAK,EAAI,GAEvD,IAEFwJ,EAAEG,MAAO,EACLH,EAAEF,OAAO5b,OACX8b,EAAEX,SAASW,EAAEF,QAEbE,EAAEX,WAEN,IAEF9b,KAAK8C,KAAK,SAAUwZ,GACpBtc,KAAK2b,MAAQ3b,KAAK2b,MAAM/Y,QAAO6Z,IAAMA,EAAEG,MACzC,CACAE,KAAK5V,EAAKT,EAAIsW,GACZ,IAAIC,EAAQtc,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAC5Euc,EAAOvc,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAKV,KAAKyb,aAChFK,EAAWpb,UAAUC,OAAS,EAAID,UAAU,QAAKE,EACrD,IAAKsG,EAAIvG,OAAQ,OAAOmb,EAAS,KAAM,CAAC,GACxC,GAAI9b,KAAKub,cAAgBvb,KAAKsb,iBAS5B,YARAtb,KAAKqb,aAAa3Y,KAAK,CACrBwE,MACAT,KACAsW,SACAC,QACAC,OACAnB,aAIJ9b,KAAKub,eACL,MAAM2B,EAAW,CAACV,EAAKjX,KAErB,GADAvF,KAAKub,eACDvb,KAAKqb,aAAa1a,OAAS,EAAG,CAChC,MAAMwc,EAAOnd,KAAKqb,aAAalX,QAC/BnE,KAAK8c,KAAKK,EAAKjW,IAAKiW,EAAK1W,GAAI0W,EAAKJ,OAAQI,EAAKH,MAAOG,EAAKF,KAAME,EAAKrB,SACxE,CACIU,GAAOjX,GAAQyX,EAAQhd,KAAKwb,WAC9B4B,YAAW,KACTpd,KAAK8c,KAAKvY,KAAKvE,KAAMkH,EAAKT,EAAIsW,EAAQC,EAAQ,EAAU,EAAPC,EAAUnB,EAAS,GACnEmB,GAGLnB,EAASU,EAAKjX,EAAK,EAEfsN,EAAK7S,KAAKmb,QAAQ4B,GAAQM,KAAKrd,KAAKmb,SAC1C,GAAkB,IAAdtI,EAAGlS,OAaP,OAAOkS,EAAG3L,EAAKT,EAAIyW,GAZjB,IACE,MAAM7S,EAAIwI,EAAG3L,EAAKT,GACd4D,GAAuB,mBAAXA,EAAEiT,KAChBjT,EAAEiT,MAAK/X,GAAQ2X,EAAS,KAAM3X,KAAOgY,MAAML,GAE3CA,EAAS,KAAM7S,EAEnB,CAAE,MAAOmS,GACPU,EAASV,EACX,CAIJ,CACAgB,eAAe3B,EAAW/R,GACxB,IAAIrJ,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Eob,EAAWpb,UAAUC,OAAS,EAAID,UAAU,QAAKE,EACrD,IAAKZ,KAAKmb,QAER,OADAnb,KAAKe,OAAOb,KAAK,kEACV4b,GAAYA,IAEI,iBAAdD,IAAwBA,EAAY7b,KAAK2N,cAAcI,mBAAmB8N,IAC3D,iBAAf/R,IAAyBA,EAAa,CAACA,IAClD,MAAMiS,EAAS/b,KAAK4b,UAAUC,EAAW/R,EAAYrJ,EAASqb,GAC9D,IAAKC,EAAOA,OAAOpb,OAEjB,OADKob,EAAOC,QAAQrb,QAAQmb,IACrB,KAETC,EAAOA,OAAOvZ,SAAQoG,IACpB5I,KAAKyd,QAAQ7U,EAAK,GAEtB,CACAsJ,KAAK2J,EAAW/R,EAAYgS,GAC1B9b,KAAKwd,eAAe3B,EAAW/R,EAAY,CAAC,EAAGgS,EACjD,CACAM,OAAOP,EAAW/R,EAAYgS,GAC5B9b,KAAKwd,eAAe3B,EAAW/R,EAAY,CACzCsS,QAAQ,GACPN,EACL,CACA2B,QAAQ7U,GACN,IAAI9H,EAASJ,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GACjF,MAAM8E,EAAIoD,EAAKrG,MAAM,KACf2E,EAAM1B,EAAE,GACRiB,EAAKjB,EAAE,GACbxF,KAAK8c,KAAK5V,EAAKT,EAAI,YAAQ7F,OAAWA,GAAW,CAAC4b,EAAKjX,KACjDiX,GAAKxc,KAAKe,OAAOb,KAAK,GAAGY,sBAA2B2F,kBAAmBS,WAAcsV,IACpFA,GAAOjX,GAAMvF,KAAKe,OAAOjB,IAAI,GAAGgB,qBAA0B2F,kBAAmBS,IAAO3B,GACzFvF,KAAKsc,OAAO1T,EAAM4T,EAAKjX,EAAK,GAEhC,CACA8I,YAAYwN,EAAWvQ,EAAWxH,EAAK4Z,EAAeC,GACpD,IAAIld,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Ekd,EAAMld,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,OAC9E,GAAIV,KAAKmJ,SAASgH,OAASnQ,KAAKmJ,SAASgH,MAAMC,qBAAuBpQ,KAAKmJ,SAASgH,MAAMC,mBAAmB9E,GAC3GtL,KAAKe,OAAOb,KAAK,qBAAqB4D,wBAA0BwH,wBAAiC,iOAGnG,GAAIxH,SAA6C,KAARA,EAAzC,CACA,GAAI9D,KAAKmb,SAAWnb,KAAKmb,QAAQrZ,OAAQ,CACvC,MAAM+b,EAAO,IACRpd,EACHkd,YAEI9K,EAAK7S,KAAKmb,QAAQrZ,OAAOub,KAAKrd,KAAKmb,SACzC,GAAItI,EAAGlS,OAAS,EACd,IACE,IAAI0J,EAEFA,EADgB,IAAdwI,EAAGlS,OACDkS,EAAGgJ,EAAWvQ,EAAWxH,EAAK4Z,EAAeG,GAE7ChL,EAAGgJ,EAAWvQ,EAAWxH,EAAK4Z,GAEhCrT,GAAuB,mBAAXA,EAAEiT,KAChBjT,EAAEiT,MAAK/X,GAAQqY,EAAI,KAAMrY,KAAOgY,MAAMK,GAEtCA,EAAI,KAAMvT,EAEd,CAAE,MAAOmS,GACPoB,EAAIpB,EACN,MAEA3J,EAAGgJ,EAAWvQ,EAAWxH,EAAK4Z,EAAeE,EAAKC,EAEtD,CACKhC,GAAcA,EAAU,IAC7B7b,KAAKob,MAAMhU,YAAYyU,EAAU,GAAIvQ,EAAWxH,EAAK4Z,EA5BM,CA6B7D,EAGF,SAASI,IACP,MAAO,CACL9c,OAAO,EACP+c,eAAe,EACftX,GAAI,CAAC,eACLC,UAAW,CAAC,eACZmH,YAAa,CAAC,OACdiC,YAAY,EACZ2B,eAAe,EACfU,0BAA0B,EAC1BD,KAAM,MACN8L,SAAS,EACTvI,sBAAsB,EACtB9P,aAAc,IACdkE,YAAa,IACb4G,gBAAiB,IACjBG,iBAAkB,IAClBqN,yBAAyB,EACzB5P,aAAa,EACbd,eAAe,EACfO,cAAe,WACfQ,oBAAoB,EACpBH,mBAAmB,EACnByJ,6BAA6B,EAC7BrI,aAAa,EACbG,yBAAyB,EACzBqB,YAAY,EACZC,mBAAmB,EACnB5E,eAAe,EACfJ,YAAY,EACZK,uBAAuB,EACvBqC,wBAAwB,EACxBD,6BAA6B,EAC7BlD,yBAAyB,EACzBJ,iCAAkC,SAAgBpL,GAChD,IAAIme,EAAM,CAAC,EAIX,GAHuB,iBAAZne,EAAK,KAAiBme,EAAMne,EAAK,IACrB,iBAAZA,EAAK,KAAiBme,EAAI/Q,aAAepN,EAAK,IAClC,iBAAZA,EAAK,KAAiBme,EAAIC,aAAepe,EAAK,IAClC,iBAAZA,EAAK,IAAsC,iBAAZA,EAAK,GAAiB,CAC9D,MAAMU,EAAUV,EAAK,IAAMA,EAAK,GAChCqE,OAAOgE,KAAK3H,GAAS+B,SAAQsB,IAC3Boa,EAAIpa,GAAOrD,EAAQqD,EAAI,GAE3B,CACA,OAAOoa,CACT,EACAxU,cAAe,CACbsM,aAAa,EACbD,OAAQ,CAAC1O,EAAO0O,EAAQ7O,EAAKzG,IAAY4G,EACzCvG,OAAQ,KACR0N,OAAQ,KACR6H,gBAAiB,IACjBC,eAAgB,IAChBE,cAAe,MACfE,cAAe,IACfE,wBAAyB,IACzBC,YAAa,IACb9H,iBAAiB,GAGvB,CACA,SAASqP,EAAiB3d,GAOxB,MAN0B,iBAAfA,EAAQgG,KAAiBhG,EAAQgG,GAAK,CAAChG,EAAQgG,KACvB,iBAAxBhG,EAAQoN,cAA0BpN,EAAQoN,YAAc,CAACpN,EAAQoN,cAC1C,iBAAvBpN,EAAQqP,aAAyBrP,EAAQqP,WAAa,CAACrP,EAAQqP,aACtErP,EAAQgR,eAAiBhR,EAAQgR,cAAc1N,QAAQ,UAAY,IACrEtD,EAAQgR,cAAgBhR,EAAQgR,cAAc1O,OAAO,CAAC,YAEjDtC,CACT,CAEA,SAAS4d,IAAQ,CASjB,MAAMC,UAAapc,EACjB3B,cACE,IAAIE,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Eob,EAAWpb,UAAUC,OAAS,EAAID,UAAU,QAAKE,EAXzD,IAA6B2d,EAoBzB,GARA5X,QACA3G,KAAKS,QAAU2d,EAAiB3d,GAChCT,KAAKmJ,SAAW,CAAC,EACjBnJ,KAAKe,OAASkB,EACdjC,KAAKwe,QAAU,CACbC,SAAU,IAjBaF,EAmBLve,KAlBToE,OAAOsa,oBAAoBta,OAAOua,eAAeJ,IACzD/b,SAAQ6X,IACc,mBAAdkE,EAAKlE,KACdkE,EAAKlE,GAAOkE,EAAKlE,GAAKgD,KAAKkB,GAC7B,IAeIzC,IAAa9b,KAAK4e,gBAAkBne,EAAQoe,QAAS,CACvD,IAAK7e,KAAKS,QAAQsd,cAEhB,OADA/d,KAAKa,KAAKJ,EAASqb,GACZ9b,KAETod,YAAW,KACTpd,KAAKa,KAAKJ,EAASqb,EAAS,GAC3B,EACL,CACF,CACAjb,OACE,IAAI8N,EAAQ3O,KACZ,IAAIS,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Eob,EAAWpb,UAAUC,OAAS,EAAID,UAAU,QAAKE,EAC9B,mBAAZH,IACTqb,EAAWrb,EACXA,EAAU,CAAC,IAERA,EAAQiG,YAAmC,IAAtBjG,EAAQiG,WAAuBjG,EAAQgG,KACrC,iBAAfhG,EAAQgG,GACjBhG,EAAQiG,UAAYjG,EAAQgG,GACnBhG,EAAQgG,GAAG1C,QAAQ,eAAiB,IAC7CtD,EAAQiG,UAAYjG,EAAQgG,GAAG,KAGnC,MAAMqY,EAAUhB,IAkBhB,SAASiB,EAAoBC,GAC3B,OAAKA,EACwB,mBAAlBA,EAAqC,IAAIA,EAC7CA,EAFoB,IAG7B,CACA,GAtBAhf,KAAKS,QAAU,IACVqe,KACA9e,KAAKS,WACL2d,EAAiB3d,IAEgB,OAAlCT,KAAKS,QAAQwH,mBACfjI,KAAKS,QAAQiJ,cAAgB,IACxBoV,EAAQpV,iBACR1J,KAAKS,QAAQiJ,qBAGS9I,IAAzBH,EAAQkF,eACV3F,KAAKS,QAAQwJ,wBAA0BxJ,EAAQkF,mBAErB/E,IAAxBH,EAAQoJ,cACV7J,KAAKS,QAAQyJ,uBAAyBzJ,EAAQoJ,cAO3C7J,KAAKS,QAAQoe,QAAS,CAMzB,IAAIxF,EALArZ,KAAKwe,QAAQzd,OACfkB,EAAWpB,KAAKke,EAAoB/e,KAAKwe,QAAQzd,QAASf,KAAKS,SAE/DwB,EAAWpB,KAAK,KAAMb,KAAKS,SAGzBT,KAAKwe,QAAQnF,UACfA,EAAYrZ,KAAKwe,QAAQnF,UACA,oBAATtF,OAChBsF,EAAYC,GAEd,MAAM2F,EAAK,IAAIzN,EAAaxR,KAAKS,SACjCT,KAAKob,MAAQ,IAAI5U,EAAcxG,KAAKS,QAAQ+G,UAAWxH,KAAKS,SAC5D,MAAM+E,EAAIxF,KAAKmJ,SACf3D,EAAEzE,OAASkB,EACXuD,EAAEyL,cAAgBjR,KAAKob,MACvB5V,EAAEmI,cAAgBsR,EAClBzZ,EAAEuH,eAAiB,IAAI6G,EAAeqL,EAAI,CACxChK,QAASjV,KAAKS,QAAQgQ,gBACtBoD,kBAAmB7T,KAAKS,QAAQoT,kBAChC4B,qBAAsBzV,KAAKS,QAAQgV,wBAEjC4D,GAAerZ,KAAKS,QAAQiJ,cAAcqM,QAAU/V,KAAKS,QAAQiJ,cAAcqM,SAAW+I,EAAQpV,cAAcqM,SAClHvQ,EAAE6T,UAAY0F,EAAoB1F,GAClC7T,EAAE6T,UAAUxY,KAAK2E,EAAGxF,KAAKS,SACzBT,KAAKS,QAAQiJ,cAAcqM,OAASvQ,EAAE6T,UAAUtD,OAAOsH,KAAK7X,EAAE6T,YAEhE7T,EAAEsF,aAAe,IAAIgL,EAAa9V,KAAKS,SACvC+E,EAAE2K,MAAQ,CACRC,mBAAoBpQ,KAAKoQ,mBAAmBiN,KAAKrd,OAEnDwF,EAAE4I,iBAAmB,IAAI8M,EAAU6D,EAAoB/e,KAAKwe,QAAQrD,SAAU3V,EAAEyL,cAAezL,EAAGxF,KAAKS,SACvG+E,EAAE4I,iBAAiBhM,GAAG,KAAK,SAAUK,GACnC,IAAK,IAAIxB,EAAOP,UAAUC,OAAQZ,EAAO,IAAImB,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGpB,EAAKoB,EAAO,GAAKT,UAAUS,GAE7BwN,EAAM7L,KAAKL,KAAU1C,EACvB,IACIC,KAAKwe,QAAQU,mBACf1Z,EAAE0Z,iBAAmBH,EAAoB/e,KAAKwe,QAAQU,kBAClD1Z,EAAE0Z,iBAAiBre,MAAM2E,EAAE0Z,iBAAiBre,KAAK2E,EAAGxF,KAAKS,QAAQ0e,UAAWnf,KAAKS,UAEnFT,KAAKwe,QAAQtS,aACf1G,EAAE0G,WAAa6S,EAAoB/e,KAAKwe,QAAQtS,YAC5C1G,EAAE0G,WAAWrL,MAAM2E,EAAE0G,WAAWrL,KAAKb,OAE3CA,KAAK8I,WAAa,IAAII,EAAWlJ,KAAKmJ,SAAUnJ,KAAKS,SACrDT,KAAK8I,WAAW1G,GAAG,KAAK,SAAUK,GAChC,IAAK,IAAIpB,EAAQX,UAAUC,OAAQZ,EAAO,IAAImB,MAAMG,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGvB,EAAKuB,EAAQ,GAAKZ,UAAUY,GAE9BqN,EAAM7L,KAAKL,KAAU1C,EACvB,IACAC,KAAKwe,QAAQC,SAASjc,SAAQiF,IACxBA,EAAE5G,MAAM4G,EAAE5G,KAAKb,KAAK,GAE5B,CAGA,GAFAA,KAAK+V,OAAS/V,KAAKS,QAAQiJ,cAAcqM,OACpC+F,IAAUA,EAAWuC,GACtBre,KAAKS,QAAQoN,cAAgB7N,KAAKmJ,SAAS+V,mBAAqBlf,KAAKS,QAAQyG,IAAK,CACpF,MAAMgJ,EAAQlQ,KAAKmJ,SAASwE,cAAcC,iBAAiB5N,KAAKS,QAAQoN,aACpEqC,EAAMvP,OAAS,GAAkB,QAAbuP,EAAM,KAAclQ,KAAKS,QAAQyG,IAAMgJ,EAAM,GACvE,CACKlQ,KAAKmJ,SAAS+V,kBAAqBlf,KAAKS,QAAQyG,KACnDlH,KAAKe,OAAOb,KAAK,2DAEF,CAAC,cAAe,oBAAqB,oBAAqB,qBAClEsC,SAAQua,IACf/c,KAAK+c,GAAU,WACb,OAAOpO,EAAMyM,MAAM2B,MAAWrc,UAChC,CAAC,IAEqB,CAAC,cAAe,eAAgB,oBAAqB,wBAC7D8B,SAAQua,IACtB/c,KAAK+c,GAAU,WAEb,OADApO,EAAMyM,MAAM2B,MAAWrc,WAChBiO,CACT,CAAC,IAEH,MAAMyQ,EAAWnc,IACXiP,EAAO,KACX,MAAMmN,EAAS,CAAC7C,EAAKnT,KACfrJ,KAAK4e,gBAAkB5e,KAAKsf,sBAAsBtf,KAAKe,OAAOb,KAAK,yEACvEF,KAAK4e,eAAgB,EAChB5e,KAAKS,QAAQoe,SAAS7e,KAAKe,OAAOjB,IAAI,cAAeE,KAAKS,SAC/DT,KAAK8C,KAAK,cAAe9C,KAAKS,SAC9B2e,EAAS9b,QAAQ+F,GACjByS,EAASU,EAAKnT,EAAE,EAElB,GAAIrJ,KAAK6b,WAA+C,OAAlC7b,KAAKS,QAAQwH,mBAA8BjI,KAAK4e,cAAe,OAAOS,EAAO,KAAMrf,KAAKqJ,EAAEgU,KAAKrd,OACrHA,KAAKuJ,eAAevJ,KAAKS,QAAQyG,IAAKmY,EAAO,EAO/C,OALIrf,KAAKS,QAAQ+G,YAAcxH,KAAKS,QAAQsd,cAC1C7L,IAEAkL,WAAWlL,EAAM,GAEZkN,CACT,CACAG,cAAc/V,GACZ,IACIgW,EADW9e,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK2d,EAEnF,MAAM1S,EAA8B,iBAAbnC,EAAwBA,EAAWxJ,KAAKwJ,SAE/D,GADwB,mBAAbA,IAAyBgW,EAAehW,IAC9CxJ,KAAKS,QAAQ+G,WAAaxH,KAAKS,QAAQwd,wBAAyB,CACnE,GAAItS,GAAqC,WAA1BA,EAAQH,cAA4B,OAAOgU,IAC1D,MAAMzD,EAAS,GACT0D,EAASvY,IACRA,GACQlH,KAAKmJ,SAASwE,cAAcI,mBAAmB7G,GACvD1E,SAAQK,IACPkZ,EAAOhY,QAAQlB,GAAK,GAAGkZ,EAAOrZ,KAAKG,EAAE,GACzC,EAEC8I,EAIH8T,EAAO9T,GAHW3L,KAAKmJ,SAASwE,cAAcC,iBAAiB5N,KAAKS,QAAQoN,aAClErL,SAAQK,GAAK4c,EAAO5c,KAI5B7C,KAAKS,QAAQud,SACfhe,KAAKS,QAAQud,QAAQxb,SAAQK,GAAK4c,EAAO5c,KAE3C7C,KAAKmJ,SAASiF,iBAAiB8D,KAAK6J,EAAQ/b,KAAKS,QAAQgG,IAAImS,IACtDA,GAAM5Y,KAAK0f,mBAAoB1f,KAAKwJ,UAAUxJ,KAAK2f,oBAAoB3f,KAAKwJ,UACjFgW,EAAa5G,EAAE,GAEnB,MACE4G,EAAa,KAEjB,CACAI,gBAAgBnS,EAAMhH,EAAIqV,GACxB,MAAMsD,EAAWnc,IAQjB,OAPKwK,IAAMA,EAAOzN,KAAK6b,WAClBpV,IAAIA,EAAKzG,KAAKS,QAAQgG,IACtBqV,IAAUA,EAAWuC,GAC1Bre,KAAKmJ,SAASiF,iBAAiBgO,OAAO3O,EAAMhH,GAAI+V,IAC9C4C,EAAS9b,UACTwY,EAASU,EAAI,IAER4C,CACT,CACAS,IAAIlX,GACF,IAAKA,EAAQ,MAAM,IAAImX,MAAM,iGAC7B,IAAKnX,EAAO9I,KAAM,MAAM,IAAIigB,MAAM,4FAsBlC,MArBoB,YAAhBnX,EAAO9I,OACTG,KAAKwe,QAAQrD,QAAUxS,IAEL,WAAhBA,EAAO9I,MAAqB8I,EAAO7I,KAAO6I,EAAOzI,MAAQyI,EAAOxI,SAClEH,KAAKwe,QAAQzd,OAAS4H,GAEJ,qBAAhBA,EAAO9I,OACTG,KAAKwe,QAAQU,iBAAmBvW,GAEd,eAAhBA,EAAO9I,OACTG,KAAKwe,QAAQtS,WAAavD,GAER,kBAAhBA,EAAO9I,MACT2I,EAAcE,iBAAiBC,GAEb,cAAhBA,EAAO9I,OACTG,KAAKwe,QAAQnF,UAAY1Q,GAEP,aAAhBA,EAAO9I,MACTG,KAAKwe,QAAQC,SAAS/b,KAAKiG,GAEtB3I,IACT,CACA2f,oBAAoB9c,GAClB,GAAKA,GAAM7C,KAAK6b,aACZ,CAAC,SAAU,OAAO9X,QAAQlB,IAAM,GACpC,IAAK,IAAIkd,EAAK,EAAGA,EAAK/f,KAAK6b,UAAUlb,OAAQof,IAAM,CACjD,MAAMC,EAAYhgB,KAAK6b,UAAUkE,GACjC,KAAI,CAAC,SAAU,OAAOhc,QAAQic,IAAc,IACxChgB,KAAKob,MAAMjT,4BAA4B6X,GAAY,CACrDhgB,KAAK0f,iBAAmBM,EACxB,KACF,CACF,CACF,CACAzW,eAAerC,EAAK4U,GAClB,IAAImE,EAASjgB,KACbA,KAAKkgB,qBAAuBhZ,EAC5B,MAAMkY,EAAWnc,IACjBjD,KAAK8C,KAAK,mBAAoBoE,GAC9B,MAAMiZ,EAActd,IAClB7C,KAAKwJ,SAAW3G,EAChB7C,KAAK6b,UAAY7b,KAAKmJ,SAASwE,cAAcI,mBAAmBlL,GAChE7C,KAAK0f,sBAAmB9e,EACxBZ,KAAK2f,oBAAoB9c,EAAE,EAEvB+Z,EAAO,CAACJ,EAAK3Z,KACbA,GACFsd,EAAYtd,GACZ7C,KAAK8I,WAAWS,eAAe1G,GAC/B7C,KAAKkgB,0BAAuBtf,EAC5BZ,KAAK8C,KAAK,kBAAmBD,GAC7B7C,KAAKe,OAAOjB,IAAI,kBAAmB+C,IAEnC7C,KAAKkgB,0BAAuBtf,EAE9Bwe,EAAS9b,SAAQ,WACf,OAAO2c,EAAO5W,KAAK3I,UACrB,IACIob,GAAUA,EAASU,GAAK,WAC1B,OAAOyD,EAAO5W,KAAK3I,UACrB,GAAE,EAEE0f,EAAS3S,IACRvG,GAAQuG,IAAQzN,KAAKmJ,SAAS+V,mBAAkBzR,EAAO,IAC5D,MAAM5K,EAAoB,iBAAT4K,EAAoBA,EAAOzN,KAAKmJ,SAASwE,cAAcyE,sBAAsB3E,GAC1F5K,IACG7C,KAAKwJ,UACR2W,EAAYtd,GAET7C,KAAK8I,WAAWU,UAAUxJ,KAAK8I,WAAWS,eAAe1G,GAC1D7C,KAAKmJ,SAAS+V,kBAAoBlf,KAAKmJ,SAAS+V,iBAAiBmB,mBAAmBrgB,KAAKmJ,SAAS+V,iBAAiBmB,kBAAkBxd,IAE3I7C,KAAKuf,cAAc1c,GAAG2Z,IACpBI,EAAKJ,EAAK3Z,EAAE,GACZ,EAaJ,OAXKqE,IAAOlH,KAAKmJ,SAAS+V,kBAAqBlf,KAAKmJ,SAAS+V,iBAAiBoB,OAElEpZ,GAAOlH,KAAKmJ,SAAS+V,kBAAoBlf,KAAKmJ,SAAS+V,iBAAiBoB,MAC7B,IAAjDtgB,KAAKmJ,SAAS+V,iBAAiBqB,OAAO5f,OACxCX,KAAKmJ,SAAS+V,iBAAiBqB,SAASjD,KAAK8C,GAE7CpgB,KAAKmJ,SAAS+V,iBAAiBqB,OAAOH,GAGxCA,EAAOlZ,GARPkZ,EAAOpgB,KAAKmJ,SAAS+V,iBAAiBqB,UAUjCnB,CACT,CACAoB,UAAUtZ,EAAKT,EAAIga,GACjB,IAAIC,EAAS1gB,KACb,MAAM2gB,EAAS,SAAU7c,EAAK+Z,GAC5B,IAAIpd,EACJ,GAAoB,iBAATod,EAAmB,CAC5B,IAAK,IAAItc,EAAQb,UAAUC,OAAQ+Z,EAAO,IAAIxZ,MAAMK,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGkZ,EAAKlZ,EAAQ,GAAKd,UAAUc,GAE9Bf,EAAUigB,EAAOjgB,QAAQ0K,iCAAiC,CAACrH,EAAK+Z,GAAM9a,OAAO2X,GAC/E,MACEja,EAAU,IACLod,GAGPpd,EAAQyG,IAAMzG,EAAQyG,KAAOyZ,EAAOzZ,IACpCzG,EAAQgN,KAAOhN,EAAQgN,MAAQkT,EAAOlT,KACtChN,EAAQgG,GAAKhG,EAAQgG,IAAMka,EAAOla,GAClChG,EAAQggB,UAAYhgB,EAAQggB,WAAaA,GAAaE,EAAOF,UAC7D,MAAM9a,EAAe+a,EAAOjgB,QAAQkF,cAAgB,IACpD,IAAIib,EAMJ,OAJEA,EADEngB,EAAQggB,WAAavf,MAAMkK,QAAQtH,GACzBA,EAAIyG,KAAI9F,GAAK,GAAGhE,EAAQggB,YAAY9a,IAAelB,MAEnDhE,EAAQggB,UAAY,GAAGhgB,EAAQggB,YAAY9a,IAAe7B,IAAQA,EAEzE4c,EAAOrX,EAAEuX,EAAWngB,EAC7B,EAQA,MAPmB,iBAARyG,EACTyZ,EAAOzZ,IAAMA,EAEbyZ,EAAOlT,KAAOvG,EAEhByZ,EAAOla,GAAKA,EACZka,EAAOF,UAAYA,EACZE,CACT,CACAtX,IACE,OAAOrJ,KAAK8I,YAAc9I,KAAK8I,WAAWmC,aAAavK,UACzD,CACA+I,SACE,OAAOzJ,KAAK8I,YAAc9I,KAAK8I,WAAWW,UAAU/I,UACtD,CACAmgB,oBAAoBpa,GAClBzG,KAAKS,QAAQiG,UAAYD,CAC3B,CACA2J,mBAAmB3J,GACjB,IAAIhG,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,IAAKV,KAAK4e,cAER,OADA5e,KAAKe,OAAOb,KAAK,kDAAmDF,KAAK6b,YAClE,EAET,IAAK7b,KAAK6b,YAAc7b,KAAK6b,UAAUlb,OAErC,OADAX,KAAKe,OAAOb,KAAK,6DAA8DF,KAAK6b,YAC7E,EAET,MAAM3U,EAAMzG,EAAQyG,KAAOlH,KAAK0f,kBAAoB1f,KAAK6b,UAAU,GAC7DhO,IAAc7N,KAAKS,SAAUT,KAAKS,QAAQoN,YAC1CiT,EAAU9gB,KAAK6b,UAAU7b,KAAK6b,UAAUlb,OAAS,GACvD,GAA0B,WAAtBuG,EAAIsE,cAA4B,OAAO,EAC3C,MAAMuV,EAAiB,CAACle,EAAGoQ,KACzB,MAAM+N,EAAYhhB,KAAKmJ,SAASiF,iBAAiBsN,MAAM,GAAG7Y,KAAKoQ,KAC/D,OAAsB,IAAf+N,GAAkC,IAAdA,CAAe,EAE5C,GAAIvgB,EAAQwgB,SAAU,CACpB,MAAMC,EAAYzgB,EAAQwgB,SAASjhB,KAAM+gB,GACzC,QAAkBngB,IAAdsgB,EAAyB,OAAOA,CACtC,CACA,SAAIlhB,KAAK+H,kBAAkBb,EAAKT,IAC3BzG,KAAKmJ,SAASiF,iBAAiB+M,WAAWnb,KAAKS,QAAQ+G,WAAcxH,KAAKS,QAAQwd,4BACnF8C,EAAe7Z,EAAKT,IAASoH,IAAekT,EAAeD,EAASra,IAE1E,CACA0a,eAAe1a,EAAIqV,GACjB,MAAMsD,EAAWnc,IACjB,OAAKjD,KAAKS,QAAQgG,IAIA,iBAAPA,IAAiBA,EAAK,CAACA,IAClCA,EAAGjE,SAAQyQ,IACLjT,KAAKS,QAAQgG,GAAG1C,QAAQkP,GAAK,GAAGjT,KAAKS,QAAQgG,GAAG/D,KAAKuQ,EAAE,IAE7DjT,KAAKuf,eAAc/C,IACjB4C,EAAS9b,UACLwY,GAAUA,EAASU,EAAI,IAEtB4C,IAXDtD,GAAUA,IACPzY,QAAQC,UAWnB,CACA8d,cAAc3T,EAAMqO,GAClB,MAAMsD,EAAWnc,IACG,iBAATwK,IAAmBA,EAAO,CAACA,IACtC,MAAM4T,EAAYrhB,KAAKS,QAAQud,SAAW,GACpCsD,EAAU7T,EAAK7K,QAAOsE,GAAOma,EAAUtd,QAAQmD,GAAO,IAC5D,OAAKoa,EAAQ3gB,QAIbX,KAAKS,QAAQud,QAAUqD,EAAUte,OAAOue,GACxCthB,KAAKuf,eAAc/C,IACjB4C,EAAS9b,UACLwY,GAAUA,EAASU,EAAI,IAEtB4C,IARDtD,GAAUA,IACPzY,QAAQC,UAQnB,CACAie,IAAIra,GAEF,GADKA,IAAKA,EAAMlH,KAAK0f,mBAAqB1f,KAAK6b,WAAa7b,KAAK6b,UAAUlb,OAAS,EAAIX,KAAK6b,UAAU,GAAK7b,KAAKwJ,YAC5GtC,EAAK,MAAO,MACjB,MACMyG,EAAgB3N,KAAKmJ,UAAYnJ,KAAKmJ,SAASwE,eAAiB,IAAI6D,EAAasM,KACvF,MAFgB,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,OAEna/Z,QAAQ4J,EAAciE,wBAAwB1K,KAAS,GAAKA,EAAIsE,cAAczH,QAAQ,SAAW,EAAI,MAAQ,KAC9H,CACAmN,wBAGE,OAAO,IAAIoN,EAFG5d,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACpEA,UAAUC,OAAS,EAAID,UAAU,QAAKE,EAEvD,CACA4gB,gBACE,IAAI/gB,EAAUC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Eob,EAAWpb,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK2d,EACnF,MAAMoD,EAAoBhhB,EAAQghB,kBAC9BA,UAA0BhhB,EAAQghB,kBACtC,MAAMC,EAAgB,IACjB1hB,KAAKS,WACLA,EAEDoe,SAAS,GAGP7c,EAAQ,IAAIsc,EAAKoD,GA8BvB,YA7BsB9gB,IAAlBH,EAAQO,YAA0CJ,IAAnBH,EAAQK,SACzCkB,EAAMjB,OAASiB,EAAMjB,OAAOiB,MAAMvB,IAEd,CAAC,QAAS,WAAY,YAC9B+B,SAAQiF,IACpBzF,EAAMyF,GAAKzH,KAAKyH,EAAE,IAEpBzF,EAAMmH,SAAW,IACZnJ,KAAKmJ,UAEVnH,EAAMmH,SAASgH,MAAQ,CACrBC,mBAAoBpO,EAAMoO,mBAAmBiN,KAAKrb,IAEhDyf,IACFzf,EAAMoZ,MAAQ,IAAI5U,EAAcxG,KAAKob,MAAM7V,KAAMmc,GACjD1f,EAAMmH,SAAS8H,cAAgBjP,EAAMoZ,OAEvCpZ,EAAM8G,WAAa,IAAII,EAAWlH,EAAMmH,SAAUuY,GAClD1f,EAAM8G,WAAW1G,GAAG,KAAK,SAAUK,GACjC,IAAK,IAAIf,EAAQhB,UAAUC,OAAQZ,EAAO,IAAImB,MAAMQ,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG5B,EAAK4B,EAAQ,GAAKjB,UAAUiB,GAE9BK,EAAMc,KAAKL,KAAU1C,EACvB,IACAiC,EAAMnB,KAAK6gB,EAAe5F,GAC1B9Z,EAAM8G,WAAWrI,QAAUihB,EAC3B1f,EAAM8G,WAAWsF,iBAAiBjF,SAASgH,MAAQ,CACjDC,mBAAoBpO,EAAMoO,mBAAmBiN,KAAKrb,IAE7CA,CACT,CACAuG,SACE,MAAO,CACL9H,QAAST,KAAKS,QACd2a,MAAOpb,KAAKob,MACZ5R,SAAUxJ,KAAKwJ,SACfqS,UAAW7b,KAAK6b,UAChB6D,iBAAkB1f,KAAK0f,iBAE3B,EAEF,MAAMiC,EAAWrD,EAAKsD,iBACtBD,EAASC,eAAiBtD,EAAKsD,eAE/B,MAAMA,EAAiBD,EAASC,eAC1BL,EAAMI,EAASJ,IACf1gB,EAAO8gB,EAAS9gB,KAChB0e,EAAgBoC,EAASpC,cACzBK,EAAkB+B,EAAS/B,gBAC3BC,EAAM8B,EAAS9B,IACftW,EAAiBoY,EAASpY,eAC1BiX,EAAYmB,EAASnB,UACrBnX,EAAIsY,EAAStY,EACbI,EAASkY,EAASlY,OAClBoX,EAAsBc,EAASd,oBAC/BzQ,EAAqBuR,EAASvR,mBAC9B+Q,EAAiBQ,EAASR,eAC1BC,GAAgBO,EAASP,a","sources":["webpack:///../../node_modules/i18next/dist/esm/i18next.js"],"sourcesContent":["const consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n this.observers[event] = this.observers[event] || [];\n this.observers[event].push(listener);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(l => l !== listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = [].concat(this.observers[event]);\n cloned.forEach(observer => {\n observer(...args);\n });\n }\n if (this.observers['*']) {\n const cloned = [].concat(this.observers['*']);\n cloned.forEach(observer => {\n observer.apply(observer, [event, ...args]);\n });\n }\n }\n}\n\nfunction defer() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n const stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n const key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n}\nconst chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = new RegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const paths = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n let j = 2;\n let p = paths.slice(i, i + j).join(keySeparator);\n let mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n const joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nfunction getCleanedCode(code) {\n if (code && code.indexOf('_') > 0) return code.replace('_', '-');\n return code;\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n const result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key,\n namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = resType === '[object Array]';\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const defaultValue = options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.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.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n this.pluralResolver.getSuffixes(language, options).forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: resolved,\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" 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!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (typeof code === 'string' && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n 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'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: function (n) {\n return Number(n > 1);\n },\n 2: function (n) {\n return Number(n != 1);\n },\n 3: function (n) {\n return 0;\n },\n 4: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function (n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function (n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function (n) {\n return Number(n >= 2);\n },\n 10: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function (n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function (n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function (n) {\n return Number(n !== 0);\n },\n 14: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function (n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function (n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function (n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function (n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function (n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function (n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n 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.');\n }\n this.rules = createRules();\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(getCleanedCode(code), {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nfunction deepFindWithDefaults(data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const regexpStr = `${this.prefix}(.+?)${this.suffix}`;\n this.regexp = new RegExp(regexpStr, 'g');\n const regexpUnescapeStr = `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n const nestingRegexpStr = `${this.nestingPrefix}(.+?)${this.nestingSuffix}`;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nfunction parseFormatStr(formatStr) {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (!opt) return;\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n const cache = {};\n return function invokeFormatter(val, lng, options) {\n const key = lng + JSON.stringify(options);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n const iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" 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!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: (value, format, lng, options) => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = typeof lngs === 'string' ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0);\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['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'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n"],"names":["consoleLogger","type","log","args","this","output","warn","error","console","apply","Logger","constructor","concreteLogger","options","arguments","length","undefined","init","prefix","logger","debug","_len","Array","_key","forward","_len2","_key2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","create","moduleName","clone","baseLogger","EventEmitter","observers","on","events","listener","split","forEach","event","push","off","filter","l","emit","concat","observer","defer","res","rej","promise","Promise","resolve","reject","makeString","object","getLastOfPath","path","Empty","cleanKey","key","indexOf","replace","canNotTraverseDeeper","stack","shift","Object","prototype","hasOwnProperty","call","obj","k","setPath","newValue","getPath","deepExtend","target","source","overwrite","prop","String","regexEscape","str","_entityMap","escape","data","s","chars","deepFind","keySeparator","paths","current","i","j","p","slice","join","mix","endsWith","joinedPath","getCleanedCode","code","ResourceStore","ns","defaultNS","super","ignoreJSONStructure","addNamespaces","removeNamespaces","index","splice","getResource","lng","result","addResource","value","silent","addResources","resources","m","toString","addResourceBundle","deep","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","compatibilityAPI","getDataByLanguage","hasLanguageSomeTranslations","keys","find","v","toJSON","postProcessor","processors","addPostProcessor","module","name","handle","translator","processor","process","checkedLoadedFor","Translator","services","a","t","copy","changeLanguage","language","exists","interpolation","resolved","extractFromKey","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","RegExp","map","matched","test","ki","substring","looksLikeObjectPath","match","interpolator","nestingRegexp","parts","translate","lastKey","overloadTranslationOptionHandler","isArray","returnDetails","namespace","appendNamespaceToCIMode","toLowerCase","usedKey","exactUsedKey","usedLng","usedNS","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","ordinal","defaultValue","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this","parse","defaultVariables","skipInterpolation","skipOnVariables","nestBef","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","extracted","fallbackNS","needsZeroSuffixLookup","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","ordinalPrefix","contextKey","contextSeparator","possibleKey","pop","returnNull","returnEmptyString","resourceStore","static","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","part","cleanCode","isSupportedCode","load","nonExplicitSupportedLngs","getBestMatchFromCodes","cleanedLng","lngOnly","supportedLng","fallbacks","default","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","n","Number","nonIntlVersions","intlVersions","suffixesOrder","zero","one","two","few","many","other","PluralResolver","compatibilityJSON","includes","Intl","PluralRules","rules","set","numbers","plurals","createRules","addRule","getRule","needsPlural","rule","resolvedOptions","pluralCategories","getPluralFormsOfKey","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","deepFindWithDefaults","defaultData","getPathWithDefaults","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","e","formatters","doReduce","elem","reduce","createCachedFormatter","fn","cache","stringify","formatter","Formatter","formats","opt","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","add","addCached","mem","formatName","formatOptions","formatStr","optStr","rest","isNaN","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","queueLoad","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","err","q","pushPath","removePending","done","loadedKeys","read","fcName","tried","wait","resolver","next","setTimeout","bind","then","catch","prepareLoading","loadOne","fallbackValue","isUpdate","clb","opts","get","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","noop","I18n","inst","modules","external","getOwnPropertyNames","getPrototypeOf","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","deferred","finish","initializedStoreOnce","loadResources","usedCallback","append","resolvedLanguage","setResolvedLanguage","reloadResources","use","Error","li","lngInLngs","_this2","isLanguageChangingTo","setLngProps","setLng","cacheUserLanguage","async","detect","getFixedT","keyPrefix","_this3","fixedT","resultKey","setDefaultNamespace","lastLng","loadNotPending","loadState","precheck","preResult","loadNamespaces","loadLanguages","preloaded","newLngs","dir","cloneInstance","forkResourceStore","mergedOptions","instance","createInstance"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_data_view=self.webpackChunk_next_bricks_data_view||[]).push([[5114],{2685:(e,t,r)=>{r.d(t,{j:()=>R});var a=r(7896),n=r(8657),o=r.n(n),i=r(6995),l=r(5095),c=r(4827),s=r(2839),p=r(3028),d=(r(4012),r(37),r(7984),(e,t,r)=>{var a=(new i.Pa4).subVectors(t,e),n=a.length(),o=document.createElement("data-view.app-wall-relation-line");o.style.height="".concat(n,"px"),o.classList.add("relation-line"),o.lightColor=r;var c=new l.cp(o),s=(new i.Pa4).lerpVectors(e,t,.5);c.position.copy(s);var p=(new i._fP).setFromUnitVectors(new i.Pa4(0,1,0).normalize(),a.clone().normalize());return c.setRotationFromQuaternion(p),c}),u=(e,t)=>{var r=new i.Pa4(e[0],e[1],e[2]),a=new i.Pa4(t[0],t[1],t[2]);return{centerVector:(new i.Pa4).lerpVectors(r,a,.5),subVector:(new i.Pa4).subVectors(r,a)}},h=e=>{var{BW:t,TW:r,d:a,TH:n,BH:o,isLeft:c}=e,s=Math.sqrt(Math.pow(r/2-t/2,2)+Math.pow(a,2)),p=document.createElement("div");p.style.cssText="\n width: ".concat(s,"px;\n height:").concat(n,"px;\n position: relative;\n clip-path: polygon(0 0, ").concat(s,"px ").concat(n/2-o/2,"px, ").concat(s,"px ").concat(n/2-o/2+o,"px, 0 ").concat(n,"px);\n ");var d=document.createElement("div");d.className="trapezoidalLeftOrRightAnimation",p.appendChild(d);var h=c?[-t/2,0,0]:[t/2,0,0],g=c?[-r/2,0,a]:[r/2,0,a],b=new l.cp(p),{centerVector:m,subVector:v}=u(h,g);b.position.copy(m);var x=(new i._fP).setFromUnitVectors(new i.Pa4(1,0,0).normalize(),v.clone().normalize());return b.setRotationFromQuaternion(x),b},g=e=>{var{BW:t,TW:r,d:a,TH:n,BH:o,isTop:c}=e,s=Math.sqrt(Math.pow(n/2-o/2,2)+Math.pow(a,2)),p=document.createElement("div");p.style.cssText="\n width: ".concat(r,"px;\n height:").concat(s,"px;\n position: relative;\n clip-path: polygon(0 0, ").concat(r,"px 0, ").concat(r/2-t/2+t,"px ").concat(s,"px, ").concat(r/2-t/2,"px ").concat(s,"px);\n ");var d=document.createElement("div");d.className="trapezoidalTopOrBottomAnimation",p.appendChild(d);var h=new l.cp(p),g=c?[0,-o/2,0]:[0,o/2,0],b=c?[0,-n/2,a]:[0,n/2,a],{centerVector:m,subVector:v}=u(g,b);h.position.copy(m);var x=(new i._fP).setFromUnitVectors(new i.Pa4(0,-1,0).normalize(),v.clone().normalize());return h.setRotationFromQuaternion(x),h},b=e=>{var{objectData:t,leftBtnName:r,clusters:a,columns:n,leftOnClick:o,rightBtnName:i,rightOnClick:c,appName:s}=e,p=600,d=document.createElement("div"),u=new l.cp(d);u.position.set(...t.point);var b=t.width,m=t.height,v=1500,x=1200,w=document.createElement("div");w.style.cssText="\n width: ".concat(b,"px;\n height: ").concat(m,"px;\n box-shadow: inset 0px 1px 2px 0px rgba(255,255,255,0.45);\n border: 1px solid rgba(118,255,255,0.58);\n padding: 16px;\n ");var f=new l.cp(w);f.position.z=0,u.add(f);var y=document.createElement("div");y.style.cssText="\n width: ".concat(v,"px;\n height:").concat(x,"px;\n background: linear-gradient(rgb(13, 54, 179,0.6) 0%, rgb(74, 108, 156,0.6) 100%);\n box-sizing: border-box;\n padding: 16px;\n ");var k=document.createElement("data-view.cabinet-thumbnail");k.clusters=null!=a?a:[],k.columns=null!=n?n:4,k.appName=s,y.className="visibilityAnimate",y.appendChild(k);var z=new l.cp(y);z.position.set(0,0,p);var T=h({BW:b,TW:v,BH:m,TH:x,d:p,isLeft:!0}),C=h({BW:b,TW:v,BH:m,TH:x,d:p,isLeft:!1}),P=g({BW:b,TW:v,BH:m,TH:x,d:p,isTop:!0}),E=g({BW:b,TW:v,BH:m,TH:x,d:p,isTop:!1});if(u.add(T,C,E,P),r){var S=document.createElement("div");S.style.cssText="\n color: #6BE0FA;\n font-size: 28px;\n font-weight: 500;\n width: ".concat(750,"px;\n line-height: 16px;\n "),S.className="visibilityAnimate";var M=document.createElement("span");M.style.cursor="pointer",M.innerText=r,S.appendChild(M);var F=new l.cp(S);F.position.set(-365,-600,14),F.rotateX(Math.PI/2),z.add(F),M.onpointerdown=o}if(i){var B=document.createElement("div");B.style.cssText="\n color: #FFFFFF;\n font-size: 30px;\n font-weight: 500;\n width: ".concat(750,"px;\n text-shadow: 0px 1px 4px #3366FF;\n text-align: right;\n "),B.className="visibilityAnimate";var R=document.createElement("span");R.style.cursor="pointer",R.innerText=i,B.appendChild(R);var A=new l.cp(B);A.position.set(365,-600,14),A.rotateX(Math.PI/2),z.add(A),R.onpointerdown=c}return u.add(z),u},m=(e,t,r)=>{if(null==e||!e.length)return[];var a=e.map((e=>(0,p.Z)((0,p.Z)({},e),{},{x:0,y:0})));if(a.length===t*r)a=a.map(((e,r)=>(0,p.Z)((0,p.Z)({},e),{},{x:r%t+1,y:parseInt("".concat(r/t))+1})));else{for(var n=t*(r-1),o=a.length-n,i=0;i<n;i++){var l=a[i];l.x=i%t+1,l.y=parseInt("".concat(i/t))+1}for(var c=0;c<o/2;c++){var s=a[c+n],d=a[a.length-1-c];s.x=c+1,s.y=r,s!==d&&(d.x=t-c,d.y=r)}}return a},v=(e,t,r,a)=>{var n=new i.Tme;return n.position.x=e.x*t.outerWidth-(r/2+.5)*t.outerWidth,n.position.y=-e.y*t.outerHeight+(a/2+.5)*t.outerHeight,n},x=(e,t,r,a,n,o)=>{var l=new i.Tme,c=new i.Pa4,s=((e,t,r,a,n)=>{var o={x:0,y:0,z:0},i=parseInt("".concat(r*t.outerWidth*180))/(n*Math.PI),l=r/2+.5;return o.x=i*Math.sin(Math.PI/(180/((e.x-l)*(n/r)))),o.y=-e.y*t.outerHeight+(a/2+.5)*t.outerHeight,o.z=i-Math.sqrt(i*i-o.x*o.x),o})(e,t,r,a,n);return l.position.x=s.x,l.position.y=s.y,l.position.z=s.z,c.x=0,c.y=l.position.y,c.z=o,l.lookAt(c),l},w=(e,t,r,a)=>{var n=t.height+2*t.margin,o=(t.width+2*t.margin)/e.aspect,i=.5*Math.max(o,n)/Math.tan(e.fov*Math.PI/360)+t.z,l=0;return r.forEach((function(e){a>=Math.min.apply(null,e.numRange)&&a<=Math.max.apply(null,e.numRange)&&(l=e.distance)})),Math.max(l,i)},f=(e,t)=>{var r=[],a=e.userData;return Array.isArray(t)&&t.length&&t.forEach((function(e){a.key!==e.source&&a.key!==e.target||r.push(e)})),r},y=e=>{var t=e.composedPath().find((e=>null==e?void 0:e.shadowRoot));if("DATA-VIEW.APP-WALL-CARD-ITEM"===(null==t?void 0:t.tagName))return t;var r=document.elementFromPoint(e.clientX,e.clientY),a=null==r?void 0:r.shadowRoot.elementFromPoint(e.clientX,e.clientY);return"DATA-VIEW.APP-WALL-CARD-ITEM"===(null==a?void 0:a.tagName)?a:null},k=r(528),z=r(2779),T=r.n(z),C={width:120,height:160,outerWidth:140,outerHeight:180,lgWidth:180,lgHeight:240},P=[{numRange:[0,40],distance:3e3},{numRange:[40,60],distance:2200},{numRange:[60,80],distance:2700},{numRange:[80,120],distance:3200},{numRange:[120,160],distance:3400},{numRange:[160,300],distance:3600}],E=45,S=100,M=300,F=e=>{var t=Math.ceil(Math.sqrt(e*C.outerHeight/(.4*C.outerWidth))),r=Math.ceil(e/t),a=parseInt("".concat(t*C.outerWidth*180))/(S*Math.PI);return{maxX:t,maxY:r,radius:a,bounds:{width:2*a*Math.sin(Math.PI*(S/2)/180)+C.outerWidth,height:r*C.outerHeight,margin:100,z:a-a*Math.cos(Math.PI*(S/2)/180)}}},B=(0,k.wrapBrick)("data-view.app-wall-system-card");function R(e){var{relations:t,onSystemCardButtonClick:r,useDblclick:p,useDistanceConfig:u,handleCardDbClick:h,rightBtnOnClick:g,leftBtnOnClick:k}=e,[z,R]=(0,n.useState)(null),A=(0,n.useRef)(),I=(0,n.useRef)(),_=(0,n.useRef)(),W=(0,n.useRef)(),X=(0,n.useRef)(),D=(0,n.useRef)(),L=(0,n.useRef)(),N=(0,n.useRef)(),H=(0,n.useRef)(),O=(0,n.useRef)(),V=(0,n.useRef)({table:[],curve:[]}),Z=(0,n.useRef)([]),j=(0,n.useRef)([]),Y=(0,n.useRef)({maxX:0,maxY:0,radius:0,bounds:{width:0,height:0,margin:100,z:0}}),G=(0,n.useRef)({element:null,mouseoverTimer:null,mouseoutTimer:null,clickTimer:null,dblClickTimer:null,isShowGraph3D:!1,isShowAppInfo:!1,isShowRelations:!1,enable:!0}),U=(0,n.useCallback)((()=>{D.current.render(L.current,N.current)}),[]),q=e=>{var t;if(null===(t=G.current)||void 0===t||!t.element)return null==e?void 0:e();var{__objectCSS:r,__curve:a,__userData:n}=G.current.element;new s.kX(r.rotation).to({x:a.rotation.x,y:a.rotation.y,z:a.rotation.z},300).start(),new s.kX(r.scale).to({x:1,y:1,z:1},300).start(),new s.kX(r.position).to({x:a.position.x,y:a.position.y,z:a.position.z},300).onUpdate(U).onStart((()=>{var e;r.element.classList.remove("status-".concat(n.status||"normal","-card")),null===(e=Z.current)||void 0===e||e.forEach((e=>{e.element.style.opacity="1"})),j.current.forEach((e=>{L.current.remove(e)})),j.current=[],U()})).onComplete((()=>{var t;G.current.isShowRelations=!1,null==e||e(null===(t=G.current)||void 0===t?void 0:t.element)})).start()},Q=(e,t)=>{G.current.enable=!1;for(var r=0;r<Z.current.length;r++){var a=Z.current[r],n=e[r];new s.kX(a.position).to({x:n.position.x,y:n.position.y,z:n.position.z},i.M8C.randFloat(t,2*t)).easing(s.oY.Exponential.InOut).start(),new s.kX(a.rotation).to({x:n.rotation.x,y:n.rotation.y,z:n.rotation.z},i.M8C.randFloat(t,2*t)).easing(s.oY.Exponential.InOut).start()}new s.kX({}).to({},2*t).onUpdate(U).start().onComplete((()=>{G.current.enable=!0}))},K=e=>{H.current.reset();var t=G.current.element.__objectCSS,r=G.current.element.__curve;G.current.enable=!1,G.current.isShowAppInfo=!0;var a,n={x:r.position.x>0?2*-C.width:2*C.width,y:0,z:(N.current.position.z-500)/1.5},o={x:0,y:0,z:N.current.position.z-500},i={x:0,y:r.rotation.y>0?90*-Math.PI/180:90*Math.PI/180,z:0},l={x:0,y:r.rotation.y>0?180*-Math.PI/180:180*Math.PI/180,z:0},c=new s.kX(t.position),p=new s.kX(t.rotation),d=new s.kX(t.position),u=new s.kX(t.rotation);e?(c.to(n,500).easing().onComplete((()=>{X.current.hidden=!0,G.current.element.style.opacity="1"})),p.to(i,500).easing(),d.to({x:r.position.x,y:r.position.y,z:r.position.z},700).easing(),u.to({x:r.rotation.x,y:r.rotation.y,z:r.rotation.z},700).easing().onComplete((()=>{var e;null===(e=Z.current)||void 0===e||e.forEach((e=>{e.element.style.opacity="1"}))}))):(null===(a=Z.current)||void 0===a||a.forEach((e=>{t!=e&&(e.element.style.opacity="0.2")})),c.to(n,700).easing().onStart((()=>{W.current.hidden=!1,X.current.hidden=!0})),p.to(i,700).easing(),d.to(o,500).easing().onStart((function(){G.current.element.style.opacity="0",X.current.style.transition="transition: all .3s ease",X.current.hidden=!1})),u.to(l,500).easing()),c.chain(d).start(),p.chain(u).start(),new s.kX({}).to({},1400).onUpdate((()=>{if(U(),Math.abs(t.rotation.y)>=Math.PI/2){var e=G.current.element.getBoundingClientRect(),r=1.35,a=e.width*r,n=e.height*r;X.current.style.width="".concat(a,"px"),X.current.style.height="".concat(n,"px"),X.current.style.top="".concat(e.top-(r-1)*n/2,"px"),X.current.style.left="".concat(e.left-(r-1)*a/2,"px")}})).start().onComplete((function(){G.current.enable=!0,G.current.isShowAppInfo=!e,W.current.hidden=e}))};return(0,n.useEffect)((()=>{var e;(()=>{var e=window.innerWidth,t=window.innerHeight,r=e/t,a=new l.lX;a.setSize(e,t),I.current.replaceChildren(a.domElement);var n=new i.cPb(E,r,.1,1e4),o=new c.$(n,a.domElement);o.rotateSpeed=.5,o.minDistance=500,o.maxDistance=1e4;var s=new i.xsS;L.current=s,N.current=n,H.current=o,D.current=a})();var t=()=>{e=requestAnimationFrame(t),s.ZP.update(),H.current.update()};t();var r=()=>{N.current.aspect=window.innerWidth/window.innerHeight,N.current.updateProjectionMatrix(),D.current.setSize(window.innerWidth,window.innerHeight),U()};return H.current.addEventListener("change",U),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r),H.current.removeEventListener("change",U),H.current.dispose(),s.ZP.removeAll(),N.current.clear(),L.current.clear(),cancelAnimationFrame(e)}}),[]),(0,n.useEffect)((()=>{var t,r=(null===(t=e.dataSource)||void 0===t?void 0:t.length)||0;r>0&&((e=>{Y.current=F(e)})(r),N.current.position.z=w(N.current,Y.current.bounds,u?P:[],r),N.current.updateProjectionMatrix(),H.current.position0.copy(N.current.position),m(e.dataSource,Y.current.maxX,Y.current.maxY).forEach(((e,t)=>{var r,a,n=document.createElement("data-view.app-wall-card-item");n.status=e.status,n.cardTitle=null===(r=e.cardItemProps)||void 0===r?void 0:r.cardTitle,n.description=null===(a=e.cardItemProps)||void 0===a?void 0:a.description;var o="status-".concat((null==e?void 0:e.status)||"normal");n.className="card-item-container ".concat(o),n.style.width="".concat(C.width,"px"),n.style.height="".concat(C.height,"px"),n.classList.add("card-item-wrap");var i=new l.cp(n);i.position.set(4e3*Math.random()-2e3,4e3*Math.random()-2e3,4e3*Math.random()-2e3),L.current.add(i),Z.current.push(i);var c=v(e,C,Y.current.maxX,Y.current.maxY);V.current.table.push(c);var s=x(e,C,Y.current.maxX,Y.current.maxY,S,Y.current.radius);V.current.curve.push(s),i.userData=e,n.__objectCSS=i,n.__userData=e,n.__curve=s})),Q(V.current.curve,1500));return()=>{H.current.reset(),s.ZP.removeAll(),Z.current.map((e=>{L.current.remove(e)})),Z.current=[],V.current={table:[],curve:[]},G.current={element:null,mouseoverTimer:null,mouseoutTimer:null,clickTimer:null,dblClickTimer:null,enable:!0,isShowAppInfo:!1,isShowGraph3D:!1,isShowRelations:!1}}}),[e.dataSource,u]),(0,n.useEffect)((()=>{var e=A.current,r=e=>{if(clearTimeout(G.current.mouseoverTimer),G.current.isShowAppInfo||G.current.isShowGraph3D||!G.current.enable)return!1;var r=y(e);G.current.mouseoverTimer=window.setTimeout((()=>{q((()=>{r&&!G.current.isShowAppInfo&&(e=>{var{__objectCSS:r,__userData:a}=e,n=r.rotation.y,o={x:r.position.x+50*Math.sin(n),y:r.position.y+15,z:r.position.z+100*Math.cos(n)},i=1.25;G.current.isShowRelations=!0,new s.kX(r.rotation).to({x:0,y:0,z:0},300).onStart((()=>{r.element.classList.add("status-".concat(a.status||"normal","-card"))})).start(),new s.kX(r.scale).to({x:i,y:i,z:i},300).start(),new s.kX(r.position).to(o,300).onUpdate(U).onComplete((function(){var a,n,o,i,l,c;l=f(a=r,t),c=a.userData,null==l||l.forEach((e=>{e.source===c.key?(i=Z.current.find((t=>t.userData.key===e.target)),o=i&&d(a.position,i.position,"blue")):(i=Z.current.find((t=>t.userData.key===e.source)),o=i&&d(i.position,a.position,"purple")),o&&(j.current.push(o),L.current.add(o))})),null===(n=Z.current)||void 0===n||n.forEach((e=>{a!=e&&l.every((t=>t.source!=e.userData.key&&t.target!=e.userData.key))&&(e.element.style.opacity="0.2")})),U(),G.current.element=e})).start()})(r),clearTimeout(G.current.mouseoverTimer)}))}),500)},a=e=>{if(clearTimeout(G.current.clickTimer),clearTimeout(G.current.mouseoverTimer),G.current.isShowAppInfo||G.current.isShowGraph3D||!G.current.enable)return!1;var t=y(e);G.current.clickTimer=window.setTimeout((function(){clearTimeout(G.current.mouseoverTimer),q((()=>{t&&(clearTimeout(G.current.clickTimer),clearTimeout(G.current.mouseoverTimer),e.stopPropagation(),G.current.element=t,R(t.__userData),K(!1))}))}),300)},n=e=>{if(clearTimeout(G.current.clickTimer),clearTimeout(G.current.mouseoverTimer),clearTimeout(G.current.dblClickTimer),G.current.isShowAppInfo||G.current.isShowGraph3D||!G.current.enable)return!1;var t=y(e),{__userData:r,__objectCSS:a}=t;G.current.isShowGraph3D=!0,G.current.dblClickTimer=window.setTimeout((function(){q((()=>{var e;if(p||(null===(e=r.trapezoidalProps)||void 0===e||null===(e=e.clusters)||void 0===e?void 0:e.length)<1)h(r),G.current.isShowGraph3D=!1;else if(t){clearTimeout(G.current.mouseoverTimer),clearTimeout(G.current.clickTimer),I.current.classList.add("mask-container"),H.current.reset();var n={x:a.position.x,y:860+C.height*(Y.current.maxY-r.y)},o=new s.kX(N.current.position),i=new s.kX({opacity:0,scale:0,borderLeftWidth:0,borderRightWidth:0,borderTopWidth:0,borderBottomWidth:0}),l=new s.kX({z:0}),c=new s.kX(N.current.position),d=new s.kX(H.current.target),u=new s.kX({blur:12,spread:0});Q(V.current.table,600),o.to({x:0,y:-3600,z:1600},1e3).chain(u,i,l),i.to({opacity:1},700).onStart((()=>{var e,t,n,o,i,l=b({objectData:{width:C.width,height:C.height,point:[a.position.x,a.position.y,a.position.z]},clusters:null===(e=r.trapezoidalProps)||void 0===e?void 0:e.clusters,columns:null===(t=r.trapezoidalProps)||void 0===t?void 0:t.columns,appName:null===(n=r.trapezoidalProps)||void 0===n?void 0:n.appName,leftBtnName:null===(o=r.trapezoidalProps)||void 0===o?void 0:o.leftBtnName,rightBtnName:null===(i=r.trapezoidalProps)||void 0===i?void 0:i.rightBtnName,rightOnClick:()=>g(r),leftOnClick:()=>k(r)});O.current=l,L.current.add(l)})),l.to({z:M},1e3).delay(230).chain(c,d),c.to({x:n.x,y:-3600+n.y},1e3),d.to({x:n.x,y:n.y},1e3).onComplete((function(){_.current.style.visibility="visible"})),o.start()}}))}),300)};return e.addEventListener("dblclick",n),e.addEventListener("click",a),e.addEventListener("mouseover",r),()=>{e.removeEventListener("mouseover",r),e.removeEventListener("click",a),e.removeEventListener("dblclick",n)}}),[]),o().createElement("div",{className:"appwall-container",ref:A},o().createElement("div",{className:"appwall",ref:I}),o().createElement("div",{className:"mask",ref:W,onClick:()=>{G.current.enable&&K(!0)},hidden:!0},o().createElement(B,(0,a.Z)({},null==z?void 0:z.systemCardProps,{onClick:e=>e.stopPropagation(),handleClick:()=>r(z),ref:X,className:T()({infoWrapper:"normal"===(null==z?void 0:z.status),warningWrapper:"warning"===(null==z?void 0:z.status)})}))),o().createElement("div",{className:"closeBtn",ref:_,onClick:()=>{(()=>{s.ZP.removeAll();var e=new s.kX({z:0}),t=new s.kX({opacity:1}),r=new s.kX(N.current.position),a=new s.kX(H.current.target),n=new s.kX({blur:1500,spread:100});e.to({z:M},1e3).chain(r,a,n),t.to({opacity:0},1e3).onStart((()=>{L.current.remove(O.current),_.current.style.visibility="hidden"})).delay(300),r.to(H.current.position0,1e3).onComplete((function(){H.current.reset(),I.current.classList.remove("mask-container"),Q(V.current.curve,600),G.current.isShowGraph3D=!1})),a.to({x:0,y:0,z:0},1e3),n.to({blur:0,spread:0},1e3),e.start(),t.start()})()}}))}},2284:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(9601),n=r.n(a),o=r(2609),i=r.n(o)()(n());i.push([e.id,':host{display:block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.mask-container{position:absolute;top:0;left:0;width:100%;height:100%;background:#0c1216;z-index:1000}.appwall{position:relative}.appwall.loading .card-item{pointer-events:none!important}.mask{position:absolute;width:100%;height:100%;top:0;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center}.mask[hidden]{display:none}.infoWrapper{position:absolute;background:var(--color-fill-bg-base-4);box-shadow:0 0 12px 2px rgba(80,255,255,0.45),inset 0 0 22px 0 #20242A;border:2px solid #50FFFF;overflow:hidden}.warningWrapper{position:absolute;background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%),#0F1117FF;box-shadow:0 0 12px 2px rgba(204,0,102,0.4),inset 0 4px 10px 0 rgba(255,255,255,0.65);overflow:hidden}.relation-line{pointer-events:none!important}.closeBtn{visibility:hidden;position:fixed;top:50px;right:50px;width:46px;height:46px;text-align:center;border:1px solid;color:rgb(138 189 255/84%);font-size:20px;line-height:46px;cursor:pointer;background:rgba(138,189,255,0.13);border-image:linear-gradient(135deg,rgba(255,255,255,0.5),rgba(255,255,255,0),rgba(255,255,255,0.33)) 1 1;display:flex;justify-content:center;align-items:center;z-index:1000}.closeBtn:before,\n.closeBtn:after{content:"";width:2px;height:20px;background:linear-gradient(180deg,#3467FF 0%,#98CBFF 100%);position:absolute}.closeBtn:before{transform:rotateZ(45deg)}.closeBtn:after{transform:rotateZ(-45deg)}.closeBtn:hover:after,\n.closeBtn:hover:before{background:var(--color-normal-text)}.visibilityAnimate{visibility:hidden;animation:visibility 0.5s both 1s}.trapezoidalLeftOrRightAnimation,\n.trapezoidalTopOrBottomAnimation{background:linear-gradient(180deg,rgba(51,102,255,0.4) 0%,#99CCFF 100%);opacity:0.2;position:absolute}.trapezoidalTopOrBottomAnimation{bottom:0;width:100%;left:0;animation:animateTop 1s both}.trapezoidalLeftOrRightAnimation{top:0;right:0;height:100%;animation:animateLeft 1s both}@keyframes animateTop{0%{height:0}100%{height:100%}}@keyframes animateLeft{0%{width:0}100%{width:100%}}@keyframes visibility{0%{visibility:hidden}100%{visibility:visible}}.card-item-container{transition:opacity 0.5s}.status-normal-card{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning-card{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}',""]);const l=i.toString()},9214:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(9601),n=r.n(a),o=r(2609),i=r.n(o)()(n());i.push([e.id,":host{display:inline-block;width:100%;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.card-item-container{position:relative;width:100%;height:100%}.card-item{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;border-radius:var(--no-border-radius);border-color:transparent;transition:border-color 0.5s}.status-normal:hover{box-shadow:0 0 100px rgba(80,255,255,0.58);border:1px solid rgba(80,255,255,0.58);background:-webkit-gradient(liner,left top,left bottom,from(#002c8d),to(#00123e));background:linear-gradient(to bottom,rgba(80,255,255,1) 0%,rgba(80,255,255,0) 100%)}.status-warning:hover{box-shadow:0 0 100px #CC0066;background:-webkit-gradient(liner,left top,left bottom,from(#CC0066),to(rgba(204,0,102,0.2)));background:linear-gradient(to bottom,#CC0066 0%,rgba(204,0,102,0.2) 100%)}.card-item-container.status-normal .card-item{background:var(--color-fill-bg-base-4);box-shadow:inset 0px 1px 2px 0px rgba(255,255,255,0.45)}.card-item-container.status-normal:hover .card-item{border:2px solid rgba(80,255,255,0.58)}.card-item-container.status-warning .card-item{background:linear-gradient(180deg,#CC0066 0%,rgba(204,0,102,0.2) 100%);box-shadow:inset 0px 2px 6px 0px rgba(255,255,255,0.65)}.card-item-container.status-warning:hover .card-item{border:none}.card-item-text-container{width:100%;padding:0 12px}.card-item-title,\n.card-item-description{font-size:20px;font-weight:var(--font-weight-500);color:var(--color-normal-text)}.card-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-item-description{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}",""]);const l=i.toString()},8384:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(9601),n=r.n(a),o=r(2609),i=r.n(o)()(n());i.push([e.id,":host{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:100%}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.relation-line{position:relative;width:6px;height:100%;background:var(--color-text-divider-line-1);overflow:hidden}.relation-line::after{content:'';position:absolute;width:100%;height:20%;left:0px;top:0px;animation:lightMove 1000ms ease-in-out infinite,lightOpacity 1000ms ease-in-out infinite}.relation-line.light-color-blue::after{background:linear-gradient(rgba(80,255,255,0) 0%,rgba(80,255,255,1) 90%,#DFFFFF 100%)}.relation-line.light-color-purple::after{background:linear-gradient(rgba(102,0,255,0) 0%,rgba(102,0,255,1) 90%,#B07BFF 100%)}@keyframes lightMove{0%{top:0;transform:translateY(-100%)}100%{top:100%;transform:translateY(0)}}@keyframes lightOpacity{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}",""]);const l=i.toString()},9948:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(9601),n=r.n(a),o=r(2609),i=r.n(o)()(n());i.push([e.id,":host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.wrapper{position:relative;width:100%;height:100%;padding:30px 24px 35px;left:0;display:flex;flex-direction:column;border-radius:var(--no-border-radius)}.cardName{font-size:var(--title-font-size-strong);line-height:22px;text-align:center;font-weight:var(--font-weight-500);color:var(--color-normal-text);text-shadow:0 1px 4px rgba(51,102,255,0.5);margin-bottom:35px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.descriptions{flex:1;margin-bottom:20px;font-size:var(--auxiliary-font-size-small);overflow:auto;font-weight:var(--font-weight-400)}.descriptionsItem .itemKey{color:var(--color-secondary-text)}.descriptionsItem .itemValue{color:var(--color-strong-text)}.descriptionsItem{display:flex;gap:10px;margin-bottom:12px}.descriptionsItem>div{flex:1;text-align:left;word-break:break-all}.buttonContent{position:absolute;bottom:16px;right:24px;font-size:var(--auxiliary-font-size);color:#99CCFF;cursor:pointer;font-weight:var(--font-weight-500)}.buttonName{margin-left:5px}",""]);const l=i.toString()},1043:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(9601),n=r.n(a),o=r(2609),i=r.n(o)()(n());i.push([e.id,":host{--palette-rgba-white-1:rgba(255,255,255,10%);--palette-rgba-white-2:rgba(255,255,255,20%);--palette-rgba-white-3:rgba(255,255,255,30%);--palette-rgba-white-4:rgba(255,255,255,40%);--palette-rgba-white-5:rgba(255,255,255,50%);--palette-rgba-white-6:rgba(255,255,255,60%);--palette-rgba-white-7:rgba(255,255,255,70%);--palette-rgba-white-8:rgba(255,255,255,80%);--palette-rgba-white-9:rgba(255,255,255,90%);--palette-rgba-white-10:rgba(255,255,255,100%);--palette-rgba-gray-1:rgba(0,0,0,10%);--palette-rgba-gray-2:rgba(0,0,0,20%);--palette-rgba-gray-3:rgba(0,0,0,30%);--palette-rgba-gray-4:rgba(0,0,0,40%);--palette-rgba-gray-5:rgba(0,0,0,50%);--palette-rgba-gray-6:rgba(0,0,0,60%);--palette-rgba-gray-7:rgba(0,0,0,70%);--palette-rgba-gray-8:rgba(0,0,0,80%);--palette-rgba-gray-9:rgba(0,0,0,90%);--palette-rgba-gray-10:rgba(0,0,0,100%);--palette-rgba-blue-gray-2:rgba(101,106,134,20%);--palette-rgba-blue-gray-3:rgba(101,106,134,30%);--palette-rgba-blue-gray-8:rgba(101,106,134,80%);--palette-tech-blue-4-channel:67,127,255;--palette-tech-blue-4:rgb(var(--palette-tech-blue-4-channel));--palette-tech-blue-6-channel:51,102,255;--palette-tech-blue-6:rgb(var(--palette-tech-blue-6-channel));--palette-tech-blue-8-channel:40,69,159;--palette-tech-blue-8:rgb(var(--palette-tech-blue-8-channel));--palette-sea-green-4-channel:131,245,225;--palette-sea-green-4:rgb(var(--palette-sea-green-4-channel));--palette-green-6-channel:81,235,73;--palette-green-6:rgb(var(--palette-green-6-channel));--palette-green-2:rgba(var(--palette-green-6-channel),20%);--palette-lotus-pink-7-channel:204,0,102;--palette-lotus-pink-7:rgb(var(--palette-lotus-pink-7-channel));--palette-red-6-channel:242,39,39;--palette-red-6:rgb(var(--palette-red-6-channel));--palette-red-2:rgba(var(--palette-red-6-channel),20%);--color-fill-global-bg:#0f1014;--color-fill-bg-container-1:var(--palette-rgba-white-1);--color-fill-bg-container-2:var(--palette-rgba-blue-gray-2);--color-fill-bg-container-3:var(--palette-rgba-blue-gray-8);--color-fill-bg-base-1:var(--palette-rgba-blue-gray-2);--color-fill-bg-base-2:rgba(15,16,20,0%);--color-fill-bg-base-3:rgba(0,0,0,20%);--color-fill-bg-base-4:rgba(40,46,58,100%);--color-fill-bg-base-5:rgba(19,25,47,80%);--color-fill-bg-base-6:var(--palette-rgba-blue-gray-3);--color-brand:var(--palette-tech-blue-6);--color-brand-hover:var(--palette-tech-blue-4);--color-brand-active:var(--palette-tech-blue-8);--color-contrast-1:var(--palette-sea-green-4);--color-error:var(--palette-red-6);--color-error-bg:var(--palette-red-2);--color-success:var(--palette-green-6);--color-success-bg:var(--palette-green-2);--color-header-text-big:var(--palette-rgba-white-10);--color-header-text:var(--palette-rgba-white-10);--color-normal-text:var(--palette-rgba-white-10);--color-strong-text:var(--palette-rgba-white-9);--color-auxiliary-text:var(--palette-rgba-white-8);--color-secondary-text:var(--palette-rgba-white-6);--color-disabled-text:var(--palette-rgba-white-4);--color-border-divider-line:var(--palette-rgba-white-1);--color-text-divider-line-1:var(--palette-rgba-white-2);--color-text-divider-line-2:var(--palette-rgba-white-2);--small-border-radius:2px;--medius-border-radius:5px;--larger-border-radius:12px;--container-border-radius:9999px;--no-border-radius:0px;--mask-bg:var(--palette-rgba-gray-7);--title-font-size-larger:30px;--title-font-size-strong:22px;--title-font-size:18px;--normal-font-size:14px;--auxiliary-font-size:16px;--auxiliary-font-size-small:12px;--overview-data-font-size:34px;--statistics-data-font-size:28px;--normal-data-font-size-larger:20px;--normal-data-font-size:16px;--chart-legend-font-size:12px;--chart-tooltips-font-size-1:12px;--chart-tooltips-font-size-2:12px;--chart-axis-x-font-size:12px;--chart-axis-x-font-size-larger:14px;--chart-axis-y-font-size:12px;--chart-axis-y-font-size-larger:14px;--font-weight-600:600;--font-weight-500:500;--font-weight-400:400;--text-shadow:0px 1px 4px #2863ee;--border-width-base:1px;--border-width-double-base:2px;--border-width-tribble-base:3px;--punctate-width-base:1px;--paragraph-width-base:1px;--button-text-color:#40d0db}",""]);const l=i.toString()}}]);
2
+ //# sourceMappingURL=5114.f11910ec.js.map