@7pmlabs/design-system 0.4.16 → 0.4.17

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 (822) hide show
  1. package/README.md +47 -47
  2. package/dist/design-system100.js +5 -1
  3. package/dist/design-system100.js.map +1 -1
  4. package/dist/design-system100.mjs +10 -6
  5. package/dist/design-system100.mjs.map +1 -1
  6. package/dist/design-system101.js +1 -1
  7. package/dist/design-system101.js.map +1 -1
  8. package/dist/design-system101.mjs +16 -3
  9. package/dist/design-system101.mjs.map +1 -1
  10. package/dist/design-system102.js +1 -1
  11. package/dist/design-system102.js.map +1 -1
  12. package/dist/design-system102.mjs +2172 -2
  13. package/dist/design-system102.mjs.map +1 -1
  14. package/dist/design-system103.js +1 -1
  15. package/dist/design-system103.js.map +1 -1
  16. package/dist/design-system103.mjs +1103 -17
  17. package/dist/design-system103.mjs.map +1 -1
  18. package/dist/design-system104.js +1 -1
  19. package/dist/design-system104.js.map +1 -1
  20. package/dist/design-system104.mjs +63 -62
  21. package/dist/design-system104.mjs.map +1 -1
  22. package/dist/design-system105.js +1 -1
  23. package/dist/design-system105.js.map +1 -1
  24. package/dist/design-system105.mjs +6 -1103
  25. package/dist/design-system105.mjs.map +1 -1
  26. package/dist/design-system106.js +1 -1
  27. package/dist/design-system106.js.map +1 -1
  28. package/dist/design-system106.mjs +67 -25
  29. package/dist/design-system106.mjs.map +1 -1
  30. package/dist/design-system107.js +1 -1
  31. package/dist/design-system107.js.map +1 -1
  32. package/dist/design-system107.mjs +25 -68
  33. package/dist/design-system107.mjs.map +1 -1
  34. package/dist/design-system108.js +1 -1
  35. package/dist/design-system108.js.map +1 -1
  36. package/dist/design-system108.mjs +2 -6
  37. package/dist/design-system108.mjs.map +1 -1
  38. package/dist/design-system109.js +1 -1
  39. package/dist/design-system109.js.map +1 -1
  40. package/dist/design-system109.mjs +6 -2172
  41. package/dist/design-system109.mjs.map +1 -1
  42. package/dist/design-system11.js.map +1 -1
  43. package/dist/design-system11.mjs.map +1 -1
  44. package/dist/design-system110.js +1 -1
  45. package/dist/design-system110.mjs +3 -17
  46. package/dist/design-system110.mjs.map +1 -1
  47. package/dist/design-system111.js +1 -1
  48. package/dist/design-system111.mjs +2 -2
  49. package/dist/design-system112.js +1 -1
  50. package/dist/design-system112.mjs +1 -1
  51. package/dist/design-system113.js +1 -1
  52. package/dist/design-system113.js.map +1 -1
  53. package/dist/design-system113.mjs +2 -4
  54. package/dist/design-system113.mjs.map +1 -1
  55. package/dist/design-system114.js +1 -1
  56. package/dist/design-system114.js.map +1 -1
  57. package/dist/design-system114.mjs +4 -8
  58. package/dist/design-system114.mjs.map +1 -1
  59. package/dist/design-system115.js +1 -1
  60. package/dist/design-system115.js.map +1 -1
  61. package/dist/design-system115.mjs +7 -6
  62. package/dist/design-system115.mjs.map +1 -1
  63. package/dist/design-system116.js +1 -1
  64. package/dist/design-system116.js.map +1 -1
  65. package/dist/design-system116.mjs +6 -62
  66. package/dist/design-system116.mjs.map +1 -1
  67. package/dist/design-system117.js +1 -1
  68. package/dist/design-system117.js.map +1 -1
  69. package/dist/design-system117.mjs +17 -3
  70. package/dist/design-system117.mjs.map +1 -1
  71. package/dist/design-system118.js +1 -1
  72. package/dist/design-system118.js.map +1 -1
  73. package/dist/design-system118.mjs +2 -9
  74. package/dist/design-system118.mjs.map +1 -1
  75. package/dist/design-system119.js +1 -1
  76. package/dist/design-system119.js.map +1 -1
  77. package/dist/design-system119.mjs +62 -6
  78. package/dist/design-system119.mjs.map +1 -1
  79. package/dist/design-system12.js +1 -1
  80. package/dist/design-system12.js.map +1 -1
  81. package/dist/design-system12.mjs +8 -8
  82. package/dist/design-system12.mjs.map +1 -1
  83. package/dist/design-system120.js +1 -1
  84. package/dist/design-system120.js.map +1 -1
  85. package/dist/design-system120.mjs +3 -3
  86. package/dist/design-system120.mjs.map +1 -1
  87. package/dist/design-system121.js +1 -1
  88. package/dist/design-system121.js.map +1 -1
  89. package/dist/design-system121.mjs +9 -3
  90. package/dist/design-system121.mjs.map +1 -1
  91. package/dist/design-system122.js +1 -1
  92. package/dist/design-system122.js.map +1 -1
  93. package/dist/design-system122.mjs +6 -5
  94. package/dist/design-system122.mjs.map +1 -1
  95. package/dist/design-system123.js +1 -1
  96. package/dist/design-system123.js.map +1 -1
  97. package/dist/design-system123.mjs +3 -9
  98. package/dist/design-system123.mjs.map +1 -1
  99. package/dist/design-system124.js +1 -1
  100. package/dist/design-system124.js.map +1 -1
  101. package/dist/design-system124.mjs +3 -5
  102. package/dist/design-system124.mjs.map +1 -1
  103. package/dist/design-system125.js +1 -1
  104. package/dist/design-system125.js.map +1 -1
  105. package/dist/design-system125.mjs +6 -5
  106. package/dist/design-system125.mjs.map +1 -1
  107. package/dist/design-system126.js +1 -1
  108. package/dist/design-system126.js.map +1 -1
  109. package/dist/design-system126.mjs +10 -4
  110. package/dist/design-system126.mjs.map +1 -1
  111. package/dist/design-system127.js +1 -1
  112. package/dist/design-system127.js.map +1 -1
  113. package/dist/design-system127.mjs +4 -3
  114. package/dist/design-system127.mjs.map +1 -1
  115. package/dist/design-system128.js +1 -1
  116. package/dist/design-system128.js.map +1 -1
  117. package/dist/design-system128.mjs +5 -12
  118. package/dist/design-system128.mjs.map +1 -1
  119. package/dist/design-system129.js +1 -1
  120. package/dist/design-system129.js.map +1 -1
  121. package/dist/design-system129.mjs +4 -27
  122. package/dist/design-system129.mjs.map +1 -1
  123. package/dist/design-system13.js +2 -2
  124. package/dist/design-system13.js.map +1 -1
  125. package/dist/design-system13.mjs +53 -53
  126. package/dist/design-system13.mjs.map +1 -1
  127. package/dist/design-system130.js +1 -1
  128. package/dist/design-system130.js.map +1 -1
  129. package/dist/design-system130.mjs +2 -4
  130. package/dist/design-system130.mjs.map +1 -1
  131. package/dist/design-system131.js +1 -1
  132. package/dist/design-system131.js.map +1 -1
  133. package/dist/design-system131.mjs +12 -6
  134. package/dist/design-system131.mjs.map +1 -1
  135. package/dist/design-system132.js +1 -1
  136. package/dist/design-system132.js.map +1 -1
  137. package/dist/design-system132.mjs +27 -8
  138. package/dist/design-system132.mjs.map +1 -1
  139. package/dist/design-system133.js +1 -1
  140. package/dist/design-system133.js.map +1 -1
  141. package/dist/design-system133.mjs +5 -4
  142. package/dist/design-system133.mjs.map +1 -1
  143. package/dist/design-system134.js +1 -1
  144. package/dist/design-system134.js.map +1 -1
  145. package/dist/design-system134.mjs +6 -6
  146. package/dist/design-system134.mjs.map +1 -1
  147. package/dist/design-system135.js +1 -1
  148. package/dist/design-system135.js.map +1 -1
  149. package/dist/design-system135.mjs +7 -6
  150. package/dist/design-system135.mjs.map +1 -1
  151. package/dist/design-system136.js +1 -1
  152. package/dist/design-system136.js.map +1 -1
  153. package/dist/design-system136.mjs +4 -5
  154. package/dist/design-system136.mjs.map +1 -1
  155. package/dist/design-system137.js +1 -1
  156. package/dist/design-system137.js.map +1 -1
  157. package/dist/design-system137.mjs +6 -10
  158. package/dist/design-system137.mjs.map +1 -1
  159. package/dist/design-system138.js +1 -1
  160. package/dist/design-system138.js.map +1 -1
  161. package/dist/design-system138.mjs +7 -6
  162. package/dist/design-system138.mjs.map +1 -1
  163. package/dist/design-system139.js +1 -1
  164. package/dist/design-system139.js.map +1 -1
  165. package/dist/design-system139.mjs +5 -6
  166. package/dist/design-system139.mjs.map +1 -1
  167. package/dist/design-system140.js +1 -1
  168. package/dist/design-system140.js.map +1 -1
  169. package/dist/design-system140.mjs +10 -10
  170. package/dist/design-system140.mjs.map +1 -1
  171. package/dist/design-system141.js +1 -1
  172. package/dist/design-system141.js.map +1 -1
  173. package/dist/design-system141.mjs +6 -7
  174. package/dist/design-system141.mjs.map +1 -1
  175. package/dist/design-system142.js +1 -1
  176. package/dist/design-system142.js.map +1 -1
  177. package/dist/design-system142.mjs +6 -17
  178. package/dist/design-system142.mjs.map +1 -1
  179. package/dist/design-system143.js +1 -1
  180. package/dist/design-system143.js.map +1 -1
  181. package/dist/design-system143.mjs +9 -6
  182. package/dist/design-system143.mjs.map +1 -1
  183. package/dist/design-system144.js +1 -1
  184. package/dist/design-system144.js.map +1 -1
  185. package/dist/design-system144.mjs +6 -12
  186. package/dist/design-system144.mjs.map +1 -1
  187. package/dist/design-system145.js +1 -1
  188. package/dist/design-system145.js.map +1 -1
  189. package/dist/design-system145.mjs +17 -3
  190. package/dist/design-system145.mjs.map +1 -1
  191. package/dist/design-system146.js +1 -1
  192. package/dist/design-system146.js.map +1 -1
  193. package/dist/design-system146.mjs +7 -2
  194. package/dist/design-system146.mjs.map +1 -1
  195. package/dist/design-system147.js +1 -1
  196. package/dist/design-system147.js.map +1 -1
  197. package/dist/design-system147.mjs +13 -2
  198. package/dist/design-system147.mjs.map +1 -1
  199. package/dist/design-system148.js +1 -1
  200. package/dist/design-system148.js.map +1 -1
  201. package/dist/design-system148.mjs +3 -7
  202. package/dist/design-system148.mjs.map +1 -1
  203. package/dist/design-system149.js +1 -1
  204. package/dist/design-system149.js.map +1 -1
  205. package/dist/design-system149.mjs +7 -9
  206. package/dist/design-system149.mjs.map +1 -1
  207. package/dist/design-system15.js +2 -2
  208. package/dist/design-system15.js.map +1 -1
  209. package/dist/design-system15.mjs +51 -51
  210. package/dist/design-system15.mjs.map +1 -1
  211. package/dist/design-system150.js +1 -1
  212. package/dist/design-system150.js.map +1 -1
  213. package/dist/design-system150.mjs +9 -11
  214. package/dist/design-system150.mjs.map +1 -1
  215. package/dist/design-system151.js +1 -1
  216. package/dist/design-system151.js.map +1 -1
  217. package/dist/design-system151.mjs +11 -5
  218. package/dist/design-system151.mjs.map +1 -1
  219. package/dist/design-system152.js +1 -1
  220. package/dist/design-system152.js.map +1 -1
  221. package/dist/design-system152.mjs +6 -10
  222. package/dist/design-system152.mjs.map +1 -1
  223. package/dist/design-system153.js +1 -1
  224. package/dist/design-system153.js.map +1 -1
  225. package/dist/design-system153.mjs +9 -15
  226. package/dist/design-system153.mjs.map +1 -1
  227. package/dist/design-system154.js +1 -1
  228. package/dist/design-system154.js.map +1 -1
  229. package/dist/design-system154.mjs +15 -5
  230. package/dist/design-system154.mjs.map +1 -1
  231. package/dist/design-system155.js +1 -1
  232. package/dist/design-system155.js.map +1 -1
  233. package/dist/design-system155.mjs +5 -5
  234. package/dist/design-system155.mjs.map +1 -1
  235. package/dist/design-system156.js +1 -1
  236. package/dist/design-system156.js.map +1 -1
  237. package/dist/design-system156.mjs +5 -8
  238. package/dist/design-system156.mjs.map +1 -1
  239. package/dist/design-system157.js +1 -1
  240. package/dist/design-system157.js.map +1 -1
  241. package/dist/design-system157.mjs +8 -6
  242. package/dist/design-system157.mjs.map +1 -1
  243. package/dist/design-system158.js +1 -1
  244. package/dist/design-system158.js.map +1 -1
  245. package/dist/design-system158.mjs +6 -5
  246. package/dist/design-system158.mjs.map +1 -1
  247. package/dist/design-system159.js +1 -1
  248. package/dist/design-system159.js.map +1 -1
  249. package/dist/design-system159.mjs +4 -4
  250. package/dist/design-system159.mjs.map +1 -1
  251. package/dist/design-system16.js +1 -1
  252. package/dist/design-system16.js.map +1 -1
  253. package/dist/design-system16.mjs +24 -24
  254. package/dist/design-system16.mjs.map +1 -1
  255. package/dist/design-system160.js +1 -1
  256. package/dist/design-system160.js.map +1 -1
  257. package/dist/design-system160.mjs +5 -6
  258. package/dist/design-system160.mjs.map +1 -1
  259. package/dist/design-system161.js +1 -1
  260. package/dist/design-system161.js.map +1 -1
  261. package/dist/design-system161.mjs +5 -5
  262. package/dist/design-system161.mjs.map +1 -1
  263. package/dist/design-system162.js +1 -1
  264. package/dist/design-system162.js.map +1 -1
  265. package/dist/design-system162.mjs +6 -5
  266. package/dist/design-system162.mjs.map +1 -1
  267. package/dist/design-system163.js +1 -1
  268. package/dist/design-system163.js.map +1 -1
  269. package/dist/design-system163.mjs +5 -39
  270. package/dist/design-system163.mjs.map +1 -1
  271. package/dist/design-system164.js +1 -1
  272. package/dist/design-system164.js.map +1 -1
  273. package/dist/design-system164.mjs +39 -6
  274. package/dist/design-system164.mjs.map +1 -1
  275. package/dist/design-system165.js +1 -1
  276. package/dist/design-system165.js.map +1 -1
  277. package/dist/design-system165.mjs +6 -5
  278. package/dist/design-system165.mjs.map +1 -1
  279. package/dist/design-system166.js +1 -1
  280. package/dist/design-system166.js.map +1 -1
  281. package/dist/design-system166.mjs +6 -16
  282. package/dist/design-system166.mjs.map +1 -1
  283. package/dist/design-system167.js +1 -1
  284. package/dist/design-system167.js.map +1 -1
  285. package/dist/design-system167.mjs +15 -7
  286. package/dist/design-system167.mjs.map +1 -1
  287. package/dist/design-system168.js +1 -1
  288. package/dist/design-system168.js.map +1 -1
  289. package/dist/design-system168.mjs +8 -3
  290. package/dist/design-system168.mjs.map +1 -1
  291. package/dist/design-system169.js +1 -1
  292. package/dist/design-system169.js.map +1 -1
  293. package/dist/design-system169.mjs +3 -4
  294. package/dist/design-system169.mjs.map +1 -1
  295. package/dist/design-system17.js.map +1 -1
  296. package/dist/design-system17.mjs.map +1 -1
  297. package/dist/design-system170.js +1 -1
  298. package/dist/design-system170.js.map +1 -1
  299. package/dist/design-system170.mjs +4 -13
  300. package/dist/design-system170.mjs.map +1 -1
  301. package/dist/design-system171.js +1 -1
  302. package/dist/design-system171.js.map +1 -1
  303. package/dist/design-system171.mjs +12 -4
  304. package/dist/design-system171.mjs.map +1 -1
  305. package/dist/design-system172.js +1 -1
  306. package/dist/design-system172.js.map +1 -1
  307. package/dist/design-system172.mjs +5 -4
  308. package/dist/design-system172.mjs.map +1 -1
  309. package/dist/design-system173.js +1 -1
  310. package/dist/design-system173.js.map +1 -1
  311. package/dist/design-system173.mjs +4 -5
  312. package/dist/design-system173.mjs.map +1 -1
  313. package/dist/design-system174.js +1 -1
  314. package/dist/design-system174.js.map +1 -1
  315. package/dist/design-system174.mjs +5 -5
  316. package/dist/design-system174.mjs.map +1 -1
  317. package/dist/design-system175.js +1 -1
  318. package/dist/design-system175.js.map +1 -1
  319. package/dist/design-system175.mjs +5 -5
  320. package/dist/design-system175.mjs.map +1 -1
  321. package/dist/design-system176.js +1 -1
  322. package/dist/design-system176.js.map +1 -1
  323. package/dist/design-system176.mjs +5 -5
  324. package/dist/design-system176.mjs.map +1 -1
  325. package/dist/design-system177.js +1 -1
  326. package/dist/design-system177.js.map +1 -1
  327. package/dist/design-system177.mjs +5 -5
  328. package/dist/design-system177.mjs.map +1 -1
  329. package/dist/design-system178.js +1 -1
  330. package/dist/design-system178.js.map +1 -1
  331. package/dist/design-system178.mjs +5 -15
  332. package/dist/design-system178.mjs.map +1 -1
  333. package/dist/design-system179.js +1 -1
  334. package/dist/design-system179.js.map +1 -1
  335. package/dist/design-system179.mjs +14 -13
  336. package/dist/design-system179.mjs.map +1 -1
  337. package/dist/design-system18.js +1 -1
  338. package/dist/design-system18.js.map +1 -1
  339. package/dist/design-system18.mjs +20 -20
  340. package/dist/design-system18.mjs.map +1 -1
  341. package/dist/design-system180.js +1 -1
  342. package/dist/design-system180.js.map +1 -1
  343. package/dist/design-system180.mjs +13 -8
  344. package/dist/design-system180.mjs.map +1 -1
  345. package/dist/design-system181.js +1 -1
  346. package/dist/design-system181.js.map +1 -1
  347. package/dist/design-system181.mjs +9 -4
  348. package/dist/design-system181.mjs.map +1 -1
  349. package/dist/design-system182.js +1 -1
  350. package/dist/design-system182.js.map +1 -1
  351. package/dist/design-system182.mjs +4 -6
  352. package/dist/design-system182.mjs.map +1 -1
  353. package/dist/design-system183.js +1 -1
  354. package/dist/design-system183.js.map +1 -1
  355. package/dist/design-system183.mjs +5 -5
  356. package/dist/design-system183.mjs.map +1 -1
  357. package/dist/design-system184.js +1 -1
  358. package/dist/design-system184.js.map +1 -1
  359. package/dist/design-system184.mjs +5 -5
  360. package/dist/design-system184.mjs.map +1 -1
  361. package/dist/design-system185.js +1 -1
  362. package/dist/design-system185.js.map +1 -1
  363. package/dist/design-system185.mjs +5 -7
  364. package/dist/design-system185.mjs.map +1 -1
  365. package/dist/design-system186.js +1 -1
  366. package/dist/design-system186.js.map +1 -1
  367. package/dist/design-system186.mjs +7 -17
  368. package/dist/design-system186.mjs.map +1 -1
  369. package/dist/design-system187.js +1 -1
  370. package/dist/design-system187.js.map +1 -1
  371. package/dist/design-system187.mjs +17 -10
  372. package/dist/design-system187.mjs.map +1 -1
  373. package/dist/design-system188.js +1 -1
  374. package/dist/design-system188.js.map +1 -1
  375. package/dist/design-system188.mjs +9 -4
  376. package/dist/design-system188.mjs.map +1 -1
  377. package/dist/design-system189.js +1 -1
  378. package/dist/design-system189.js.map +1 -1
  379. package/dist/design-system189.mjs +5 -4
  380. package/dist/design-system189.mjs.map +1 -1
  381. package/dist/design-system19.js +1 -1
  382. package/dist/design-system19.js.map +1 -1
  383. package/dist/design-system19.mjs +73 -73
  384. package/dist/design-system19.mjs.map +1 -1
  385. package/dist/design-system190.js +1 -1
  386. package/dist/design-system190.js.map +1 -1
  387. package/dist/design-system190.mjs +4 -4
  388. package/dist/design-system190.mjs.map +1 -1
  389. package/dist/design-system191.js +1 -1
  390. package/dist/design-system191.js.map +1 -1
  391. package/dist/design-system191.mjs +4 -5
  392. package/dist/design-system191.mjs.map +1 -1
  393. package/dist/design-system192.js +1 -1
  394. package/dist/design-system192.js.map +1 -1
  395. package/dist/design-system192.mjs +5 -6
  396. package/dist/design-system192.mjs.map +1 -1
  397. package/dist/design-system193.js +1 -1
  398. package/dist/design-system193.js.map +1 -1
  399. package/dist/design-system193.mjs +7 -11
  400. package/dist/design-system193.mjs.map +1 -1
  401. package/dist/design-system194.js +1 -1
  402. package/dist/design-system194.js.map +1 -1
  403. package/dist/design-system194.mjs +10 -6
  404. package/dist/design-system194.mjs.map +1 -1
  405. package/dist/design-system195.js +1 -1
  406. package/dist/design-system195.js.map +1 -1
  407. package/dist/design-system195.mjs +6 -17
  408. package/dist/design-system195.mjs.map +1 -1
  409. package/dist/design-system196.js +1 -1
  410. package/dist/design-system196.js.map +1 -1
  411. package/dist/design-system196.mjs +17 -4
  412. package/dist/design-system196.mjs.map +1 -1
  413. package/dist/design-system197.js +1 -1
  414. package/dist/design-system197.js.map +1 -1
  415. package/dist/design-system197.mjs +4 -4
  416. package/dist/design-system197.mjs.map +1 -1
  417. package/dist/design-system198.js +1 -1
  418. package/dist/design-system198.js.map +1 -1
  419. package/dist/design-system198.mjs +4 -3
  420. package/dist/design-system198.mjs.map +1 -1
  421. package/dist/design-system199.js +1 -1
  422. package/dist/design-system199.js.map +1 -1
  423. package/dist/design-system199.mjs +3 -3
  424. package/dist/design-system199.mjs.map +1 -1
  425. package/dist/design-system20.js +1 -1
  426. package/dist/design-system20.js.map +1 -1
  427. package/dist/design-system20.mjs +57 -57
  428. package/dist/design-system20.mjs.map +1 -1
  429. package/dist/design-system200.js +1 -1
  430. package/dist/design-system200.js.map +1 -1
  431. package/dist/design-system200.mjs +3 -14
  432. package/dist/design-system200.mjs.map +1 -1
  433. package/dist/design-system201.js +1 -1
  434. package/dist/design-system201.js.map +1 -1
  435. package/dist/design-system201.mjs +15 -9
  436. package/dist/design-system201.mjs.map +1 -1
  437. package/dist/design-system202.js +1 -1
  438. package/dist/design-system202.js.map +1 -1
  439. package/dist/design-system202.mjs +9 -6
  440. package/dist/design-system202.mjs.map +1 -1
  441. package/dist/design-system203.js +1 -1
  442. package/dist/design-system203.js.map +1 -1
  443. package/dist/design-system203.mjs +5 -5
  444. package/dist/design-system203.mjs.map +1 -1
  445. package/dist/design-system204.js +1 -1
  446. package/dist/design-system204.js.map +1 -1
  447. package/dist/design-system204.mjs +5 -5
  448. package/dist/design-system204.mjs.map +1 -1
  449. package/dist/design-system205.js +1 -1
  450. package/dist/design-system205.js.map +1 -1
  451. package/dist/design-system205.mjs +5 -5
  452. package/dist/design-system205.mjs.map +1 -1
  453. package/dist/design-system206.js +1 -1
  454. package/dist/design-system206.js.map +1 -1
  455. package/dist/design-system206.mjs +5 -5
  456. package/dist/design-system206.mjs.map +1 -1
  457. package/dist/design-system207.js +1 -1
  458. package/dist/design-system207.js.map +1 -1
  459. package/dist/design-system207.mjs +6 -4
  460. package/dist/design-system207.mjs.map +1 -1
  461. package/dist/design-system208.js +1 -1
  462. package/dist/design-system208.js.map +1 -1
  463. package/dist/design-system208.mjs +3 -17
  464. package/dist/design-system208.mjs.map +1 -1
  465. package/dist/design-system209.js +1 -1
  466. package/dist/design-system209.js.map +1 -1
  467. package/dist/design-system209.mjs +17 -5
  468. package/dist/design-system209.mjs.map +1 -1
  469. package/dist/design-system21.js +2 -2
  470. package/dist/design-system21.js.map +1 -1
  471. package/dist/design-system21.mjs +32 -32
  472. package/dist/design-system21.mjs.map +1 -1
  473. package/dist/design-system210.js +1 -1
  474. package/dist/design-system210.js.map +1 -1
  475. package/dist/design-system210.mjs +5 -3
  476. package/dist/design-system210.mjs.map +1 -1
  477. package/dist/design-system211.js +1 -1
  478. package/dist/design-system211.js.map +1 -1
  479. package/dist/design-system211.mjs +3 -3
  480. package/dist/design-system211.mjs.map +1 -1
  481. package/dist/design-system212.js +1 -1
  482. package/dist/design-system212.js.map +1 -1
  483. package/dist/design-system212.mjs +3 -9
  484. package/dist/design-system212.mjs.map +1 -1
  485. package/dist/design-system213.js +1 -1
  486. package/dist/design-system213.js.map +1 -1
  487. package/dist/design-system213.mjs +9 -5
  488. package/dist/design-system213.mjs.map +1 -1
  489. package/dist/design-system214.js +1 -1
  490. package/dist/design-system214.js.map +1 -1
  491. package/dist/design-system214.mjs +5 -4
  492. package/dist/design-system214.mjs.map +1 -1
  493. package/dist/design-system215.js +1 -1
  494. package/dist/design-system215.js.map +1 -1
  495. package/dist/design-system215.mjs +4 -5
  496. package/dist/design-system215.mjs.map +1 -1
  497. package/dist/design-system216.js +1 -1
  498. package/dist/design-system216.js.map +1 -1
  499. package/dist/design-system216.mjs +6 -4
  500. package/dist/design-system216.mjs.map +1 -1
  501. package/dist/design-system217.js +1 -1
  502. package/dist/design-system217.js.map +1 -1
  503. package/dist/design-system217.mjs +4 -5
  504. package/dist/design-system217.mjs.map +1 -1
  505. package/dist/design-system218.js +1 -1
  506. package/dist/design-system218.js.map +1 -1
  507. package/dist/design-system218.mjs +4 -4
  508. package/dist/design-system218.mjs.map +1 -1
  509. package/dist/design-system219.js +1 -1
  510. package/dist/design-system219.js.map +1 -1
  511. package/dist/design-system219.mjs +4 -10
  512. package/dist/design-system219.mjs.map +1 -1
  513. package/dist/design-system22.js +1 -1
  514. package/dist/design-system22.js.map +1 -1
  515. package/dist/design-system22.mjs +60 -60
  516. package/dist/design-system22.mjs.map +1 -1
  517. package/dist/design-system220.js +1 -1
  518. package/dist/design-system220.js.map +1 -1
  519. package/dist/design-system220.mjs +10 -6
  520. package/dist/design-system220.mjs.map +1 -1
  521. package/dist/design-system221.js +1 -1
  522. package/dist/design-system221.js.map +1 -1
  523. package/dist/design-system221.mjs +6 -6
  524. package/dist/design-system221.mjs.map +1 -1
  525. package/dist/design-system222.js +1 -1
  526. package/dist/design-system222.js.map +1 -1
  527. package/dist/design-system222.mjs +6 -4
  528. package/dist/design-system222.mjs.map +1 -1
  529. package/dist/design-system223.js +1 -1
  530. package/dist/design-system223.js.map +1 -1
  531. package/dist/design-system223.mjs +4 -7
  532. package/dist/design-system223.mjs.map +1 -1
  533. package/dist/design-system224.js +1 -1
  534. package/dist/design-system224.js.map +1 -1
  535. package/dist/design-system224.mjs +8 -4
  536. package/dist/design-system224.mjs.map +1 -1
  537. package/dist/design-system225.js +2 -0
  538. package/dist/design-system225.js.map +1 -0
  539. package/dist/design-system225.mjs +7 -0
  540. package/dist/design-system225.mjs.map +1 -0
  541. package/dist/design-system23.js +1 -1
  542. package/dist/design-system23.js.map +1 -1
  543. package/dist/design-system23.mjs +26 -26
  544. package/dist/design-system23.mjs.map +1 -1
  545. package/dist/design-system24.js +1 -1
  546. package/dist/design-system24.js.map +1 -1
  547. package/dist/design-system24.mjs +14 -14
  548. package/dist/design-system24.mjs.map +1 -1
  549. package/dist/design-system25.js +1 -1
  550. package/dist/design-system25.js.map +1 -1
  551. package/dist/design-system25.mjs +17 -17
  552. package/dist/design-system25.mjs.map +1 -1
  553. package/dist/design-system26.js +1 -1
  554. package/dist/design-system26.mjs +3 -3
  555. package/dist/design-system27.js +1 -1
  556. package/dist/design-system27.mjs +2 -2
  557. package/dist/design-system28.js +1 -1
  558. package/dist/design-system28.mjs +5 -5
  559. package/dist/design-system29.js +1 -1
  560. package/dist/design-system29.mjs +1 -1
  561. package/dist/design-system30.js.map +1 -1
  562. package/dist/design-system30.mjs.map +1 -1
  563. package/dist/design-system31.js.map +1 -1
  564. package/dist/design-system31.mjs.map +1 -1
  565. package/dist/design-system32.js +1 -1
  566. package/dist/design-system32.mjs +3 -3
  567. package/dist/design-system33.js +1 -1
  568. package/dist/design-system33.mjs +3 -3
  569. package/dist/design-system34.js +1 -1
  570. package/dist/design-system34.mjs +1 -1
  571. package/dist/design-system35.js +1 -1
  572. package/dist/design-system35.mjs +1 -1
  573. package/dist/design-system36.js +1 -1
  574. package/dist/design-system36.mjs +1 -1
  575. package/dist/design-system37.js +1 -1
  576. package/dist/design-system37.mjs +1 -1
  577. package/dist/design-system38.js +1 -1
  578. package/dist/design-system38.mjs +5 -5
  579. package/dist/design-system39.js +1 -1
  580. package/dist/design-system39.mjs +2 -2
  581. package/dist/design-system40.js +1 -1
  582. package/dist/design-system40.mjs +3 -3
  583. package/dist/design-system41.js +1 -1
  584. package/dist/design-system41.mjs +3 -3
  585. package/dist/design-system42.js +1 -1
  586. package/dist/design-system42.js.map +1 -1
  587. package/dist/design-system42.mjs +23 -23
  588. package/dist/design-system42.mjs.map +1 -1
  589. package/dist/design-system43.js +1 -1
  590. package/dist/design-system43.mjs +3 -3
  591. package/dist/design-system44.js +1 -1
  592. package/dist/design-system44.mjs +1 -1
  593. package/dist/design-system45.js +1 -1
  594. package/dist/design-system45.mjs +1 -1
  595. package/dist/design-system46.js +1 -1
  596. package/dist/design-system46.mjs +3 -3
  597. package/dist/design-system47.js +1 -1
  598. package/dist/design-system47.js.map +1 -1
  599. package/dist/design-system47.mjs +28 -28
  600. package/dist/design-system47.mjs.map +1 -1
  601. package/dist/design-system48.js +1 -1
  602. package/dist/design-system48.mjs +3 -3
  603. package/dist/design-system49.js +1 -1
  604. package/dist/design-system49.mjs +5 -5
  605. package/dist/design-system50.js +1 -1
  606. package/dist/design-system50.mjs +1 -1
  607. package/dist/design-system51.js +4 -4
  608. package/dist/design-system51.js.map +1 -1
  609. package/dist/design-system51.mjs +516 -531
  610. package/dist/design-system51.mjs.map +1 -1
  611. package/dist/design-system52.js +4 -4
  612. package/dist/design-system52.js.map +1 -1
  613. package/dist/design-system52.mjs +80 -113
  614. package/dist/design-system52.mjs.map +1 -1
  615. package/dist/design-system53.js +5 -5
  616. package/dist/design-system53.js.map +1 -1
  617. package/dist/design-system53.mjs +543 -677
  618. package/dist/design-system53.mjs.map +1 -1
  619. package/dist/design-system54.js +6 -6
  620. package/dist/design-system54.js.map +1 -1
  621. package/dist/design-system54.mjs +537 -624
  622. package/dist/design-system54.mjs.map +1 -1
  623. package/dist/design-system55.js +1 -4
  624. package/dist/design-system55.js.map +1 -1
  625. package/dist/design-system55.mjs +2 -1364
  626. package/dist/design-system55.mjs.map +1 -1
  627. package/dist/design-system56.js +1 -1
  628. package/dist/design-system56.js.map +1 -1
  629. package/dist/design-system56.mjs +132 -2
  630. package/dist/design-system56.mjs.map +1 -1
  631. package/dist/design-system57.js +1 -1
  632. package/dist/design-system57.js.map +1 -1
  633. package/dist/design-system57.mjs +2 -132
  634. package/dist/design-system57.mjs.map +1 -1
  635. package/dist/design-system58.js +1 -1
  636. package/dist/design-system58.mjs +7 -2
  637. package/dist/design-system58.mjs.map +1 -1
  638. package/dist/design-system59.js +1 -1
  639. package/dist/design-system59.mjs +2 -7
  640. package/dist/design-system59.mjs.map +1 -1
  641. package/dist/design-system61.js +1 -1
  642. package/dist/design-system61.js.map +1 -1
  643. package/dist/design-system61.mjs +65 -2
  644. package/dist/design-system61.mjs.map +1 -1
  645. package/dist/design-system62.js +1 -1
  646. package/dist/design-system62.js.map +1 -1
  647. package/dist/design-system62.mjs +2 -65
  648. package/dist/design-system62.mjs.map +1 -1
  649. package/dist/design-system63.js +1 -1
  650. package/dist/design-system63.mjs +2 -2
  651. package/dist/design-system64.js +1 -1
  652. package/dist/design-system64.mjs +3 -2
  653. package/dist/design-system64.mjs.map +1 -1
  654. package/dist/design-system65.js +1 -1
  655. package/dist/design-system65.mjs +2 -3
  656. package/dist/design-system65.mjs.map +1 -1
  657. package/dist/design-system66.js +1 -1
  658. package/dist/design-system66.mjs +1 -1
  659. package/dist/design-system67.js +1 -1
  660. package/dist/design-system67.mjs +1 -1
  661. package/dist/design-system68.js +1 -1
  662. package/dist/design-system68.mjs +1 -1
  663. package/dist/design-system69.js +1 -1
  664. package/dist/design-system69.mjs +1 -1
  665. package/dist/design-system70.js +1 -1
  666. package/dist/design-system70.js.map +1 -1
  667. package/dist/design-system70.mjs +28 -2
  668. package/dist/design-system70.mjs.map +1 -1
  669. package/dist/design-system71.js +1 -1
  670. package/dist/design-system71.js.map +1 -1
  671. package/dist/design-system71.mjs +2 -28
  672. package/dist/design-system71.mjs.map +1 -1
  673. package/dist/design-system72.js +1 -1
  674. package/dist/design-system72.js.map +1 -1
  675. package/dist/design-system72.mjs +58 -2
  676. package/dist/design-system72.mjs.map +1 -1
  677. package/dist/design-system73.js +1 -1
  678. package/dist/design-system73.js.map +1 -1
  679. package/dist/design-system73.mjs +2 -58
  680. package/dist/design-system73.mjs.map +1 -1
  681. package/dist/design-system74.js +1 -1
  682. package/dist/design-system74.mjs +2 -2
  683. package/dist/design-system75.js +1 -1
  684. package/dist/design-system75.mjs +1 -1
  685. package/dist/design-system76.js +1 -1
  686. package/dist/design-system76.mjs +1 -1
  687. package/dist/design-system77.js +1 -1
  688. package/dist/design-system77.mjs +1 -1
  689. package/dist/design-system78.js +1 -1
  690. package/dist/design-system78.js.map +1 -1
  691. package/dist/design-system78.mjs +79 -2
  692. package/dist/design-system78.mjs.map +1 -1
  693. package/dist/design-system79.js +1 -1
  694. package/dist/design-system79.js.map +1 -1
  695. package/dist/design-system79.mjs +2 -79
  696. package/dist/design-system79.mjs.map +1 -1
  697. package/dist/design-system80.js +1 -1
  698. package/dist/design-system80.mjs +2 -2
  699. package/dist/design-system81.js +1 -1
  700. package/dist/design-system81.mjs +2 -2
  701. package/dist/design-system82.js +1 -1
  702. package/dist/design-system82.js.map +1 -1
  703. package/dist/design-system82.mjs +81 -2
  704. package/dist/design-system82.mjs.map +1 -1
  705. package/dist/design-system83.js +1 -1
  706. package/dist/design-system83.js.map +1 -1
  707. package/dist/design-system83.mjs +2 -81
  708. package/dist/design-system83.mjs.map +1 -1
  709. package/dist/design-system84.js +1 -1
  710. package/dist/design-system84.mjs +2 -2
  711. package/dist/design-system85.js +1 -1
  712. package/dist/design-system85.js.map +1 -1
  713. package/dist/design-system85.mjs +119 -2
  714. package/dist/design-system85.mjs.map +1 -1
  715. package/dist/design-system86.js +1 -1
  716. package/dist/design-system86.js.map +1 -1
  717. package/dist/design-system86.mjs +2 -119
  718. package/dist/design-system86.mjs.map +1 -1
  719. package/dist/design-system87.js +1 -1
  720. package/dist/design-system87.mjs +2 -2
  721. package/dist/design-system88.js +1 -1
  722. package/dist/design-system88.mjs +1 -1
  723. package/dist/design-system89.js +1 -1
  724. package/dist/design-system89.js.map +1 -1
  725. package/dist/design-system89.mjs +102 -2
  726. package/dist/design-system89.mjs.map +1 -1
  727. package/dist/design-system90.js +1 -1
  728. package/dist/design-system90.js.map +1 -1
  729. package/dist/design-system90.mjs +2 -102
  730. package/dist/design-system90.mjs.map +1 -1
  731. package/dist/design-system91.js +1 -1
  732. package/dist/design-system91.js.map +1 -1
  733. package/dist/design-system91.mjs +190 -2
  734. package/dist/design-system91.mjs.map +1 -1
  735. package/dist/design-system92.js +1 -1
  736. package/dist/design-system92.js.map +1 -1
  737. package/dist/design-system92.mjs +2 -190
  738. package/dist/design-system92.mjs.map +1 -1
  739. package/dist/design-system93.js +1 -1
  740. package/dist/design-system93.mjs +2 -2
  741. package/dist/design-system94.js +1 -1
  742. package/dist/design-system94.js.map +1 -1
  743. package/dist/design-system94.mjs +142 -2
  744. package/dist/design-system94.mjs.map +1 -1
  745. package/dist/design-system95.js +1 -1
  746. package/dist/design-system95.js.map +1 -1
  747. package/dist/design-system95.mjs +2 -142
  748. package/dist/design-system95.mjs.map +1 -1
  749. package/dist/design-system96.js +1 -1
  750. package/dist/design-system96.js.map +1 -1
  751. package/dist/design-system96.mjs +49 -2
  752. package/dist/design-system96.mjs.map +1 -1
  753. package/dist/design-system97.js +1 -1
  754. package/dist/design-system97.js.map +1 -1
  755. package/dist/design-system97.mjs +2 -49
  756. package/dist/design-system97.mjs.map +1 -1
  757. package/dist/design-system98.js +1 -1
  758. package/dist/design-system98.mjs +2 -2
  759. package/dist/design-system99.js +4 -1
  760. package/dist/design-system99.js.map +1 -1
  761. package/dist/design-system99.mjs +1364 -2
  762. package/dist/design-system99.mjs.map +1 -1
  763. package/dist/style.css +1 -1
  764. package/dist/types/components/BButton.vue.d.ts +53 -52
  765. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +70 -77
  766. package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +9 -9
  767. package/dist/types/components/BCheckbox.vue.d.ts +84 -63
  768. package/dist/types/components/BCollapse.vue.d.ts +26 -25
  769. package/dist/types/components/BCurrencyField.vue.d.ts +164 -101
  770. package/dist/types/components/BDatePicker.vue.d.ts +186 -111
  771. package/dist/types/components/BDateRangePicker.vue.d.ts +173 -104
  772. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +118 -87
  773. package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +9 -9
  774. package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +24 -35
  775. package/dist/types/components/BErrorMessage.vue.d.ts +28 -39
  776. package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +115 -76
  777. package/dist/types/components/BImagePicker/BImagePickerCloseButton.vue.d.ts +2 -2
  778. package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +28 -27
  779. package/dist/types/components/BLabel.vue.d.ts +47 -46
  780. package/dist/types/components/BLoadingBar.vue.d.ts +46 -37
  781. package/dist/types/components/BLoadingOverlay.vue.d.ts +37 -34
  782. package/dist/types/components/BModal/BModal.vue.d.ts +70 -61
  783. package/dist/types/components/BModal/BModalBody.vue.d.ts +9 -9
  784. package/dist/types/components/BModal/BModalContainer.vue.d.ts +49 -48
  785. package/dist/types/components/BModal/BModalFooter.vue.d.ts +9 -9
  786. package/dist/types/components/BModal/BModalHeader.vue.d.ts +9 -9
  787. package/dist/types/components/BMultiSelect.vue.d.ts +177 -106
  788. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +138 -93
  789. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +53 -52
  790. package/dist/types/components/BOverlay.vue.d.ts +9 -9
  791. package/dist/types/components/BPagination.vue.d.ts +71 -54
  792. package/dist/types/components/BRadio.vue.d.ts +145 -94
  793. package/dist/types/components/BSelect.vue.d.ts +164 -99
  794. package/dist/types/components/BStepper.vue.d.ts +32 -41
  795. package/dist/types/components/BSwitch.vue.d.ts +73 -58
  796. package/dist/types/components/BTabs/BTab.vue.d.ts +9 -9
  797. package/dist/types/components/BTabs/BTabs.vue.d.ts +59 -56
  798. package/dist/types/components/BTextField.vue.d.ts +197 -122
  799. package/dist/types/components/BTextarea.vue.d.ts +155 -92
  800. package/dist/types/components/BTimeline/BTimeline.vue.d.ts +9 -9
  801. package/dist/types/components/BTimeline/BTimelineItem.vue.d.ts +9 -9
  802. package/dist/types/components/BToast/BToast.vue.d.ts +20 -27
  803. package/dist/types/components/BToast/BToastItem.vue.d.ts +49 -48
  804. package/dist/types/components/BTooltip.vue.d.ts +56 -55
  805. package/dist/types/components/index.d.ts +38 -38
  806. package/dist/types/composables/Date.d.ts +7 -7
  807. package/dist/types/composables/Validation.d.ts +41 -41
  808. package/dist/types/constants/Common.d.ts +9 -9
  809. package/dist/types/constants/Enums.d.ts +110 -110
  810. package/dist/types/helpers/ComponentHelper.d.ts +7 -7
  811. package/dist/types/helpers/DateHelper.d.ts +2 -2
  812. package/dist/types/index.d.ts +11 -11
  813. package/dist/types/playground/PlaygroundView.vue.d.ts +2 -2
  814. package/dist/types/plugin.d.ts +8 -8
  815. package/dist/types/types/Common.d.ts +5 -5
  816. package/dist/types/types/components/BErrorMessage.d.ts +1 -1
  817. package/dist/types/types/components/BImagePicker.d.ts +6 -6
  818. package/dist/types/types/components/BStepper.d.ts +5 -5
  819. package/dist/types/types/components/BTabs.d.ts +4 -4
  820. package/dist/types/types/components/BToast.d.ts +8 -8
  821. package/dist/types/types/index.d.ts +6 -7
  822. package/package.json +111 -111
@@ -1 +1 @@
1
- {"version":3,"file":"design-system54.js","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js"],"sourcesContent":["/*!\n * message-compiler v9.9.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isIdentifierStart(ch);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function takeIdentifierChar(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n };\n return takeChar(scnr, closure);\n }\n function takeDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n };\n return takeChar(scnr, closure);\n }\n function takeHexDigit(scnr) {\n const closure = (ch) => {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n };\n return takeChar(scnr, closure);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\n while ((ch = takeChar(scnr, fn))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n eat(scnr, `\\'`);\n }\n return literal;\n }\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`:\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n const closure = (ch) => ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF;\n while ((ch = takeChar(scnr, closure))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (detect = false, buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(detect, buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(true, buf);\n }\n };\n return fn(false, '');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default:\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n case `\\\\\\'`:\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default:\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */:\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n case 1 /* NodeTypes.Plural */:\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n case 2 /* NodeTypes.Message */:\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */:\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n case 6 /* NodeTypes.Linked */:\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n case 5 /* NodeTypes.List */:\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n case 4 /* NodeTypes.Named */:\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n"],"names":["createPosition","line","column","offset","createLocation","start","end","source","loc","RE_ARGS","format","message","args","isObject","match","identifier","assign","isString","val","join","items","separator","str","item","index","CompileErrorCodes","errorMessages","createCompileError","code","options","domain","messages","msg","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize"],"mappings":"gFAAA;AAAA;AAAA;AAAA;AAAA,IASA,SAASA,GAAeC,EAAMC,EAAQC,EAAQ,CAC1C,MAAO,CAAE,KAAAF,EAAM,OAAAC,EAAQ,OAAAC,EAC3B,CACA,SAASC,EAAeC,EAAOC,EAAKC,EAAQ,CACxC,MAAMC,EAAM,CAAE,MAAAH,EAAO,IAAAC,GACrB,OAAIC,GAAU,OACVC,EAAI,OAASD,GAEVC,CACX,CAMA,MAAMC,GAAU,sBAEhB,SAASC,GAAOC,KAAYC,EAAM,CAC9B,OAAIA,EAAK,SAAW,GAAKC,GAASD,EAAK,CAAC,CAAC,IACrCA,EAAOA,EAAK,CAAC,IAEb,CAACA,GAAQ,CAACA,EAAK,kBACfA,EAAO,CAAA,GAEJD,EAAQ,QAAQF,GAAS,CAACK,EAAOC,IAC7BH,EAAK,eAAeG,CAAU,EAAIH,EAAKG,CAAU,EAAI,EAC/D,CACL,CACA,MAAMC,GAAS,OAAO,OAChBC,GAAYC,GAAQ,OAAOA,GAAQ,SAEnCL,GAAYK,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SACzD,SAASC,GAAKC,EAAOC,EAAY,GAAI,CACjC,OAAOD,EAAM,OAAO,CAACE,EAAKC,EAAMC,IAAWA,IAAU,EAAIF,EAAMC,EAAOD,EAAMD,EAAYE,EAAO,EAAE,CACrG,CAEK,MAACE,EAAoB,CAEtB,eAAgB,EAChB,6BAA8B,EAC9B,yCAA0C,EAC1C,wBAAyB,EACzB,gCAAiC,EACjC,yBAA0B,EAC1B,2BAA4B,EAC5B,kBAAmB,EACnB,2BAA4B,EAC5B,sBAAuB,GAEvB,6BAA8B,GAC9B,iCAAkC,GAClC,4BAA6B,GAC7B,4BAA6B,GAE7B,4BAA6B,GAE7B,6BAA8B,GAI9B,iBAAkB,EACtB,EAEMC,GAAgB,CAElB,CAACD,EAAkB,cAAc,EAAG,wBACpC,CAACA,EAAkB,4BAA4B,EAAG,sCAClD,CAACA,EAAkB,wCAAwC,EAAG,2CAC9D,CAACA,EAAkB,uBAAuB,EAAG,iCAC7C,CAACA,EAAkB,+BAA+B,EAAG,uCACrD,CAACA,EAAkB,wBAAwB,EAAG,2BAC9C,CAACA,EAAkB,0BAA0B,EAAG,6BAChD,CAACA,EAAkB,iBAAiB,EAAG,oBACvC,CAACA,EAAkB,0BAA0B,EAAG,+BAChD,CAACA,EAAkB,qBAAqB,EAAG,wBAE3C,CAACA,EAAkB,4BAA4B,EAAG,4BAClD,CAACA,EAAkB,gCAAgC,EAAG,mCACtD,CAACA,EAAkB,2BAA2B,EAAG,8BACjD,CAACA,EAAkB,2BAA2B,EAAG,8CAEjD,CAACA,EAAkB,2BAA2B,EAAG,qCAEjD,CAACA,EAAkB,4BAA4B,EAAG,qCACtD,EACA,SAASE,EAAmBC,EAAMpB,EAAKqB,EAAU,CAAA,EAAI,CACjD,KAAM,CAAE,OAAAC,EAAQ,SAAAC,EAAU,KAAAnB,CAAI,EAAKiB,EAC7BG,EAAMtB,IAAQqB,GAAYL,IAAeE,CAAI,GAAK,GAAI,GAAIhB,GAAQ,CAAA,CAAG,EAErEqB,EAAQ,IAAI,YAAY,OAAOD,CAAG,CAAC,EACzC,OAAAC,EAAM,KAAOL,EACTpB,IACAyB,EAAM,SAAWzB,GAErByB,EAAM,OAASH,EACRG,CACX,CAEA,SAASC,GAAeD,EAAO,CAC3B,MAAMA,CACV,CAEA,MAAME,GAAc,0BACdC,GAAiB7B,GAAW4B,GAAY,KAAK5B,CAAM,EAEnD8B,EAAU,IACVC,GAAU,KACVC,EAAU;AAAA,EACVC,GAAU,OAAO,aAAa,IAAM,EACpCC,GAAU,OAAO,aAAa,IAAM,EAC1C,SAASC,GAAcpB,EAAK,CACxB,MAAMqB,EAAOrB,EACb,IAAIsB,EAAS,EACTC,EAAQ,EACRC,EAAU,EACVC,EAAc,EAClB,MAAMC,EAAUxB,GAAUmB,EAAKnB,CAAK,IAAMc,IAAWK,EAAKnB,EAAQ,CAAC,IAAMe,EACnEU,EAAQzB,GAAUmB,EAAKnB,CAAK,IAAMe,EAClCW,EAAQ1B,GAAUmB,EAAKnB,CAAK,IAAMiB,GAClCU,EAAQ3B,GAAUmB,EAAKnB,CAAK,IAAMgB,GAClCY,EAAa5B,GAAUwB,EAAOxB,CAAK,GAAKyB,EAAKzB,CAAK,GAAK0B,EAAK1B,CAAK,GAAK2B,EAAK3B,CAAK,EAChFA,EAAQ,IAAMoB,EACd3C,EAAO,IAAM4C,EACb3C,EAAS,IAAM4C,EACfO,EAAa,IAAMN,EACnBO,EAAUnD,GAAW6C,EAAO7C,CAAM,GAAK+C,EAAK/C,CAAM,GAAKgD,EAAKhD,CAAM,EAAIoC,EAAUI,EAAKxC,CAAM,EAC3FoD,EAAc,IAAMD,EAAOV,CAAM,EACjCY,EAAc,IAAMF,EAAOV,EAASG,CAAW,EACrD,SAASU,GAAO,CACZ,OAAAV,EAAc,EACVK,EAAUR,CAAM,IAChBC,IACAC,EAAU,GAEVE,EAAOJ,CAAM,GACbA,IAEJA,IACAE,IACOH,EAAKC,CAAM,CACrB,CACD,SAASc,GAAO,CACZ,OAAIV,EAAOJ,EAASG,CAAW,GAC3BA,IAEJA,IACOJ,EAAKC,EAASG,CAAW,CACnC,CACD,SAASY,GAAQ,CACbf,EAAS,EACTC,EAAQ,EACRC,EAAU,EACVC,EAAc,CACjB,CACD,SAASa,EAAUzD,EAAS,EAAG,CAC3B4C,EAAc5C,CACjB,CACD,SAAS0D,GAAa,CAClB,MAAMC,EAASlB,EAASG,EAExB,KAAOe,IAAWlB,GACda,IAEJV,EAAc,CACjB,CACD,MAAO,CACH,MAAAvB,EACA,KAAAvB,EACA,OAAAC,EACA,WAAAmD,EACA,OAAAC,EACA,YAAAC,EACA,YAAAC,EACA,KAAAC,EACA,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,CACR,CACA,CAEA,MAAME,EAAM,OACNC,GAAM,IACNC,GAAoB,IACpBC,GAAiB,YACvB,SAASC,GAAgB5D,EAAQsB,EAAU,GAAI,CAC3C,MAAMuC,EAAWvC,EAAQ,WAAa,GAChCwC,EAAQ3B,GAAcnC,CAAM,EAC5B+D,EAAgB,IAAMD,EAAM,QAC5BE,EAAkB,IAAMvE,GAAeqE,EAAM,KAAI,EAAIA,EAAM,OAAQ,EAAEA,EAAM,MAAO,CAAA,EAClFG,EAAWD,IACXE,EAAcH,IACdI,EAAW,CACb,YAAa,GACb,OAAQD,EACR,SAAUD,EACV,OAAQA,EACR,SAAU,GACV,WAAYC,EACZ,aAAcD,EACd,WAAYA,EACZ,UAAW,EACX,SAAU,GACV,KAAM,EACd,EACUG,EAAU,IAAMD,EAChB,CAAE,QAAAE,CAAS,EAAG/C,EACpB,SAASgD,EAAUjD,EAAMkD,EAAK3E,KAAWS,EAAM,CAC3C,MAAMmE,EAAMJ,IAGZ,GAFAG,EAAI,QAAU3E,EACd2E,EAAI,QAAU3E,EACVyE,EAAS,CACT,MAAMpE,EAAM4D,EAAWhE,EAAe2E,EAAI,SAAUD,CAAG,EAAI,KACrDE,EAAMrD,EAAmBC,EAAMpB,EAAK,CACtC,OAAQ0D,GACR,KAAAtD,CAChB,CAAa,EACDgE,EAAQI,CAAG,CACd,CACJ,CACD,SAASC,EAASN,EAASO,EAAMC,EAAO,CACpCR,EAAQ,OAASJ,IACjBI,EAAQ,YAAcO,EACtB,MAAME,EAAQ,CAAE,KAAAF,GAChB,OAAId,IACAgB,EAAM,IAAMhF,EAAeuE,EAAQ,SAAUA,EAAQ,MAAM,GAE3DQ,GAAS,OACTC,EAAM,MAAQD,GAEXC,CACV,CACD,MAAMC,EAAeV,GAAYM,EAASN,EAAS,EAAE,EACrD,SAASW,EAAIC,EAAMC,EAAI,CACnB,OAAID,EAAK,YAAa,IAAKC,GACvBD,EAAK,KAAI,EACFC,IAGPX,EAAUpD,EAAkB,eAAgB8C,EAAe,EAAI,EAAGiB,CAAE,EAC7D,GAEd,CACD,SAASC,EAAWF,EAAM,CACtB,IAAIG,EAAM,GACV,KAAOH,EAAK,gBAAkBlD,GAAWkD,EAAK,YAAa,IAAKhD,GAC5DmD,GAAOH,EAAK,cACZA,EAAK,KAAI,EAEb,OAAOG,CACV,CACD,SAASC,EAAWJ,EAAM,CACtB,MAAMG,EAAMD,EAAWF,CAAI,EAC3B,OAAAA,EAAK,WAAU,EACRG,CACV,CACD,SAASE,EAAkBJ,EAAI,CAC3B,GAAIA,IAAOzB,EACP,MAAO,GAEX,MAAM8B,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,EAEd,CACD,SAASC,EAAcN,EAAI,CACvB,GAAIA,IAAOzB,EACP,MAAO,GAEX,MAAM8B,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAAOK,GAAM,IAAMA,GAAM,EAC5B,CACD,SAASE,EAAuBR,EAAMZ,EAAS,CAC3C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAML,EAAkBL,EAAK,YAAa,CAAA,EAChD,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASC,EAAsBX,EAAMZ,EAAS,CAC1C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMC,EAAKD,EAAK,gBAAkB,IAAMA,EAAK,KAAM,EAAGA,EAAK,cACrDU,EAAMH,EAAcN,CAAE,EAC5B,OAAAD,EAAK,UAAS,EACPU,CACV,CACD,SAASE,EAAeZ,EAAMZ,EAAS,CACnC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAOtB,GACnC,OAAAsB,EAAK,UAAS,EACPU,CACV,CACD,SAASG,EAAiBb,EAAMZ,EAAS,CACrC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASI,EAAsBd,EAAMZ,EAAS,CAC1C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAML,EAAkBL,EAAK,YAAa,CAAA,EAChD,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASK,EAAuBf,EAAMZ,EAAS,CAC3C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAI,EAAEqB,IAAgB,GAClBA,IAAgB,IAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASM,EAAmBhB,EAAMZ,EAAS,CACvC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,GAChB,MAAO,GAEX,MAAMQ,EAAK,IAAM,CACb,MAAMhB,EAAKD,EAAK,cAChB,OAAIC,IAAO,IACAI,EAAkBL,EAAK,KAAI,CAAE,EAE/BC,IAAO,KACZA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAOnD,GACP,CAACmD,EACM,GAEFA,IAAOjD,GACZgD,EAAK,KAAI,EACFiB,EAAE,GAIFZ,EAAkBJ,CAAE,CAE3C,EACcS,EAAMO,IACZ,OAAAjB,EAAK,UAAS,EACPU,CACV,CACD,SAASQ,EAAclB,EAAM,CACzBE,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASS,GAAkBnB,EAAM,CAC7B,MAAMoB,EAASlB,EAAWF,CAAI,EACxBU,EAAMV,EAAK,YAAW,IAAO,KAC/BA,EAAK,KAAM,IAAK,IACpB,OAAAA,EAAK,UAAS,EACP,CACH,SAAUU,EACV,SAAUU,EAAO,OAAS,CACtC,CACK,CACD,SAASC,EAAYrB,EAAM5B,EAAQ,GAAM,CACrC,MAAM6C,EAAK,CAACK,EAAW,GAAOC,EAAO,GAAIC,EAAe,KAAU,CAC9D,MAAMvB,EAAKD,EAAK,cAChB,OAAIC,IAAO,IACAsB,IAAS,IAA8B,GAAQD,EAEjDrB,IAAO,KAAoC,CAACA,EAC1CsB,IAAS,IAA8B,GAAOD,EAEhDrB,IAAO,KACZD,EAAK,KAAI,EACFiB,EAAGK,EAAU,IAA6B,EAAI,GAEhDrB,IAAO,IACLsB,IAAS,KAA+BC,EACzC,GACA,EAAED,IAASzE,GAAWyE,IAASvE,GAEhCiD,IAAOnD,GACZkD,EAAK,KAAI,EACFiB,EAAG,GAAMnE,EAAS0E,CAAY,GAEhCvB,IAAOjD,GACZgD,EAAK,KAAI,EACFiB,EAAG,GAAMjE,EAASwE,CAAY,GAG9B,EAEvB,EACcd,EAAMO,IACZ,OAAA7C,GAAS4B,EAAK,YACPU,CACV,CACD,SAASe,EAASzB,EAAMiB,EAAI,CACxB,MAAMhB,EAAKD,EAAK,cAChB,OAAIC,IAAOzB,EACAA,EAEPyC,EAAGhB,CAAE,GACLD,EAAK,KAAI,EACFC,GAEJ,IACV,CACD,SAASyB,EAAmB1B,EAAM,CAU9B,OAAOyB,EAASzB,EATCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,IACPA,IAAO,EAEvB,CACqC,CAChC,CACD,SAASqB,GAAU3B,EAAM,CAKrB,OAAOyB,EAASzB,EAJCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAAOK,GAAM,IAAMA,GAAM,EACrC,CACqC,CAChC,CACD,SAASsB,GAAa5B,EAAM,CAOxB,OAAOyB,EAASzB,EANCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,IACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,GACnC,CACqC,CAChC,CACD,SAASuB,EAAU7B,EAAM,CACrB,IAAIC,EAAK,GACL6B,EAAM,GACV,KAAQ7B,EAAK0B,GAAU3B,CAAI,GACvB8B,GAAO7B,EAEX,OAAO6B,CACV,CACD,SAASC,GAAW/B,EAAM,CACtBI,EAAWJ,CAAI,EACf,MAAMC,EAAKD,EAAK,cAChB,OAAIC,IAAO,KACPX,EAAUpD,EAAkB,eAAgB8C,EAAe,EAAI,EAAGiB,CAAE,EAExED,EAAK,KAAI,EACF,GACV,CACD,SAASgC,EAAShC,EAAM,CACpB,IAAIG,EAAM,GACV,OAAa,CACT,MAAMF,EAAKD,EAAK,cAChB,GAAIC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,EACD,MAEC,GAAIA,IAAO,IACZ,GAAIoB,EAAYrB,CAAI,EAChBG,GAAOF,EACPD,EAAK,KAAI,MAGT,eAGCC,IAAOnD,GAAWmD,IAAOjD,EAC9B,GAAIqE,EAAYrB,CAAI,EAChBG,GAAOF,EACPD,EAAK,KAAI,MAER,IAAIkB,EAAclB,CAAI,EACvB,MAGAG,GAAOF,EACPD,EAAK,KAAI,OAIbG,GAAOF,EACPD,EAAK,KAAI,CAEhB,CACD,OAAOG,CACV,CACD,SAAS8B,GAAoBjC,EAAM,CAC/BI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACLiC,EAAO,GACX,KAAQjC,EAAKyB,EAAmB1B,CAAI,GAChCkC,GAAQjC,EAEZ,OAAID,EAAK,YAAa,IAAKxB,GACvBc,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAEzEkD,CACV,CACD,SAASC,GAAmBnC,EAAM,CAC9BI,EAAWJ,CAAI,EACf,IAAIJ,EAAQ,GACZ,OAAII,EAAK,YAAa,IAAK,KACvBA,EAAK,KAAI,EACTJ,GAAS,IAAIiC,EAAU7B,CAAI,CAAC,IAG5BJ,GAASiC,EAAU7B,CAAI,EAEvBA,EAAK,YAAa,IAAKxB,GACvBc,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAEzEY,CACV,CACD,SAASwC,GAAYpC,EAAM,CACvBI,EAAWJ,CAAI,EACfD,EAAIC,EAAM,GAAI,EACd,IAAIC,EAAK,GACLoC,EAAU,GACd,MAAMpB,EAAMqB,GAAMA,IAAM5D,IAAqB4D,IAAMtF,EACnD,KAAQiD,EAAKwB,EAASzB,EAAMiB,CAAE,GACtBhB,IAAO,KACPoC,GAAWE,GAAmBvC,CAAI,EAGlCqC,GAAWpC,EAGnB,MAAMuC,EAAUxC,EAAK,cACrB,OAAIwC,IAAYxF,GAAWwF,IAAYhE,GACnCc,EAAUpD,EAAkB,yCAA0C8C,EAAiB,EAAE,CAAC,EAEtFwD,IAAYxF,IACZgD,EAAK,KAAI,EACTD,EAAIC,EAAM,GAAI,GAEXqC,IAEXtC,EAAIC,EAAM,GAAI,EACPqC,EACV,CACD,SAASE,GAAmBvC,EAAM,CAC9B,MAAMC,EAAKD,EAAK,cAChB,OAAQC,EAAE,CACN,IAAK,KACL,IAAK,IACD,OAAAD,EAAK,KAAI,EACF,KAAKC,CAAE,GAClB,IAAK,IACD,OAAOwC,GAA0BzC,EAAMC,EAAI,CAAC,EAChD,IAAK,IACD,OAAOwC,GAA0BzC,EAAMC,EAAI,CAAC,EAChD,QACI,OAAAX,EAAUpD,EAAkB,wBAAyB8C,EAAe,EAAI,EAAGiB,CAAE,EACtE,EACd,CACJ,CACD,SAASwC,GAA0BzC,EAAM0C,EAASC,EAAQ,CACtD5C,EAAIC,EAAM0C,CAAO,EACjB,IAAIE,EAAW,GACf,QAASC,EAAI,EAAGA,EAAIF,EAAQE,IAAK,CAC7B,MAAM5C,EAAK2B,GAAa5B,CAAI,EAC5B,GAAI,CAACC,EAAI,CACLX,EAAUpD,EAAkB,gCAAiC8C,EAAiB,EAAE,EAAG,KAAK0D,CAAO,GAAGE,CAAQ,GAAG5C,EAAK,YAAa,CAAA,EAAE,EACjI,KACH,CACD4C,GAAY3C,CACf,CACD,MAAO,KAAKyC,CAAO,GAAGE,CAAQ,EACjC,CACD,SAASE,GAAsB9C,EAAM,CACjCI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACL8C,EAAc,GAClB,MAAMC,EAAW/C,GAAOA,IAAO,KAC3BA,IAAO,KACPA,IAAOnD,GACPmD,IAAOjD,EACX,KAAQiD,EAAKwB,EAASzB,EAAMgD,CAAO,GAC/BD,GAAe9C,EAEnB,OAAO8C,CACV,CACD,SAASE,GAAmBjD,EAAM,CAC9B,IAAIC,EAAK,GACLiC,EAAO,GACX,KAAQjC,EAAKyB,EAAmB1B,CAAI,GAChCkC,GAAQjC,EAEZ,OAAOiC,CACV,CACD,SAASgB,GAAgBlD,EAAM,CAC3B,MAAMiB,EAAK,CAACkC,EAAS,GAAOhD,IAAQ,CAChC,MAAMF,EAAKD,EAAK,cAChB,OAAIC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,GAGIA,IAAOnD,EAFLqD,EAKFF,IAAOjD,GAAWiD,IAAOxB,IAC9B0B,GAAOF,EACPD,EAAK,KAAI,EACFiB,EAAGkC,EAAQhD,CAAG,IAGrBA,GAAOF,EACPD,EAAK,KAAI,EACFiB,EAAG,GAAMd,CAAG,EAEnC,EACQ,OAAOc,EAAG,GAAO,EAAE,CACtB,CACD,SAASmC,EAAWpD,EAAM,CACtBI,EAAWJ,CAAI,EACf,MAAMqD,EAAStD,EAAIC,EAAM,GAAG,EAC5B,OAAAI,EAAWJ,CAAI,EACRqD,CACV,CAED,SAASC,EAAuBtD,EAAMZ,EAAS,CAC3C,IAAIS,EAAQ,KAEZ,OADWG,EAAK,cACN,CACN,IAAK,IACD,OAAIZ,EAAQ,WAAa,GACrBE,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAEhFgB,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAA8B,GAAG,EAC3DgB,EAAWJ,CAAI,EACfZ,EAAQ,YACDS,EACX,IAAK,IACD,OAAIT,EAAQ,UAAY,GACpBA,EAAQ,cAAgB,GACxBE,EAAUpD,EAAkB,kBAAmB8C,EAAiB,EAAE,CAAC,EAEvEgB,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAA+B,GAAG,EAC5DA,EAAQ,YACRA,EAAQ,UAAY,GAAKgB,EAAWJ,CAAI,EACpCZ,EAAQ,UAAYA,EAAQ,YAAc,IAC1CA,EAAQ,SAAW,IAEhBS,EACX,IAAK,IACD,OAAIT,EAAQ,UAAY,GACpBE,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAEhFa,EAAQ0D,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAC/DA,EAAQ,UAAY,EACbS,EACX,QACI,IAAI2D,EAAuB,GACvBC,EAAsB,GACtBC,EAAe,GACnB,GAAIxC,EAAclB,CAAI,EAClB,OAAIZ,EAAQ,UAAY,GACpBE,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAEhFa,EAAQH,EAASN,EAAS,EAAyBgE,EAAWpD,CAAI,CAAC,EAEnEZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,EAEX,GAAIT,EAAQ,UAAY,IACnBA,EAAQ,cAAgB,GACrBA,EAAQ,cAAgB,GACxBA,EAAQ,cAAgB,GAC5B,OAAAE,EAAUpD,EAAkB,2BAA4B8C,EAAiB,EAAE,CAAC,EAC5EI,EAAQ,UAAY,EACbuE,EAAU3D,EAAMZ,CAAO,EAElC,GAAKoE,EAAuBhD,EAAuBR,EAAMZ,CAAO,EAC5D,OAAAS,EAAQH,EAASN,EAAS,EAA0B6C,GAAoBjC,CAAI,CAAC,EAC7EI,EAAWJ,CAAI,EACRH,EAEX,GAAK4D,EAAsB9C,EAAsBX,EAAMZ,CAAO,EAC1D,OAAAS,EAAQH,EAASN,EAAS,EAAyB+C,GAAmBnC,CAAI,CAAC,EAC3EI,EAAWJ,CAAI,EACRH,EAEX,GAAK6D,EAAe9C,EAAeZ,EAAMZ,CAAO,EAC5C,OAAAS,EAAQH,EAASN,EAAS,EAA4BgD,GAAYpC,CAAI,CAAC,EACvEI,EAAWJ,CAAI,EACRH,EAEX,GAAI,CAAC2D,GAAwB,CAACC,GAAuB,CAACC,EAElD,OAAA7D,EAAQH,EAASN,EAAS,GAAkC0D,GAAsB9C,CAAI,CAAC,EACvFV,EAAUpD,EAAkB,6BAA8B8C,EAAiB,EAAE,EAAGa,EAAM,KAAK,EAC3FO,EAAWJ,CAAI,EACRH,EAEX,KACP,CACD,OAAOA,CACV,CAED,SAAS0D,EAAkBvD,EAAMZ,EAAS,CACtC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,IAAIS,EAAQ,KACZ,MAAMI,EAAKD,EAAK,cAQhB,QAPKS,IAAgB,GACjBA,IAAgB,GAChBA,IAAgB,IAChBA,IAAgB,MACfR,IAAOjD,GAAWiD,IAAOnD,IAC1BwC,EAAUpD,EAAkB,sBAAuB8C,EAAiB,EAAE,CAAC,EAEnEiB,EAAE,CACN,IAAK,IACD,OAAAD,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAAgC,GAAG,EAC7DA,EAAQ,SAAW,GACZS,EACX,IAAK,IACD,OAAAO,EAAWJ,CAAI,EACfA,EAAK,KAAI,EACFN,EAASN,EAAS,EAA8B,GAAG,EAC9D,IAAK,IACD,OAAAgB,EAAWJ,CAAI,EACfA,EAAK,KAAI,EACFN,EAASN,EAAS,GAAqC,GAAG,EACrE,QACI,OAAI8B,EAAclB,CAAI,GAClBH,EAAQH,EAASN,EAAS,EAAyBgE,EAAWpD,CAAI,CAAC,EAEnEZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,GAEPgB,EAAiBb,EAAMZ,CAAO,GAC9B2B,EAAuBf,EAAMZ,CAAO,GACpCgB,EAAWJ,CAAI,EACRuD,EAAkBvD,EAAMZ,CAAO,GAEtC0B,EAAsBd,EAAMZ,CAAO,GACnCgB,EAAWJ,CAAI,EACRN,EAASN,EAAS,GAAoC6D,GAAmBjD,CAAI,CAAC,GAErFgB,EAAmBhB,EAAMZ,CAAO,GAChCgB,EAAWJ,CAAI,EACXC,IAAO,IAEAqD,EAAuBtD,EAAMZ,CAAO,GAAKS,EAGzCH,EAASN,EAAS,GAA+B8D,GAAgBlD,CAAI,CAAC,IAGjFS,IAAgB,GAChBnB,EAAUpD,EAAkB,sBAAuB8C,EAAiB,EAAE,CAAC,EAE3EI,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZuE,EAAU3D,EAAMZ,CAAO,EACrC,CACJ,CAED,SAASuE,EAAU3D,EAAMZ,EAAS,CAC9B,IAAIS,EAAQ,CAAE,KAAM,IACpB,GAAIT,EAAQ,UAAY,EACpB,OAAOkE,EAAuBtD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAEvE,GAAIA,EAAQ,SACR,OAAOmE,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAGlE,OADWY,EAAK,cACN,CACN,IAAK,IACD,OAAOsD,EAAuBtD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EACvE,IAAK,IACD,OAAAE,EAAUpD,EAAkB,yBAA0B8C,EAAiB,EAAE,CAAC,EAC1EgB,EAAK,KAAI,EACFN,EAASN,EAAS,EAA+B,GAAG,EAC/D,IAAK,IACD,OAAOmE,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAClE,QACI,GAAI8B,EAAclB,CAAI,EAClB,OAAAH,EAAQH,EAASN,EAAS,EAAyBgE,EAAWpD,CAAI,CAAC,EAEnEZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,EAEX,KAAM,CAAE,SAAA+D,EAAU,SAAAtC,CAAU,EAAGH,GAAkBnB,CAAI,EACrD,GAAI4D,EACA,OAAOtC,EACD5B,EAASN,EAAS,EAAyB4C,EAAShC,CAAI,CAAC,EACzDN,EAASN,EAAS,EAA2B2C,GAAW/B,CAAI,CAAC,EAEvE,GAAIqB,EAAYrB,CAAI,EAChB,OAAON,EAASN,EAAS,EAAyB4C,EAAShC,CAAI,CAAC,EAEpE,KACP,CACD,OAAOH,CACV,CACD,SAASgE,IAAY,CACjB,KAAM,CAAE,YAAApD,EAAa,OAAA7F,EAAQ,SAAAkJ,EAAU,OAAAC,CAAM,EAAK5E,EAOlD,OANAA,EAAS,SAAWsB,EACpBtB,EAAS,WAAavE,EACtBuE,EAAS,aAAe2E,EACxB3E,EAAS,WAAa4E,EACtB5E,EAAS,OAASJ,IAClBI,EAAS,SAAWH,IAChBF,EAAM,YAAa,IAAKN,EACjBkB,EAASP,EAAU,IAEvBwE,EAAU7E,EAAOK,CAAQ,CACnC,CACD,MAAO,CACH,UAAA0E,GACA,cAAA9E,EACA,gBAAAC,EACA,QAAAI,CACR,CACA,CAEK,MAAC4E,GAAiB,SAEjBC,GAAgB,wDACtB,SAASC,GAAmB3I,EAAO4I,EAAYC,EAAY,CACvD,OAAQ7I,EAAK,CACT,IAAK,OACD,MAAO,KACX,IAAK,MACD,MAAO,IACX,QAAS,CACL,MAAM8I,EAAY,SAASF,GAAcC,EAAY,EAAE,EACvD,OAAIC,GAAa,OAAUA,GAAa,MAC7B,OAAO,cAAcA,CAAS,EAIlC,GACV,CACJ,CACL,CACA,SAASC,GAAahI,EAAU,GAAI,CAChC,MAAMuC,EAAWvC,EAAQ,WAAa,GAChC,CAAE,QAAA+C,CAAS,EAAG/C,EACpB,SAASgD,EAAUiF,EAAUlI,EAAMvB,EAAOF,KAAWS,EAAM,CACvD,MAAMN,EAAMwJ,EAAS,kBAGrB,GAFAxJ,EAAI,QAAUH,EACdG,EAAI,QAAUH,EACVyE,EAAS,CACT,MAAMpE,EAAM4D,EAAWhE,EAAeC,EAAOC,CAAG,EAAI,KAC9C0E,EAAMrD,EAAmBC,EAAMpB,EAAK,CACtC,OAAQ+I,GACR,KAAA3I,CAChB,CAAa,EACDgE,EAAQI,CAAG,CACd,CACJ,CACD,SAAS+E,EAAU7E,EAAM/E,EAAQK,EAAK,CAClC,MAAMwJ,EAAO,CAAE,KAAA9E,GACf,OAAId,IACA4F,EAAK,MAAQ7J,EACb6J,EAAK,IAAM7J,EACX6J,EAAK,IAAM,CAAE,MAAOxJ,EAAK,IAAKA,IAE3BwJ,CACV,CACD,SAASC,EAAQD,EAAM7J,EAAQ2E,EAAKI,EAAM,CAClCA,IACA8E,EAAK,KAAO9E,GAEZd,IACA4F,EAAK,IAAM7J,EACP6J,EAAK,MACLA,EAAK,IAAI,IAAMlF,GAG1B,CACD,SAASoF,EAAUC,EAAWhF,EAAO,CACjC,MAAMR,EAAUwF,EAAU,UACpBH,EAAOD,EAAU,EAAwBpF,EAAQ,OAAQA,EAAQ,QAAQ,EAC/E,OAAAqF,EAAK,MAAQ7E,EACb8E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASI,EAAUD,EAAW3I,EAAO,CACjC,MAAMmD,EAAUwF,EAAU,UACpB,CAAE,WAAYhK,EAAQ,aAAcK,CAAG,EAAKmE,EAC5CqF,EAAOD,EAAU,EAAwB5J,EAAQK,CAAG,EAC1D,OAAAwJ,EAAK,MAAQ,SAASxI,EAAO,EAAE,EAC/B2I,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASK,EAAWF,EAAWG,EAAK,CAChC,MAAM3F,EAAUwF,EAAU,UACpB,CAAE,WAAYhK,EAAQ,aAAcK,CAAG,EAAKmE,EAC5CqF,EAAOD,EAAU,EAAyB5J,EAAQK,CAAG,EAC3D,OAAAwJ,EAAK,IAAMM,EACXH,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASO,EAAaJ,EAAWhF,EAAO,CACpC,MAAMR,EAAUwF,EAAU,UACpB,CAAE,WAAYhK,EAAQ,aAAcK,CAAG,EAAKmE,EAC5CqF,EAAOD,EAAU,EAA2B5J,EAAQK,CAAG,EAC7D,OAAAwJ,EAAK,MAAQ7E,EAAM,QAAQqE,GAAeC,EAAkB,EAC5DU,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASQ,EAAoBL,EAAW,CACpC,MAAM/E,EAAQ+E,EAAU,YAClBxF,EAAUwF,EAAU,UACpB,CAAE,WAAYhK,EAAQ,aAAcK,CAAG,EAAKmE,EAC5CqF,EAAOD,EAAU,EAAkC5J,EAAQK,CAAG,EACpE,OAAI4E,EAAM,OAAS,IAEfP,EAAUsF,EAAW1I,EAAkB,iCAAkCkD,EAAQ,aAAc,CAAC,EAChGqF,EAAK,MAAQ,GACbC,EAAQD,EAAM7J,EAAQK,CAAG,EAClB,CACH,iBAAkB4E,EAClB,KAAA4E,CAChB,IAGY5E,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvH4E,EAAK,MAAQ5E,EAAM,OAAS,GAC5B6E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7D,CACH,KAAAH,CACZ,EACK,CACD,SAASU,EAAeP,EAAWhF,EAAO,CACtC,MAAMR,EAAUwF,EAAU,UACpBH,EAAOD,EAAU,EAA6BpF,EAAQ,OAAQA,EAAQ,QAAQ,EACpF,OAAAqF,EAAK,MAAQ7E,EACb8E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASW,EAAYR,EAAW,CAC5B,MAAMxF,EAAUwF,EAAU,UACpBS,EAAab,EAAU,EAA0BpF,EAAQ,OAAQA,EAAQ,QAAQ,EACvF,IAAIS,EAAQ+E,EAAU,YACtB,GAAI/E,EAAM,OAAS,EAA8B,CAC7C,MAAMyF,EAASL,EAAoBL,CAAS,EAC5CS,EAAW,SAAWC,EAAO,KAC7BzF,EAAQyF,EAAO,kBAAoBV,EAAU,UAAS,CACzD,CAUD,OARI/E,EAAM,OAAS,IACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvHA,EAAQ+E,EAAU,YAEd/E,EAAM,OAAS,IACfA,EAAQ+E,EAAU,aAEd/E,EAAM,KAAI,CACd,IAAK,IACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvHwF,EAAW,IAAMF,EAAeP,EAAW/E,EAAM,OAAS,EAAE,EAC5D,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvHwF,EAAW,IAAMP,EAAWF,EAAW/E,EAAM,OAAS,EAAE,EACxD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvHwF,EAAW,IAAMR,EAAUD,EAAW/E,EAAM,OAAS,EAAE,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvHwF,EAAW,IAAML,EAAaJ,EAAW/E,EAAM,OAAS,EAAE,EAC1D,MACJ,QAEIP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,CAAC,EAC3F,MAAMmG,EAAcX,EAAU,UACxBY,EAAqBhB,EAAU,EAA6Be,EAAY,OAAQA,EAAY,QAAQ,EAC1G,OAAAC,EAAmB,MAAQ,GAC3Bd,EAAQc,EAAoBD,EAAY,OAAQA,EAAY,QAAQ,EACpEF,EAAW,IAAMG,EACjBd,EAAQW,EAAYE,EAAY,OAAQA,EAAY,QAAQ,EACrD,CACH,iBAAkB1F,EAClB,KAAMwF,CAC1B,CACS,CACD,OAAAX,EAAQW,EAAYT,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EACnE,CACH,KAAMS,CAClB,CACK,CACD,SAASI,EAAab,EAAW,CAC7B,MAAMxF,EAAUwF,EAAU,UACpBc,EAActG,EAAQ,cAAgB,EACtCwF,EAAU,cAAe,EACzBxF,EAAQ,OACR0E,EAAW1E,EAAQ,cAAgB,EACnCA,EAAQ,OACRA,EAAQ,SACRqF,EAAOD,EAAU,EAA2BkB,EAAa5B,CAAQ,EACvEW,EAAK,MAAQ,GACb,IAAIZ,EAAY,KAChB,EAAG,CACC,MAAMhE,EAAQgE,GAAae,EAAU,UAAS,EAE9C,OADAf,EAAY,KACJhE,EAAM,KAAI,CACd,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvH4E,EAAK,MAAM,KAAKE,EAAUC,EAAW/E,EAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvH4E,EAAK,MAAM,KAAKI,EAAUD,EAAW/E,EAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvH4E,EAAK,MAAM,KAAKK,EAAWF,EAAW/E,EAAM,OAAS,EAAE,CAAC,EACxD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAG8F,EAAgBrF,CAAK,CAAC,EAEvH4E,EAAK,MAAM,KAAKO,EAAaJ,EAAW/E,EAAM,OAAS,EAAE,CAAC,EAC1D,MACJ,IAAK,GACD,MAAMyF,EAASF,EAAYR,CAAS,EACpCH,EAAK,MAAM,KAAKa,EAAO,IAAI,EAC3BzB,EAAYyB,EAAO,kBAAoB,KACvC,KACP,CACb,OAAiBlG,EAAQ,cAAgB,IAC7BA,EAAQ,cAAgB,GAE5B,MAAMuG,EAAYvG,EAAQ,cAAgB,EACpCA,EAAQ,WACRwF,EAAU,cAAa,EACvBb,EAAS3E,EAAQ,cAAgB,EACjCA,EAAQ,WACRwF,EAAU,gBAAe,EAC/B,OAAAF,EAAQD,EAAMkB,EAAW5B,CAAM,EACxBU,CACV,CACD,SAASmB,EAAYhB,EAAWhK,EAAQK,EAAK4K,EAAS,CAClD,MAAMzG,EAAUwF,EAAU,UAC1B,IAAIkB,EAAkBD,EAAQ,MAAM,SAAW,EAC/C,MAAMpB,EAAOD,EAAU,EAA0B5J,EAAQK,CAAG,EAC5DwJ,EAAK,MAAQ,GACbA,EAAK,MAAM,KAAKoB,CAAO,EACvB,EAAG,CACC,MAAMpJ,EAAMgJ,EAAab,CAAS,EAC7BkB,IACDA,EAAkBrJ,EAAI,MAAM,SAAW,GAE3CgI,EAAK,MAAM,KAAKhI,CAAG,CAC/B,OAAiB2C,EAAQ,cAAgB,IACjC,OAAI0G,GACAxG,EAAUsF,EAAW1I,EAAkB,6BAA8BjB,EAAK,CAAC,EAE/EyJ,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASsB,EAAcnB,EAAW,CAC9B,MAAMxF,EAAUwF,EAAU,UACpB,CAAE,OAAAhK,EAAQ,SAAAkJ,CAAU,EAAG1E,EACvByG,EAAUJ,EAAab,CAAS,EACtC,OAAIxF,EAAQ,cAAgB,GACjByG,EAGAD,EAAYhB,EAAWhK,EAAQkJ,EAAU+B,CAAO,CAE9D,CACD,SAASG,EAAMhL,EAAQ,CACnB,MAAM4J,EAAYhG,GAAgB5D,EAAQS,GAAO,CAAE,EAAEa,CAAO,CAAC,EACvD8C,EAAUwF,EAAU,UACpBH,EAAOD,EAAU,EAA4BpF,EAAQ,OAAQA,EAAQ,QAAQ,EACnF,OAAIP,GAAY4F,EAAK,MACjBA,EAAK,IAAI,OAASzJ,GAEtByJ,EAAK,KAAOsB,EAAcnB,CAAS,EAC/BtI,EAAQ,aACRmI,EAAK,SAAWnI,EAAQ,WAAWtB,CAAM,GAGzCoE,EAAQ,cAAgB,IACxBE,EAAUsF,EAAW1I,EAAkB,4BAA6BkD,EAAQ,aAAc,EAAGpE,EAAOoE,EAAQ,MAAM,GAAK,EAAE,EAE7HsF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,MAAO,CAAE,MAAAuB,CAAK,CAClB,CACA,SAASd,EAAgBrF,EAAO,CAC5B,GAAIA,EAAM,OAAS,GACf,MAAO,MAEX,MAAMqC,GAAQrC,EAAM,OAAS,IAAI,QAAQ,UAAW,KAAK,EACzD,OAAOqC,EAAK,OAAS,GAAKA,EAAK,MAAM,EAAG,CAAC,EAAI,IAAMA,CACvD,CAEA,SAAS+D,GAAkBC,EAAK5J,EAAU,CAAE,EAC1C,CACE,MAAM6C,EAAW,CACb,IAAA+G,EACA,QAAS,IAAI,GACrB,EAMI,MAAO,CAAE,QALO,IAAM/G,EAKJ,OAJF+C,IACZ/C,EAAS,QAAQ,IAAI+C,CAAI,EAClBA,GAGf,CACA,SAASiE,GAAcC,EAAOC,EAAa,CACvC,QAAS,EAAI,EAAG,EAAID,EAAM,OAAQ,IAC9BE,EAAaF,EAAM,CAAC,EAAGC,CAAW,CAE1C,CACA,SAASC,EAAa7B,EAAM4B,EAAa,CAErC,OAAQ5B,EAAK,KAAI,CACb,IAAK,GACD0B,GAAc1B,EAAK,MAAO4B,CAAW,EACrCA,EAAY,OAAO,UACnB,MACJ,IAAK,GACDF,GAAc1B,EAAK,MAAO4B,CAAW,EACrC,MACJ,IAAK,GAEDC,EADe7B,EACK,IAAK4B,CAAW,EACpCA,EAAY,OAAO,UACnBA,EAAY,OAAO,QACnB,MACJ,IAAK,GACDA,EAAY,OAAO,eACnBA,EAAY,OAAO,QACnB,MACJ,IAAK,GACDA,EAAY,OAAO,eACnBA,EAAY,OAAO,SACnB,KACP,CAEL,CAEA,SAASE,GAAUL,EAAK5J,EAAU,CAAE,EAClC,CACE,MAAM+J,EAAcJ,GAAkBC,CAAG,EACzCG,EAAY,OAAO,aAEnBH,EAAI,MAAQI,EAAaJ,EAAI,KAAMG,CAAW,EAE9C,MAAMjH,EAAUiH,EAAY,UAC5BH,EAAI,QAAU,MAAM,KAAK9G,EAAQ,OAAO,CAC5C,CAEA,SAASoH,GAASN,EAAK,CACnB,MAAMO,EAAOP,EAAI,KACjB,OAAIO,EAAK,OAAS,EACdC,GAAoBD,CAAI,EAGxBA,EAAK,MAAM,QAAQE,GAAKD,GAAoBC,CAAC,CAAC,EAE3CT,CACX,CACA,SAASQ,GAAoBtL,EAAS,CAClC,GAAIA,EAAQ,MAAM,SAAW,EAAG,CAC5B,MAAMY,EAAOZ,EAAQ,MAAM,CAAC,GACxBY,EAAK,OAAS,GAA0BA,EAAK,OAAS,KACtDZ,EAAQ,OAASY,EAAK,MACtB,OAAOA,EAAK,MAEnB,KACI,CACD,MAAM4K,EAAS,CAAA,EACf,QAAS,EAAI,EAAG,EAAIxL,EAAQ,MAAM,OAAQ,IAAK,CAC3C,MAAMY,EAAOZ,EAAQ,MAAM,CAAC,EAI5B,GAHI,EAAEY,EAAK,OAAS,GAA0BA,EAAK,OAAS,IAGxDA,EAAK,OAAS,KACd,MAEJ4K,EAAO,KAAK5K,EAAK,KAAK,CACzB,CACD,GAAI4K,EAAO,SAAWxL,EAAQ,MAAM,OAAQ,CACxCA,EAAQ,OAASQ,GAAKgL,CAAM,EAC5B,QAAS,EAAI,EAAG,EAAIxL,EAAQ,MAAM,OAAQ,IAAK,CAC3C,MAAMY,EAAOZ,EAAQ,MAAM,CAAC,GACxBY,EAAK,OAAS,GAA0BA,EAAK,OAAS,IACtD,OAAOA,EAAK,KAEnB,CACJ,CACJ,CACL,CAEA,MAAM6K,GAAiB,WAEvB,SAASC,EAAOrC,EAAM,CAElB,OADAA,EAAK,EAAIA,EAAK,KACNA,EAAK,KAAI,CACb,IAAK,GACD,MAAMsC,EAAWtC,EACjBqC,EAAOC,EAAS,IAAI,EACpBA,EAAS,EAAIA,EAAS,KACtB,OAAOA,EAAS,KAChB,MACJ,IAAK,GACD,MAAM1D,EAASoB,EACTuC,EAAQ3D,EAAO,MACrB,QAASR,EAAI,EAAGA,EAAImE,EAAM,OAAQnE,IAC9BiE,EAAOE,EAAMnE,CAAC,CAAC,EAEnBQ,EAAO,EAAI2D,EACX,OAAO3D,EAAO,MACd,MACJ,IAAK,GACD,MAAMjI,EAAUqJ,EACV5I,EAAQT,EAAQ,MACtB,QAASyH,EAAI,EAAGA,EAAIhH,EAAM,OAAQgH,IAC9BiE,EAAOjL,EAAMgH,CAAC,CAAC,EAEnBzH,EAAQ,EAAIS,EACZ,OAAOT,EAAQ,MACXA,EAAQ,SACRA,EAAQ,EAAIA,EAAQ,OACpB,OAAOA,EAAQ,QAEnB,MACJ,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACD,MAAM6L,EAAYxC,EACdwC,EAAU,QACVA,EAAU,EAAIA,EAAU,MACxB,OAAOA,EAAU,OAErB,MACJ,IAAK,GACD,MAAMC,EAASzC,EACfqC,EAAOI,EAAO,GAAG,EACjBA,EAAO,EAAIA,EAAO,IAClB,OAAOA,EAAO,IACVA,EAAO,WACPJ,EAAOI,EAAO,QAAQ,EACtBA,EAAO,EAAIA,EAAO,SAClB,OAAOA,EAAO,UAElB,MACJ,IAAK,GACD,MAAMC,EAAO1C,EACb0C,EAAK,EAAIA,EAAK,MACd,OAAOA,EAAK,MACZ,MACJ,IAAK,GACD,MAAMC,EAAQ3C,EACd2C,EAAM,EAAIA,EAAM,IAChB,OAAOA,EAAM,IACb,MACJ,QAEQ,MAAMhL,EAAmBF,EAAkB,6BAA8B,KAAM,CAC3E,OAAQ2K,GACR,KAAM,CAACpC,EAAK,IAAI,CACpC,CAAiB,CAEZ,CACD,OAAOA,EAAK,IAChB,CAGA,MAAM4C,GAAe,SACrB,SAASC,GAAoBpB,EAAK5J,EAAS,CACvC,KAAM,CAAE,UAAAiL,EAAW,SAAAC,EAAU,cAAAC,EAAe,WAAYC,CAAa,EAAGpL,EAClEuC,EAAWvC,EAAQ,WAAa,GAChC6C,EAAW,CACb,SAAAqI,EACA,KAAM,GACN,OAAQ,EACR,KAAM,EACN,OAAQ,EACR,IAAK,OACL,cAAAC,EACA,WAAYC,EACZ,YAAa,CACrB,EACQ7I,GAAYqH,EAAI,MAChB/G,EAAS,OAAS+G,EAAI,IAAI,QAE9B,MAAM9G,EAAU,IAAMD,EACtB,SAASwI,EAAKtL,EAAMoI,EAAM,CACtBtF,EAAS,MAAQ9C,CACpB,CACD,SAASuL,EAASC,EAAGC,EAAgB,GAAM,CACvC,MAAMC,EAAiBD,EAAgBL,EAAgB,GACvDE,EAAKD,EAAcK,EAAiB,KAAK,OAAOF,CAAC,EAAIE,CAAc,CACtE,CACD,SAASC,EAAOC,EAAc,GAAM,CAChC,MAAMC,EAAQ,EAAE/I,EAAS,YACzB8I,GAAeL,EAASM,CAAK,CAChC,CACD,SAASC,EAASF,EAAc,GAAM,CAClC,MAAMC,EAAQ,EAAE/I,EAAS,YACzB8I,GAAeL,EAASM,CAAK,CAChC,CACD,SAASE,GAAU,CACfR,EAASzI,EAAS,WAAW,CAChC,CAGD,MAAO,CACH,QAAAC,EACA,KAAAuI,EACA,OAAAK,EACA,SAAAG,EACA,QAAAC,EACA,OARYrD,GAAQ,IAAIA,CAAG,GAS3B,WARe,IAAM5F,EAAS,UAStC,CACA,CACA,SAASkJ,GAAmBC,EAAW7D,EAAM,CACzC,KAAM,CAAE,OAAA8D,CAAQ,EAAGD,EACnBA,EAAU,KAAK,GAAGC,EAAO,QAAoC,CAAA,GAAG,EAChEC,EAAaF,EAAW7D,EAAK,GAAG,EAC5BA,EAAK,UACL6D,EAAU,KAAK,IAAI,EACnBE,EAAaF,EAAW7D,EAAK,QAAQ,EACrC6D,EAAU,KAAK,SAAS,GAGxBA,EAAU,KAAK,oBAAoB,EAEvCA,EAAU,KAAK,GAAG,CACtB,CACA,SAASG,GAAoBH,EAAW7D,EAAM,CAC1C,KAAM,CAAE,OAAA8D,EAAQ,WAAAG,CAAY,EAAGJ,EAC/BA,EAAU,KAAK,GAAGC,EAAO,WAA0C,CAAA,IAAI,EACvED,EAAU,OAAOI,EAAU,CAAE,EAC7B,MAAMC,EAASlE,EAAK,MAAM,OAC1B,QAAS5B,EAAI,EAAGA,EAAI8F,IAChBH,EAAaF,EAAW7D,EAAK,MAAM5B,CAAC,CAAC,EACjCA,IAAM8F,EAAS,GAFK9F,IAKxByF,EAAU,KAAK,IAAI,EAEvBA,EAAU,SAASI,EAAU,CAAE,EAC/BJ,EAAU,KAAK,IAAI,CACvB,CACA,SAASM,GAAmBN,EAAW7D,EAAM,CACzC,KAAM,CAAE,OAAA8D,EAAQ,WAAAG,CAAY,EAAGJ,EAC/B,GAAI7D,EAAK,MAAM,OAAS,EAAG,CACvB6D,EAAU,KAAK,GAAGC,EAAO,QAAoC,CAAA,IAAI,EACjED,EAAU,OAAOI,EAAU,CAAE,EAC7B,MAAMC,EAASlE,EAAK,MAAM,OAC1B,QAAS5B,EAAI,EAAGA,EAAI8F,IAChBH,EAAaF,EAAW7D,EAAK,MAAM5B,CAAC,CAAC,EACjCA,IAAM8F,EAAS,GAFK9F,IAKxByF,EAAU,KAAK,IAAI,EAEvBA,EAAU,SAASI,EAAU,CAAE,EAC/BJ,EAAU,KAAK,IAAI,CACtB,CACL,CACA,SAASO,GAAiBP,EAAW7D,EAAM,CACnCA,EAAK,KACL+D,EAAaF,EAAW7D,EAAK,IAAI,EAGjC6D,EAAU,KAAK,MAAM,CAE7B,CACA,SAASE,EAAaF,EAAW7D,EAAM,CACnC,KAAM,CAAE,OAAA8D,CAAQ,EAAGD,EACnB,OAAQ7D,EAAK,KAAI,CACb,IAAK,GACDoE,GAAiBP,EAAW7D,CAAI,EAChC,MACJ,IAAK,GACDmE,GAAmBN,EAAW7D,CAAI,EAClC,MACJ,IAAK,GACDgE,GAAoBH,EAAW7D,CAAI,EACnC,MACJ,IAAK,GACD4D,GAAmBC,EAAW7D,CAAI,EAClC,MACJ,IAAK,GACD6D,EAAU,KAAK,KAAK,UAAU7D,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACD6D,EAAU,KAAK,KAAK,UAAU7D,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACD6D,EAAU,KAAK,GAAGC,EAAO,aAAa,CAAiC,IAAIA,EAAO,MAAgC,CAAA,IAAI9D,EAAK,KAAK,KAAMA,CAAI,EAC1I,MACJ,IAAK,GACD6D,EAAU,KAAK,GAAGC,EAAO,cAA8C,IAAIA,EAAO,OAAO,CAA2B,IAAI,KAAK,UAAU9D,EAAK,GAAG,CAAC,KAAMA,CAAI,EAC1J,MACJ,IAAK,GACD6D,EAAU,KAAK,KAAK,UAAU7D,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACD6D,EAAU,KAAK,KAAK,UAAU7D,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,QAEQ,MAAMrI,EAAmBF,EAAkB,4BAA6B,KAAM,CAC1E,OAAQmL,GACR,KAAM,CAAC5C,EAAK,IAAI,CACpC,CAAiB,CAEZ,CACL,CAEA,MAAMqE,GAAW,CAAC5C,EAAK5J,EAAU,CAAE,IAC9B,CACD,MAAMyM,EAAOrN,GAASY,EAAQ,IAAI,EAAIA,EAAQ,KAAO,SAC/CkL,EAAW9L,GAASY,EAAQ,QAAQ,EACpCA,EAAQ,SACR,eACAiL,EAAY,CAAC,CAACjL,EAAQ,UAEtBmL,EAAgBnL,EAAQ,eAAiB,KACzCA,EAAQ,cACRyM,IAAS,QACL,IACA;AAAA,EACJL,EAAapM,EAAQ,WAAaA,EAAQ,WAAayM,IAAS,QAChEC,EAAU9C,EAAI,SAAW,GACzBoC,EAAYhB,GAAoBpB,EAAK,CACvC,KAAA6C,EACA,SAAAvB,EACA,UAAAD,EACA,cAAAE,EACA,WAAAiB,CACR,CAAK,EACDJ,EAAU,KAAKS,IAAS,SAAW,2BAA6B,YAAY,EAC5ET,EAAU,OAAOI,CAAU,EACvBM,EAAQ,OAAS,IACjBV,EAAU,KAAK,WAAW1M,GAAKoN,EAAQ,IAAIC,GAAK,GAAGA,CAAC,MAAMA,CAAC,EAAE,EAAG,IAAI,CAAC,UAAU,EAC/EX,EAAU,QAAO,GAErBA,EAAU,KAAK,SAAS,EACxBE,EAAaF,EAAWpC,CAAG,EAC3BoC,EAAU,SAASI,CAAU,EAC7BJ,EAAU,KAAK,GAAG,EAClB,OAAOpC,EAAI,QACX,KAAM,CAAE,KAAA7J,EAAM,IAAA6M,CAAK,EAAGZ,EAAU,QAAO,EACvC,MAAO,CACH,IAAApC,EACA,KAAA7J,EACA,IAAK6M,EAAMA,EAAI,OAAQ,EAAG,MAClC,CACA,EAEA,SAASC,GAAYnO,EAAQsB,EAAU,GAAI,CACvC,MAAM8M,EAAkB3N,GAAO,CAAE,EAAEa,CAAO,EACpC+M,EAAM,CAAC,CAACD,EAAgB,IACxBE,EAAe,CAAC,CAACF,EAAgB,OACjCG,EAAiBH,EAAgB,UAAY,KAAO,GAAOA,EAAgB,SAG3ElD,EADS5B,GAAa8E,CAAe,EACxB,MAAMpO,CAAM,EAC/B,OAAKqO,GAQDE,GAAkB/C,GAASN,CAAG,EAE9BoD,GAAgBxC,EAAOZ,CAAG,EAEnB,CAAE,IAAAA,EAAK,KAAM,MAVpBK,GAAUL,EAAKkD,CAAe,EAEvBN,GAAS5C,EAAKkD,CAAe,EAU5C","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system54.js","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js"],"sourcesContent":["/*!\n * message-compiler v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n"],"names":["CompileErrorCodes","errorMessages","createCompileError","code","loc","options","domain","messages","args","msg","format","error","defaultOnError","createPosition","line","column","offset","createLocation","start","end","source","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","str","_buf","_index","_line","_column","_peekOffset","isCRLF","index","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","match","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","assign","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","isString","helpers","s","map","baseCompile","assignedOptions"],"mappings":"wHAAA;AAAA;AAAA;AAAA;AAAA,IAOK,MAACA,EAAoB,CAEtB,eAAgB,EAChB,6BAA8B,EAC9B,yCAA0C,EAC1C,wBAAyB,EACzB,gCAAiC,EACjC,yBAA0B,EAC1B,2BAA4B,EAC5B,kBAAmB,EACnB,2BAA4B,EAC5B,sBAAuB,GAEvB,6BAA8B,GAC9B,iCAAkC,GAClC,4BAA6B,GAC7B,4BAA6B,GAI7B,iBAAkB,EACtB,EAEMC,GAAgB,CAElB,CAACD,EAAkB,cAAc,EAAG,wBACpC,CAACA,EAAkB,4BAA4B,EAAG,sCAClD,CAACA,EAAkB,wCAAwC,EAAG,2CAC9D,CAACA,EAAkB,uBAAuB,EAAG,iCAC7C,CAACA,EAAkB,+BAA+B,EAAG,uCACrD,CAACA,EAAkB,wBAAwB,EAAG,2BAC9C,CAACA,EAAkB,0BAA0B,EAAG,6BAChD,CAACA,EAAkB,iBAAiB,EAAG,oBACvC,CAACA,EAAkB,0BAA0B,EAAG,+BAChD,CAACA,EAAkB,qBAAqB,EAAG,wBAE3C,CAACA,EAAkB,4BAA4B,EAAG,4BAClD,CAACA,EAAkB,gCAAgC,EAAG,mCACtD,CAACA,EAAkB,2BAA2B,EAAG,8BACjD,CAACA,EAAkB,2BAA2B,EAAG,6CACrD,EACA,SAASE,EAAmBC,EAAMC,EAAKC,EAAU,CAAA,EAAI,CACjD,KAAM,CAAE,OAAAC,EAAQ,SAAAC,EAAU,KAAAC,CAAI,EAAKH,EAC7BI,EAAO,QAAQ,IAAI,WAAa,aAChCC,UAAQH,GAAYN,IAAeE,CAAI,GAAK,GAAI,GAAIK,GAAQ,CAAA,CAAG,EAC/DL,EACAQ,EAAQ,IAAI,YAAY,OAAOF,CAAG,CAAC,EACzC,OAAAE,EAAM,KAAOR,EACTC,IACAO,EAAM,SAAWP,GAErBO,EAAM,OAASL,EACRK,CACX,CAEA,SAASC,GAAeD,EAAO,CAC3B,MAAMA,CACV,CAMA,SAASE,GAAeC,EAAMC,EAAQC,EAAQ,CAC1C,MAAO,CAAE,KAAAF,EAAM,OAAAC,EAAQ,OAAAC,EAC3B,CACA,SAASC,EAAeC,EAAOC,EAAKC,EAAQ,CACxC,MAAMhB,EAAM,CAAE,MAAAc,EAAO,IAAAC,GACrB,OAAIC,GAAU,OACVhB,EAAI,OAASgB,GAEVhB,CACX,CAEA,MAAMiB,EAAU,IACVC,GAAU,KACVC,EAAU;AAAA,EACVC,GAAU,OAAO,aAAa,IAAM,EACpCC,GAAU,OAAO,aAAa,IAAM,EAC1C,SAASC,GAAcC,EAAK,CACxB,MAAMC,EAAOD,EACb,IAAIE,EAAS,EACTC,EAAQ,EACRC,EAAU,EACVC,EAAc,EAClB,MAAMC,EAAUC,GAAUN,EAAKM,CAAK,IAAMZ,IAAWM,EAAKM,EAAQ,CAAC,IAAMX,EACnEY,EAAQD,GAAUN,EAAKM,CAAK,IAAMX,EAClCa,EAAQF,GAAUN,EAAKM,CAAK,IAAMT,GAClCY,EAAQH,GAAUN,EAAKM,CAAK,IAAMV,GAClCc,EAAaJ,GAAUD,EAAOC,CAAK,GAAKC,EAAKD,CAAK,GAAKE,EAAKF,CAAK,GAAKG,EAAKH,CAAK,EAChFA,EAAQ,IAAML,EACdf,EAAO,IAAMgB,EACbf,EAAS,IAAMgB,EACfQ,EAAa,IAAMP,EACnBQ,EAAUxB,GAAWiB,EAAOjB,CAAM,GAAKoB,EAAKpB,CAAM,GAAKqB,EAAKrB,CAAM,EAAIO,EAAUK,EAAKZ,CAAM,EAC3FyB,EAAc,IAAMD,EAAOX,CAAM,EACjCa,EAAc,IAAMF,EAAOX,EAASG,CAAW,EACrD,SAASW,GAAO,CACZ,OAAAX,EAAc,EACVM,EAAUT,CAAM,IAChBC,IACAC,EAAU,GAEVE,EAAOJ,CAAM,GACbA,IAEJA,IACAE,IACOH,EAAKC,CAAM,CACrB,CACD,SAASe,GAAO,CACZ,OAAIX,EAAOJ,EAASG,CAAW,GAC3BA,IAEJA,IACOJ,EAAKC,EAASG,CAAW,CACnC,CACD,SAASa,GAAQ,CACbhB,EAAS,EACTC,EAAQ,EACRC,EAAU,EACVC,EAAc,CACjB,CACD,SAASc,EAAU9B,EAAS,EAAG,CAC3BgB,EAAchB,CACjB,CACD,SAAS+B,GAAa,CAClB,MAAMC,EAASnB,EAASG,EAExB,KAAOgB,IAAWnB,GACdc,IAEJX,EAAc,CACjB,CACD,MAAO,CACH,MAAAE,EACA,KAAApB,EACA,OAAAC,EACA,WAAAwB,EACA,OAAAC,EACA,YAAAC,EACA,YAAAC,EACA,KAAAC,EACA,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,CACR,CACA,CAEA,MAAME,EAAM,OACNC,GAAoB,IACpBC,GAAiB,YACvB,SAASC,GAAgBhC,EAAQf,EAAU,GAAI,CAC3C,MAAMgD,EAAWhD,EAAQ,WAAa,GAChCiD,EAAQ5B,GAAcN,CAAM,EAC5BmC,EAAgB,IAAMD,EAAM,QAC5BE,EAAkB,IAAM3C,GAAeyC,EAAM,KAAI,EAAIA,EAAM,OAAQ,EAAEA,EAAM,MAAO,CAAA,EAClFG,EAAWD,IACXE,EAAcH,IACdI,EAAW,CACb,YAAa,GACb,OAAQD,EACR,SAAUD,EACV,OAAQA,EACR,SAAU,GACV,WAAYC,EACZ,aAAcD,EACd,WAAYA,EACZ,UAAW,EACX,SAAU,GACV,KAAM,EACd,EACUG,EAAU,IAAMD,EAChB,CAAE,QAAAE,CAAS,EAAGxD,EACpB,SAASyD,EAAU3D,EAAM4D,EAAK/C,KAAWR,EAAM,CAC3C,MAAMwD,EAAMJ,IAGZ,GAFAG,EAAI,QAAU/C,EACd+C,EAAI,QAAU/C,EACV6C,EAAS,CACT,MAAMzD,EAAMa,EAAe+C,EAAI,SAAUD,CAAG,EACtCE,EAAM/D,EAAmBC,EAAMC,EAAK,CACtC,OAAQ+C,GACR,KAAA3C,CAChB,CAAa,EACDqD,EAAQI,CAAG,CACd,CACJ,CACD,SAASC,EAASN,EAASO,EAAMC,EAAO,CACpCR,EAAQ,OAASJ,IACjBI,EAAQ,YAAcO,EACtB,MAAME,EAAQ,CAAE,KAAAF,GAChB,OAAId,IACAgB,EAAM,IAAMpD,EAAe2C,EAAQ,SAAUA,EAAQ,MAAM,GAE3DQ,GAAS,OACTC,EAAM,MAAQD,GAEXC,CACV,CACD,MAAMC,EAAeV,GAAYM,EAASN,EAAS,EAAE,EACrD,SAASW,EAAIC,EAAMC,EAAI,CACnB,OAAID,EAAK,YAAa,IAAKC,GACvBD,EAAK,KAAI,EACFC,IAGPX,EAAU9D,EAAkB,eAAgBwD,EAAe,EAAI,EAAGiB,CAAE,EAC7D,GAEd,CACD,SAASC,EAAWF,EAAM,CACtB,IAAIG,EAAM,GACV,KAAOH,EAAK,gBAAkBnD,GAAWmD,EAAK,YAAa,IAAKjD,GAC5DoD,GAAOH,EAAK,cACZA,EAAK,KAAI,EAEb,OAAOG,CACV,CACD,SAASC,EAAWJ,EAAM,CACtB,MAAMG,EAAMD,EAAWF,CAAI,EAC3B,OAAAA,EAAK,WAAU,EACRG,CACV,CACD,SAASE,EAAkBJ,EAAI,CAC3B,GAAIA,IAAOxB,EACP,MAAO,GAEX,MAAM6B,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,EAEd,CACD,SAASC,EAAcN,EAAI,CACvB,GAAIA,IAAOxB,EACP,MAAO,GAEX,MAAM6B,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAAOK,GAAM,IAAMA,GAAM,EAC5B,CACD,SAASE,EAAuBR,EAAMZ,EAAS,CAC3C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAML,EAAkBL,EAAK,YAAa,CAAA,EAChD,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASC,EAAsBX,EAAMZ,EAAS,CAC1C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMC,EAAKD,EAAK,gBAAkB,IAAMA,EAAK,KAAM,EAAGA,EAAK,cACrDU,EAAMH,EAAcN,CAAE,EAC5B,OAAAD,EAAK,UAAS,EACPU,CACV,CACD,SAASE,EAAeZ,EAAMZ,EAAS,CACnC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAOtB,GACnC,OAAAsB,EAAK,UAAS,EACPU,CACV,CACD,SAASG,EAAiBb,EAAMZ,EAAS,CACrC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASI,EAAsBd,EAAMZ,EAAS,CAC1C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,EAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAML,EAAkBL,EAAK,YAAa,CAAA,EAChD,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASK,EAAuBf,EAAMZ,EAAS,CAC3C,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAI,EAAEqB,IAAgB,GAClBA,IAAgB,IAChB,MAAO,GAEXP,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASM,EAAmBhB,EAAMZ,EAAS,CACvC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,GAAIqB,IAAgB,GAChB,MAAO,GAEX,MAAMQ,EAAK,IAAM,CACb,MAAMhB,EAAKD,EAAK,cAChB,OAAIC,IAAO,IACAI,EAAkBL,EAAK,KAAI,CAAE,EAE/BC,IAAO,KACZA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAOpD,GACP,CAACoD,EACM,GAEFA,IAAOlD,GACZiD,EAAK,KAAI,EACFiB,EAAE,GAIFZ,EAAkBJ,CAAE,CAE3C,EACcS,EAAMO,IACZ,OAAAjB,EAAK,UAAS,EACPU,CACV,CACD,SAASQ,EAAclB,EAAM,CACzBE,EAAWF,CAAI,EACf,MAAMU,EAAMV,EAAK,YAAW,IAAO,IACnC,OAAAA,EAAK,UAAS,EACPU,CACV,CACD,SAASS,GAAkBnB,EAAM,CAC7B,MAAMoB,EAASlB,EAAWF,CAAI,EACxBU,EAAMV,EAAK,YAAW,IAAO,KAC/BA,EAAK,KAAM,IAAK,IACpB,OAAAA,EAAK,UAAS,EACP,CACH,SAAUU,EACV,SAAUU,EAAO,OAAS,CACtC,CACK,CACD,SAASC,EAAYrB,EAAM3B,EAAQ,GAAM,CACrC,MAAM4C,EAAK,CAACK,EAAW,GAAOC,EAAO,GAAIC,EAAe,KAAU,CAC9D,MAAMvB,EAAKD,EAAK,cAChB,OAAIC,IAAO,IACAsB,IAAS,IAAmB,GAAQD,EAEtCrB,IAAO,KAAyB,CAACA,EAC/BsB,IAAS,IAAmB,GAAOD,EAErCrB,IAAO,KACZD,EAAK,KAAI,EACFiB,EAAGK,EAAU,IAAkB,EAAI,GAErCrB,IAAO,IACLsB,IAAS,KAAoBC,EAC9B,GACA,EAAED,IAAS1E,GAAW0E,IAASxE,GAEhCkD,IAAOpD,GACZmD,EAAK,KAAI,EACFiB,EAAG,GAAMpE,EAAS2E,CAAY,GAEhCvB,IAAOlD,GACZiD,EAAK,KAAI,EACFiB,EAAG,GAAMlE,EAASyE,CAAY,GAG9B,EAEvB,EACcd,EAAMO,IACZ,OAAA5C,GAAS2B,EAAK,YACPU,CACV,CACD,SAASe,EAASzB,EAAMiB,EAAI,CACxB,MAAMhB,EAAKD,EAAK,cAChB,OAAIC,IAAOxB,EACAA,EAEPwC,EAAGhB,CAAE,GACLD,EAAK,KAAI,EACFC,GAEJ,IACV,CACD,SAASyB,EAAmB1B,EAAM,CAU9B,OAAOyB,EAASzB,EATCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,IACPA,IAAO,EAEvB,CACqC,CAChC,CACD,SAASqB,GAAU3B,EAAM,CAKrB,OAAOyB,EAASzB,EAJCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAAOK,GAAM,IAAMA,GAAM,EACrC,CACqC,CAChC,CACD,SAASsB,GAAa5B,EAAM,CAOxB,OAAOyB,EAASzB,EANCC,GAAO,CACpB,MAAMK,EAAKL,EAAG,WAAW,CAAC,EAC1B,OAASK,GAAM,IAAMA,GAAM,IACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,GACnC,CACqC,CAChC,CACD,SAASuB,EAAU7B,EAAM,CACrB,IAAIC,EAAK,GACL6B,EAAM,GACV,KAAQ7B,EAAK0B,GAAU3B,CAAI,GACvB8B,GAAO7B,EAEX,OAAO6B,CACV,CACD,SAASC,GAAW/B,EAAM,CACtBI,EAAWJ,CAAI,EACf,MAAMC,EAAKD,EAAK,cAChB,OAAIC,IAAO,KACPX,EAAU9D,EAAkB,eAAgBwD,EAAe,EAAI,EAAGiB,CAAE,EAExED,EAAK,KAAI,EACF,GACV,CACD,SAASgC,EAAShC,EAAM,CACpB,IAAIG,EAAM,GACV,OAAa,CACT,MAAMF,EAAKD,EAAK,cAChB,GAAIC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,EACD,MAEC,GAAIA,IAAO,IACZ,GAAIoB,EAAYrB,CAAI,EAChBG,GAAOF,EACPD,EAAK,KAAI,MAGT,eAGCC,IAAOpD,GAAWoD,IAAOlD,EAC9B,GAAIsE,EAAYrB,CAAI,EAChBG,GAAOF,EACPD,EAAK,KAAI,MAER,IAAIkB,EAAclB,CAAI,EACvB,MAGAG,GAAOF,EACPD,EAAK,KAAI,OAIbG,GAAOF,EACPD,EAAK,KAAI,CAEhB,CACD,OAAOG,CACV,CACD,SAAS8B,GAAoBjC,EAAM,CAC/BI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACLiC,EAAO,GACX,KAAQjC,EAAKyB,EAAmB1B,CAAI,GAChCkC,GAAQjC,EAEZ,OAAID,EAAK,YAAa,IAAKvB,GACvBa,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAEzEkD,CACV,CACD,SAASC,GAAmBnC,EAAM,CAC9BI,EAAWJ,CAAI,EACf,IAAIJ,EAAQ,GACZ,OAAII,EAAK,YAAa,IAAK,KACvBA,EAAK,KAAI,EACTJ,GAAS,IAAIiC,EAAU7B,CAAI,CAAC,IAG5BJ,GAASiC,EAAU7B,CAAI,EAEvBA,EAAK,YAAa,IAAKvB,GACvBa,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAEzEY,CACV,CACD,SAASwC,GAAYpC,EAAM,CACvBI,EAAWJ,CAAI,EACfD,EAAIC,EAAM,GAAI,EACd,IAAIC,EAAK,GACLoC,EAAU,GACd,MAAMpB,EAAMqB,GAAMA,IAAM5D,IAAqB4D,IAAMvF,EACnD,KAAQkD,EAAKwB,EAASzB,EAAMiB,CAAE,GACtBhB,IAAO,KACPoC,GAAWE,GAAmBvC,CAAI,EAGlCqC,GAAWpC,EAGnB,MAAMuC,EAAUxC,EAAK,cACrB,OAAIwC,IAAYzF,GAAWyF,IAAY/D,GACnCa,EAAU9D,EAAkB,yCAA0CwD,EAAiB,EAAE,CAAC,EAEtFwD,IAAYzF,IACZiD,EAAK,KAAI,EACTD,EAAIC,EAAM,GAAI,GAEXqC,IAEXtC,EAAIC,EAAM,GAAI,EACPqC,EACV,CACD,SAASE,GAAmBvC,EAAM,CAC9B,MAAMC,EAAKD,EAAK,cAChB,OAAQC,EAAE,CACN,IAAK,KACL,IAAK,IACD,OAAAD,EAAK,KAAI,EACF,KAAKC,CAAE,GAClB,IAAK,IACD,OAAOwC,GAA0BzC,EAAMC,EAAI,CAAC,EAChD,IAAK,IACD,OAAOwC,GAA0BzC,EAAMC,EAAI,CAAC,EAChD,QACI,OAAAX,EAAU9D,EAAkB,wBAAyBwD,EAAe,EAAI,EAAGiB,CAAE,EACtE,EACd,CACJ,CACD,SAASwC,GAA0BzC,EAAM0C,EAASC,EAAQ,CACtD5C,EAAIC,EAAM0C,CAAO,EACjB,IAAIE,EAAW,GACf,QAASC,EAAI,EAAGA,EAAIF,EAAQE,IAAK,CAC7B,MAAM5C,EAAK2B,GAAa5B,CAAI,EAC5B,GAAI,CAACC,EAAI,CACLX,EAAU9D,EAAkB,gCAAiCwD,EAAiB,EAAE,EAAG,KAAK0D,CAAO,GAAGE,CAAQ,GAAG5C,EAAK,YAAa,CAAA,EAAE,EACjI,KACH,CACD4C,GAAY3C,CACf,CACD,MAAO,KAAKyC,CAAO,GAAGE,CAAQ,EACjC,CACD,SAASE,GAAsB9C,EAAM,CACjCI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACL8C,EAAc,GAClB,MAAMC,EAAW/C,GAAOA,IAAO,KAC3BA,IAAO,KACPA,IAAOpD,GACPoD,IAAOlD,EACX,KAAQkD,EAAKwB,EAASzB,EAAMgD,CAAO,GAC/BD,GAAe9C,EAEnB,OAAO8C,CACV,CACD,SAASE,GAAmBjD,EAAM,CAC9B,IAAIC,EAAK,GACLiC,EAAO,GACX,KAAQjC,EAAKyB,EAAmB1B,CAAI,GAChCkC,GAAQjC,EAEZ,OAAOiC,CACV,CACD,SAASgB,GAAgBlD,EAAM,CAC3B,MAAMiB,EAAK,CAACkC,EAAS,GAAOhD,IAAQ,CAChC,MAAMF,EAAKD,EAAK,cAChB,OAAIC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,GAGIA,IAAOpD,EAFLsD,EAKFF,IAAOlD,GACZoD,GAAOF,EACPD,EAAK,KAAI,EACFiB,EAAGkC,EAAQhD,CAAG,IAGrBA,GAAOF,EACPD,EAAK,KAAI,EACFiB,EAAG,GAAMd,CAAG,EAEnC,EACQ,OAAOc,EAAG,GAAO,EAAE,CACtB,CACD,SAASmC,EAAWpD,EAAM,CACtBI,EAAWJ,CAAI,EACf,MAAMqD,EAAStD,EAAIC,EAAM,GAAG,EAC5B,OAAAI,EAAWJ,CAAI,EACRqD,CACV,CAED,SAASC,EAAuBtD,EAAMZ,EAAS,CAC3C,IAAIS,EAAQ,KAEZ,OADWG,EAAK,cACN,CACN,IAAK,IACD,OAAIZ,EAAQ,WAAa,GACrBE,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAEhFgB,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAAmB,GAAG,EAChDgB,EAAWJ,CAAI,EACfZ,EAAQ,YACDS,EACX,IAAK,IACD,OAAIT,EAAQ,UAAY,GACpBA,EAAQ,cAAgB,GACxBE,EAAU9D,EAAkB,kBAAmBwD,EAAiB,EAAE,CAAC,EAEvEgB,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAAoB,GAAG,EACjDA,EAAQ,YACRA,EAAQ,UAAY,GAAKgB,EAAWJ,CAAI,EACpCZ,EAAQ,UAAYA,EAAQ,YAAc,IAC1CA,EAAQ,SAAW,IAEhBS,EACX,IAAK,IACD,OAAIT,EAAQ,UAAY,GACpBE,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAEhFa,EAAQ0D,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAC/DA,EAAQ,UAAY,EACbS,EACX,QACI,IAAI2D,EAAuB,GACvBC,EAAsB,GACtBC,EAAe,GACnB,GAAIxC,EAAclB,CAAI,EAClB,OAAIZ,EAAQ,UAAY,GACpBE,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAEhFa,EAAQH,EAASN,EAAS,EAAcgE,EAAWpD,CAAI,CAAC,EAExDZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,EAEX,GAAIT,EAAQ,UAAY,IACnBA,EAAQ,cAAgB,GACrBA,EAAQ,cAAgB,GACxBA,EAAQ,cAAgB,GAC5B,OAAAE,EAAU9D,EAAkB,2BAA4BwD,EAAiB,EAAE,CAAC,EAC5EI,EAAQ,UAAY,EACbuE,EAAU3D,EAAMZ,CAAO,EAElC,GAAKoE,EAAuBhD,EAAuBR,EAAMZ,CAAO,EAC5D,OAAAS,EAAQH,EAASN,EAAS,EAAe6C,GAAoBjC,CAAI,CAAC,EAClEI,EAAWJ,CAAI,EACRH,EAEX,GAAK4D,EAAsB9C,EAAsBX,EAAMZ,CAAO,EAC1D,OAAAS,EAAQH,EAASN,EAAS,EAAc+C,GAAmBnC,CAAI,CAAC,EAChEI,EAAWJ,CAAI,EACRH,EAEX,GAAK6D,EAAe9C,EAAeZ,EAAMZ,CAAO,EAC5C,OAAAS,EAAQH,EAASN,EAAS,EAAiBgD,GAAYpC,CAAI,CAAC,EAC5DI,EAAWJ,CAAI,EACRH,EAEX,GAAI,CAAC2D,GAAwB,CAACC,GAAuB,CAACC,EAElD,OAAA7D,EAAQH,EAASN,EAAS,GAAuB0D,GAAsB9C,CAAI,CAAC,EAC5EV,EAAU9D,EAAkB,6BAA8BwD,EAAiB,EAAE,EAAGa,EAAM,KAAK,EAC3FO,EAAWJ,CAAI,EACRH,EAEX,KACP,CACD,OAAOA,CACV,CAED,SAAS0D,EAAkBvD,EAAMZ,EAAS,CACtC,KAAM,CAAE,YAAAqB,CAAa,EAAGrB,EACxB,IAAIS,EAAQ,KACZ,MAAMI,EAAKD,EAAK,cAQhB,QAPKS,IAAgB,GACjBA,IAAgB,GAChBA,IAAgB,IAChBA,IAAgB,MACfR,IAAOlD,GAAWkD,IAAOpD,IAC1ByC,EAAU9D,EAAkB,sBAAuBwD,EAAiB,EAAE,CAAC,EAEnEiB,EAAE,CACN,IAAK,IACD,OAAAD,EAAK,KAAI,EACTH,EAAQH,EAASN,EAAS,EAAqB,GAAG,EAClDA,EAAQ,SAAW,GACZS,EACX,IAAK,IACD,OAAAO,EAAWJ,CAAI,EACfA,EAAK,KAAI,EACFN,EAASN,EAAS,EAAmB,GAAG,EACnD,IAAK,IACD,OAAAgB,EAAWJ,CAAI,EACfA,EAAK,KAAI,EACFN,EAASN,EAAS,GAA0B,GAAG,EAC1D,QACI,OAAI8B,EAAclB,CAAI,GAClBH,EAAQH,EAASN,EAAS,EAAcgE,EAAWpD,CAAI,CAAC,EAExDZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,GAEPgB,EAAiBb,EAAMZ,CAAO,GAC9B2B,EAAuBf,EAAMZ,CAAO,GACpCgB,EAAWJ,CAAI,EACRuD,EAAkBvD,EAAMZ,CAAO,GAEtC0B,EAAsBd,EAAMZ,CAAO,GACnCgB,EAAWJ,CAAI,EACRN,EAASN,EAAS,GAAyB6D,GAAmBjD,CAAI,CAAC,GAE1EgB,EAAmBhB,EAAMZ,CAAO,GAChCgB,EAAWJ,CAAI,EACXC,IAAO,IAEAqD,EAAuBtD,EAAMZ,CAAO,GAAKS,EAGzCH,EAASN,EAAS,GAAoB8D,GAAgBlD,CAAI,CAAC,IAGtES,IAAgB,GAChBnB,EAAU9D,EAAkB,sBAAuBwD,EAAiB,EAAE,CAAC,EAE3EI,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZuE,EAAU3D,EAAMZ,CAAO,EACrC,CACJ,CAED,SAASuE,EAAU3D,EAAMZ,EAAS,CAC9B,IAAIS,EAAQ,CAAE,KAAM,IACpB,GAAIT,EAAQ,UAAY,EACpB,OAAOkE,EAAuBtD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAEvE,GAAIA,EAAQ,SACR,OAAOmE,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAGlE,OADWY,EAAK,cACN,CACN,IAAK,IACD,OAAOsD,EAAuBtD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EACvE,IAAK,IACD,OAAAE,EAAU9D,EAAkB,yBAA0BwD,EAAiB,EAAE,CAAC,EAC1EgB,EAAK,KAAI,EACFN,EAASN,EAAS,EAAoB,GAAG,EACpD,IAAK,IACD,OAAOmE,EAAkBvD,EAAMZ,CAAO,GAAKU,EAAYV,CAAO,EAClE,QACI,GAAI8B,EAAclB,CAAI,EAClB,OAAAH,EAAQH,EAASN,EAAS,EAAcgE,EAAWpD,CAAI,CAAC,EAExDZ,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZS,EAEX,KAAM,CAAE,SAAA+D,EAAU,SAAAtC,CAAU,EAAGH,GAAkBnB,CAAI,EACrD,GAAI4D,EACA,OAAOtC,EACD5B,EAASN,EAAS,EAAc4C,EAAShC,CAAI,CAAC,EAC9CN,EAASN,EAAS,EAAgB2C,GAAW/B,CAAI,CAAC,EAE5D,GAAIqB,EAAYrB,CAAI,EAChB,OAAON,EAASN,EAAS,EAAc4C,EAAShC,CAAI,CAAC,EAEzD,KACP,CACD,OAAOH,CACV,CACD,SAASgE,IAAY,CACjB,KAAM,CAAE,YAAApD,EAAa,OAAAjE,EAAQ,SAAAsH,EAAU,OAAAC,CAAM,EAAK5E,EAOlD,OANAA,EAAS,SAAWsB,EACpBtB,EAAS,WAAa3C,EACtB2C,EAAS,aAAe2E,EACxB3E,EAAS,WAAa4E,EACtB5E,EAAS,OAASJ,IAClBI,EAAS,SAAWH,IAChBF,EAAM,YAAa,IAAKL,EACjBiB,EAASP,EAAU,IAEvBwE,EAAU7E,EAAOK,CAAQ,CACnC,CACD,MAAO,CACH,UAAA0E,GACA,cAAA9E,EACA,gBAAAC,EACA,QAAAI,CACR,CACA,CAEK,MAAC4E,GAAe,SAEfC,GAAgB,wDACtB,SAASC,GAAmBC,EAAOC,EAAYC,EAAY,CACvD,OAAQF,EAAK,CACT,IAAK,OACD,MAAO,KACX,IAAK,MACD,MAAO,IACX,QAAS,CACL,MAAMG,EAAY,SAASF,GAAcC,EAAY,EAAE,EACvD,OAAIC,GAAa,OAAUA,GAAa,MAC7B,OAAO,cAAcA,CAAS,EAIlC,GACV,CACJ,CACL,CACA,SAASC,GAAa1I,EAAU,GAAI,CAChC,MAAMgD,EAAWhD,EAAQ,WAAa,GAChC,CAAE,QAAAwD,CAAS,EAAGxD,EACpB,SAASyD,EAAUkF,EAAU7I,EAAMe,EAAOF,KAAWR,EAAM,CACvD,MAAMW,EAAM6H,EAAS,kBAGrB,GAFA7H,EAAI,QAAUH,EACdG,EAAI,QAAUH,EACV6C,EAAS,CACT,MAAMzD,EAAMa,EAAeC,EAAOC,CAAG,EAC/B8C,EAAM/D,EAAmBC,EAAMC,EAAK,CACtC,OAAQoI,GACR,KAAAhI,CAChB,CAAa,EACDqD,EAAQI,CAAG,CACd,CACJ,CACD,SAASgF,EAAU9E,EAAMnD,EAAQZ,EAAK,CAClC,MAAM8I,EAAO,CACT,KAAA/E,EACA,MAAOnD,EACP,IAAKA,CACjB,EACQ,OAAIqC,IACA6F,EAAK,IAAM,CAAE,MAAO9I,EAAK,IAAKA,IAE3B8I,CACV,CACD,SAASC,EAAQD,EAAMlI,EAAQ+C,EAAKI,EAAM,CACtC+E,EAAK,IAAMlI,EACPmD,IACA+E,EAAK,KAAO/E,GAEZd,GAAY6F,EAAK,MACjBA,EAAK,IAAI,IAAMnF,EAEtB,CACD,SAASqF,EAAUC,EAAWjF,EAAO,CACjC,MAAMR,EAAUyF,EAAU,UACpBH,EAAOD,EAAU,EAAcrF,EAAQ,OAAQA,EAAQ,QAAQ,EACrE,OAAAsF,EAAK,MAAQ9E,EACb+E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASI,EAAUD,EAAWnH,EAAO,CACjC,MAAM0B,EAAUyF,EAAU,UACpB,CAAE,WAAYrI,EAAQ,aAAcZ,CAAG,EAAKwD,EAC5CsF,EAAOD,EAAU,EAAcjI,EAAQZ,CAAG,EAChD,OAAA8I,EAAK,MAAQ,SAAShH,EAAO,EAAE,EAC/BmH,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASK,EAAWF,EAAWG,EAAK,CAChC,MAAM5F,EAAUyF,EAAU,UACpB,CAAE,WAAYrI,EAAQ,aAAcZ,CAAG,EAAKwD,EAC5CsF,EAAOD,EAAU,EAAejI,EAAQZ,CAAG,EACjD,OAAA8I,EAAK,IAAMM,EACXH,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASO,EAAaJ,EAAWjF,EAAO,CACpC,MAAMR,EAAUyF,EAAU,UACpB,CAAE,WAAYrI,EAAQ,aAAcZ,CAAG,EAAKwD,EAC5CsF,EAAOD,EAAU,EAAiBjI,EAAQZ,CAAG,EACnD,OAAA8I,EAAK,MAAQ9E,EAAM,QAAQqE,GAAeC,EAAkB,EAC5DW,EAAU,UAAS,EACnBF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASQ,EAAoBL,EAAW,CACpC,MAAMhF,EAAQgF,EAAU,YAClBzF,EAAUyF,EAAU,UACpB,CAAE,WAAYrI,EAAQ,aAAcZ,CAAG,EAAKwD,EAC5CsF,EAAOD,EAAU,EAAwBjI,EAAQZ,CAAG,EAC1D,OAAIiE,EAAM,OAAS,IAEfP,EAAUuF,EAAWrJ,EAAkB,iCAAkC4D,EAAQ,aAAc,CAAC,EAChGsF,EAAK,MAAQ,GACbC,EAAQD,EAAMlI,EAAQZ,CAAG,EAClB,CACH,iBAAkBiE,EAClB,KAAA6E,CAChB,IAGY7E,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvH6E,EAAK,MAAQ7E,EAAM,OAAS,GAC5B8E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7D,CACH,KAAAH,CACZ,EACK,CACD,SAASU,EAAeP,EAAWjF,EAAO,CACtC,MAAMR,EAAUyF,EAAU,UACpBH,EAAOD,EAAU,EAAmBrF,EAAQ,OAAQA,EAAQ,QAAQ,EAC1E,OAAAsF,EAAK,MAAQ9E,EACb+E,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASW,EAAYR,EAAW,CAC5B,MAAMzF,EAAUyF,EAAU,UACpBS,EAAab,EAAU,EAAgBrF,EAAQ,OAAQA,EAAQ,QAAQ,EAC7E,IAAIS,EAAQgF,EAAU,YACtB,GAAIhF,EAAM,OAAS,EAAmB,CAClC,MAAM0F,EAASL,EAAoBL,CAAS,EAC5CS,EAAW,SAAWC,EAAO,KAC7B1F,EAAQ0F,EAAO,kBAAoBV,EAAU,UAAS,CACzD,CAUD,OARIhF,EAAM,OAAS,IACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvHA,EAAQgF,EAAU,YAEdhF,EAAM,OAAS,IACfA,EAAQgF,EAAU,aAEdhF,EAAM,KAAI,CACd,IAAK,IACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvHyF,EAAW,IAAMF,EAAeP,EAAWhF,EAAM,OAAS,EAAE,EAC5D,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvHyF,EAAW,IAAMP,EAAWF,EAAWhF,EAAM,OAAS,EAAE,EACxD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvHyF,EAAW,IAAMR,EAAUD,EAAWhF,EAAM,OAAS,EAAE,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvHyF,EAAW,IAAML,EAAaJ,EAAWhF,EAAM,OAAS,EAAE,EAC1D,MACJ,QAEIP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,CAAC,EAC3F,MAAMoG,EAAcX,EAAU,UACxBY,EAAqBhB,EAAU,EAAmBe,EAAY,OAAQA,EAAY,QAAQ,EAChG,OAAAC,EAAmB,MAAQ,GAC3Bd,EAAQc,EAAoBD,EAAY,OAAQA,EAAY,QAAQ,EACpEF,EAAW,IAAMG,EACjBd,EAAQW,EAAYE,EAAY,OAAQA,EAAY,QAAQ,EACrD,CACH,iBAAkB3F,EAClB,KAAMyF,CAC1B,CACS,CACD,OAAAX,EAAQW,EAAYT,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EACnE,CACH,KAAMS,CAClB,CACK,CACD,SAASI,EAAab,EAAW,CAC7B,MAAMzF,EAAUyF,EAAU,UACpBc,EAAcvG,EAAQ,cAAgB,EACtCyF,EAAU,cAAe,EACzBzF,EAAQ,OACR0E,EAAW1E,EAAQ,cAAgB,EACnCA,EAAQ,OACRA,EAAQ,SACRsF,EAAOD,EAAU,EAAiBkB,EAAa7B,CAAQ,EAC7DY,EAAK,MAAQ,GACb,IAAIb,EAAY,KAChB,EAAG,CACC,MAAMhE,EAAQgE,GAAagB,EAAU,UAAS,EAE9C,OADAhB,EAAY,KACJhE,EAAM,KAAI,CACd,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvH6E,EAAK,MAAM,KAAKE,EAAUC,EAAWhF,EAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvH6E,EAAK,MAAM,KAAKI,EAAUD,EAAWhF,EAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvH6E,EAAK,MAAM,KAAKK,EAAWF,EAAWhF,EAAM,OAAS,EAAE,CAAC,EACxD,MACJ,IAAK,GACGA,EAAM,OAAS,MACfP,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAG+F,EAAgBtF,CAAK,CAAC,EAEvH6E,EAAK,MAAM,KAAKO,EAAaJ,EAAWhF,EAAM,OAAS,EAAE,CAAC,EAC1D,MACJ,IAAK,GACD,MAAM0F,EAASF,EAAYR,CAAS,EACpCH,EAAK,MAAM,KAAKa,EAAO,IAAI,EAC3B1B,EAAY0B,EAAO,kBAAoB,KACvC,KACP,CACb,OAAiBnG,EAAQ,cAAgB,IAC7BA,EAAQ,cAAgB,GAE5B,MAAMwG,EAAYxG,EAAQ,cAAgB,EACpCA,EAAQ,WACRyF,EAAU,cAAa,EACvBd,EAAS3E,EAAQ,cAAgB,EACjCA,EAAQ,WACRyF,EAAU,gBAAe,EAC/B,OAAAF,EAAQD,EAAMkB,EAAW7B,CAAM,EACxBW,CACV,CACD,SAASmB,EAAYhB,EAAWrI,EAAQZ,EAAKkK,EAAS,CAClD,MAAM1G,EAAUyF,EAAU,UAC1B,IAAIkB,EAAkBD,EAAQ,MAAM,SAAW,EAC/C,MAAMpB,EAAOD,EAAU,EAAgBjI,EAAQZ,CAAG,EAClD8I,EAAK,MAAQ,GACbA,EAAK,MAAM,KAAKoB,CAAO,EACvB,EAAG,CACC,MAAM7J,EAAMyJ,EAAab,CAAS,EAC7BkB,IACDA,EAAkB9J,EAAI,MAAM,SAAW,GAE3CyI,EAAK,MAAM,KAAKzI,CAAG,CAC/B,OAAiBmD,EAAQ,cAAgB,IACjC,OAAI2G,GACAzG,EAAUuF,EAAWrJ,EAAkB,6BAA8BI,EAAK,CAAC,EAE/E+I,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,SAASsB,EAAcnB,EAAW,CAC9B,MAAMzF,EAAUyF,EAAU,UACpB,CAAE,OAAArI,EAAQ,SAAAsH,CAAU,EAAG1E,EACvB0G,EAAUJ,EAAab,CAAS,EACtC,OAAIzF,EAAQ,cAAgB,GACjB0G,EAGAD,EAAYhB,EAAWrI,EAAQsH,EAAUgC,CAAO,CAE9D,CACD,SAASG,EAAMrJ,EAAQ,CACnB,MAAMiI,EAAYjG,GAAgBhC,EAAQsJ,EAAM,OAAC,CAAE,EAAErK,CAAO,CAAC,EACvDuD,EAAUyF,EAAU,UACpBH,EAAOD,EAAU,EAAkBrF,EAAQ,OAAQA,EAAQ,QAAQ,EACzE,OAAIP,GAAY6F,EAAK,MACjBA,EAAK,IAAI,OAAS9H,GAEtB8H,EAAK,KAAOsB,EAAcnB,CAAS,EAE/BzF,EAAQ,cAAgB,IACxBE,EAAUuF,EAAWrJ,EAAkB,4BAA6B4D,EAAQ,aAAc,EAAGxC,EAAOwC,EAAQ,MAAM,GAAK,EAAE,EAE7HuF,EAAQD,EAAMG,EAAU,cAAe,EAAEA,EAAU,gBAAe,CAAE,EAC7DH,CACV,CACD,MAAO,CAAE,MAAAuB,CAAK,CAClB,CACA,SAASd,EAAgBtF,EAAO,CAC5B,GAAIA,EAAM,OAAS,GACf,MAAO,MAEX,MAAMqC,GAAQrC,EAAM,OAAS,IAAI,QAAQ,UAAW,KAAK,EACzD,OAAOqC,EAAK,OAAS,GAAKA,EAAK,MAAM,EAAG,CAAC,EAAI,IAAMA,CACvD,CAEA,SAASiE,GAAkBC,EAAKvK,EAAU,CAAE,EAC1C,CACE,MAAMsD,EAAW,CACb,IAAAiH,EACA,QAAS,IAAI,GACrB,EAMI,MAAO,CAAE,QALO,IAAMjH,EAKJ,OAJF+C,IACZ/C,EAAS,QAAQ,IAAI+C,CAAI,EAClBA,GAGf,CACA,SAASmE,GAAcC,EAAOC,EAAa,CACvC,QAAS1D,EAAI,EAAGA,EAAIyD,EAAM,OAAQzD,IAC9B2D,EAAaF,EAAMzD,CAAC,EAAG0D,CAAW,CAE1C,CACA,SAASC,EAAa9B,EAAM6B,EAAa,CAErC,OAAQ7B,EAAK,KAAI,CACb,IAAK,GACD2B,GAAc3B,EAAK,MAAO6B,CAAW,EACrCA,EAAY,OAAO,UACnB,MACJ,IAAK,GACDF,GAAc3B,EAAK,MAAO6B,CAAW,EACrC,MACJ,IAAK,GAEDC,EADe9B,EACK,IAAK6B,CAAW,EACpCA,EAAY,OAAO,UACnBA,EAAY,OAAO,QACnB,MACJ,IAAK,GACDA,EAAY,OAAO,eACnBA,EAAY,OAAO,QACnB,MACJ,IAAK,GACDA,EAAY,OAAO,eACnBA,EAAY,OAAO,SACnB,KACP,CAEL,CAEA,SAASE,GAAUL,EAAKvK,EAAU,CAAE,EAClC,CACE,MAAM0K,EAAcJ,GAAkBC,CAAG,EACzCG,EAAY,OAAO,aAEnBH,EAAI,MAAQI,EAAaJ,EAAI,KAAMG,CAAW,EAE9C,MAAMnH,EAAUmH,EAAY,UAC5BH,EAAI,QAAU,MAAM,KAAKhH,EAAQ,OAAO,CAC5C,CAEA,SAASsH,GAAoBN,EAAKvK,EAAS,CACvC,KAAM,CAAE,UAAA8K,EAAW,SAAAC,EAAU,cAAAC,EAAe,WAAYC,CAAa,EAAGjL,EAClEsD,EAAW,CACb,OAAQiH,EAAI,IAAI,OAChB,SAAAQ,EACA,KAAM,GACN,OAAQ,EACR,KAAM,EACN,OAAQ,EACR,IAAK,OACL,cAAAC,EACA,WAAYC,EACZ,YAAa,CACrB,EACU1H,EAAU,IAAMD,EACtB,SAAS4H,EAAKpL,EAAM+I,EAAM,CACtBvF,EAAS,MAAQxD,CACpB,CACD,SAASqL,EAASC,EAAGC,EAAgB,GAAM,CACvC,MAAMC,EAAiBD,EAAgBL,EAAgB,GACvDE,EAAKD,EAAcK,EAAiB,KAAK,OAAOF,CAAC,EAAIE,CAAc,CACtE,CACD,SAASC,EAAOC,EAAc,GAAM,CAChC,MAAMC,EAAQ,EAAEnI,EAAS,YACzBkI,GAAeL,EAASM,CAAK,CAChC,CACD,SAASC,EAASF,EAAc,GAAM,CAClC,MAAMC,EAAQ,EAAEnI,EAAS,YACzBkI,GAAeL,EAASM,CAAK,CAChC,CACD,SAASE,GAAU,CACfR,EAAS7H,EAAS,WAAW,CAChC,CAGD,MAAO,CACH,QAAAC,EACA,KAAA2H,EACA,OAAAK,EACA,SAAAG,EACA,QAAAC,EACA,OARYxC,GAAQ,IAAIA,CAAG,GAS3B,WARe,IAAM7F,EAAS,UAStC,CACA,CACA,SAASsI,GAAmBC,EAAWhD,EAAM,CACzC,KAAM,CAAE,OAAAiD,CAAQ,EAAGD,EACnBA,EAAU,KAAK,GAAGC,EAAO,QAAsB,CAAA,GAAG,EAClDC,EAAaF,EAAWhD,EAAK,GAAG,EAC5BA,EAAK,UACLgD,EAAU,KAAK,IAAI,EACnBE,EAAaF,EAAWhD,EAAK,QAAQ,EACrCgD,EAAU,KAAK,SAAS,GAGxBA,EAAU,KAAK,oBAAoB,EAEvCA,EAAU,KAAK,GAAG,CACtB,CACA,SAASG,GAAoBH,EAAWhD,EAAM,CAC1C,KAAM,CAAE,OAAAiD,EAAQ,WAAAG,CAAY,EAAGJ,EAC/BA,EAAU,KAAK,GAAGC,EAAO,WAA4B,CAAA,IAAI,EACzDD,EAAU,OAAOI,EAAU,CAAE,EAC7B,MAAMC,EAASrD,EAAK,MAAM,OAC1B,QAAS7B,EAAI,EAAGA,EAAIkF,IAChBH,EAAaF,EAAWhD,EAAK,MAAM7B,CAAC,CAAC,EACjCA,IAAMkF,EAAS,GAFKlF,IAKxB6E,EAAU,KAAK,IAAI,EAEvBA,EAAU,SAASI,EAAU,CAAE,EAC/BJ,EAAU,KAAK,IAAI,CACvB,CACA,SAASM,GAAmBN,EAAWhD,EAAM,CACzC,KAAM,CAAE,OAAAiD,EAAQ,WAAAG,CAAY,EAAGJ,EAC/B,GAAIhD,EAAK,MAAM,OAAS,EAAG,CACvBgD,EAAU,KAAK,GAAGC,EAAO,QAAsB,CAAA,IAAI,EACnDD,EAAU,OAAOI,EAAU,CAAE,EAC7B,MAAMC,EAASrD,EAAK,MAAM,OAC1B,QAAS7B,EAAI,EAAGA,EAAIkF,IAChBH,EAAaF,EAAWhD,EAAK,MAAM7B,CAAC,CAAC,EACjCA,IAAMkF,EAAS,GAFKlF,IAKxB6E,EAAU,KAAK,IAAI,EAEvBA,EAAU,SAASI,EAAU,CAAE,EAC/BJ,EAAU,KAAK,IAAI,CACtB,CACL,CACA,SAASO,GAAiBP,EAAWhD,EAAM,CACnCA,EAAK,KACLkD,EAAaF,EAAWhD,EAAK,IAAI,EAGjCgD,EAAU,KAAK,MAAM,CAE7B,CACA,SAASE,EAAaF,EAAWhD,EAAM,CACnC,KAAM,CAAE,OAAAiD,CAAQ,EAAGD,EACnB,OAAQhD,EAAK,KAAI,CACb,IAAK,GACDuD,GAAiBP,EAAWhD,CAAI,EAChC,MACJ,IAAK,GACDsD,GAAmBN,EAAWhD,CAAI,EAClC,MACJ,IAAK,GACDmD,GAAoBH,EAAWhD,CAAI,EACnC,MACJ,IAAK,GACD+C,GAAmBC,EAAWhD,CAAI,EAClC,MACJ,IAAK,GACDgD,EAAU,KAAK,KAAK,UAAUhD,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDgD,EAAU,KAAK,KAAK,UAAUhD,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDgD,EAAU,KAAK,GAAGC,EAAO,aAAa,CAAmB,IAAIA,EAAO,MAAkB,CAAA,IAAIjD,EAAK,KAAK,KAAMA,CAAI,EAC9G,MACJ,IAAK,GACDgD,EAAU,KAAK,GAAGC,EAAO,cAAgC,IAAIA,EAAO,OAAO,CAAa,IAAI,KAAK,UAAUjD,EAAK,GAAG,CAAC,KAAMA,CAAI,EAC9H,MACJ,IAAK,GACDgD,EAAU,KAAK,KAAK,UAAUhD,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDgD,EAAU,KAAK,KAAK,UAAUhD,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,QACI,GAAK,QAAQ,IAAI,WAAa,aAC1B,MAAM,IAAI,MAAM,gCAAgCA,EAAK,IAAI,EAAE,CAEtE,CACL,CAEA,MAAMwD,GAAW,CAAC9B,EAAKvK,EAAU,CAAE,IAC9B,CACD,MAAMsM,EAAOC,EAAAA,SAASvM,EAAQ,IAAI,EAAIA,EAAQ,KAAO,SAC/C+K,EAAWwB,EAAAA,SAASvM,EAAQ,QAAQ,EACpCA,EAAQ,SACR,eACA8K,EAAY,CAAC,CAAC9K,EAAQ,UAEtBgL,EAAgBhL,EAAQ,eAAiB,KACzCA,EAAQ,cACRsM,IAAS,QACL,IACA;AAAA,EACJL,EAAajM,EAAQ,WAAaA,EAAQ,WAAasM,IAAS,QAChEE,EAAUjC,EAAI,SAAW,GACzBsB,EAAYhB,GAAoBN,EAAK,CACvC,KAAA+B,EACA,SAAAvB,EACA,UAAAD,EACA,cAAAE,EACA,WAAAiB,CACR,CAAK,EACDJ,EAAU,KAAKS,IAAS,SAAW,2BAA6B,YAAY,EAC5ET,EAAU,OAAOI,CAAU,EACvBO,EAAQ,OAAS,IACjBX,EAAU,KAAK,WAAWW,EAAQ,IAAIC,GAAK,GAAGA,CAAC,MAAMA,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,EAC9EZ,EAAU,QAAO,GAErBA,EAAU,KAAK,SAAS,EACxBE,EAAaF,EAAWtB,CAAG,EAC3BsB,EAAU,SAASI,CAAU,EAC7BJ,EAAU,KAAK,GAAG,EAClB,KAAM,CAAE,KAAA/L,EAAM,IAAA4M,CAAK,EAAGb,EAAU,QAAO,EACvC,MAAO,CACH,IAAAtB,EACA,KAAAzK,EACA,IAAK4M,EAAMA,EAAI,OAAQ,EAAG,MAClC,CACA,EAEA,SAASC,GAAY5L,EAAQf,EAAU,GAAI,CACvC,MAAM4M,EAAkBvC,EAAAA,OAAO,CAAE,EAAErK,CAAO,EAGpCuK,EADS7B,GAAakE,CAAe,EACxB,MAAM7L,CAAM,EAE/B,OAAA6J,GAAUL,EAAKqC,CAAe,EAEvBP,GAAS9B,EAAKqC,CAAe,CACxC","x_google_ignoreList":[0]}