@crystaldesign/diva-web-planner-react 24.12.0 → 24.12.1

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 (1631) hide show
  1. package/build/esm/ArticleProperties-c0b4d057.js +164 -0
  2. package/build/esm/CatalogProperties-e4fab576.js +452 -0
  3. package/build/esm/IconHandler-3933e482.js +77 -0
  4. package/build/esm/OptionProperties-fd30e558.js +161 -0
  5. package/build/esm/OptionValueProperties-1f4c1a3c.js +116 -0
  6. package/build/esm/Planner2DGrid-164f46cf.js +641 -0
  7. package/build/esm/Planner3DImage-bf714a99.js +1163 -0
  8. package/build/esm/index-02467ac9.js +102 -0
  9. package/build/esm/index-02bc5db5.js +175 -0
  10. package/build/esm/index-053d32e4.js +50 -0
  11. package/build/esm/index-0668dc6a.js +46 -0
  12. package/build/esm/index-06e53e14.js +139 -0
  13. package/build/esm/index-0953e946.js +120 -0
  14. package/build/esm/index-0a6bb699.js +41 -0
  15. package/build/esm/index-0abf17e2.js +108 -0
  16. package/build/esm/index-0b2690bb.js +52 -0
  17. package/build/esm/index-0b766163.js +61 -0
  18. package/build/esm/index-0c971a3b.js +187 -0
  19. package/build/esm/index-0cd94b56.js +43 -0
  20. package/build/esm/index-0ed992e6.js +46 -0
  21. package/build/esm/index-0f8e2602.js +61 -0
  22. package/build/esm/index-0fa13ae7.js +202 -0
  23. package/build/esm/index-10c3945c.js +49 -0
  24. package/build/esm/index-10e2e029.js +127 -0
  25. package/build/esm/index-10ee75a6.js +27 -0
  26. package/build/esm/index-11073e5e.js +121 -0
  27. package/build/esm/index-16b4b87a.js +31 -0
  28. package/build/esm/index-17b0508b.js +95 -0
  29. package/build/esm/index-19008c8c.js +112 -0
  30. package/build/esm/index-1a28e9b5.js +27 -0
  31. package/build/esm/index-1a3da34b.js +51 -0
  32. package/build/esm/index-1bb9122f.js +27 -0
  33. package/build/esm/index-1f4d58c4.js +67 -0
  34. package/build/esm/index-20c8e05c.js +53 -0
  35. package/build/esm/index-223b7361.js +65 -0
  36. package/build/esm/index-23b7f27a.js +447 -0
  37. package/build/esm/index-246b4bec.js +42 -0
  38. package/build/esm/index-250f5e1e.js +64 -0
  39. package/build/esm/index-26fd5353.js +48 -0
  40. package/build/esm/index-28f79766.js +46 -0
  41. package/build/esm/index-290af97c.js +144 -0
  42. package/build/esm/index-2b309493.js +73 -0
  43. package/build/esm/index-2ce21b8e.js +27 -0
  44. package/build/esm/index-2f1a0e04.js +43 -0
  45. package/build/esm/index-2f3fff88.js +127 -0
  46. package/build/esm/index-32098881.js +27 -0
  47. package/build/esm/index-327cd278.js +76 -0
  48. package/build/esm/index-32ae7895.js +167 -0
  49. package/build/esm/index-335076bb.js +156 -0
  50. package/build/esm/index-339fe263.js +91 -0
  51. package/build/esm/index-3439c686.js +157 -0
  52. package/build/esm/index-3471ae5d.js +39 -0
  53. package/build/esm/index-37040215.js +98 -0
  54. package/build/esm/index-3a428f38.js +97 -0
  55. package/build/esm/index-3a96f3a0.js +46 -0
  56. package/build/esm/index-3d65999d.js +164 -0
  57. package/build/esm/index-3ec20a09.js +36 -0
  58. package/build/esm/index-3ffa8156.js +110 -0
  59. package/build/esm/index-4008790d.js +171 -0
  60. package/build/esm/index-4099ef77.js +179 -0
  61. package/build/esm/index-4104e69f.js +27 -0
  62. package/build/esm/index-41060553.js +146 -0
  63. package/build/esm/index-418359c4.js +85 -0
  64. package/build/esm/index-435e94a9.js +27 -0
  65. package/build/esm/index-43700f20.js +75 -0
  66. package/build/esm/index-4387cb6f.js +37 -0
  67. package/build/esm/index-448db6b1.js +69 -0
  68. package/build/esm/index-473e0393.js +137 -0
  69. package/build/esm/index-486fb134.js +157 -0
  70. package/build/esm/index-488d0ed3.js +64 -0
  71. package/build/esm/index-48a8a155.js +27 -0
  72. package/build/esm/index-49f9b736.js +144 -0
  73. package/build/esm/index-4a184f53.js +27 -0
  74. package/build/esm/index-4a913d90.js +42 -0
  75. package/build/esm/index-4aa405ac.js +75 -0
  76. package/build/esm/index-4cd35e63.js +43 -0
  77. package/build/esm/index-4cdeb581.js +68 -0
  78. package/build/esm/index-4d9844d6.js +102 -0
  79. package/build/esm/index-4e9e818e.js +123 -0
  80. package/build/esm/index-4f5189b5.js +108 -0
  81. package/build/esm/index-52c8258e.js +77 -0
  82. package/build/esm/index-5311ad98.js +88 -0
  83. package/build/esm/index-55f945c0.js +115 -0
  84. package/build/esm/index-565c5503.js +153 -0
  85. package/build/esm/index-58b8d83c.js +177 -0
  86. package/build/esm/index-596e7f52.js +150 -0
  87. package/build/esm/index-5b024c5e.js +53 -0
  88. package/build/esm/index-5b80bc2a.js +94 -0
  89. package/build/esm/index-5b845a91.js +88 -0
  90. package/build/esm/index-5cb4c76e.js +156 -0
  91. package/build/esm/index-5ef7c748.js +78 -0
  92. package/build/esm/index-5f65411c.js +83 -0
  93. package/build/esm/index-60737a14.js +128 -0
  94. package/build/esm/index-6354667a.js +148 -0
  95. package/build/esm/index-6362a92e.js +154 -0
  96. package/build/esm/index-63bb26d8.js +82 -0
  97. package/build/esm/index-63c5453a.js +62 -0
  98. package/build/esm/index-63cce023.js +86 -0
  99. package/build/esm/index-68797320.js +25 -0
  100. package/build/esm/index-6891af5f.js +75 -0
  101. package/build/esm/index-68f24f4a.js +59 -0
  102. package/build/esm/index-6d4449eb.js +99 -0
  103. package/build/esm/index-6fc05ab7.js +48 -0
  104. package/build/esm/index-712d3832.js +55 -0
  105. package/build/esm/index-71fa6898.js +36 -0
  106. package/build/esm/index-7345e4e6.js +70 -0
  107. package/build/esm/index-738601d1.js +30 -0
  108. package/build/esm/index-73af0729.js +36 -0
  109. package/build/esm/index-74254f6f.js +69 -0
  110. package/build/esm/index-7447a73f.js +83 -0
  111. package/build/esm/index-7531df3b.js +91 -0
  112. package/build/esm/index-7699b413.js +47 -0
  113. package/build/esm/index-770767c2.js +40 -0
  114. package/build/esm/index-783af724.js +27 -0
  115. package/build/esm/index-786d8f5e.js +27 -0
  116. package/build/esm/index-791f4ff0.js +59 -0
  117. package/build/esm/index-795800bd.js +27 -0
  118. package/build/esm/index-7ae7f004.js +42 -0
  119. package/build/esm/index-7c8163ea.js +34 -0
  120. package/build/esm/index-7cab0762.js +57 -0
  121. package/build/esm/index-7d506eed.js +82 -0
  122. package/build/esm/index-7d8fe856.js +41 -0
  123. package/build/esm/index-7dbf560b.js +113 -0
  124. package/build/esm/index-7ffe2691.js +97 -0
  125. package/build/esm/index-800c0d98.js +76 -0
  126. package/build/esm/index-8056170a.js +129 -0
  127. package/build/esm/index-8069bbfe.js +54 -0
  128. package/build/esm/index-8161d3d2.js +127 -0
  129. package/build/esm/index-84310518.js +190 -0
  130. package/build/esm/index-87812dfe.js +136 -0
  131. package/build/esm/index-894e17ba.js +107 -0
  132. package/build/esm/index-89cc3b90.js +52 -0
  133. package/build/esm/index-8d1d697a.js +62 -0
  134. package/build/esm/index-90e24994.js +80 -0
  135. package/build/esm/index-91f2928f.js +27 -0
  136. package/build/esm/index-93323a6b.js +101 -0
  137. package/build/esm/index-945074f1.js +9662 -0
  138. package/build/esm/index-972a9fb1.js +81 -0
  139. package/build/esm/index-97b5d76e.js +49 -0
  140. package/build/esm/index-985b34d0.js +68 -0
  141. package/build/esm/index-98a92a4d.js +45 -0
  142. package/build/esm/index-9a9f9972.js +121 -0
  143. package/build/esm/index-9b97271d.js +52 -0
  144. package/build/esm/index-9d32516b.js +113 -0
  145. package/build/esm/index-9dab38b1.js +96 -0
  146. package/build/esm/index-9de81503.js +38 -0
  147. package/build/esm/index-9eef15ef.js +65 -0
  148. package/build/esm/index-a0c97c1f.js +131 -0
  149. package/build/esm/index-a638b452.js +27 -0
  150. package/build/esm/index-a6fe50d3.js +57 -0
  151. package/build/esm/index-a761f3a1.js +37 -0
  152. package/build/esm/index-a76c6752.js +27 -0
  153. package/build/esm/index-a7cf8d42.js +111 -0
  154. package/build/esm/index-a81bf6a9.js +59 -0
  155. package/build/esm/index-a85083d0.js +121 -0
  156. package/build/esm/index-a899436f.js +175 -0
  157. package/build/esm/index-a8d969d8.js +215 -0
  158. package/build/esm/index-a8f4c6d0.js +213 -0
  159. package/build/esm/index-aab63fb5.js +48 -0
  160. package/build/esm/index-aaf399a6.js +53 -0
  161. package/build/esm/index-abcc0f82.js +78 -0
  162. package/build/esm/index-ad28556b.js +44 -0
  163. package/build/esm/index-ae209f39.js +141 -0
  164. package/build/esm/index-ae5ce155.js +129 -0
  165. package/build/esm/index-af53ac92.js +116 -0
  166. package/build/esm/index-b2a35d0e.js +40 -0
  167. package/build/esm/index-b34188dc.js +40 -0
  168. package/build/esm/index-b3fa05c3.js +43 -0
  169. package/build/esm/index-b5b683b5.js +142 -0
  170. package/build/esm/index-b5e6499c.js +54 -0
  171. package/build/esm/index-b92ae7fe.js +63 -0
  172. package/build/esm/index-b9afb619.js +551 -0
  173. package/build/esm/index-bce0def5.js +91 -0
  174. package/build/esm/index-bd162ad8.js +127 -0
  175. package/build/esm/index-bdb5faba.js +38 -0
  176. package/build/esm/index-c1193a35.js +78 -0
  177. package/build/esm/index-c1e94095.js +56 -0
  178. package/build/esm/index-c447d573.js +23 -0
  179. package/build/esm/index-c543673f.js +58 -0
  180. package/build/esm/index-c6729434.js +87 -0
  181. package/build/esm/index-c69084f1.js +242 -0
  182. package/build/esm/index-c6f7e5e1.js +32 -0
  183. package/build/esm/index-c7b49385.js +82 -0
  184. package/build/esm/index-c84e2c9d.js +94 -0
  185. package/build/esm/index-c856757f.js +73 -0
  186. package/build/esm/index-c87568a3.js +53 -0
  187. package/build/esm/index-c987cd87.js +54 -0
  188. package/build/esm/index-ca0e4969.js +27 -0
  189. package/build/esm/index-caa33034.js +64 -0
  190. package/build/esm/index-ce994a26.js +71 -0
  191. package/build/esm/index-d0e05434.js +186 -0
  192. package/build/esm/index-d2f60443.js +172 -0
  193. package/build/esm/index-d35c61cb.js +43 -0
  194. package/build/esm/index-d43a0738.js +45 -0
  195. package/build/esm/index-d4a87c7e.js +156 -0
  196. package/build/esm/index-d841b71f.js +163 -0
  197. package/build/esm/index-d8bae00b.js +139 -0
  198. package/build/esm/index-d9443dd0.js +27 -0
  199. package/build/esm/index-da1e1399.js +37 -0
  200. package/build/esm/index-db1afdb0.js +106 -0
  201. package/build/esm/index-dc533da1.js +45 -0
  202. package/build/esm/index-e1f54066.js +27 -0
  203. package/build/esm/index-e2058d44.js +32 -0
  204. package/build/esm/index-e215ad23.js +27 -0
  205. package/build/esm/index-e23ff31d.js +76 -0
  206. package/build/esm/index-e3e84cde.js +50 -0
  207. package/build/esm/index-e4dd8413.js +68 -0
  208. package/build/esm/index-e7d819af.js +176 -0
  209. package/build/esm/index-e8bff0e4.js +123 -0
  210. package/build/esm/index-eb44ff15.js +93 -0
  211. package/build/esm/index-ebf271e2.js +123 -0
  212. package/build/esm/index-eefd4032.js +134 -0
  213. package/build/esm/index-eefdf9de.js +117 -0
  214. package/build/esm/index-ef85426a.js +27 -0
  215. package/build/esm/index-f02aed16.js +275 -0
  216. package/build/esm/index-f08d97d7.js +156 -0
  217. package/build/esm/index-f0b74f32.js +87 -0
  218. package/build/esm/index-f0dec44d.js +268 -0
  219. package/build/esm/index-f214f28a.js +129 -0
  220. package/build/esm/index-f21bc2b5.js +123 -0
  221. package/build/esm/index-f3b83075.js +170 -0
  222. package/build/esm/index-f4e52a82.js +35 -0
  223. package/build/esm/index-f5a4b8a0.js +111 -0
  224. package/build/esm/index-f70f069f.js +27 -0
  225. package/build/esm/index-f74d8f61.js +132 -0
  226. package/build/esm/index-f8eefb2c.js +92 -0
  227. package/build/esm/index-f903b11e.js +62 -0
  228. package/build/esm/index-fc98f1f4.js +53 -0
  229. package/build/esm/index-fde74907.js +56 -0
  230. package/build/esm/index-fefeae2f.js +91 -0
  231. package/build/esm/index-ff5b9257.js +27 -0
  232. package/build/esm/index-ffd95766.js +97 -0
  233. package/build/esm/index.js +1 -1
  234. package/build/esm/index.module-03df1a8f.js +17 -0
  235. package/build/esm/index.module-0c3a1f94.js +12 -0
  236. package/build/esm/index.module-0f7c3621.js +10 -0
  237. package/build/esm/index.module-1346133e.js +44 -0
  238. package/build/esm/index.module-1f82676e.js +20 -0
  239. package/build/esm/index.module-2ae6a051.js +18 -0
  240. package/build/esm/index.module-8b7db6c1.js +10 -0
  241. package/build/esm/index.module-94a16855.js +9 -0
  242. package/build/esm/index.module-cb0c03a2.js +8 -0
  243. package/build/esm/index.module-cd07a1a9.js +13 -0
  244. package/build/esm/index.module-d368256e.js +24 -0
  245. package/build/esm/index.module-d3a974ef.js +9 -0
  246. package/build/esm/index.module-d4c0130b.js +19 -0
  247. package/build/esm/index.module-d4c830a3.js +10 -0
  248. package/build/esm/requestProductForm-5354a665.js +295 -0
  249. package/build/umd/1.diva-web-planner-react.umd.min.js +2 -0
  250. package/build/umd/1.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  251. package/build/umd/1047.diva-web-planner-react.umd.min.js +2 -0
  252. package/build/umd/1047.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  253. package/build/umd/1055.diva-web-planner-react.umd.min.js +2 -0
  254. package/build/umd/1055.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  255. package/build/umd/107.diva-web-planner-react.umd.min.js +2 -0
  256. package/build/umd/107.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  257. package/build/umd/11.diva-web-planner-react.umd.min.js +2 -0
  258. package/build/umd/11.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  259. package/build/umd/110.diva-web-planner-react.umd.min.js +2 -0
  260. package/build/umd/110.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  261. package/build/umd/1116.diva-web-planner-react.umd.min.js +2 -0
  262. package/build/umd/1116.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  263. package/build/umd/1188.diva-web-planner-react.umd.min.js +2 -0
  264. package/build/umd/1188.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  265. package/build/umd/1243.diva-web-planner-react.umd.min.js +2 -0
  266. package/build/umd/1243.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  267. package/build/umd/1247.diva-web-planner-react.umd.min.js +2 -0
  268. package/build/umd/1247.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  269. package/build/umd/1292.diva-web-planner-react.umd.min.js +2 -0
  270. package/build/umd/1292.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  271. package/build/umd/1303.diva-web-planner-react.umd.min.js +2 -0
  272. package/build/umd/1303.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  273. package/build/umd/1368.diva-web-planner-react.umd.min.js +2 -0
  274. package/build/umd/1368.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  275. package/build/umd/1394.diva-web-planner-react.umd.min.js +2 -0
  276. package/build/umd/1394.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  277. package/build/umd/1401.diva-web-planner-react.umd.min.js +2 -0
  278. package/build/umd/1401.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  279. package/build/umd/1420.diva-web-planner-react.umd.min.js +2 -0
  280. package/build/umd/1420.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  281. package/build/umd/1426.diva-web-planner-react.umd.min.js +2 -0
  282. package/build/umd/1426.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  283. package/build/umd/1434.diva-web-planner-react.umd.min.js +2 -0
  284. package/build/umd/1434.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  285. package/build/umd/1471.diva-web-planner-react.umd.min.js +2 -0
  286. package/build/umd/1471.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  287. package/build/umd/1517.diva-web-planner-react.umd.min.js +2 -0
  288. package/build/umd/1517.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  289. package/build/umd/1519.diva-web-planner-react.umd.min.js +2 -0
  290. package/build/umd/1519.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  291. package/build/umd/1566.diva-web-planner-react.umd.min.js +2 -0
  292. package/build/umd/1566.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  293. package/build/umd/1570.diva-web-planner-react.umd.min.js +2 -0
  294. package/build/umd/1570.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  295. package/build/umd/1610.diva-web-planner-react.umd.min.js +2 -0
  296. package/build/umd/1610.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  297. package/build/umd/1631.diva-web-planner-react.umd.min.js +2 -0
  298. package/build/umd/1631.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  299. package/build/umd/1682.diva-web-planner-react.umd.min.js +2 -0
  300. package/build/umd/1682.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  301. package/build/umd/1687.diva-web-planner-react.umd.min.js +2 -0
  302. package/build/umd/1687.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  303. package/build/umd/1694.diva-web-planner-react.umd.min.js +2 -0
  304. package/build/umd/1694.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  305. package/build/umd/1768.diva-web-planner-react.umd.min.js +2 -0
  306. package/build/umd/1768.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  307. package/build/umd/1812.diva-web-planner-react.umd.min.js +2 -0
  308. package/build/umd/1812.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  309. package/build/umd/1833.diva-web-planner-react.umd.min.js +2 -0
  310. package/build/umd/1833.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  311. package/build/umd/1862.diva-web-planner-react.umd.min.js +2 -0
  312. package/build/umd/1862.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  313. package/build/umd/1915.diva-web-planner-react.umd.min.js +2 -0
  314. package/build/umd/1915.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  315. package/build/umd/1923.diva-web-planner-react.umd.min.js +2 -0
  316. package/build/umd/1923.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  317. package/build/umd/1952.diva-web-planner-react.umd.min.js +2 -0
  318. package/build/umd/1952.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  319. package/build/umd/1967.diva-web-planner-react.umd.min.js +2 -0
  320. package/build/umd/1967.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  321. package/build/umd/201.diva-web-planner-react.umd.min.js +2 -0
  322. package/build/umd/201.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  323. package/build/umd/2010.diva-web-planner-react.umd.min.js +2 -0
  324. package/build/umd/2010.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  325. package/build/umd/205.diva-web-planner-react.umd.min.js +2 -0
  326. package/build/umd/205.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  327. package/build/umd/2083.diva-web-planner-react.umd.min.js +2 -0
  328. package/build/umd/2083.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  329. package/build/umd/2104.diva-web-planner-react.umd.min.js +2 -0
  330. package/build/umd/2104.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  331. package/build/umd/2114.diva-web-planner-react.umd.min.js +2 -0
  332. package/build/umd/2114.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  333. package/build/umd/213.diva-web-planner-react.umd.min.js +2 -0
  334. package/build/umd/213.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  335. package/build/umd/2149.diva-web-planner-react.umd.min.js +2 -0
  336. package/build/umd/2149.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  337. package/build/umd/2226.diva-web-planner-react.umd.min.js +2 -0
  338. package/build/umd/2226.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  339. package/build/umd/2236.diva-web-planner-react.umd.min.js +2 -0
  340. package/build/umd/2236.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  341. package/build/umd/2307.diva-web-planner-react.umd.min.js +2 -0
  342. package/build/umd/2307.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  343. package/build/umd/231.diva-web-planner-react.umd.min.js +2 -0
  344. package/build/umd/231.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  345. package/build/umd/2341.diva-web-planner-react.umd.min.js +2 -0
  346. package/build/umd/2341.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  347. package/build/umd/2343.diva-web-planner-react.umd.min.js +2 -0
  348. package/build/umd/2343.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  349. package/build/umd/2344.diva-web-planner-react.umd.min.js +2 -0
  350. package/build/umd/2344.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  351. package/build/umd/2361.diva-web-planner-react.umd.min.js +2 -0
  352. package/build/umd/2361.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  353. package/build/umd/239.diva-web-planner-react.umd.min.js +2 -0
  354. package/build/umd/239.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  355. package/build/umd/2429.diva-web-planner-react.umd.min.js +2 -0
  356. package/build/umd/2429.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  357. package/build/umd/2456.diva-web-planner-react.umd.min.js +2 -0
  358. package/build/umd/2456.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  359. package/build/umd/2465.diva-web-planner-react.umd.min.js +2 -0
  360. package/build/umd/2465.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  361. package/build/umd/2539.diva-web-planner-react.umd.min.js +2 -0
  362. package/build/umd/2539.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  363. package/build/umd/2548.diva-web-planner-react.umd.min.js +2 -0
  364. package/build/umd/2548.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  365. package/build/umd/2557.diva-web-planner-react.umd.min.js +2 -0
  366. package/build/umd/2557.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  367. package/build/umd/2659.diva-web-planner-react.umd.min.js +2 -0
  368. package/build/umd/2659.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  369. package/build/umd/269.diva-web-planner-react.umd.min.js +2 -0
  370. package/build/umd/269.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  371. package/build/umd/2720.diva-web-planner-react.umd.min.js +2 -0
  372. package/build/umd/2720.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  373. package/build/umd/2729.diva-web-planner-react.umd.min.js +2 -0
  374. package/build/umd/2729.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  375. package/build/umd/2846.diva-web-planner-react.umd.min.js +2 -0
  376. package/build/umd/2846.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  377. package/build/umd/2867.diva-web-planner-react.umd.min.js +2 -0
  378. package/build/umd/2867.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  379. package/build/umd/2909.diva-web-planner-react.umd.min.js +1 -1
  380. package/build/umd/2909.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -6
  381. package/build/umd/2942.diva-web-planner-react.umd.min.js +2 -0
  382. package/build/umd/2942.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  383. package/build/umd/3036.diva-web-planner-react.umd.min.js +2 -0
  384. package/build/umd/3036.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  385. package/build/umd/3046.diva-web-planner-react.umd.min.js +2 -0
  386. package/build/umd/3046.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  387. package/build/umd/3059.diva-web-planner-react.umd.min.js +2 -0
  388. package/build/umd/3059.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  389. package/build/umd/3085.diva-web-planner-react.umd.min.js +2 -0
  390. package/build/umd/3085.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  391. package/build/umd/3099.diva-web-planner-react.umd.min.js +2 -0
  392. package/build/umd/3099.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  393. package/build/umd/3199.diva-web-planner-react.umd.min.js +2 -0
  394. package/build/umd/3199.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  395. package/build/umd/3272.diva-web-planner-react.umd.min.js +2 -0
  396. package/build/umd/3272.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  397. package/build/umd/3279.diva-web-planner-react.umd.min.js +2 -0
  398. package/build/umd/3279.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  399. package/build/umd/3307.diva-web-planner-react.umd.min.js +2 -0
  400. package/build/umd/3307.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  401. package/build/umd/3385.diva-web-planner-react.umd.min.js +2 -0
  402. package/build/umd/3385.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  403. package/build/umd/3390.diva-web-planner-react.umd.min.js +2 -0
  404. package/build/umd/3390.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  405. package/build/umd/3404.diva-web-planner-react.umd.min.js +2 -0
  406. package/build/umd/3404.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  407. package/build/umd/3421.diva-web-planner-react.umd.min.js +2 -0
  408. package/build/umd/3421.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  409. package/build/umd/3447.diva-web-planner-react.umd.min.js +2 -0
  410. package/build/umd/3447.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  411. package/build/umd/3482.diva-web-planner-react.umd.min.js +2 -0
  412. package/build/umd/3482.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  413. package/build/umd/3538.diva-web-planner-react.umd.min.js +2 -0
  414. package/build/umd/3538.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  415. package/build/umd/355.diva-web-planner-react.umd.min.js +2 -0
  416. package/build/umd/355.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  417. package/build/umd/36.diva-web-planner-react.umd.min.js +2 -0
  418. package/build/umd/36.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  419. package/build/umd/3622.diva-web-planner-react.umd.min.js +2 -0
  420. package/build/umd/3622.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  421. package/build/umd/3634.diva-web-planner-react.umd.min.js +2 -0
  422. package/build/umd/3634.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  423. package/build/umd/3690.diva-web-planner-react.umd.min.js +2 -0
  424. package/build/umd/3690.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  425. package/build/umd/376.diva-web-planner-react.umd.min.js +2 -0
  426. package/build/umd/376.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  427. package/build/umd/3774.diva-web-planner-react.umd.min.js +2 -0
  428. package/build/umd/3774.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  429. package/build/umd/3787.diva-web-planner-react.umd.min.js +2 -0
  430. package/build/umd/3787.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  431. package/build/umd/3822.diva-web-planner-react.umd.min.js +2 -0
  432. package/build/umd/3822.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  433. package/build/umd/3824.diva-web-planner-react.umd.min.js +2 -0
  434. package/build/umd/3824.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  435. package/build/umd/3853.diva-web-planner-react.umd.min.js +2 -0
  436. package/build/umd/3853.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  437. package/build/umd/3940.diva-web-planner-react.umd.min.js +2 -0
  438. package/build/umd/3940.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  439. package/build/umd/3951.diva-web-planner-react.umd.min.js +2 -0
  440. package/build/umd/3951.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  441. package/build/umd/4009.diva-web-planner-react.umd.min.js +2 -0
  442. package/build/umd/4009.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  443. package/build/umd/4054.diva-web-planner-react.umd.min.js +2 -0
  444. package/build/umd/4054.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  445. package/build/umd/4062.diva-web-planner-react.umd.min.js +2 -0
  446. package/build/umd/4062.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  447. package/build/umd/407.diva-web-planner-react.umd.min.js +2 -0
  448. package/build/umd/407.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  449. package/build/umd/4080.diva-web-planner-react.umd.min.js +1 -1
  450. package/build/umd/4147.diva-web-planner-react.umd.min.js +2 -0
  451. package/build/umd/4147.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  452. package/build/umd/4162.diva-web-planner-react.umd.min.js +2 -0
  453. package/build/umd/4162.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  454. package/build/umd/4202.diva-web-planner-react.umd.min.js +2 -0
  455. package/build/umd/4202.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  456. package/build/umd/4225.diva-web-planner-react.umd.min.js +2 -0
  457. package/build/umd/4225.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  458. package/build/umd/4251.diva-web-planner-react.umd.min.js +2 -0
  459. package/build/umd/4251.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  460. package/build/umd/427.diva-web-planner-react.umd.min.js +2 -0
  461. package/build/umd/427.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  462. package/build/umd/4406.diva-web-planner-react.umd.min.js +2 -0
  463. package/build/umd/4406.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  464. package/build/umd/4506.diva-web-planner-react.umd.min.js +2 -0
  465. package/build/umd/4506.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  466. package/build/umd/4516.diva-web-planner-react.umd.min.js +1 -1
  467. package/build/umd/4516.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -6
  468. package/build/umd/4521.diva-web-planner-react.umd.min.js +2 -0
  469. package/build/umd/4521.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  470. package/build/umd/457.diva-web-planner-react.umd.min.js +2 -0
  471. package/build/umd/457.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  472. package/build/umd/4586.diva-web-planner-react.umd.min.js +2 -0
  473. package/build/umd/4586.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  474. package/build/umd/4610.diva-web-planner-react.umd.min.js +2 -0
  475. package/build/umd/4610.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  476. package/build/umd/4616.diva-web-planner-react.umd.min.js +2 -0
  477. package/build/umd/4616.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  478. package/build/umd/4620.diva-web-planner-react.umd.min.js +2 -0
  479. package/build/umd/4620.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  480. package/build/umd/4623.diva-web-planner-react.umd.min.js +2 -0
  481. package/build/umd/4623.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  482. package/build/umd/4625.diva-web-planner-react.umd.min.js +2 -0
  483. package/build/umd/4625.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  484. package/build/umd/463.diva-web-planner-react.umd.min.js +2 -0
  485. package/build/umd/463.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  486. package/build/umd/4630.diva-web-planner-react.umd.min.js +2 -0
  487. package/build/umd/4630.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  488. package/build/umd/4665.diva-web-planner-react.umd.min.js +2 -0
  489. package/build/umd/4665.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  490. package/build/umd/4698.diva-web-planner-react.umd.min.js +2 -0
  491. package/build/umd/4698.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  492. package/build/umd/4700.diva-web-planner-react.umd.min.js +2 -0
  493. package/build/umd/4700.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  494. package/build/umd/4712.diva-web-planner-react.umd.min.js +2 -0
  495. package/build/umd/4712.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  496. package/build/umd/4714.diva-web-planner-react.umd.min.js +2 -0
  497. package/build/umd/4714.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  498. package/build/umd/4729.diva-web-planner-react.umd.min.js +2 -0
  499. package/build/umd/4729.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  500. package/build/umd/4776.diva-web-planner-react.umd.min.js +2 -0
  501. package/build/umd/4776.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  502. package/build/umd/4791.diva-web-planner-react.umd.min.js +2 -0
  503. package/build/umd/4791.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  504. package/build/umd/481.diva-web-planner-react.umd.min.js +2 -0
  505. package/build/umd/481.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  506. package/build/umd/4814.diva-web-planner-react.umd.min.js +2 -0
  507. package/build/umd/4814.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  508. package/build/umd/4849.diva-web-planner-react.umd.min.js +2 -0
  509. package/build/umd/4849.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  510. package/build/umd/4942.diva-web-planner-react.umd.min.js +2 -0
  511. package/build/umd/4942.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  512. package/build/umd/4996.diva-web-planner-react.umd.min.js +2 -0
  513. package/build/umd/4996.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  514. package/build/umd/5014.diva-web-planner-react.umd.min.js +2 -0
  515. package/build/umd/5014.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  516. package/build/umd/5071.diva-web-planner-react.umd.min.js +2 -0
  517. package/build/umd/5071.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  518. package/build/umd/5102.diva-web-planner-react.umd.min.js +2 -0
  519. package/build/umd/5102.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  520. package/build/umd/5111.diva-web-planner-react.umd.min.js +2 -0
  521. package/build/umd/5111.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  522. package/build/umd/5150.diva-web-planner-react.umd.min.js +2 -0
  523. package/build/umd/5150.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  524. package/build/umd/5153.diva-web-planner-react.umd.min.js +2 -0
  525. package/build/umd/5153.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  526. package/build/umd/5158.diva-web-planner-react.umd.min.js +2 -0
  527. package/build/umd/5158.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  528. package/build/umd/5160.diva-web-planner-react.umd.min.js +2 -0
  529. package/build/umd/5160.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  530. package/build/umd/5201.diva-web-planner-react.umd.min.js +2 -0
  531. package/build/umd/5201.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  532. package/build/umd/5231.diva-web-planner-react.umd.min.js +2 -0
  533. package/build/umd/5231.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  534. package/build/umd/5244.diva-web-planner-react.umd.min.js +2 -0
  535. package/build/umd/5244.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  536. package/build/umd/5328.diva-web-planner-react.umd.min.js +2 -0
  537. package/build/umd/5328.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  538. package/build/umd/533.diva-web-planner-react.umd.min.js +2 -0
  539. package/build/umd/533.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  540. package/build/umd/5357.diva-web-planner-react.umd.min.js +2 -0
  541. package/build/umd/5357.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  542. package/build/umd/5372.diva-web-planner-react.umd.min.js +2 -0
  543. package/build/umd/5372.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  544. package/build/umd/5377.diva-web-planner-react.umd.min.js +2 -0
  545. package/build/umd/5377.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  546. package/build/umd/5436.diva-web-planner-react.umd.min.js +2 -0
  547. package/build/umd/5436.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  548. package/build/umd/5446.diva-web-planner-react.umd.min.js +2 -0
  549. package/build/umd/5446.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  550. package/build/umd/5526.diva-web-planner-react.umd.min.js +2 -0
  551. package/build/umd/5526.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  552. package/build/umd/5565.diva-web-planner-react.umd.min.js +2 -0
  553. package/build/umd/5565.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  554. package/build/umd/5637.diva-web-planner-react.umd.min.js +2 -0
  555. package/build/umd/5637.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  556. package/build/umd/5695.diva-web-planner-react.umd.min.js +2 -0
  557. package/build/umd/5695.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  558. package/build/umd/5717.diva-web-planner-react.umd.min.js +2 -0
  559. package/build/umd/5717.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  560. package/build/umd/5782.diva-web-planner-react.umd.min.js +2 -0
  561. package/build/umd/5782.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  562. package/build/umd/5889.diva-web-planner-react.umd.min.js +2 -0
  563. package/build/umd/5889.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  564. package/build/umd/5962.diva-web-planner-react.umd.min.js +2 -0
  565. package/build/umd/5962.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  566. package/build/umd/5964.diva-web-planner-react.umd.min.js +2 -0
  567. package/build/umd/5964.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  568. package/build/umd/5965.diva-web-planner-react.umd.min.js +2 -0
  569. package/build/umd/5965.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  570. package/build/umd/5967.diva-web-planner-react.umd.min.js +2 -0
  571. package/build/umd/5967.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  572. package/build/umd/5971.diva-web-planner-react.umd.min.js +2 -0
  573. package/build/umd/5971.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  574. package/build/umd/6029.diva-web-planner-react.umd.min.js +2 -0
  575. package/build/umd/6029.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  576. package/build/umd/6164.diva-web-planner-react.umd.min.js +2 -0
  577. package/build/umd/6164.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  578. package/build/umd/6183.diva-web-planner-react.umd.min.js +2 -0
  579. package/build/umd/6183.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  580. package/build/umd/6193.diva-web-planner-react.umd.min.js +2 -0
  581. package/build/umd/6193.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  582. package/build/umd/621.diva-web-planner-react.umd.min.js +2 -0
  583. package/build/umd/621.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  584. package/build/umd/6238.diva-web-planner-react.umd.min.js +2 -0
  585. package/build/umd/6238.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  586. package/build/umd/625.diva-web-planner-react.umd.min.js +2 -0
  587. package/build/umd/625.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  588. package/build/umd/6265.diva-web-planner-react.umd.min.js +2 -0
  589. package/build/umd/6265.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  590. package/build/umd/6290.diva-web-planner-react.umd.min.js +2 -0
  591. package/build/umd/6290.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  592. package/build/umd/6320.diva-web-planner-react.umd.min.js +2 -0
  593. package/build/umd/6320.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  594. package/build/umd/634.diva-web-planner-react.umd.min.js +2 -0
  595. package/build/umd/634.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  596. package/build/umd/6365.diva-web-planner-react.umd.min.js +2 -0
  597. package/build/umd/6365.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  598. package/build/umd/6410.diva-web-planner-react.umd.min.js +2 -0
  599. package/build/umd/6410.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  600. package/build/umd/6414.diva-web-planner-react.umd.min.js +408 -0
  601. package/build/umd/6414.diva-web-planner-react.umd.min.js.LICENSE.txt +86 -0
  602. package/build/umd/6429.diva-web-planner-react.umd.min.js +2 -0
  603. package/build/umd/6429.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  604. package/build/umd/6454.diva-web-planner-react.umd.min.js +2 -0
  605. package/build/umd/6454.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  606. package/build/umd/6460.diva-web-planner-react.umd.min.js +2 -0
  607. package/build/umd/6460.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  608. package/build/umd/6462.diva-web-planner-react.umd.min.js +2 -0
  609. package/build/umd/6462.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  610. package/build/umd/6633.diva-web-planner-react.umd.min.js +2 -0
  611. package/build/umd/6633.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  612. package/build/umd/6652.diva-web-planner-react.umd.min.js +2 -0
  613. package/build/umd/6652.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  614. package/build/umd/6677.diva-web-planner-react.umd.min.js +2 -0
  615. package/build/umd/6677.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  616. package/build/umd/6704.diva-web-planner-react.umd.min.js +2 -0
  617. package/build/umd/6704.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  618. package/build/umd/6714.diva-web-planner-react.umd.min.js +2 -0
  619. package/build/umd/6714.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  620. package/build/umd/6761.diva-web-planner-react.umd.min.js +2 -0
  621. package/build/umd/6761.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  622. package/build/umd/6804.diva-web-planner-react.umd.min.js +2 -0
  623. package/build/umd/6804.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  624. package/build/umd/6824.diva-web-planner-react.umd.min.js +2 -0
  625. package/build/umd/6824.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  626. package/build/umd/6852.diva-web-planner-react.umd.min.js +2 -0
  627. package/build/umd/6852.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  628. package/build/umd/6870.diva-web-planner-react.umd.min.js +2 -0
  629. package/build/umd/6870.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  630. package/build/umd/6896.diva-web-planner-react.umd.min.js +2 -0
  631. package/build/umd/6896.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  632. package/build/umd/6901.diva-web-planner-react.umd.min.js +2 -0
  633. package/build/umd/6901.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  634. package/build/umd/692.diva-web-planner-react.umd.min.js +2 -0
  635. package/build/umd/692.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  636. package/build/umd/6923.diva-web-planner-react.umd.min.js +2 -0
  637. package/build/umd/6923.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  638. package/build/umd/7005.diva-web-planner-react.umd.min.js +2 -0
  639. package/build/umd/7005.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  640. package/build/umd/7038.diva-web-planner-react.umd.min.js +2 -0
  641. package/build/umd/7038.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  642. package/build/umd/7066.diva-web-planner-react.umd.min.js +2 -0
  643. package/build/umd/7066.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  644. package/build/umd/7079.diva-web-planner-react.umd.min.js +2 -0
  645. package/build/umd/7079.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  646. package/build/umd/7141.diva-web-planner-react.umd.min.js +2 -0
  647. package/build/umd/7141.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  648. package/build/umd/7143.diva-web-planner-react.umd.min.js +2 -0
  649. package/build/umd/7143.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  650. package/build/umd/720.diva-web-planner-react.umd.min.js +2 -0
  651. package/build/umd/720.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  652. package/build/umd/7340.diva-web-planner-react.umd.min.js +2 -0
  653. package/build/umd/7340.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  654. package/build/umd/7404.diva-web-planner-react.umd.min.js +2 -0
  655. package/build/umd/7404.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  656. package/build/umd/7409.diva-web-planner-react.umd.min.js +2 -0
  657. package/build/umd/7409.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  658. package/build/umd/7430.diva-web-planner-react.umd.min.js +2 -0
  659. package/build/umd/7430.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  660. package/build/umd/7464.diva-web-planner-react.umd.min.js +2 -0
  661. package/build/umd/7464.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  662. package/build/umd/7485.diva-web-planner-react.umd.min.js +2 -0
  663. package/build/umd/7485.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  664. package/build/umd/7517.diva-web-planner-react.umd.min.js +2 -0
  665. package/build/umd/7517.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  666. package/build/umd/76.diva-web-planner-react.umd.min.js +2 -0
  667. package/build/umd/76.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  668. package/build/umd/7608.diva-web-planner-react.umd.min.js +2 -0
  669. package/build/umd/7608.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  670. package/build/umd/761.diva-web-planner-react.umd.min.js +2 -0
  671. package/build/umd/761.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  672. package/build/umd/7705.diva-web-planner-react.umd.min.js +2 -0
  673. package/build/umd/7705.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  674. package/build/umd/7708.diva-web-planner-react.umd.min.js +1 -1
  675. package/build/umd/7786.diva-web-planner-react.umd.min.js +2 -0
  676. package/build/umd/7786.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  677. package/build/umd/78.diva-web-planner-react.umd.min.js +2 -0
  678. package/build/umd/78.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  679. package/build/umd/7835.diva-web-planner-react.umd.min.js +2 -0
  680. package/build/umd/7835.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  681. package/build/umd/7851.diva-web-planner-react.umd.min.js +2 -0
  682. package/build/umd/7851.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  683. package/build/umd/7855.diva-web-planner-react.umd.min.js +2 -0
  684. package/build/umd/7855.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  685. package/build/umd/7867.diva-web-planner-react.umd.min.js +2 -0
  686. package/build/umd/7867.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  687. package/build/umd/7884.diva-web-planner-react.umd.min.js +2 -0
  688. package/build/umd/7884.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  689. package/build/umd/7886.diva-web-planner-react.umd.min.js +1 -1
  690. package/build/umd/7936.diva-web-planner-react.umd.min.js +2 -0
  691. package/build/umd/7936.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  692. package/build/umd/7946.diva-web-planner-react.umd.min.js +2 -0
  693. package/build/umd/7946.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  694. package/build/umd/7949.diva-web-planner-react.umd.min.js +2 -0
  695. package/build/umd/7949.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  696. package/build/umd/8042.diva-web-planner-react.umd.min.js +1 -1
  697. package/build/umd/8042.diva-web-planner-react.umd.min.js.LICENSE.txt +6 -0
  698. package/build/umd/8059.diva-web-planner-react.umd.min.js +2 -0
  699. package/build/umd/8059.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  700. package/build/umd/8071.diva-web-planner-react.umd.min.js +2 -0
  701. package/build/umd/8071.diva-web-planner-react.umd.min.js.LICENSE.txt +11 -0
  702. package/build/umd/8081.diva-web-planner-react.umd.min.js +2 -0
  703. package/build/umd/8081.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  704. package/build/umd/8089.diva-web-planner-react.umd.min.js +2 -0
  705. package/build/umd/8089.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  706. package/build/umd/8141.diva-web-planner-react.umd.min.js +2 -0
  707. package/build/umd/8141.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  708. package/build/umd/8176.diva-web-planner-react.umd.min.js +2 -0
  709. package/build/umd/8176.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  710. package/build/umd/8185.diva-web-planner-react.umd.min.js +2 -0
  711. package/build/umd/8185.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  712. package/build/umd/8270.diva-web-planner-react.umd.min.js +2 -0
  713. package/build/umd/8270.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  714. package/build/umd/8283.diva-web-planner-react.umd.min.js +2 -0
  715. package/build/umd/8283.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  716. package/build/umd/8309.diva-web-planner-react.umd.min.js +2 -0
  717. package/build/umd/8309.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  718. package/build/umd/8310.diva-web-planner-react.umd.min.js +2 -0
  719. package/build/umd/8310.diva-web-planner-react.umd.min.js.LICENSE.txt +33 -0
  720. package/build/umd/8325.diva-web-planner-react.umd.min.js +2 -0
  721. package/build/umd/8325.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  722. package/build/umd/8334.diva-web-planner-react.umd.min.js +2 -0
  723. package/build/umd/8334.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  724. package/build/umd/8373.diva-web-planner-react.umd.min.js +2 -0
  725. package/build/umd/8373.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  726. package/build/umd/8383.diva-web-planner-react.umd.min.js +2 -0
  727. package/build/umd/8383.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  728. package/build/umd/8392.diva-web-planner-react.umd.min.js +2 -0
  729. package/build/umd/8392.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  730. package/build/umd/8407.diva-web-planner-react.umd.min.js +2 -0
  731. package/build/umd/8407.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  732. package/build/umd/8410.diva-web-planner-react.umd.min.js +2 -0
  733. package/build/umd/8410.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  734. package/build/umd/8495.diva-web-planner-react.umd.min.js +2 -0
  735. package/build/umd/8495.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  736. package/build/umd/8554.diva-web-planner-react.umd.min.js +2 -0
  737. package/build/umd/8554.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  738. package/build/umd/8569.diva-web-planner-react.umd.min.js +2 -0
  739. package/build/umd/8569.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  740. package/build/umd/8588.diva-web-planner-react.umd.min.js +2 -0
  741. package/build/umd/8588.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  742. package/build/umd/8614.diva-web-planner-react.umd.min.js +2 -0
  743. package/build/umd/8614.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  744. package/build/umd/8728.diva-web-planner-react.umd.min.js +2 -0
  745. package/build/umd/8728.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  746. package/build/umd/8758.diva-web-planner-react.umd.min.js +2 -0
  747. package/build/umd/8758.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  748. package/build/umd/8891.diva-web-planner-react.umd.min.js +2 -0
  749. package/build/umd/8891.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  750. package/build/umd/897.diva-web-planner-react.umd.min.js +2 -0
  751. package/build/umd/897.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  752. package/build/umd/9021.diva-web-planner-react.umd.min.js +2 -0
  753. package/build/umd/9021.diva-web-planner-react.umd.min.js.LICENSE.txt +10 -0
  754. package/build/umd/9043.diva-web-planner-react.umd.min.js +2 -0
  755. package/build/umd/9043.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  756. package/build/umd/9093.diva-web-planner-react.umd.min.js +2 -0
  757. package/build/umd/9093.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  758. package/build/umd/9098.diva-web-planner-react.umd.min.js +2 -0
  759. package/build/umd/9098.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  760. package/build/umd/9188.diva-web-planner-react.umd.min.js +2 -0
  761. package/build/umd/9188.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  762. package/build/umd/9194.diva-web-planner-react.umd.min.js +2 -0
  763. package/build/umd/9194.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  764. package/build/umd/9250.diva-web-planner-react.umd.min.js +2 -0
  765. package/build/umd/9250.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  766. package/build/umd/9251.diva-web-planner-react.umd.min.js +2 -0
  767. package/build/umd/9251.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  768. package/build/umd/9272.diva-web-planner-react.umd.min.js +2 -0
  769. package/build/umd/9272.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  770. package/build/umd/93.diva-web-planner-react.umd.min.js +2 -0
  771. package/build/umd/93.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  772. package/build/umd/9304.diva-web-planner-react.umd.min.js +2 -0
  773. package/build/umd/9304.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  774. package/build/umd/9334.diva-web-planner-react.umd.min.js +2 -0
  775. package/build/umd/9334.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  776. package/build/umd/9346.diva-web-planner-react.umd.min.js +2 -0
  777. package/build/umd/9346.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  778. package/build/umd/936.diva-web-planner-react.umd.min.js +2 -0
  779. package/build/umd/936.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  780. package/build/umd/9366.diva-web-planner-react.umd.min.js +2 -0
  781. package/build/umd/9366.diva-web-planner-react.umd.min.js.LICENSE.txt +19 -0
  782. package/build/umd/9377.diva-web-planner-react.umd.min.js +2 -0
  783. package/build/umd/9377.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  784. package/build/umd/9388.diva-web-planner-react.umd.min.js +2 -0
  785. package/build/umd/9388.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  786. package/build/umd/9426.diva-web-planner-react.umd.min.js +2 -0
  787. package/build/umd/9426.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  788. package/build/umd/9455.diva-web-planner-react.umd.min.js +2 -0
  789. package/build/umd/9455.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  790. package/build/umd/9476.diva-web-planner-react.umd.min.js +2 -0
  791. package/build/umd/9476.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  792. package/build/umd/954.diva-web-planner-react.umd.min.js +2 -0
  793. package/build/umd/954.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  794. package/build/umd/9559.diva-web-planner-react.umd.min.js +2 -0
  795. package/build/umd/9559.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  796. package/build/umd/9565.diva-web-planner-react.umd.min.js +2 -0
  797. package/build/umd/9565.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  798. package/build/umd/9570.diva-web-planner-react.umd.min.js +2 -0
  799. package/build/umd/9570.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  800. package/build/umd/9583.diva-web-planner-react.umd.min.js +2 -0
  801. package/build/umd/9583.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  802. package/build/umd/9600.diva-web-planner-react.umd.min.js +2 -0
  803. package/build/umd/9600.diva-web-planner-react.umd.min.js.LICENSE.txt +21 -0
  804. package/build/umd/9617.diva-web-planner-react.umd.min.js +2 -0
  805. package/build/umd/9617.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  806. package/build/umd/9717.diva-web-planner-react.umd.min.js +2 -0
  807. package/build/umd/9717.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  808. package/build/umd/9728.diva-web-planner-react.umd.min.js +2 -0
  809. package/build/umd/9728.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  810. package/build/umd/973.diva-web-planner-react.umd.min.js +2 -0
  811. package/build/umd/973.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  812. package/build/umd/9761.diva-web-planner-react.umd.min.js +2 -0
  813. package/build/umd/9761.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  814. package/build/umd/9812.diva-web-planner-react.umd.min.js +2 -0
  815. package/build/umd/9812.diva-web-planner-react.umd.min.js.LICENSE.txt +1 -0
  816. package/build/umd/9835.diva-web-planner-react.umd.min.js +2 -0
  817. package/build/umd/9835.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  818. package/build/umd/9854.diva-web-planner-react.umd.min.js +2 -0
  819. package/build/umd/9854.diva-web-planner-react.umd.min.js.LICENSE.txt +7 -0
  820. package/build/umd/diva-web-planner-react.umd.min.js +1 -1
  821. package/build/umd/report.html +1 -1
  822. package/package.json +6 -6
  823. package/build/esm/ArticleProperties-0d96db30.js +0 -164
  824. package/build/esm/CatalogProperties-c033805c.js +0 -452
  825. package/build/esm/IconHandler-9c027256.js +0 -77
  826. package/build/esm/OptionProperties-0b133322.js +0 -161
  827. package/build/esm/OptionValueProperties-50d657c1.js +0 -116
  828. package/build/esm/Planner2DGrid-e5c1aa1d.js +0 -641
  829. package/build/esm/Planner3DImage-0489a666.js +0 -1163
  830. package/build/esm/index-0175e1e7.js +0 -175
  831. package/build/esm/index-02f1212e.js +0 -53
  832. package/build/esm/index-030d6fcd.js +0 -27
  833. package/build/esm/index-035218bb.js +0 -53
  834. package/build/esm/index-03732cb8.js +0 -36
  835. package/build/esm/index-03848338.js +0 -111
  836. package/build/esm/index-03ceaeb3.js +0 -93
  837. package/build/esm/index-041bb665.js +0 -76
  838. package/build/esm/index-04eaef54.js +0 -51
  839. package/build/esm/index-0a37ad23.js +0 -78
  840. package/build/esm/index-0ae23ab9.js +0 -54
  841. package/build/esm/index-0b53073f.js +0 -157
  842. package/build/esm/index-0b6c6160.js +0 -106
  843. package/build/esm/index-0b7ecd97.js +0 -117
  844. package/build/esm/index-0d9b4952.js +0 -55
  845. package/build/esm/index-0f570570.js +0 -67
  846. package/build/esm/index-10ce4e1e.js +0 -82
  847. package/build/esm/index-10eb4c9f.js +0 -49
  848. package/build/esm/index-13f1f5b0.js +0 -113
  849. package/build/esm/index-162653a9.js +0 -110
  850. package/build/esm/index-16326f1f.js +0 -27
  851. package/build/esm/index-16adb783.js +0 -78
  852. package/build/esm/index-176c6975.js +0 -171
  853. package/build/esm/index-181cbe0f.js +0 -75
  854. package/build/esm/index-19d7459d.js +0 -45
  855. package/build/esm/index-1a09ef99.js +0 -97
  856. package/build/esm/index-1b397ea4.js +0 -82
  857. package/build/esm/index-1d2922d3.js +0 -121
  858. package/build/esm/index-1d85427e.js +0 -107
  859. package/build/esm/index-1e184d0a.js +0 -551
  860. package/build/esm/index-21fc85fa.js +0 -75
  861. package/build/esm/index-232a731f.js +0 -43
  862. package/build/esm/index-25c38814.js +0 -179
  863. package/build/esm/index-25cbbb4b.js +0 -27
  864. package/build/esm/index-2898a14f.js +0 -64
  865. package/build/esm/index-293c6a4d.js +0 -32
  866. package/build/esm/index-29a19b35.js +0 -36
  867. package/build/esm/index-2b5efa25.js +0 -175
  868. package/build/esm/index-2b820473.js +0 -94
  869. package/build/esm/index-2c663159.js +0 -83
  870. package/build/esm/index-2cc72da9.js +0 -190
  871. package/build/esm/index-2ea48043.js +0 -69
  872. package/build/esm/index-2f30ff1d.js +0 -94
  873. package/build/esm/index-320b46fd.js +0 -131
  874. package/build/esm/index-3300a404.js +0 -76
  875. package/build/esm/index-33fc979d.js +0 -123
  876. package/build/esm/index-345f7f64.js +0 -268
  877. package/build/esm/index-35f0cf95.js +0 -42
  878. package/build/esm/index-378f9a2a.js +0 -167
  879. package/build/esm/index-385176f0.js +0 -61
  880. package/build/esm/index-385d3bda.js +0 -127
  881. package/build/esm/index-3b595f95.js +0 -27
  882. package/build/esm/index-3cc30e37.js +0 -38
  883. package/build/esm/index-3dffe84d.js +0 -127
  884. package/build/esm/index-3ebe3f91.js +0 -59
  885. package/build/esm/index-3fbc12c0.js +0 -46
  886. package/build/esm/index-40bbd33e.js +0 -52
  887. package/build/esm/index-4246babd.js +0 -57
  888. package/build/esm/index-43d370fe.js +0 -95
  889. package/build/esm/index-4453c5f8.js +0 -242
  890. package/build/esm/index-44c1fc1b.js +0 -48
  891. package/build/esm/index-4750b230.js +0 -52
  892. package/build/esm/index-4765ee12.js +0 -57
  893. package/build/esm/index-482f4413.js +0 -49
  894. package/build/esm/index-483c5d4c.js +0 -111
  895. package/build/esm/index-4c7f576b.js +0 -128
  896. package/build/esm/index-4cab8849.js +0 -92
  897. package/build/esm/index-4ed65200.js +0 -136
  898. package/build/esm/index-51a3783c.js +0 -64
  899. package/build/esm/index-52eccdff.js +0 -43
  900. package/build/esm/index-53435492.js +0 -70
  901. package/build/esm/index-53b6484c.js +0 -132
  902. package/build/esm/index-544738d4.js +0 -176
  903. package/build/esm/index-5482160f.js +0 -87
  904. package/build/esm/index-5633ccbd.js +0 -53
  905. package/build/esm/index-57c2d8f7.js +0 -73
  906. package/build/esm/index-57d04944.js +0 -41
  907. package/build/esm/index-5875b6d8.js +0 -56
  908. package/build/esm/index-595f2548.js +0 -144
  909. package/build/esm/index-59e479c5.js +0 -86
  910. package/build/esm/index-5a6f8132.js +0 -75
  911. package/build/esm/index-5bae235d.js +0 -27
  912. package/build/esm/index-5c7c1e60.js +0 -172
  913. package/build/esm/index-5d671539.js +0 -43
  914. package/build/esm/index-5ef465ec.js +0 -27
  915. package/build/esm/index-60c2c268.js +0 -108
  916. package/build/esm/index-6324b5de.js +0 -36
  917. package/build/esm/index-64f81be2.js +0 -44
  918. package/build/esm/index-67459322.js +0 -46
  919. package/build/esm/index-67509f43.js +0 -97
  920. package/build/esm/index-67f0fe24.js +0 -142
  921. package/build/esm/index-681388a3.js +0 -27
  922. package/build/esm/index-68351868.js +0 -27
  923. package/build/esm/index-684e3304.js +0 -27
  924. package/build/esm/index-686a9fdf.js +0 -27
  925. package/build/esm/index-6a2ddff2.js +0 -113
  926. package/build/esm/index-6a66b728.js +0 -48
  927. package/build/esm/index-6af9e2f4.js +0 -101
  928. package/build/esm/index-6b58937c.js +0 -81
  929. package/build/esm/index-6caee69d.js +0 -202
  930. package/build/esm/index-6e16c5f1.js +0 -87
  931. package/build/esm/index-719ff93e.js +0 -97
  932. package/build/esm/index-726b3019.js +0 -153
  933. package/build/esm/index-730b1bbb.js +0 -146
  934. package/build/esm/index-73ded4ee.js +0 -156
  935. package/build/esm/index-7528cbcb.js +0 -27
  936. package/build/esm/index-75681be8.js +0 -31
  937. package/build/esm/index-777a8e60.js +0 -65
  938. package/build/esm/index-7c88b856.js +0 -34
  939. package/build/esm/index-7ccd3c98.js +0 -120
  940. package/build/esm/index-7dc75550.js +0 -108
  941. package/build/esm/index-7fb0fba2.js +0 -127
  942. package/build/esm/index-80e6b2c2.js +0 -27
  943. package/build/esm/index-80f6853e.js +0 -121
  944. package/build/esm/index-81829ec5.js +0 -82
  945. package/build/esm/index-82b234eb.js +0 -9662
  946. package/build/esm/index-833923be.js +0 -39
  947. package/build/esm/index-85d8da27.js +0 -156
  948. package/build/esm/index-85eeae62.js +0 -91
  949. package/build/esm/index-87a4c482.js +0 -27
  950. package/build/esm/index-893d62e4.js +0 -37
  951. package/build/esm/index-897a3b94.js +0 -187
  952. package/build/esm/index-8e71682b.js +0 -40
  953. package/build/esm/index-90fdb2ee.js +0 -35
  954. package/build/esm/index-918cf665.js +0 -123
  955. package/build/esm/index-91fe1b40.js +0 -170
  956. package/build/esm/index-920230a7.js +0 -91
  957. package/build/esm/index-9363ea02.js +0 -43
  958. package/build/esm/index-9482d61e.js +0 -98
  959. package/build/esm/index-958c0838.js +0 -156
  960. package/build/esm/index-959f17cb.js +0 -65
  961. package/build/esm/index-999f5f88.js +0 -37
  962. package/build/esm/index-99d6d819.js +0 -42
  963. package/build/esm/index-9a659b15.js +0 -88
  964. package/build/esm/index-9cc24ffe.js +0 -112
  965. package/build/esm/index-9e21bc31.js +0 -134
  966. package/build/esm/index-9ecbe2d7.js +0 -76
  967. package/build/esm/index-9fb54a4d.js +0 -27
  968. package/build/esm/index-a04783a4.js +0 -40
  969. package/build/esm/index-a2690851.js +0 -42
  970. package/build/esm/index-a498b057.js +0 -127
  971. package/build/esm/index-a4e5fdeb.js +0 -27
  972. package/build/esm/index-a51e52f7.js +0 -48
  973. package/build/esm/index-a6381a0e.js +0 -64
  974. package/build/esm/index-a74912e1.js +0 -129
  975. package/build/esm/index-a77ba2db.js +0 -54
  976. package/build/esm/index-a900a9f4.js +0 -50
  977. package/build/esm/index-aa8fd161.js +0 -139
  978. package/build/esm/index-aaab070d.js +0 -53
  979. package/build/esm/index-abcd9659.js +0 -150
  980. package/build/esm/index-ac4ea494.js +0 -129
  981. package/build/esm/index-ac5e27e2.js +0 -116
  982. package/build/esm/index-adac3ebb.js +0 -123
  983. package/build/esm/index-af464457.js +0 -144
  984. package/build/esm/index-b121af10.js +0 -43
  985. package/build/esm/index-b443f1a5.js +0 -123
  986. package/build/esm/index-b4b47e90.js +0 -27
  987. package/build/esm/index-b634bb8e.js +0 -213
  988. package/build/esm/index-b660279d.js +0 -62
  989. package/build/esm/index-b72005c0.js +0 -27
  990. package/build/esm/index-b8e4c2f9.js +0 -137
  991. package/build/esm/index-ba1a0d7e.js +0 -62
  992. package/build/esm/index-bb8e2de3.js +0 -71
  993. package/build/esm/index-bcd95390.js +0 -41
  994. package/build/esm/index-be3a87d3.js +0 -91
  995. package/build/esm/index-be97dc66.js +0 -62
  996. package/build/esm/index-bf9a9a85.js +0 -58
  997. package/build/esm/index-c0b52d71.js +0 -69
  998. package/build/esm/index-c151b991.js +0 -50
  999. package/build/esm/index-c38fb079.js +0 -102
  1000. package/build/esm/index-c3d1b2b6.js +0 -80
  1001. package/build/esm/index-c4ab8372.js +0 -68
  1002. package/build/esm/index-c582e36e.js +0 -275
  1003. package/build/esm/index-c601b033.js +0 -115
  1004. package/build/esm/index-c634a2ef.js +0 -68
  1005. package/build/esm/index-c6accc3f.js +0 -63
  1006. package/build/esm/index-c7b79725.js +0 -37
  1007. package/build/esm/index-c81d8696.js +0 -46
  1008. package/build/esm/index-c861cb31.js +0 -215
  1009. package/build/esm/index-c8ad836c.js +0 -186
  1010. package/build/esm/index-c92f8166.js +0 -61
  1011. package/build/esm/index-c9dae445.js +0 -52
  1012. package/build/esm/index-cb647ecd.js +0 -59
  1013. package/build/esm/index-cd5168d6.js +0 -27
  1014. package/build/esm/index-cd839298.js +0 -121
  1015. package/build/esm/index-ce1dbe18.js +0 -96
  1016. package/build/esm/index-ceecffda.js +0 -88
  1017. package/build/esm/index-cf06dc15.js +0 -45
  1018. package/build/esm/index-cf4e9446.js +0 -83
  1019. package/build/esm/index-d0969f23.js +0 -156
  1020. package/build/esm/index-d2781c72.js +0 -73
  1021. package/build/esm/index-d46788b9.js +0 -164
  1022. package/build/esm/index-d6f1d4e5.js +0 -157
  1023. package/build/esm/index-d7479f3c.js +0 -78
  1024. package/build/esm/index-d76ffd8f.js +0 -53
  1025. package/build/esm/index-d814bc0a.js +0 -32
  1026. package/build/esm/index-d85e2594.js +0 -129
  1027. package/build/esm/index-d8d42c27.js +0 -27
  1028. package/build/esm/index-d8df6da9.js +0 -27
  1029. package/build/esm/index-da200df7.js +0 -68
  1030. package/build/esm/index-da76ce65.js +0 -59
  1031. package/build/esm/index-dd31fee0.js +0 -40
  1032. package/build/esm/index-deb25f0a.js +0 -141
  1033. package/build/esm/index-e0199350.js +0 -177
  1034. package/build/esm/index-e01aa9b9.js +0 -46
  1035. package/build/esm/index-e18a4e2d.js +0 -27
  1036. package/build/esm/index-e2ecfd0b.js +0 -23
  1037. package/build/esm/index-e5012405.js +0 -27
  1038. package/build/esm/index-e5452df8.js +0 -99
  1039. package/build/esm/index-e655889b.js +0 -163
  1040. package/build/esm/index-e878b8cf.js +0 -30
  1041. package/build/esm/index-e9169464.js +0 -47
  1042. package/build/esm/index-ed1dfe8f.js +0 -85
  1043. package/build/esm/index-ed7297eb.js +0 -77
  1044. package/build/esm/index-f1cee53a.js +0 -139
  1045. package/build/esm/index-f2112215.js +0 -38
  1046. package/build/esm/index-f316defe.js +0 -25
  1047. package/build/esm/index-f5cc79b9.js +0 -154
  1048. package/build/esm/index-f81feb94.js +0 -91
  1049. package/build/esm/index-f855962f.js +0 -447
  1050. package/build/esm/index-f96aa33e.js +0 -45
  1051. package/build/esm/index-fc1dd4cf.js +0 -54
  1052. package/build/esm/index-fc6ff2df.js +0 -56
  1053. package/build/esm/index-fda5aa1a.js +0 -102
  1054. package/build/esm/index-fe251649.js +0 -148
  1055. package/build/esm/index.module-0498c63f.js +0 -10
  1056. package/build/esm/index.module-0d920fdd.js +0 -9
  1057. package/build/esm/index.module-1821c5dc.js +0 -8
  1058. package/build/esm/index.module-223f1da9.js +0 -20
  1059. package/build/esm/index.module-42c4e335.js +0 -44
  1060. package/build/esm/index.module-4f96af8e.js +0 -12
  1061. package/build/esm/index.module-5c7c3216.js +0 -9
  1062. package/build/esm/index.module-5c9c3c78.js +0 -10
  1063. package/build/esm/index.module-85279c19.js +0 -24
  1064. package/build/esm/index.module-9ad55990.js +0 -13
  1065. package/build/esm/index.module-9f15b846.js +0 -18
  1066. package/build/esm/index.module-a25905dc.js +0 -19
  1067. package/build/esm/index.module-c8c7a237.js +0 -17
  1068. package/build/esm/index.module-f47f9e1a.js +0 -10
  1069. package/build/esm/requestProductForm-cf4e6cdc.js +0 -295
  1070. package/build/umd/1036.diva-web-planner-react.umd.min.js +0 -2
  1071. package/build/umd/1036.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1072. package/build/umd/1118.diva-web-planner-react.umd.min.js +0 -2
  1073. package/build/umd/1118.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1074. package/build/umd/1123.diva-web-planner-react.umd.min.js +0 -2
  1075. package/build/umd/1123.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1076. package/build/umd/1128.diva-web-planner-react.umd.min.js +0 -2
  1077. package/build/umd/1128.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1078. package/build/umd/1143.diva-web-planner-react.umd.min.js +0 -2
  1079. package/build/umd/1143.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1080. package/build/umd/1144.diva-web-planner-react.umd.min.js +0 -2
  1081. package/build/umd/1144.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1082. package/build/umd/115.diva-web-planner-react.umd.min.js +0 -2
  1083. package/build/umd/115.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1084. package/build/umd/1207.diva-web-planner-react.umd.min.js +0 -2
  1085. package/build/umd/1207.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1086. package/build/umd/1212.diva-web-planner-react.umd.min.js +0 -2
  1087. package/build/umd/1212.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1088. package/build/umd/1222.diva-web-planner-react.umd.min.js +0 -2
  1089. package/build/umd/1222.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1090. package/build/umd/124.diva-web-planner-react.umd.min.js +0 -2
  1091. package/build/umd/124.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1092. package/build/umd/1269.diva-web-planner-react.umd.min.js +0 -2
  1093. package/build/umd/1269.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1094. package/build/umd/1329.diva-web-planner-react.umd.min.js +0 -2
  1095. package/build/umd/1329.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1096. package/build/umd/1418.diva-web-planner-react.umd.min.js +0 -2
  1097. package/build/umd/1418.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1098. package/build/umd/1463.diva-web-planner-react.umd.min.js +0 -2
  1099. package/build/umd/1463.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -33
  1100. package/build/umd/1482.diva-web-planner-react.umd.min.js +0 -2
  1101. package/build/umd/1482.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1102. package/build/umd/1510.diva-web-planner-react.umd.min.js +0 -2
  1103. package/build/umd/1510.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1104. package/build/umd/1512.diva-web-planner-react.umd.min.js +0 -2
  1105. package/build/umd/1512.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1106. package/build/umd/1535.diva-web-planner-react.umd.min.js +0 -2
  1107. package/build/umd/1535.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1108. package/build/umd/1548.diva-web-planner-react.umd.min.js +0 -2
  1109. package/build/umd/1548.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1110. package/build/umd/158.diva-web-planner-react.umd.min.js +0 -2
  1111. package/build/umd/158.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1112. package/build/umd/1603.diva-web-planner-react.umd.min.js +0 -2
  1113. package/build/umd/1603.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1114. package/build/umd/1608.diva-web-planner-react.umd.min.js +0 -2
  1115. package/build/umd/1608.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1116. package/build/umd/1681.diva-web-planner-react.umd.min.js +0 -2
  1117. package/build/umd/1681.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1118. package/build/umd/170.diva-web-planner-react.umd.min.js +0 -2
  1119. package/build/umd/170.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1120. package/build/umd/1701.diva-web-planner-react.umd.min.js +0 -2
  1121. package/build/umd/1701.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1122. package/build/umd/1732.diva-web-planner-react.umd.min.js +0 -2
  1123. package/build/umd/1732.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1124. package/build/umd/182.diva-web-planner-react.umd.min.js +0 -2
  1125. package/build/umd/182.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1126. package/build/umd/1896.diva-web-planner-react.umd.min.js +0 -2
  1127. package/build/umd/1896.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1128. package/build/umd/1912.diva-web-planner-react.umd.min.js +0 -2
  1129. package/build/umd/1912.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1130. package/build/umd/1922.diva-web-planner-react.umd.min.js +0 -2
  1131. package/build/umd/1922.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1132. package/build/umd/1932.diva-web-planner-react.umd.min.js +0 -2
  1133. package/build/umd/1932.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1134. package/build/umd/1996.diva-web-planner-react.umd.min.js +0 -2
  1135. package/build/umd/1996.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1136. package/build/umd/2018.diva-web-planner-react.umd.min.js +0 -2
  1137. package/build/umd/2018.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1138. package/build/umd/2027.diva-web-planner-react.umd.min.js +0 -2
  1139. package/build/umd/2027.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1140. package/build/umd/2046.diva-web-planner-react.umd.min.js +0 -2
  1141. package/build/umd/2046.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1142. package/build/umd/2072.diva-web-planner-react.umd.min.js +0 -2
  1143. package/build/umd/2072.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1144. package/build/umd/209.diva-web-planner-react.umd.min.js +0 -2
  1145. package/build/umd/209.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1146. package/build/umd/2127.diva-web-planner-react.umd.min.js +0 -2
  1147. package/build/umd/2127.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1148. package/build/umd/2147.diva-web-planner-react.umd.min.js +0 -2
  1149. package/build/umd/2147.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1150. package/build/umd/2171.diva-web-planner-react.umd.min.js +0 -2
  1151. package/build/umd/2171.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1152. package/build/umd/2182.diva-web-planner-react.umd.min.js +0 -2
  1153. package/build/umd/2182.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1154. package/build/umd/2185.diva-web-planner-react.umd.min.js +0 -2
  1155. package/build/umd/2185.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1156. package/build/umd/2285.diva-web-planner-react.umd.min.js +0 -2
  1157. package/build/umd/2285.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1158. package/build/umd/2314.diva-web-planner-react.umd.min.js +0 -2
  1159. package/build/umd/2314.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1160. package/build/umd/2334.diva-web-planner-react.umd.min.js +0 -2
  1161. package/build/umd/2334.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1162. package/build/umd/2352.diva-web-planner-react.umd.min.js +0 -2
  1163. package/build/umd/2352.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1164. package/build/umd/2372.diva-web-planner-react.umd.min.js +0 -2
  1165. package/build/umd/2372.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1166. package/build/umd/2400.diva-web-planner-react.umd.min.js +0 -2
  1167. package/build/umd/2400.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1168. package/build/umd/2443.diva-web-planner-react.umd.min.js +0 -2
  1169. package/build/umd/2443.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1170. package/build/umd/2458.diva-web-planner-react.umd.min.js +0 -2
  1171. package/build/umd/2458.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1172. package/build/umd/2491.diva-web-planner-react.umd.min.js +0 -2
  1173. package/build/umd/2491.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1174. package/build/umd/2509.diva-web-planner-react.umd.min.js +0 -2
  1175. package/build/umd/2509.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1176. package/build/umd/2554.diva-web-planner-react.umd.min.js +0 -2
  1177. package/build/umd/2554.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1178. package/build/umd/2568.diva-web-planner-react.umd.min.js +0 -2
  1179. package/build/umd/2568.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1180. package/build/umd/2645.diva-web-planner-react.umd.min.js +0 -2
  1181. package/build/umd/2645.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1182. package/build/umd/2655.diva-web-planner-react.umd.min.js +0 -2
  1183. package/build/umd/2655.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1184. package/build/umd/2684.diva-web-planner-react.umd.min.js +0 -2
  1185. package/build/umd/2684.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1186. package/build/umd/2735.diva-web-planner-react.umd.min.js +0 -2
  1187. package/build/umd/2735.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1188. package/build/umd/2784.diva-web-planner-react.umd.min.js +0 -2
  1189. package/build/umd/2784.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1190. package/build/umd/2844.diva-web-planner-react.umd.min.js +0 -2
  1191. package/build/umd/2844.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1192. package/build/umd/2929.diva-web-planner-react.umd.min.js +0 -2
  1193. package/build/umd/2929.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1194. package/build/umd/2933.diva-web-planner-react.umd.min.js +0 -2
  1195. package/build/umd/2933.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1196. package/build/umd/2973.diva-web-planner-react.umd.min.js +0 -2
  1197. package/build/umd/2973.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1198. package/build/umd/2976.diva-web-planner-react.umd.min.js +0 -2
  1199. package/build/umd/2976.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1200. package/build/umd/2979.diva-web-planner-react.umd.min.js +0 -2
  1201. package/build/umd/2979.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1202. package/build/umd/3002.diva-web-planner-react.umd.min.js +0 -2
  1203. package/build/umd/3002.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1204. package/build/umd/304.diva-web-planner-react.umd.min.js +0 -2
  1205. package/build/umd/304.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1206. package/build/umd/3064.diva-web-planner-react.umd.min.js +0 -2
  1207. package/build/umd/3064.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1208. package/build/umd/3090.diva-web-planner-react.umd.min.js +0 -2
  1209. package/build/umd/3090.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1210. package/build/umd/3108.diva-web-planner-react.umd.min.js +0 -2
  1211. package/build/umd/3108.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1212. package/build/umd/3125.diva-web-planner-react.umd.min.js +0 -2
  1213. package/build/umd/3125.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1214. package/build/umd/3132.diva-web-planner-react.umd.min.js +0 -2
  1215. package/build/umd/3132.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1216. package/build/umd/3137.diva-web-planner-react.umd.min.js +0 -2
  1217. package/build/umd/3137.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1218. package/build/umd/3138.diva-web-planner-react.umd.min.js +0 -2
  1219. package/build/umd/3138.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1220. package/build/umd/3269.diva-web-planner-react.umd.min.js +0 -2
  1221. package/build/umd/3269.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1222. package/build/umd/3337.diva-web-planner-react.umd.min.js +0 -2
  1223. package/build/umd/3337.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1224. package/build/umd/3380.diva-web-planner-react.umd.min.js +0 -2
  1225. package/build/umd/3380.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1226. package/build/umd/3392.diva-web-planner-react.umd.min.js +0 -2
  1227. package/build/umd/3392.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1228. package/build/umd/3410.diva-web-planner-react.umd.min.js +0 -2
  1229. package/build/umd/3410.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1230. package/build/umd/3457.diva-web-planner-react.umd.min.js +0 -2
  1231. package/build/umd/3457.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1232. package/build/umd/3460.diva-web-planner-react.umd.min.js +0 -2
  1233. package/build/umd/3460.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1234. package/build/umd/3525.diva-web-planner-react.umd.min.js +0 -2
  1235. package/build/umd/3525.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1236. package/build/umd/3585.diva-web-planner-react.umd.min.js +0 -2
  1237. package/build/umd/3585.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1238. package/build/umd/3596.diva-web-planner-react.umd.min.js +0 -2
  1239. package/build/umd/3596.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1240. package/build/umd/3605.diva-web-planner-react.umd.min.js +0 -2
  1241. package/build/umd/3605.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1242. package/build/umd/3613.diva-web-planner-react.umd.min.js +0 -2
  1243. package/build/umd/3613.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1244. package/build/umd/3669.diva-web-planner-react.umd.min.js +0 -2
  1245. package/build/umd/3669.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1246. package/build/umd/3695.diva-web-planner-react.umd.min.js +0 -2
  1247. package/build/umd/3695.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1248. package/build/umd/3703.diva-web-planner-react.umd.min.js +0 -2
  1249. package/build/umd/3703.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1250. package/build/umd/3705.diva-web-planner-react.umd.min.js +0 -2
  1251. package/build/umd/3705.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1252. package/build/umd/3720.diva-web-planner-react.umd.min.js +0 -2
  1253. package/build/umd/3720.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1254. package/build/umd/3762.diva-web-planner-react.umd.min.js +0 -2
  1255. package/build/umd/3762.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1256. package/build/umd/3792.diva-web-planner-react.umd.min.js +0 -2
  1257. package/build/umd/3792.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1258. package/build/umd/3812.diva-web-planner-react.umd.min.js +0 -2
  1259. package/build/umd/3812.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1260. package/build/umd/3839.diva-web-planner-react.umd.min.js +0 -2
  1261. package/build/umd/3839.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1262. package/build/umd/3846.diva-web-planner-react.umd.min.js +0 -2
  1263. package/build/umd/3846.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1264. package/build/umd/3871.diva-web-planner-react.umd.min.js +0 -2
  1265. package/build/umd/3871.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1266. package/build/umd/3936.diva-web-planner-react.umd.min.js +0 -2
  1267. package/build/umd/3936.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1268. package/build/umd/3958.diva-web-planner-react.umd.min.js +0 -2
  1269. package/build/umd/3958.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1270. package/build/umd/405.diva-web-planner-react.umd.min.js +0 -2
  1271. package/build/umd/405.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1272. package/build/umd/4060.diva-web-planner-react.umd.min.js +0 -2
  1273. package/build/umd/4060.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1274. package/build/umd/4133.diva-web-planner-react.umd.min.js +0 -2
  1275. package/build/umd/4133.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1276. package/build/umd/4145.diva-web-planner-react.umd.min.js +0 -2
  1277. package/build/umd/4145.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1278. package/build/umd/4190.diva-web-planner-react.umd.min.js +0 -2
  1279. package/build/umd/4190.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1280. package/build/umd/4200.diva-web-planner-react.umd.min.js +0 -2
  1281. package/build/umd/4200.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1282. package/build/umd/4314.diva-web-planner-react.umd.min.js +0 -2
  1283. package/build/umd/4314.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1284. package/build/umd/4325.diva-web-planner-react.umd.min.js +0 -2
  1285. package/build/umd/4325.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1286. package/build/umd/4354.diva-web-planner-react.umd.min.js +0 -2
  1287. package/build/umd/4354.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1288. package/build/umd/4371.diva-web-planner-react.umd.min.js +0 -2
  1289. package/build/umd/4371.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1290. package/build/umd/441.diva-web-planner-react.umd.min.js +0 -2
  1291. package/build/umd/441.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1292. package/build/umd/4423.diva-web-planner-react.umd.min.js +0 -2
  1293. package/build/umd/4423.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1294. package/build/umd/4430.diva-web-planner-react.umd.min.js +0 -2
  1295. package/build/umd/4430.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1296. package/build/umd/4439.diva-web-planner-react.umd.min.js +0 -2
  1297. package/build/umd/4439.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1298. package/build/umd/4514.diva-web-planner-react.umd.min.js +0 -2
  1299. package/build/umd/4514.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1300. package/build/umd/4529.diva-web-planner-react.umd.min.js +0 -2
  1301. package/build/umd/4529.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1302. package/build/umd/4580.diva-web-planner-react.umd.min.js +0 -2
  1303. package/build/umd/4580.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1304. package/build/umd/4585.diva-web-planner-react.umd.min.js +0 -2
  1305. package/build/umd/4585.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1306. package/build/umd/4689.diva-web-planner-react.umd.min.js +0 -2
  1307. package/build/umd/4689.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1308. package/build/umd/4690.diva-web-planner-react.umd.min.js +0 -2
  1309. package/build/umd/4690.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1310. package/build/umd/4701.diva-web-planner-react.umd.min.js +0 -2
  1311. package/build/umd/4701.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1312. package/build/umd/4723.diva-web-planner-react.umd.min.js +0 -2
  1313. package/build/umd/4723.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1314. package/build/umd/4725.diva-web-planner-react.umd.min.js +0 -2
  1315. package/build/umd/4725.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1316. package/build/umd/4754.diva-web-planner-react.umd.min.js +0 -2
  1317. package/build/umd/4754.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1318. package/build/umd/4805.diva-web-planner-react.umd.min.js +0 -2
  1319. package/build/umd/4805.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1320. package/build/umd/4817.diva-web-planner-react.umd.min.js +0 -2
  1321. package/build/umd/4817.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1322. package/build/umd/4829.diva-web-planner-react.umd.min.js +0 -2
  1323. package/build/umd/4829.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1324. package/build/umd/4833.diva-web-planner-react.umd.min.js +0 -2
  1325. package/build/umd/4833.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1326. package/build/umd/4872.diva-web-planner-react.umd.min.js +0 -2
  1327. package/build/umd/4872.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1328. package/build/umd/4899.diva-web-planner-react.umd.min.js +0 -2
  1329. package/build/umd/4899.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1330. package/build/umd/4903.diva-web-planner-react.umd.min.js +0 -2
  1331. package/build/umd/4903.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1332. package/build/umd/4910.diva-web-planner-react.umd.min.js +0 -2
  1333. package/build/umd/4910.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1334. package/build/umd/5074.diva-web-planner-react.umd.min.js +0 -2
  1335. package/build/umd/5074.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1336. package/build/umd/5115.diva-web-planner-react.umd.min.js +0 -2
  1337. package/build/umd/5115.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1338. package/build/umd/5155.diva-web-planner-react.umd.min.js +0 -2
  1339. package/build/umd/5155.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1340. package/build/umd/5200.diva-web-planner-react.umd.min.js +0 -2
  1341. package/build/umd/5200.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1342. package/build/umd/5289.diva-web-planner-react.umd.min.js +0 -2
  1343. package/build/umd/5289.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1344. package/build/umd/5297.diva-web-planner-react.umd.min.js +0 -2
  1345. package/build/umd/5297.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1346. package/build/umd/5327.diva-web-planner-react.umd.min.js +0 -2
  1347. package/build/umd/5327.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1348. package/build/umd/5382.diva-web-planner-react.umd.min.js +0 -2
  1349. package/build/umd/5382.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1350. package/build/umd/5393.diva-web-planner-react.umd.min.js +0 -2
  1351. package/build/umd/5393.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1352. package/build/umd/5408.diva-web-planner-react.umd.min.js +0 -2
  1353. package/build/umd/5408.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1354. package/build/umd/5414.diva-web-planner-react.umd.min.js +0 -2
  1355. package/build/umd/5414.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1356. package/build/umd/5439.diva-web-planner-react.umd.min.js +0 -2
  1357. package/build/umd/5439.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -10
  1358. package/build/umd/5467.diva-web-planner-react.umd.min.js +0 -2
  1359. package/build/umd/5467.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1360. package/build/umd/5492.diva-web-planner-react.umd.min.js +0 -2
  1361. package/build/umd/5492.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1362. package/build/umd/5576.diva-web-planner-react.umd.min.js +0 -2
  1363. package/build/umd/5576.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1364. package/build/umd/5586.diva-web-planner-react.umd.min.js +0 -2
  1365. package/build/umd/5586.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1366. package/build/umd/5718.diva-web-planner-react.umd.min.js +0 -2
  1367. package/build/umd/5718.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1368. package/build/umd/5724.diva-web-planner-react.umd.min.js +0 -2
  1369. package/build/umd/5724.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1370. package/build/umd/5887.diva-web-planner-react.umd.min.js +0 -2
  1371. package/build/umd/5887.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1372. package/build/umd/59.diva-web-planner-react.umd.min.js +0 -2
  1373. package/build/umd/59.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1374. package/build/umd/6028.diva-web-planner-react.umd.min.js +0 -2
  1375. package/build/umd/6028.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1376. package/build/umd/6043.diva-web-planner-react.umd.min.js +0 -2
  1377. package/build/umd/6043.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1378. package/build/umd/6048.diva-web-planner-react.umd.min.js +0 -2
  1379. package/build/umd/6048.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1380. package/build/umd/6092.diva-web-planner-react.umd.min.js +0 -2
  1381. package/build/umd/6092.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1382. package/build/umd/6103.diva-web-planner-react.umd.min.js +0 -2
  1383. package/build/umd/6103.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1384. package/build/umd/6158.diva-web-planner-react.umd.min.js +0 -2
  1385. package/build/umd/6158.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1386. package/build/umd/6201.diva-web-planner-react.umd.min.js +0 -2
  1387. package/build/umd/6201.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1388. package/build/umd/6217.diva-web-planner-react.umd.min.js +0 -2
  1389. package/build/umd/6217.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1390. package/build/umd/6253.diva-web-planner-react.umd.min.js +0 -2
  1391. package/build/umd/6253.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1392. package/build/umd/6260.diva-web-planner-react.umd.min.js +0 -2
  1393. package/build/umd/6260.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1394. package/build/umd/6266.diva-web-planner-react.umd.min.js +0 -2
  1395. package/build/umd/6266.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1396. package/build/umd/6316.diva-web-planner-react.umd.min.js +0 -2
  1397. package/build/umd/6316.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1398. package/build/umd/6335.diva-web-planner-react.umd.min.js +0 -2
  1399. package/build/umd/6335.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1400. package/build/umd/6352.diva-web-planner-react.umd.min.js +0 -2
  1401. package/build/umd/6352.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1402. package/build/umd/6355.diva-web-planner-react.umd.min.js +0 -2
  1403. package/build/umd/6355.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1404. package/build/umd/6363.diva-web-planner-react.umd.min.js +0 -2
  1405. package/build/umd/6363.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1406. package/build/umd/6504.diva-web-planner-react.umd.min.js +0 -2
  1407. package/build/umd/6504.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1408. package/build/umd/6506.diva-web-planner-react.umd.min.js +0 -2
  1409. package/build/umd/6506.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1410. package/build/umd/6587.diva-web-planner-react.umd.min.js +0 -2
  1411. package/build/umd/6587.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1412. package/build/umd/6590.diva-web-planner-react.umd.min.js +0 -2
  1413. package/build/umd/6590.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1414. package/build/umd/6659.diva-web-planner-react.umd.min.js +0 -2
  1415. package/build/umd/6659.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1416. package/build/umd/67.diva-web-planner-react.umd.min.js +0 -2
  1417. package/build/umd/67.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1418. package/build/umd/6725.diva-web-planner-react.umd.min.js +0 -2
  1419. package/build/umd/6725.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1420. package/build/umd/6765.diva-web-planner-react.umd.min.js +0 -2
  1421. package/build/umd/6765.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1422. package/build/umd/6770.diva-web-planner-react.umd.min.js +0 -2
  1423. package/build/umd/6770.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1424. package/build/umd/6871.diva-web-planner-react.umd.min.js +0 -2
  1425. package/build/umd/6871.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1426. package/build/umd/6961.diva-web-planner-react.umd.min.js +0 -2
  1427. package/build/umd/6961.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1428. package/build/umd/7020.diva-web-planner-react.umd.min.js +0 -2
  1429. package/build/umd/7020.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1430. package/build/umd/7026.diva-web-planner-react.umd.min.js +0 -2
  1431. package/build/umd/7026.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1432. package/build/umd/7052.diva-web-planner-react.umd.min.js +0 -2
  1433. package/build/umd/7052.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1434. package/build/umd/7078.diva-web-planner-react.umd.min.js +0 -2
  1435. package/build/umd/7078.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1436. package/build/umd/709.diva-web-planner-react.umd.min.js +0 -2
  1437. package/build/umd/709.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1438. package/build/umd/7124.diva-web-planner-react.umd.min.js +0 -2
  1439. package/build/umd/7124.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1440. package/build/umd/7152.diva-web-planner-react.umd.min.js +0 -2
  1441. package/build/umd/7152.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1442. package/build/umd/7187.diva-web-planner-react.umd.min.js +0 -2
  1443. package/build/umd/7187.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1444. package/build/umd/7288.diva-web-planner-react.umd.min.js +0 -2
  1445. package/build/umd/7288.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1446. package/build/umd/7328.diva-web-planner-react.umd.min.js +0 -2
  1447. package/build/umd/7328.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1448. package/build/umd/7342.diva-web-planner-react.umd.min.js +0 -2
  1449. package/build/umd/7342.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1450. package/build/umd/7344.diva-web-planner-react.umd.min.js +0 -2
  1451. package/build/umd/7344.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1452. package/build/umd/7348.diva-web-planner-react.umd.min.js +0 -2
  1453. package/build/umd/7348.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1454. package/build/umd/735.diva-web-planner-react.umd.min.js +0 -2
  1455. package/build/umd/735.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1456. package/build/umd/7374.diva-web-planner-react.umd.min.js +0 -2
  1457. package/build/umd/7374.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1458. package/build/umd/7393.diva-web-planner-react.umd.min.js +0 -2
  1459. package/build/umd/7393.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1460. package/build/umd/7442.diva-web-planner-react.umd.min.js +0 -2
  1461. package/build/umd/7442.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1462. package/build/umd/760.diva-web-planner-react.umd.min.js +0 -2
  1463. package/build/umd/760.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1464. package/build/umd/7663.diva-web-planner-react.umd.min.js +0 -2
  1465. package/build/umd/7663.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1466. package/build/umd/7674.diva-web-planner-react.umd.min.js +0 -2
  1467. package/build/umd/7674.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1468. package/build/umd/7713.diva-web-planner-react.umd.min.js +0 -2
  1469. package/build/umd/7713.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -21
  1470. package/build/umd/7737.diva-web-planner-react.umd.min.js +0 -2
  1471. package/build/umd/7737.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1472. package/build/umd/7757.diva-web-planner-react.umd.min.js +0 -2
  1473. package/build/umd/7757.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1474. package/build/umd/7801.diva-web-planner-react.umd.min.js +0 -2
  1475. package/build/umd/7801.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1476. package/build/umd/7807.diva-web-planner-react.umd.min.js +0 -2
  1477. package/build/umd/7807.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1478. package/build/umd/7810.diva-web-planner-react.umd.min.js +0 -2
  1479. package/build/umd/7810.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1480. package/build/umd/7881.diva-web-planner-react.umd.min.js +0 -2
  1481. package/build/umd/7881.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1482. package/build/umd/7926.diva-web-planner-react.umd.min.js +0 -2
  1483. package/build/umd/7926.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1484. package/build/umd/7933.diva-web-planner-react.umd.min.js +0 -2
  1485. package/build/umd/7933.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1486. package/build/umd/7957.diva-web-planner-react.umd.min.js +0 -2
  1487. package/build/umd/7957.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1488. package/build/umd/7976.diva-web-planner-react.umd.min.js +0 -2
  1489. package/build/umd/7976.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1490. package/build/umd/802.diva-web-planner-react.umd.min.js +0 -2
  1491. package/build/umd/802.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1492. package/build/umd/8063.diva-web-planner-react.umd.min.js +0 -2
  1493. package/build/umd/8063.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1494. package/build/umd/8099.diva-web-planner-react.umd.min.js +0 -2
  1495. package/build/umd/8099.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1496. package/build/umd/8110.diva-web-planner-react.umd.min.js +0 -2
  1497. package/build/umd/8110.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1498. package/build/umd/8117.diva-web-planner-react.umd.min.js +0 -2
  1499. package/build/umd/8117.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1500. package/build/umd/814.diva-web-planner-react.umd.min.js +0 -2
  1501. package/build/umd/814.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1502. package/build/umd/8163.diva-web-planner-react.umd.min.js +0 -2
  1503. package/build/umd/8163.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1504. package/build/umd/8179.diva-web-planner-react.umd.min.js +0 -2
  1505. package/build/umd/8179.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1506. package/build/umd/8213.diva-web-planner-react.umd.min.js +0 -2
  1507. package/build/umd/8213.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1508. package/build/umd/8231.diva-web-planner-react.umd.min.js +0 -2
  1509. package/build/umd/8231.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1510. package/build/umd/8241.diva-web-planner-react.umd.min.js +0 -2
  1511. package/build/umd/8241.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1512. package/build/umd/8263.diva-web-planner-react.umd.min.js +0 -2
  1513. package/build/umd/8263.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1514. package/build/umd/8277.diva-web-planner-react.umd.min.js +0 -2
  1515. package/build/umd/8277.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1516. package/build/umd/8301.diva-web-planner-react.umd.min.js +0 -2
  1517. package/build/umd/8301.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1518. package/build/umd/8356.diva-web-planner-react.umd.min.js +0 -2
  1519. package/build/umd/8356.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -11
  1520. package/build/umd/8369.diva-web-planner-react.umd.min.js +0 -2
  1521. package/build/umd/8369.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1522. package/build/umd/8416.diva-web-planner-react.umd.min.js +0 -2
  1523. package/build/umd/8416.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1524. package/build/umd/8445.diva-web-planner-react.umd.min.js +0 -2
  1525. package/build/umd/8445.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1526. package/build/umd/8529.diva-web-planner-react.umd.min.js +0 -2
  1527. package/build/umd/8529.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1528. package/build/umd/8533.diva-web-planner-react.umd.min.js +0 -2
  1529. package/build/umd/8533.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1530. package/build/umd/858.diva-web-planner-react.umd.min.js +0 -2
  1531. package/build/umd/858.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1532. package/build/umd/8584.diva-web-planner-react.umd.min.js +0 -2
  1533. package/build/umd/8584.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1534. package/build/umd/859.diva-web-planner-react.umd.min.js +0 -2
  1535. package/build/umd/859.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1536. package/build/umd/8618.diva-web-planner-react.umd.min.js +0 -2
  1537. package/build/umd/8618.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1538. package/build/umd/8619.diva-web-planner-react.umd.min.js +0 -2
  1539. package/build/umd/8619.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1540. package/build/umd/8628.diva-web-planner-react.umd.min.js +0 -2
  1541. package/build/umd/8628.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1542. package/build/umd/8633.diva-web-planner-react.umd.min.js +0 -2
  1543. package/build/umd/8633.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1544. package/build/umd/8645.diva-web-planner-react.umd.min.js +0 -2
  1545. package/build/umd/8645.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1546. package/build/umd/8657.diva-web-planner-react.umd.min.js +0 -2
  1547. package/build/umd/8657.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1548. package/build/umd/8661.diva-web-planner-react.umd.min.js +0 -2
  1549. package/build/umd/8661.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1550. package/build/umd/8701.diva-web-planner-react.umd.min.js +0 -2
  1551. package/build/umd/8701.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1552. package/build/umd/8705.diva-web-planner-react.umd.min.js +0 -2
  1553. package/build/umd/8705.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1554. package/build/umd/8717.diva-web-planner-react.umd.min.js +0 -2
  1555. package/build/umd/8717.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1556. package/build/umd/873.diva-web-planner-react.umd.min.js +0 -2
  1557. package/build/umd/873.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1558. package/build/umd/8742.diva-web-planner-react.umd.min.js +0 -2
  1559. package/build/umd/8742.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1560. package/build/umd/8757.diva-web-planner-react.umd.min.js +0 -2
  1561. package/build/umd/8757.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1562. package/build/umd/876.diva-web-planner-react.umd.min.js +0 -2
  1563. package/build/umd/876.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1564. package/build/umd/8850.diva-web-planner-react.umd.min.js +0 -2
  1565. package/build/umd/8850.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1566. package/build/umd/8876.diva-web-planner-react.umd.min.js +0 -2
  1567. package/build/umd/8876.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1568. package/build/umd/8877.diva-web-planner-react.umd.min.js +0 -2
  1569. package/build/umd/8877.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1570. package/build/umd/8938.diva-web-planner-react.umd.min.js +0 -2
  1571. package/build/umd/8938.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1572. package/build/umd/8958.diva-web-planner-react.umd.min.js +0 -2
  1573. package/build/umd/8958.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1574. package/build/umd/896.diva-web-planner-react.umd.min.js +0 -2
  1575. package/build/umd/896.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1576. package/build/umd/8969.diva-web-planner-react.umd.min.js +0 -2
  1577. package/build/umd/8969.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1578. package/build/umd/8986.diva-web-planner-react.umd.min.js +0 -2
  1579. package/build/umd/8986.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1580. package/build/umd/8991.diva-web-planner-react.umd.min.js +0 -2
  1581. package/build/umd/8991.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1582. package/build/umd/9001.diva-web-planner-react.umd.min.js +0 -2
  1583. package/build/umd/9001.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1584. package/build/umd/9040.diva-web-planner-react.umd.min.js +0 -2
  1585. package/build/umd/9040.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1586. package/build/umd/9119.diva-web-planner-react.umd.min.js +0 -2
  1587. package/build/umd/9119.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1588. package/build/umd/9170.diva-web-planner-react.umd.min.js +0 -2
  1589. package/build/umd/9170.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1590. package/build/umd/9235.diva-web-planner-react.umd.min.js +0 -2
  1591. package/build/umd/9235.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1592. package/build/umd/9260.diva-web-planner-react.umd.min.js +0 -2
  1593. package/build/umd/9260.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1594. package/build/umd/9276.diva-web-planner-react.umd.min.js +0 -2
  1595. package/build/umd/9276.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1596. package/build/umd/9290.diva-web-planner-react.umd.min.js +0 -2
  1597. package/build/umd/9290.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1598. package/build/umd/9291.diva-web-planner-react.umd.min.js +0 -2
  1599. package/build/umd/9291.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1600. package/build/umd/9360.diva-web-planner-react.umd.min.js +0 -2
  1601. package/build/umd/9360.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1602. package/build/umd/9375.diva-web-planner-react.umd.min.js +0 -2
  1603. package/build/umd/9375.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1604. package/build/umd/9390.diva-web-planner-react.umd.min.js +0 -2
  1605. package/build/umd/9390.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1606. package/build/umd/943.diva-web-planner-react.umd.min.js +0 -2
  1607. package/build/umd/943.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1608. package/build/umd/9503.diva-web-planner-react.umd.min.js +0 -2
  1609. package/build/umd/9503.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1610. package/build/umd/9561.diva-web-planner-react.umd.min.js +0 -2
  1611. package/build/umd/9561.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1612. package/build/umd/960.diva-web-planner-react.umd.min.js +0 -2
  1613. package/build/umd/960.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1614. package/build/umd/9607.diva-web-planner-react.umd.min.js +0 -2
  1615. package/build/umd/9607.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1616. package/build/umd/963.diva-web-planner-react.umd.min.js +0 -408
  1617. package/build/umd/963.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -86
  1618. package/build/umd/9631.diva-web-planner-react.umd.min.js +0 -2
  1619. package/build/umd/9631.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1620. package/build/umd/9715.diva-web-planner-react.umd.min.js +0 -2
  1621. package/build/umd/9715.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1622. package/build/umd/9873.diva-web-planner-react.umd.min.js +0 -2
  1623. package/build/umd/9873.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1624. package/build/umd/9874.diva-web-planner-react.umd.min.js +0 -2
  1625. package/build/umd/9874.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1626. package/build/umd/9897.diva-web-planner-react.umd.min.js +0 -2
  1627. package/build/umd/9897.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -7
  1628. package/build/umd/9898.diva-web-planner-react.umd.min.js +0 -2
  1629. package/build/umd/9898.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -1
  1630. package/build/umd/9944.diva-web-planner-react.umd.min.js +0 -2
  1631. package/build/umd/9944.diva-web-planner-react.umd.min.js.LICENSE.txt +0 -19
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 8310.diva-web-planner-react.umd.min.js.LICENSE.txt */
2
+ (self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[8310],{48310:(be,Ae,we)=>{var xe=we(25108);self,be.exports=function(){return be={6545:function(be,Ae,we){we.d(Ae,{t:function(){return Te}});var xe=we(1925),Se=we(6237),ke=we(3057);function o(be){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function i(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=o(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=o(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==o(be)?be:be+""}(xe.key),xe)}}var Te=function(){function l(be,Ae){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");this.dom={};var we=this,xe=this.dom,Se=((this.anchor=void 0,this.items=be,this.eventListeners={},this.selection=void 0,this.onClose=Ae?Ae.close:void 0,this.limitHeight=!!Ae&&Ae.limitHeight,Ae=document.createElement("div")).className="jsoneditor-contextmenu-root",xe.root=Ae,document.createElement("div"));(Se.className="jsoneditor-contextmenu",xe.menu=Se,Ae.appendChild(Se),Ae=document.createElement("ul")).className="jsoneditor-menu",Se.appendChild(Ae),xe.list=Ae,xe.items=[],((Se=document.createElement("button")).type="button",xe.focusButton=Se,xe=document.createElement("li")).style.overflow="hidden",xe.style.height="0",xe.appendChild(Se),Ae.appendChild(xe),function a(be,Ae,xe){xe.forEach((function(xe){var Se,Te,Ee,Re,_e,$e;"separator"===xe.type?((_e=document.createElement("div")).className="jsoneditor-separator",(Te=document.createElement("li")).appendChild(_e),be.appendChild(Te)):(Se={},_e=document.createElement("li"),be.appendChild(_e),(Te=document.createElement("button")).type="button",Te.className=xe.className,Se.button=Te,xe.title&&(Te.title=xe.title),xe.click&&(Te.onclick=function(be){be.preventDefault(),we.hide(),xe.click()}),_e.appendChild(Te),xe.submenu?((Re=document.createElement("div")).className="jsoneditor-icon",Te.appendChild(Re),(Re=document.createElement("div")).className="jsoneditor-text"+(xe.click?"":" jsoneditor-right-margin"),Re.appendChild(document.createTextNode(xe.text)),Te.appendChild(Re),(Ee=xe.click?(Te.className+=" jsoneditor-default",(Re=document.createElement("button")).type="button",(Se.buttonExpand=Re).className="jsoneditor-expand",($e=document.createElement("div")).className="jsoneditor-expand",Re.appendChild($e),_e.appendChild(Re),xe.submenuTitle&&(Re.title=xe.submenuTitle),Re):(($e=document.createElement("div")).className="jsoneditor-expand",Te.appendChild($e),Te)).onclick=function(be){be.preventDefault(),we._onExpandItem(Se),Ee.focus()},Se.subItems=Re=[],$e=document.createElement("ul"),(Se.ul=$e).className="jsoneditor-menu",$e.style.height="0",_e.appendChild($e),a($e,Re,xe.submenu)):((_e=document.createElement("div")).className="jsoneditor-icon",Te.appendChild(_e),($e=document.createElement("div")).className="jsoneditor-text",$e.appendChild(document.createTextNode((0,ke.Tl)(xe.text))),Te.appendChild($e)),Ae.push(Se))}))}(Ae,this.dom.items,be),this.maxHeight=0,be.forEach((function(Ae){Ae=24*(be.length+(Ae.submenu?Ae.submenu.length:0)),we.maxHeight=Math.max(we.maxHeight,Ae)}))}return be=l,(Ae=[{key:"_getVisibleButtons",value:function(){var be=[],Ae=this;return this.dom.items.forEach((function(we){be.push(we.button),we.buttonExpand&&be.push(we.buttonExpand),we.subItems&&we===Ae.expandedItem&&we.subItems.forEach((function(Ae){be.push(Ae.button),Ae.buttonExpand&&be.push(Ae.buttonExpand)}))})),be}},{key:"show",value:function(be,Ae,we){this.hide();var ke=!0,Te=be.parentNode,Ee=be.getBoundingClientRect(),Re=(Te=Te.getBoundingClientRect(),Ae.getBoundingClientRect()),_e=this;this.dom.absoluteAnchor=(0,xe.p)(be,Ae,(function(){_e.hide()})),Ee.bottom+this.maxHeight<Re.bottom||Ee.top-this.maxHeight>Re.top&&(ke=!1),Ae=we?0:Ee.top-Te.top,ke?(we=be.offsetHeight,this.dom.menu.style.left="0",this.dom.menu.style.top=Ae+we+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left="0",this.dom.menu.style.top="",this.dom.menu.style.bottom="0px"),this.limitHeight&&(Te=ke?Re.bottom-Ee.bottom-10:Ee.top-Re.top-10,this.dom.list.style.maxHeight=Te+"px",this.dom.list.style.overflowY="auto"),this.dom.absoluteAnchor.appendChild(this.dom.root),this.selection=(0,Se.getSelection)(),this.anchor=be,setTimeout((function(){_e.dom.focusButton.focus()}),0),l.visibleMenu&&l.visibleMenu.hide(),l.visibleMenu=this}},{key:"hide",value:function(){this.dom.absoluteAnchor&&(this.dom.absoluteAnchor.destroy(),delete this.dom.absoluteAnchor),this.dom.root.parentNode&&(this.dom.root.parentNode.removeChild(this.dom.root),this.onClose)&&this.onClose(),l.visibleMenu===this&&(l.visibleMenu=void 0)}},{key:"_onExpandItem",value:function(be){var Ae,we=this,xe=be===this.expandedItem,ke=this.expandedItem;ke&&(ke.ul.style.height="0",ke.ul.style.padding="",setTimeout((function(){we.expandedItem!==ke&&(ke.ul.style.display="",Se.removeClassName)(ke.ul.parentNode,"jsoneditor-selected")}),300),this.expandedItem=void 0),xe||((Ae=be.ul).style.display="block",Ae.clientHeight,setTimeout((function(){if(we.expandedItem===be){for(var xe=0,Se=0;Se<Ae.childNodes.length;Se++)xe+=Ae.childNodes[Se].clientHeight;Ae.style.height=xe+"px",Ae.style.padding="5px 10px"}}),0),(0,Se.addClassName)(Ae.parentNode,"jsoneditor-selected"),this.expandedItem=be)}},{key:"_onKeyDown",value:function(be){var Ae,we,xe,ke,Te=be.target,Ee=be.which,Re=!1;27===Ee?(this.selection&&(0,Se.setSelection)(this.selection),this.anchor&&this.anchor.focus(),this.hide(),Re=!0):9===Ee?be.shiftKey?0===(we=(Ae=this._getVisibleButtons()).indexOf(Te))&&(Ae[Ae.length-1].focus(),Re=!0):(we=(Ae=this._getVisibleButtons()).indexOf(Te))===Ae.length-1&&(Ae[0].focus(),Re=!0):37===Ee?("jsoneditor-expand"===Te.className&&(we=(Ae=this._getVisibleButtons()).indexOf(Te),xe=Ae[we-1])&&xe.focus(),Re=!0):38===Ee?(we=(Ae=this._getVisibleButtons()).indexOf(Te),(xe=(xe=(xe=Ae[we-1])&&"jsoneditor-expand"===xe.className?Ae[we-2]:xe)||Ae[Ae.length-1])&&xe.focus(),Re=!0):39===Ee?(we=(Ae=this._getVisibleButtons()).indexOf(Te),(ke=Ae[we+1])&&"jsoneditor-expand"===ke.className&&ke.focus(),Re=!0):40===Ee&&(we=(Ae=this._getVisibleButtons()).indexOf(Te),(ke=(ke=(ke=Ae[we+1])&&"jsoneditor-expand"===ke.className?Ae[we+2]:ke)||Ae[0])&&(ke.focus(),Re=!0),Re=!0),Re&&(be.stopPropagation(),be.preventDefault())}}])&&i(be.prototype,Ae),we&&i(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}();Te.visibleMenu=void 0},2115:function(be,Ae,we){function o(be){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function r(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=o(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=o(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==o(be)?be:be+""}(xe.key),xe)}}we.d(Ae,{N:function(){return xe}});var xe=function(){function n(be){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");var Ae;this.errorTableVisible=be.errorTableVisible,this.onToggleVisibility=be.onToggleVisibility,this.onFocusLine=be.onFocusLine||function(){},this.onChangeHeight=be.onChangeHeight,this.dom={},((be=document.createElement("div")).className="jsoneditor-validation-errors-container",this.dom.validationErrorsContainer=be,Ae=document.createElement("div")).style.display="none",Ae.className="jsoneditor-additional-errors fadein",Ae.textContent="Scroll for more ▿",this.dom.additionalErrorsIndication=Ae,be.appendChild(Ae),((be=document.createElement("span")).className="jsoneditor-validation-error-icon",be.style.display="none",this.dom.validationErrorIcon=be,Ae=document.createElement("span")).className="jsoneditor-validation-error-count",Ae.style.display="none",this.dom.validationErrorCount=Ae,this.dom.parseErrorIndication=document.createElement("span"),this.dom.parseErrorIndication.className="jsoneditor-parse-error-icon",this.dom.parseErrorIndication.style.display="none"}return be=n,(Ae=[{key:"getErrorTable",value:function(){return this.dom.validationErrorsContainer}},{key:"getErrorCounter",value:function(){return this.dom.validationErrorCount}},{key:"getWarningIcon",value:function(){return this.dom.validationErrorIcon}},{key:"getErrorIcon",value:function(){return this.dom.parseErrorIndication}},{key:"toggleTableVisibility",value:function(){this.errorTableVisible=!this.errorTableVisible,this.onToggleVisibility(this.errorTableVisible)}},{key:"setErrors",value:function(be,Ae){var we,xe,Se=this,ke=(this.dom.validationErrors&&(this.dom.validationErrors.parentNode.removeChild(this.dom.validationErrors),this.dom.validationErrors=null,this.dom.additionalErrorsIndication.style.display="none"),this.errorTableVisible&&0<be.length?((ke=document.createElement("div")).className="jsoneditor-validation-errors",(xe=document.createElement("table")).className="jsoneditor-text-errors",ke.appendChild(xe),we=document.createElement("tbody"),xe.appendChild(we),be.forEach((function(be){isNaN(be.line)?be.dataPath&&(Te=Ae.find((function(Ae){return Ae.path===be.dataPath})))&&(xe=Te.line+1):xe=be.line;var xe,ke,Te=document.createElement("tr"),Ee=(Te.className=isNaN(xe)?"":"jump-to-line","error"===be.type?Te.className+=" parse-error":Te.className+=" validation-error",document.createElement("td"));((ke=document.createElement("button")).className="jsoneditor-schema-error",Ee.appendChild(ke),Te.appendChild(Ee),ke=document.createElement("td")).style="white-space: nowrap;",ke.textContent=isNaN(xe)?"":"Ln "+xe,Te.appendChild(ke),"string"==typeof be?((Ee=document.createElement("td")).colSpan=2,(ke=document.createElement("pre")).appendChild(document.createTextNode(be)),Ee.appendChild(ke),Te.appendChild(Ee)):((ke=document.createElement("td")).appendChild(document.createTextNode(be.dataPath||"")),Te.appendChild(ke),Ee=document.createElement("td"),(ke=document.createElement("pre")).appendChild(document.createTextNode(be.message.replace(/<br>/gi,"\n"))),Ee.appendChild(ke),Te.appendChild(Ee)),Te.onclick=function(){Se.onFocusLine(xe)},we.appendChild(Te)})),this.dom.validationErrors=ke,this.dom.validationErrorsContainer.appendChild(ke),this.dom.additionalErrorsIndication.title=be.length+" errors total",this.dom.validationErrorsContainer.clientHeight<this.dom.validationErrorsContainer.scrollHeight?(this.dom.additionalErrorsIndication.style.display="block",this.dom.validationErrorsContainer.onscroll=function(){Se.dom.additionalErrorsIndication.style.display=0<Se.dom.validationErrorsContainer.clientHeight&&0===Se.dom.validationErrorsContainer.scrollTop?"block":"none"}):this.dom.validationErrorsContainer.onscroll=void 0,xe=this.dom.validationErrorsContainer.clientHeight+(this.dom.statusBar?this.dom.statusBar.clientHeight:0),this.onChangeHeight(xe)):this.onChangeHeight(0),be.filter((function(be){return"error"!==be.type})).length);0<ke?(this.dom.validationErrorCount.style.display="inline",this.dom.validationErrorCount.innerText=ke,this.dom.validationErrorCount.onclick=this.toggleTableVisibility.bind(this),this.dom.validationErrorIcon.style.display="inline",this.dom.validationErrorIcon.title=ke+" schema validation error(s) found",this.dom.validationErrorIcon.onclick=this.toggleTableVisibility.bind(this)):(this.dom.validationErrorCount.style.display="none",this.dom.validationErrorIcon.style.display="none"),be.some((function(be){return"error"===be.type}))?(xe=be[0].line,this.dom.parseErrorIndication.style.display="block",this.dom.parseErrorIndication.title=isNaN(xe)?"parse error - check that the json is valid":"parse error on line "+xe,this.dom.parseErrorIndication.onclick=this.toggleTableVisibility.bind(this)):this.dom.parseErrorIndication.style.display="none"}}])&&r(be.prototype,Ae),we&&r(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}()},2877:function(be,Ae,we){function o(be){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function r(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=o(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=o(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==o(be)?be:be+""}(xe.key),xe)}}we.d(Ae,{$:function(){return xe}});var xe=function(){function t(be){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");if(this.target=be.target||null,!this.target)throw new Error('FocusTracker constructor called without a "target" to track.');this.onFocus="function"==typeof be.onFocus?be.onFocus:null,this.onBlur="function"==typeof be.onBlur?be.onBlur:null,this._onClick=this._onEvent.bind(this),this._onKeyUp=function(be){9!==be.which&&9!==be.keyCode||this._onEvent(be)}.bind(this),this._onBlur=this._onEvent.bind(this),this.focusFlag=!1,this.firstEventFlag=!0,(this.onFocus||this.onBlur)&&(document.addEventListener("click",this._onClick),document.addEventListener("keyup",this._onKeyUp),document.addEventListener("blur",this._onBlur))}return be=t,(Ae=[{key:"destroy",value:function(){document.removeEventListener("click",this._onClick),document.removeEventListener("keyup",this._onKeyUp),document.removeEventListener("blur",this._onBlur),this._onEvent({target:document.body})}},{key:"_onEvent",value:function(be){(be=(be=be.target)===this.target||!(!this.target.contains(be)&&!this.target.contains(document.activeElement)))?this.focusFlag||(this.onFocus&&this.onFocus({type:"focus",target:this.target}),this.focusFlag=!0):(this.focusFlag||this.firstEventFlag)&&(this.onBlur&&this.onBlur({type:"blur",target:this.target}),this.focusFlag=!1,this.firstEventFlag)&&(this.firstEventFlag=!1)}}])&&r(be.prototype,Ae),we&&r(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}()},1346:function(be,Ae,we){var Se=we(7413),ke=we(1746),Te=we(5633).treeModeMixins,Ee=we(1948).textModeMixins,Re=we(7483).previewModeMixins,_e=(Be=we(6237)).clear,$e=Be.extend,Le=Be.getInnerText,Ne=Be.getInternetExplorerVersion,Me=Be.parse,Be=we(2870).tryRequireAjv,We=we(5609).showTransformModal,Pe=we(2915).showSortModal,He=Be();function C(be,Ae,we){if(!(this instanceof C))throw new Error('JSONEditor constructor called without "new".');var Se=Ne();if(-1!==Se&&Se<9)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");Ae&&(Ae.error&&(xe.warn('Option "error" has been renamed to "onError"'),Ae.onError=Ae.error,delete Ae.error),Ae.change&&(xe.warn('Option "change" has been renamed to "onChange"'),Ae.onChange=Ae.change,delete Ae.change),Ae.editable&&(xe.warn('Option "editable" has been renamed to "onEditable"'),Ae.onEditable=Ae.editable,delete Ae.editable),Ae.onChangeJSON&&("text"===Ae.mode||"code"===Ae.mode||Ae.modes&&(-1!==Ae.modes.indexOf("text")||-1!==Ae.modes.indexOf("code")))&&xe.warn('Option "onChangeJSON" is not applicable to modes "text" and "code". Use "onChangeText" or "onChange" instead.'),Ae)&&Object.keys(Ae).forEach((function(be){-1===C.VALID_OPTIONS.indexOf(be)&&xe.warn('Unknown option "'+be+'". This option will be ignored')})),arguments.length&&this._create(be,Ae,we)}"undefined"==typeof Promise&&xe.error("Promise undefined. Please load a Promise polyfill in the browser in order to use JSONEditor"),C.modes={},C.prototype.DEBOUNCE_INTERVAL=150,C.VALID_OPTIONS=["ajv","schema","schemaRefs","templates","ace","theme","autocomplete","onChange","onChangeJSON","onChangeText","onExpand","onEditable","onError","onEvent","onModeChange","onNodeName","onValidate","onCreateMenu","onSelectionChange","onTextSelectionChange","onClassName","onFocus","onBlur","colorPicker","onColorPicker","timestampTag","timestampFormat","escapeUnicode","history","search","mode","modes","name","indentation","sortObjectKeys","navigationBar","statusBar","mainMenuBar","languages","language","enableSort","enableTransform","limitDragging","maxVisibleChilds","onValidationError","modalAnchor","popupAnchor","createQuery","executeQuery","queryDescription","allowSchemaSuggestions","showErrorTable"],C.prototype._create=function(be,Ae,we){this.container=be,this.options=Ae||{},this.json=we||{},be=this.options.mode||this.options.modes&&this.options.modes[0]||"tree",this.setMode(be)},C.prototype.destroy=function(){},C.prototype.set=function(be){this.json=be},C.prototype.get=function(){return this.json},C.prototype.setText=function(be){this.json=Me(be)},C.prototype.getText=function(){return JSON.stringify(this.json)},C.prototype.setName=function(be){this.options||(this.options={}),this.options.name=be},C.prototype.getName=function(){return this.options&&this.options.name},C.prototype.setMode=function(be){if(be!==this.options.mode||!this.create){var Ae=this.container,we=$e({},this.options),Se=we.mode,ke=(we.mode=be,C.modes[be]);if(!ke)throw new Error('Unknown mode "'+we.mode+'"');var Te="text"===ke.data,Ee=this.getName(),Re=this[Te?"getText":"get"]();if(this.destroy(),_e(this),$e(this,ke.mixin),this.create(Ae,we),this.setName(Ee),this[Te?"setText":"set"](Re),"function"==typeof ke.load)try{ke.load.call(this)}catch(be){xe.error(be)}if("function"==typeof we.onModeChange&&be!==Se)try{we.onModeChange(be,Se)}catch(be){xe.error(be)}}},C.prototype.getMode=function(){return this.options.mode},C.prototype._onError=function(be){this.options&&"function"==typeof this.options.onError?this.options.onError(be):window.alert(be.toString())},C.prototype.setSchema=function(be,Ae){if(be){var Se;try{this.options.ajv?Se=this.options.ajv:((Se=He({allErrors:!0,verbose:!0,schemaId:"auto",$data:!0})).addMetaSchema(we(5207)),Se.addMetaSchema(we(6801)))}catch(be){xe.warn("Failed to create an instance of Ajv, JSON Schema validation is not available. Please use a JSONEditor bundle including Ajv, or pass an instance of Ajv as via the configuration option `ajv`.")}if(Se){if(Ae){for(var ke in Ae)Se.removeSchema(ke),Ae[ke]&&Se.addSchema(Ae[ke],ke);this.options.schemaRefs=Ae}this.validateSchema=Se.compile(be),this.options.schema=be,this.options.schemaRefs=Ae,this.validate()}}else this.validateSchema=null,this.options.schema=null,this.options.schemaRefs=null,this.validate();this.refresh(),"function"==typeof this._onSchemaChange&&this._onSchemaChange(be,Ae)},C.prototype.validate=function(){},C.prototype.refresh=function(){},(C.registerMode=function(be){var Ae;if(Array.isArray(be))for(Se=0;Se<be.length;Se++)C.registerMode(be[Se]);else{if(!("mode"in be))throw new Error('Property "mode" missing');if(!("mixin"in be))throw new Error('Property "mixin" missing');if(!("data"in be))throw new Error('Property "data" missing');var we=be.mode;if(we in C.modes)throw new Error('Mode "'+we+'" already registered');if("function"!=typeof be.mixin.create)throw new Error('Required function "create" missing on mixin');for(var xe=["setMode","registerMode","modes"],Se=0;Se<xe.length;Se++)if((Ae=xe[Se])in be.mixin)throw new Error('Reserved property "'+Ae+'" not allowed in mixin');C.modes[we]=be}})(Te),C.registerMode(Ee),C.registerMode(Re),C.ace=Se,C.Ajv=He,C.VanillaPicker=ke,C.showTransformModal=We,C.showSortModal=Pe,C.getInnerText=Le,be.exports=C.default=C},1389:function(be,Ae,we){we.d(Ae,{n:function(){return ke}});var xe=we(6545),Se=we(3057);function o(be){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function i(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=o(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=o(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==o(be)?be:be+""}(xe.key),xe)}}var ke=function(){function d(be,Ae,we,ke){if(!(this instanceof d))throw new TypeError("Cannot call a class as a function");for(var Te={code:{text:(0,Se.Tl)("modeCodeText"),title:(0,Se.Tl)("modeCodeTitle"),click:function(){ke("code")}},form:{text:(0,Se.Tl)("modeFormText"),title:(0,Se.Tl)("modeFormTitle"),click:function(){ke("form")}},text:{text:(0,Se.Tl)("modeTextText"),title:(0,Se.Tl)("modeTextTitle"),click:function(){ke("text")}},tree:{text:(0,Se.Tl)("modeTreeText"),title:(0,Se.Tl)("modeTreeTitle"),click:function(){ke("tree")}},view:{text:(0,Se.Tl)("modeViewText"),title:(0,Se.Tl)("modeViewTitle"),click:function(){ke("view")}},preview:{text:(0,Se.Tl)("modePreviewText"),title:(0,Se.Tl)("modePreviewTitle"),click:function(){ke("preview")}}},Ee=[],Re=0;Re<Ae.length;Re++){var _e=Ae[Re],$e=Te[_e];if(!$e)throw new Error('Unknown mode "'+_e+'"');$e.className="jsoneditor-type-modes"+(we===_e?" jsoneditor-selected":""),Ee.push($e)}if(!(Le=Te[we]))throw new Error('Unknown mode "'+we+'"');var Le=Le.text,Ne=document.createElement("button");(Ne.type="button",Ne.className="jsoneditor-modes jsoneditor-separator",Ne.textContent=Le+" ▾",Ne.title=(0,Se.Tl)("modeEditorTitle"),Ne.onclick=function(){new xe.t(Ee).show(Ne,be)},Le=document.createElement("div")).className="jsoneditor-modes",Le.style.position="relative",Le.appendChild(Ne),be.appendChild(Le),this.dom={container:be,box:Ne,frame:Le}}return be=d,(Ae=[{key:"focus",value:function(){this.dom.box.focus()}},{key:"destroy",value:function(){this.dom&&this.dom.frame&&this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame),this.dom=null}}])&&i(be.prototype,Ae),we&&i(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}()},7413:function(be,Ae,we){var xe;if(window.ace)xe=window.ace;else try{xe=we(6990),we(4221),we(6534),we(6489);var Se=we(5477);xe.config.setModuleUrl("ace/mode/json_worker",Se)}catch(be){}be.exports=xe},9762:function(){window.ace.define("ace/theme/jsoneditor",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){Ae.isDark=!1,Ae.cssClass="ace-jsoneditor",Ae.cssText='.ace-jsoneditor .ace_gutter {\nbackground: #ebebeb;\ncolor: #333\n}\n\n.ace-jsoneditor.ace_editor {\nline-height: 1.3;\nbackground-color: #fff;\n}\n.ace-jsoneditor .ace_print-margin {\nwidth: 1px;\nbackground: #e8e8e8\n}\n.ace-jsoneditor .ace_scroller {\nbackground-color: #FFFFFF\n}\n.ace-jsoneditor .ace_text-layer {\ncolor: gray\n}\n.ace-jsoneditor .ace_variable {\ncolor: #1a1a1a\n}\n.ace-jsoneditor .ace_cursor {\nborder-left: 2px solid #000000\n}\n.ace-jsoneditor .ace_overwrite-cursors .ace_cursor {\nborder-left: 0px;\nborder-bottom: 1px solid #000000\n}\n.ace-jsoneditor .ace_marker-layer .ace_selection {\nbackground: lightgray\n}\n.ace-jsoneditor.ace_multiselect .ace_selection.ace_start {\nbox-shadow: 0 0 3px 0px #FFFFFF;\nborder-radius: 2px\n}\n.ace-jsoneditor .ace_marker-layer .ace_step {\nbackground: rgb(255, 255, 0)\n}\n.ace-jsoneditor .ace_marker-layer .ace_bracket {\nmargin: -1px 0 0 -1px;\nborder: 1px solid #BFBFBF\n}\n.ace-jsoneditor .ace_marker-layer .ace_active-line {\nbackground: #FFFBD1\n}\n.ace-jsoneditor .ace_gutter-active-line {\nbackground-color : #dcdcdc\n}\n.ace-jsoneditor .ace_marker-layer .ace_selected-word {\nborder: 1px solid lightgray\n}\n.ace-jsoneditor .ace_invisible {\ncolor: #BFBFBF\n}\n.ace-jsoneditor .ace_keyword,\n.ace-jsoneditor .ace_meta,\n.ace-jsoneditor .ace_support.ace_constant.ace_property-value {\ncolor: #AF956F\n}\n.ace-jsoneditor .ace_keyword.ace_operator {\ncolor: #484848\n}\n.ace-jsoneditor .ace_keyword.ace_other.ace_unit {\ncolor: #96DC5F\n}\n.ace-jsoneditor .ace_constant.ace_language {\ncolor: darkorange\n}\n.ace-jsoneditor .ace_constant.ace_numeric {\ncolor: red\n}\n.ace-jsoneditor .ace_constant.ace_character.ace_entity {\ncolor: #BF78CC\n}\n.ace-jsoneditor .ace_invalid {\ncolor: #FFFFFF;\nbackground-color: #FF002A;\n}\n.ace-jsoneditor .ace_fold {\nbackground-color: #AF956F;\nborder-color: #000000\n}\n.ace-jsoneditor .ace_storage,\n.ace-jsoneditor .ace_support.ace_class,\n.ace-jsoneditor .ace_support.ace_function,\n.ace-jsoneditor .ace_support.ace_other,\n.ace-jsoneditor .ace_support.ace_type {\ncolor: #C52727\n}\n.ace-jsoneditor .ace_string {\ncolor: green\n}\n.ace-jsoneditor .ace_comment {\ncolor: #BCC8BA\n}\n.ace-jsoneditor .ace_entity.ace_name.ace_tag,\n.ace-jsoneditor .ace_entity.ace_other.ace_attribute-name {\ncolor: #606060\n}\n.ace-jsoneditor .ace_markup.ace_underline {\ntext-decoration: underline\n}\n.ace-jsoneditor .ace_indent-guide {\nbackground: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y\n}',be("../lib/dom").importCssString(Ae.cssText,Ae.cssClass)}))},5736:function(be,Ae){var we;(we={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(be,Ae,we,xe,Se,ke,Te){var Ee=ke.length-1;switch(Se){case 1:this.$=be.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\v/g,"\v").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(be);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=ke[Ee-1];case 13:this.$={};break;case 14:case 19:this.$=ke[Ee-1];break;case 15:this.$=[ke[Ee-2],ke[Ee]];break;case 16:this.$={},this.$[ke[Ee][0]]=ke[Ee][1];break;case 17:this.$=ke[Ee-2],ke[Ee-2][ke[Ee][0]]=ke[Ee][1];break;case 18:this.$=[];break;case 20:this.$=[ke[Ee]];break;case 21:this.$=ke[Ee-2],ke[Ee-2].push(ke[Ee])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(be,Ae){throw new Error(be)},parse:function(be){var Ae=this,we=[0],xe=[null],Se=[],ke=this.table,Te="",Ee=0,Re=0,_e=0,$e=(this.lexer.setInput(be),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,void 0===this.lexer.yylloc&&(this.lexer.yylloc={}),this.lexer.yylloc);function d(){var be=Ae.lexer.lex()||1;return"number"!=typeof be&&Ae.symbols_[be]||be}Se.push($e),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var Le,Ne,Me,Be,We,Pe,He,Ge,Fe,Oe={};;){if(Me=we[we.length-1],void 0===(Be=this.defaultActions[Me]||(null==Le&&(Le=d()),ke[Me]&&ke[Me][Le]))||!Be.length||!Be[0]){if(!_e){for(We in Ge=[],ke[Me])this.terminals_[We]&&2<We&&Ge.push("'"+this.terminals_[We]+"'");var Ve="";Ve=this.lexer.showPosition?"Parse error on line "+(Ee+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+Ge.join(", ")+", got '"+this.terminals_[Le]+"'":"Parse error on line "+(Ee+1)+": Unexpected "+(1==Le?"end of input":"'"+(this.terminals_[Le]||Le)+"'"),this.parseError(Ve,{text:this.lexer.match,token:this.terminals_[Le]||Le,line:this.lexer.yylineno,loc:$e,expected:Ge})}if(3==_e){if(1==Le)throw new Error(Ve||"Parsing halted.");Re=this.lexer.yyleng,Te=this.lexer.yytext,Ee=this.lexer.yylineno,$e=this.lexer.yylloc,Le=d()}for(;!(2..toString()in ke[Me]);){if(0==Me)throw new Error(Ve||"Parsing halted.");Fe=1,we.length=we.length-2*Fe,xe.length=xe.length-Fe,Se.length=Se.length-Fe,Me=we[we.length-1]}Ne=Le,Le=2,Be=ke[Me=we[we.length-1]]&&ke[Me][2],_e=3}if(Be[0]instanceof Array&&1<Be.length)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+Le);switch(Be[0]){case 1:we.push(Le),xe.push(this.lexer.yytext),Se.push(this.lexer.yylloc),we.push(Be[1]),Le=null,Ne?(Le=Ne,Ne=null):(Re=this.lexer.yyleng,Te=this.lexer.yytext,Ee=this.lexer.yylineno,$e=this.lexer.yylloc,0<_e&&_e--);break;case 2:if(Pe=this.productions_[Be[1]][1],Oe.$=xe[xe.length-Pe],Oe._$={first_line:Se[Se.length-(Pe||1)].first_line,last_line:Se[Se.length-1].last_line,first_column:Se[Se.length-(Pe||1)].first_column,last_column:Se[Se.length-1].last_column},void 0!==(He=this.performAction.call(Oe,Te,Re,Ee,this.yy,Be[1],xe,Se)))return He;Pe&&(we=we.slice(0,-1*Pe*2),xe=xe.slice(0,-1*Pe),Se=Se.slice(0,-1*Pe)),we.push(this.productions_[Be[1]][0]),xe.push(Oe.$),Se.push(Oe._$),He=ke[we[we.length-2]][we[we.length-1]],we.push(He);break;case 3:return!0}}return!0}}).lexer={EOF:1,parseError:function(be,Ae){if(!this.yy.parseError)throw new Error(be);this.yy.parseError(be,Ae)},setInput:function(be){return this._input=be,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var be=this._input[0];return this.yytext+=be,this.yyleng++,this.match+=be,this.matched+=be,be.match(/\n/)&&this.yylineno++,this._input=this._input.slice(1),be},unput:function(be){return this._input=be+this._input,this},more:function(){return this._more=!0,this},less:function(be){this._input=this.match.slice(be)+this._input},pastInput:function(){var be=this.matched.substr(0,this.matched.length-this.match.length);return(20<be.length?"...":"")+be.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var be=this.match;return be.length<20&&(be+=this._input.substr(0,20-be.length)),(be.substr(0,20)+(20<be.length?"...":"")).replace(/\n/g,"")},showPosition:function(){var be=this.pastInput(),Ae=new Array(be.length+1).join("-");return be+this.upcomingInput()+"\n"+Ae+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var be,Ae,we,xe,Se=this._currentRules(),ke=0;ke<Se.length&&(!(Ae=this._input.match(this.rules[Se[ke]]))||be&&!(Ae[0].length>be[0].length)||(be=Ae,we=ke,this.options.flex));ke++);return be?((xe=be[0].match(/\n.*/g))&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-1:this.yylloc.last_column+be[0].length},this.yytext+=be[0],this.match+=be[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(be[0].length),this.matched+=be[0],xe=this.performAction.call(this,this.yy,this,Se[we],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xe||void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var be=this.next();return void 0!==be?be:this.lex()},begin:function(be){this.conditionStack.push(be)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(be){this.begin(be)},options:{},performAction:function(be,Ae,we,xe){switch(we){case 0:break;case 1:return 6;case 2:return Ae.yytext=Ae.yytext.substr(1,Ae.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}},Ae.parser=we,Ae.parse=we.parse.bind(we)},4772:function(be){function i(){}i.prototype={on:function(be,Ae){this._events=this._events||{},this._events[be]=this._events[be]||[],this._events[be].push(Ae)},off:function(be,Ae){this._events=this._events||{},be in this._events!=0&&this._events[be].splice(this._events[be].indexOf(Ae),1)},emit:function(be){if(this._events=this._events||{},be in this._events!=0)for(var Ae=0;Ae<this._events[be].length;Ae++)this._events[be][Ae].apply(this,Array.prototype.slice.call(arguments,1))}},i.mixin=function(be){for(var Ae=["on","off","emit"],we=0;we<Ae.length;we++)"function"==typeof be?be.prototype[Ae[we]]=i.prototype[Ae[we]]:be[Ae[we]]=i.prototype[Ae[we]];return be};var Ae={escapeRegExp:function(be){var Ae=/[\\^$.*+?()[\]{}|]/g,we=new RegExp(Ae.source);return be&&we.test(be)?be.replace(Ae,"\\$&"):be},extend:function(be,we){for(var xe in we){var Se;we.hasOwnProperty(xe)&&((Se=we[xe])&&"[object Object]"===Object.prototype.toString.call(Se)?(be[xe]=be[xe]||{},Ae.extend(be[xe],Se)):be[xe]=Se)}return be},each:function(be,Ae,we){if("[object Object]"===Object.prototype.toString.call(be))for(var xe in be)Object.prototype.hasOwnProperty.call(be,xe)&&Ae.call(we,xe,be[xe],be);else for(var Se=0,ke=be.length;Se<ke;Se++)Ae.call(we,Se,be[Se],be)},createElement:function(be,Ae){var we,xe=document.createElement(be);if(Ae&&"[object Object]"===Object.prototype.toString.call(Ae))for(we in Ae)we in xe?xe[we]=Ae[we]:"html"===we?xe.innerHTML=Ae[we]:xe.setAttribute(we,Ae[we]);return xe},hasClass:function(be,Ae){if(be)return be.classList?be.classList.contains(Ae):!!be.className&&!!be.className.match(new RegExp("(\\s|^)"+Ae+"(\\s|$)"))},addClass:function(be,we){Ae.hasClass(be,we)||(be.classList?be.classList.add(we):be.className=be.className.trim()+" "+we)},removeClass:function(be,we){Ae.hasClass(be,we)&&(be.classList?be.classList.remove(we):be.className=be.className.replace(new RegExp("(^|\\s)"+we.split(" ").join("|")+"(\\s|$)","gi")," "))},closest:function(be,we){return be&&be!==document.body&&(we(be)?be:Ae.closest(be.parentNode,we))},isInt:function(be){return"number"==typeof be&&isFinite(be)&&Math.floor(be)===be},debounce:function(be,Ae,we){var xe;return function(){var Se=this,ke=arguments,Te=we&&!xe;clearTimeout(xe),xe=setTimeout((function(){xe=null,we||be.apply(Se,ke)}),Ae),Te&&be.apply(Se,ke)}},rect:function(be,Ae){var we=window,xe=(be=be.getBoundingClientRect(),Ae?we.pageXOffset:0);return Ae=Ae?we.pageYOffset:0,{bottom:be.bottom+Ae,height:be.height,left:be.left+xe,right:be.right+xe,top:be.top+Ae,width:be.width}},includes:function(be,Ae){return-1<be.indexOf(Ae)},startsWith:function(be,Ae){return be.substr(0,Ae.length)===Ae},truncate:function(be){for(;be.firstChild;)be.removeChild(be.firstChild)}};function h(be,Ae){return be.hasOwnProperty(Ae)&&(!0===be[Ae]||be[Ae].length)}function g(be,we,xe){be.parentNode?be.parentNode.parentNode||we.appendChild(be.parentNode):we.appendChild(be),Ae.removeClass(be,"excluded"),xe||(be.textContent=be.textContent)}function o(){var be,we;this.items.length&&(be=document.createDocumentFragment(),this.config.pagination?(we=this.pages.slice(0,this.pageIndex),Ae.each(we,(function(we,xe){Ae.each(xe,(function(Ae,we){g(we,be,this.customOption)}),this)}),this)):Ae.each(this.items,(function(Ae,we){g(we,be,this.customOption)}),this),be.childElementCount&&(Ae.removeClass(this.items[this.navIndex],"active"),this.navIndex=(be.querySelector(".selectr-option.selected")||be.querySelector(".selectr-option")).idx,Ae.addClass(this.items[this.navIndex],"active")),this.tree.appendChild(be))}function d(be,we){we=we||be;var xe={class:"selectr-option",role:"treeitem","aria-selected":!1};return this.customOption?xe.html=this.config.renderOption(we):xe.textContent=be.textContent,(we=Ae.createElement("li",xe)).idx=be.idx,this.items.push(we),be.defaultSelected&&this.defaultSelected.push(be.idx),be.disabled&&(we.disabled=!0,Ae.addClass(we,"disabled")),we}function r(){var be,we=this.tree,xe=we.scrollTop;we.scrollHeight-we.offsetHeight<=xe&&this.pageIndex<this.pages.length&&(be=document.createDocumentFragment(),Ae.each(this.pages[this.pageIndex],(function(Ae,we){g(we,be,this.customOption)}),this),we.appendChild(be),this.pageIndex++,this.emit("selectr.paginate",{items:this.items.length,total:this.data.length,page:this.pageIndex,pages:this.pages.length}))}function s(){(this.config.searchable||this.config.taggable)&&(this.input.value=null,this.searching=!1,this.config.searchable&&Ae.removeClass(this.inputContainer,"active"),Ae.hasClass(this.container,"notice")&&(Ae.removeClass(this.container,"notice"),Ae.addClass(this.container,"open"),this.input.focus()),Ae.each(this.items,(function(be,we){Ae.removeClass(we,"excluded"),this.customOption||(we.textContent=we.textContent)}),this))}function t(be,Ae){if(!be)throw new Error("You must supply either a HTMLSelectElement or a CSS3 selector string.");if("string"==typeof(this.el=be)&&(this.el=document.querySelector(be)),null===this.el)throw new Error("The element you passed to Selectr can not be found.");if("select"!==this.el.nodeName.toLowerCase())throw new Error("The element you passed to Selectr is not a HTMLSelectElement.");this.render(Ae)}t.prototype.render=function(be){var we;this.rendered||((this.el.selectr=this).config=Ae.extend({defaultSelected:!0,width:"auto",disabled:!1,disabledMobile:!1,searchable:!0,clearable:!1,sortSelected:!1,allowDeselect:!1,closeOnScroll:!1,nativeDropdown:!1,nativeKeyboard:!1,placeholder:"Select an option...",taggable:!1,tagPlaceholder:"Enter a tag...",messages:{noResults:"No results.",noOptions:"No options available.",maxSelections:"A maximum of {max} items can be selected.",tagDuplicate:"That tag is already in use.",searchPlaceholder:"Search options..."}},be),this.originalType=this.el.type,this.originalIndex=this.el.tabIndex,this.defaultSelected=[],this.originalOptionCount=this.el.options.length,(this.config.multiple||this.config.taggable)&&(this.el.multiple=!0),this.disabled=h(this.config,"disabled"),this.opened=!1,this.config.taggable&&(this.config.searchable=!1),this.navigating=!1,this.mobileDevice=!1,!this.config.disabledMobile&&/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent)&&(this.mobileDevice=!0),this.customOption=this.config.hasOwnProperty("renderOption")&&"function"==typeof this.config.renderOption,this.customSelected=this.config.hasOwnProperty("renderSelection")&&"function"==typeof this.config.renderSelection,this.supportsEventPassiveOption=this.detectEventPassiveOption(),i.mixin(this),function(){this.requiresPagination=this.config.pagination&&0<this.config.pagination,h(this.config,"width")&&(Ae.isInt(this.config.width)?this.width=this.config.width+"px":"auto"===this.config.width?this.width="100%":Ae.includes(this.config.width,"%")&&(this.width=this.config.width)),this.container=Ae.createElement("div",{class:"selectr-container"}),this.config.customClass&&Ae.addClass(this.container,this.config.customClass),this.mobileDevice?Ae.addClass(this.container,"selectr-mobile"):Ae.addClass(this.container,"selectr-desktop"),this.el.tabIndex=-1,this.config.nativeDropdown||this.mobileDevice?Ae.addClass(this.el,"selectr-visible"):Ae.addClass(this.el,"selectr-hidden"),this.selected=Ae.createElement("div",{class:"selectr-selected",disabled:this.disabled,tabIndex:0,"aria-expanded":!1}),this.label=Ae.createElement(this.el.multiple?"ul":"span",{class:"selectr-label"});var be=Ae.createElement("div",{class:"selectr-options-container"});if(this.tree=Ae.createElement("ul",{class:"selectr-options",role:"tree","aria-hidden":!0,"aria-expanded":!1}),this.notice=Ae.createElement("div",{class:"selectr-notice"}),this.el.setAttribute("aria-hidden",!0),this.disabled&&(this.el.disabled=!0),this.el.multiple?(Ae.addClass(this.label,"selectr-tags"),Ae.addClass(this.container,"multiple"),this.tags=[],this.selectedValues=this.config.defaultSelected?this.getSelectedProperties("value"):[],this.selectedIndexes=this.getSelectedProperties("idx")):(this.selectedValue=null,this.selectedIndex=-1),this.selected.appendChild(this.label),this.config.clearable&&(this.selectClear=Ae.createElement("button",{class:"selectr-clear",type:"button"}),this.container.appendChild(this.selectClear),Ae.addClass(this.container,"clearable")),this.config.taggable){var we=Ae.createElement("li",{class:"input-tag"});if(this.input=Ae.createElement("input",{class:"selectr-tag-input",placeholder:this.config.tagPlaceholder,tagIndex:0,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"textbox",type:"search"}),we.appendChild(this.input),this.label.appendChild(we),Ae.addClass(this.container,"taggable"),this.tagSeperators=[","],this.config.tagSeperators){this.tagSeperators=this.tagSeperators.concat(this.config.tagSeperators);for(var xe=[],Se=0;Se<this.tagSeperators.length;Se++)xe.push(Ae.escapeRegExp(this.tagSeperators[Se]));this.tagSeperatorsRegex=new RegExp(xe.join("|"),"i")}else this.tagSeperatorsRegex=new RegExp(",","i")}this.config.searchable&&(this.input=Ae.createElement("input",{class:"selectr-input",tagIndex:-1,autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"textbox",type:"search",placeholder:this.config.messages.searchPlaceholder}),this.inputClear=Ae.createElement("button",{class:"selectr-input-clear",type:"button"}),this.inputContainer=Ae.createElement("div",{class:"selectr-input-container"}),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(this.inputClear),be.appendChild(this.inputContainer)),be.appendChild(this.notice),be.appendChild(this.tree),this.items=[],this.options=[],this.el.options.length&&(this.options=[].slice.call(this.el.options));var ke,Te,Ee,Re=!1,_e=0;this.el.children.length&&Ae.each(this.el.children,(function(be,we){"OPTGROUP"===we.nodeName?(Re=Ae.createElement("ul",{class:"selectr-optgroup",role:"group",html:"<li class='selectr-optgroup--label'>"+we.label+"</li>"}),Ae.each(we.children,(function(be,Ae){Ae.idx=_e,Re.appendChild(d.call(this,Ae,Re)),_e++}),this)):(we.idx=_e,d.call(this,we),_e++)}),this),this.config.data&&Array.isArray(this.config.data)&&(ke=!(this.data=[]),Re=!1,_e=0,Ae.each(this.config.data,(function(be,we){h(we,"children")?(ke=Ae.createElement("optgroup",{label:we.text}),Re=Ae.createElement("ul",{class:"selectr-optgroup",role:"group",html:"<li class='selectr-optgroup--label'>"+we.text+"</li>"}),Ae.each(we.children,(function(be,Ae){(Te=new Option(Ae.text,Ae.value,!1,Ae.hasOwnProperty("selected")&&!0===Ae.selected)).disabled=h(Ae,"disabled"),this.options.push(Te),ke.appendChild(Te),Te.idx=_e,Re.appendChild(d.call(this,Te,Ae)),this.data[_e]=Ae,_e++}),this),this.el.appendChild(ke)):((Te=new Option(we.text,we.value,!1,we.hasOwnProperty("selected")&&!0===we.selected)).disabled=h(we,"disabled"),this.options.push(Te),Te.idx=_e,d.call(this,Te,we),this.data[_e]=we,_e++)}),this)),this.setSelected(!0);for(var $e=this.navIndex=0;$e<this.items.length;$e++)if(Ee=this.items[$e],!Ae.hasClass(Ee,"disabled")){Ae.addClass(Ee,"active"),this.navIndex=$e;break}this.requiresPagination&&(this.pageIndex=1,this.paginate()),this.container.appendChild(this.selected),this.container.appendChild(be),this.placeEl=Ae.createElement("div",{class:"selectr-placeholder"}),this.setPlaceholder(),this.selected.appendChild(this.placeEl),this.disabled&&this.disable(),this.el.parentNode.insertBefore(this.container,this.el),this.container.appendChild(this.el)}.call(this),this.bindEvents(),this.update(),this.optsRect=Ae.rect(this.tree),this.rendered=!0,this.el.multiple||(this.el.selectedIndex=this.selectedIndex),we=this,setTimeout((function(){we.emit("selectr.init")}),20))},t.prototype.getSelected=function(){return this.el.querySelectorAll("option:checked")},t.prototype.getSelectedProperties=function(be){var Ae=this.getSelected();return[].slice.call(Ae).map((function(Ae){return Ae[be]})).filter((function(be){return null!=be}))},t.prototype.detectEventPassiveOption=function(){var be=!1;try{var Ae=Object.defineProperty({},"passive",{get:function(){be=!0}});window.addEventListener("test",null,Ae)}catch(be){}return be},t.prototype.bindEvents=function(){var be,we=this;this.events={},this.events.dismiss=function(be){be=be.target,this.container.contains(be)||!this.opened&&!Ae.hasClass(this.container,"notice")||this.close()}.bind(this),this.events.navigate=function(be){if(be=be||window.event,this.items.length&&this.opened&&Ae.includes([13,38,40],be.which)){if(be.preventDefault(),13===be.which)return!(this.noResults||this.config.taggable&&0<this.input.value.length)&&this.change(this.navIndex);var we,xe=this.items[this.navIndex],Se=this.navIndex;switch(be.which){case 38:(we=0)<this.navIndex&&this.navIndex--;break;case 40:this.navIndex<this.items.length-(we=1)&&this.navIndex++}for(this.navigating=!0;Ae.hasClass(this.items[this.navIndex],"disabled")||Ae.hasClass(this.items[this.navIndex],"excluded");){if(!(0<this.navIndex&&this.navIndex<this.items.length-1)){this.navIndex=Se;break}if(we?this.navIndex++:this.navIndex--,this.searching){if(this.navIndex>this.tree.lastElementChild.idx){this.navIndex=this.tree.lastElementChild.idx;break}if(this.navIndex<this.tree.firstElementChild.idx){this.navIndex=this.tree.firstElementChild.idx;break}}}be=Ae.rect(this.items[this.navIndex]),we?(0===this.navIndex?this.tree.scrollTop=0:be.top+be.height>this.optsRect.top+this.optsRect.height&&(this.tree.scrollTop=this.tree.scrollTop+(be.top+be.height-(this.optsRect.top+this.optsRect.height))),this.navIndex===this.tree.childElementCount-1&&this.requiresPagination&&r.call(this)):0===this.navIndex?this.tree.scrollTop=0:be.top-this.optsRect.top<0&&(this.tree.scrollTop=this.tree.scrollTop+(be.top-this.optsRect.top)),xe&&Ae.removeClass(xe,"active"),Ae.addClass(this.items[this.navIndex],"active")}else this.navigating=!1}.bind(this),this.events.reset=this.reset.bind(this),(this.config.nativeDropdown||this.mobileDevice)&&(this.container.addEventListener("touchstart",(function(be){be.changedTouches[0].target===we.el&&we.toggle()}),!!this.supportsEventPassiveOption&&{passive:!0}),this.container.addEventListener("click",(function(be){be.target===we.el&&we.toggle()})),this.el.addEventListener("change",(function(be){be.__selfTriggered||(we.el.multiple?(be=we.getSelectedProperties("idx"),be=function(be,Ae){for(var we,xe=[],Se=be.slice(0),ke=0;ke<Ae.length;ke++)-1<(we=Se.indexOf(Ae[ke]))?Se.splice(we,1):xe.push(Ae[ke]);return[xe,Se]}(we.selectedIndexes,be),Ae.each(be[0],(function(be,Ae){we.select(Ae)}),we),Ae.each(be[1],(function(be,Ae){we.deselect(Ae)}),we)):-1<we.el.selectedIndex&&we.select(we.el.selectedIndex))}))),this.config.nativeDropdown&&this.container.addEventListener("keydown",(function(be){"Enter"===be.key&&we.selected===document.activeElement&&(we.toggle(),setTimeout((function(){we.el.focus()}),200))})),this.selected.addEventListener("click",(function(be){we.disabled||we.toggle(),be.preventDefault()})),this.config.nativeKeyboard&&(be="",this.selected.addEventListener("keydown",(function(Ae){var xe;we.disabled||we.selected!==document.activeElement||Ae.altKey||Ae.ctrlKey||Ae.metaKey||(" "===Ae.key||!we.opened&&-1<["Enter","ArrowUp","ArrowDown"].indexOf(Ae.key)?(we.toggle(),Ae.preventDefault(),Ae.stopPropagation()):Ae.key.length<=2&&String[String.fromCodePoint?"fromCodePoint":"fromCharCode"](Ae.key[String.codePointAt?"codePointAt":"charCodeAt"](0))===Ae.key&&(we.config.multiple?(we.open(),we.config.searchable&&(we.input.value=Ae.key,we.input.focus(),we.search(null,!0))):(be+=Ae.key,(xe=we.search(be,!0))&&xe.length&&(we.clear(),we.setValue(xe[0].value)),setTimeout((function(){be=""}),1e3)),Ae.preventDefault(),Ae.stopPropagation()))})),this.container.addEventListener("keyup",(function(be){we.opened&&"Escape"===be.key&&(we.close(),be.stopPropagation(),we.selected.focus())}))),this.label.addEventListener("click",(function(be){Ae.hasClass(be.target,"selectr-tag-remove")&&we.deselect(be.target.parentNode.idx)})),this.selectClear&&this.selectClear.addEventListener("click",this.clear.bind(this)),this.tree.addEventListener("mousedown",(function(be){be.preventDefault()})),this.tree.addEventListener("click",(function(be){var xe=Ae.closest(be.target,(function(be){return be&&Ae.hasClass(be,"selectr-option")}));xe&&!Ae.hasClass(xe,"disabled")&&(Ae.hasClass(xe,"selected")?(we.el.multiple||!we.el.multiple&&we.config.allowDeselect)&&we.deselect(xe.idx):we.select(xe.idx),we.opened&&!we.el.multiple)&&we.close(),be.preventDefault(),be.stopPropagation()})),this.tree.addEventListener("mouseover",(function(be){!Ae.hasClass(be.target,"selectr-option")||Ae.hasClass(be.target,"disabled")||(Ae.removeClass(we.items[we.navIndex],"active"),Ae.addClass(be.target,"active"),we.navIndex=[].slice.call(we.items).indexOf(be.target))})),this.config.searchable&&(this.input.addEventListener("focus",(function(be){we.searching=!0})),this.input.addEventListener("blur",(function(be){we.searching=!1})),this.input.addEventListener("keyup",(function(be){we.search(),we.config.taggable||(this.value.length?Ae.addClass(this.parentNode,"active"):Ae.removeClass(this.parentNode,"active"))})),this.inputClear.addEventListener("click",(function(be){we.input.value=null,s.call(we),we.tree.childElementCount||o.call(we)}))),this.config.taggable&&this.input.addEventListener("keyup",(function(be){var xe,Se;we.search(),we.config.taggable&&this.value.length&&(xe=this.value.trim()).length&&(13===be.which||we.tagSeperatorsRegex.test(xe))&&(be=xe.replace(we.tagSeperatorsRegex,""),(Se=(be=(be=Ae.escapeRegExp(be)).trim()).length?we.add({value:be,textContent:be,selected:!0},!0):Se)?(we.close(),s.call(we)):(this.value="",we.setMessage(we.config.messages.tagDuplicate)))})),this.update=Ae.debounce((function(){we.opened&&we.config.closeOnScroll&&we.close(),we.width&&(we.container.style.width=we.width),we.invert()}),50),this.requiresPagination&&(this.paginateItems=Ae.debounce((function(){r.call(this)}),50),this.tree.addEventListener("scroll",this.paginateItems.bind(this))),document.addEventListener("click",this.events.dismiss),window.addEventListener("keydown",this.events.navigate),window.addEventListener("resize",this.update),window.addEventListener("scroll",this.update),this.on("selectr.destroy",(function(){document.removeEventListener("click",this.events.dismiss),window.removeEventListener("keydown",this.events.navigate),window.removeEventListener("resize",this.update),window.removeEventListener("scroll",this.update)})),this.el.form&&(this.el.form.addEventListener("reset",this.events.reset),this.on("selectr.destroy",(function(){this.el.form.removeEventListener("reset",this.events.reset)})))},t.prototype.setSelected=function(be){var we;this.config.data||this.el.multiple||!this.el.options.length||(0!==this.el.selectedIndex||this.el.options[0].defaultSelected||this.config.defaultSelected||(this.el.selectedIndex=-1),this.selectedIndex=this.el.selectedIndex,-1<this.selectedIndex&&this.select(this.selectedIndex)),this.config.multiple&&"select-one"===this.originalType&&!this.config.data&&this.el.options[0].selected&&!this.el.options[0].defaultSelected&&(this.el.options[0].selected=!1),Ae.each(this.options,(function(be,Ae){Ae.selected&&Ae.defaultSelected&&this.select(Ae.idx)}),this),this.config.selectedValue&&this.setValue(this.config.selectedValue),this.config.data&&(!this.el.multiple&&this.config.defaultSelected&&this.el.selectedIndex<0&&0<this.config.data.length&&this.select(0),we=0,Ae.each(this.config.data,(function(be,xe){h(xe,"children")?Ae.each(xe.children,(function(be,Ae){Ae.hasOwnProperty("selected")&&!0===Ae.selected&&this.select(we),we++}),this):(xe.hasOwnProperty("selected")&&!0===xe.selected&&this.select(we),we++)}),this))},t.prototype.destroy=function(){this.rendered&&(this.emit("selectr.destroy"),"select-one"===this.originalType&&(this.el.multiple=!1),this.config.data&&(this.el.innerHTML=""),Ae.removeClass(this.el,"selectr-hidden"),this.container.parentNode.replaceChild(this.el,this.container),this.rendered=!1,delete this.el.selectr)},t.prototype.change=function(be){var we=this.items[be],xe=this.options[be];xe.disabled||(xe.selected&&Ae.hasClass(we,"selected")?this.deselect(be):this.select(be),this.opened&&!this.el.multiple&&this.close())},t.prototype.select=function(be){var we=this.items[be],xe=[].slice.call(this.el.options),Se=this.options[be];if(this.el.multiple){if(Ae.includes(this.selectedIndexes,be))return!1;if(this.config.maxSelections&&this.tags.length===this.config.maxSelections)return this.setMessage(this.config.messages.maxSelections.replace("{max}",this.config.maxSelections),!0),!1;this.selectedValues.push(Se.value),this.selectedIndexes.push(be),function(be){var we,xe=this,Se=document.createDocumentFragment(),ke=this.options[be.idx],Te=this.data?this.data[be.idx]:ke,Ee={class:"selectr-tag"};this.customSelected?Ee.html=this.config.renderSelection(Te):Ee.textContent=ke.textContent,Te=Ae.createElement("li",Ee),Ee=Ae.createElement("button",{class:"selectr-tag-remove",type:"button"}),Te.appendChild(Ee),Te.idx=be.idx,Te.tag=ke.value,this.tags.push(Te),this.config.sortSelected?(Ee=this.tags.slice(),we=function(be,Ae){be.replace(/(\d+)|(\D+)/g,(function(be,we,xe){Ae.push([we||1/0,xe||""])}))},Ee.sort((function(be,Ae){var Se,ke,Te=[],Ee=[];for(!0===xe.config.sortSelected?(Se=be.tag,ke=Ae.tag):"text"===xe.config.sortSelected&&(Se=be.textContent,ke=Ae.textContent),we(Se,Te),we(ke,Ee);Te.length&&Ee.length;){var Re=Te.shift(),_e=Ee.shift();if(Re=Re[0]-_e[0]||Re[1].localeCompare(_e[1]))return Re}return Te.length-Ee.length})),Ae.each(Ee,(function(be,Ae){Se.appendChild(Ae)})),this.label.innerHTML=""):Se.appendChild(Te),this.config.taggable?this.label.insertBefore(Se,this.input.parentNode):this.label.appendChild(Se)}.call(this,we)}else{var ke=this.data?this.data[be]:Se;this.customSelected?this.label.innerHTML=this.config.renderSelection(ke):this.label.textContent=Se.textContent,this.selectedValue=Se.value,this.selectedIndex=be,Ae.each(this.options,(function(we,xe){var Se=this.items[we];we!==be&&(Se&&Ae.removeClass(Se,"selected"),xe.selected=!1,xe.removeAttribute("selected"))}),this)}Ae.includes(xe,Se)||this.el.add(Se),we.setAttribute("aria-selected",!0),Ae.addClass(we,"selected"),Ae.addClass(this.container,"has-selected"),Se.selected=!0,Se.setAttribute("selected",""),this.emit("selectr.change",Se),this.emit("selectr.select",Se),"createEvent"in document?((ke=document.createEvent("HTMLEvents")).initEvent("change",!0,!0),ke.__selfTriggered=!0,this.el.dispatchEvent(ke)):this.el.fireEvent("onchange")},t.prototype.deselect=function(be,we){var xe=this.items[be],Se=this.options[be];if(this.el.multiple){var ke=this.selectedIndexes.indexOf(be);this.selectedIndexes.splice(ke,1),ke=this.selectedValues.indexOf(Se.value),this.selectedValues.splice(ke,1),function(be){var we=!1;Ae.each(this.tags,(function(Ae,xe){xe.idx===be.idx&&(we=xe)}),this),we&&(this.label.removeChild(we),this.tags.splice(this.tags.indexOf(we),1))}.call(this,xe),this.tags.length||Ae.removeClass(this.container,"has-selected")}else{if(!we&&!this.config.clearable&&!this.config.allowDeselect)return!1;this.label.innerHTML="",this.selectedValue=null,this.el.selectedIndex=this.selectedIndex=-1,Ae.removeClass(this.container,"has-selected")}this.items[be].setAttribute("aria-selected",!1),Ae.removeClass(this.items[be],"selected"),Se.selected=!1,Se.removeAttribute("selected"),this.emit("selectr.change",null),this.emit("selectr.deselect",Se),"createEvent"in document?((ke=document.createEvent("HTMLEvents")).initEvent("change",!0,!0),ke.__selfTriggered=!0,this.el.dispatchEvent(ke)):this.el.fireEvent("onchange")},t.prototype.setValue=function(be){var we=Array.isArray(be);if(we||(be=be.toString().trim()),!this.el.multiple&&we)return!1;Ae.each(this.options,(function(Ae,xe){(we&&-1<be.indexOf(xe.value)||xe.value===be)&&this.change(xe.idx)}),this)},t.prototype.getValue=function(be,we){var xe,Se;return this.el.multiple?be?this.selectedIndexes.length&&(Se={values:[]},Ae.each(this.selectedIndexes,(function(be,Ae){Ae=this.options[Ae],Se.values[be]={value:Ae.value,text:Ae.textContent}}),this)):Se=this.selectedValues.slice():Se=be?{value:(xe=this.options[this.selectedIndex]).value,text:xe.textContent}:this.selectedValue,Se=be&&we?JSON.stringify(Se):Se},t.prototype.add=function(be,we){if(be){if(this.data=this.data||[],this.items=this.items||[],this.options=this.options||[],Array.isArray(be))Ae.each(be,(function(be,Ae){this.add(Ae,we)}),this);else if("[object Object]"===Object.prototype.toString.call(be)){if(we){var xe=!1;if(Ae.each(this.options,(function(Ae,we){we.value.toLowerCase()===be.value.toLowerCase()&&(xe=!0)})),xe)return!1}var Se=Ae.createElement("option",be);return this.data.push(be),this.mobileDevice&&this.el.add(Se),this.options.push(Se),Se.idx=0<this.options.length?this.options.length-1:0,d.call(this,Se),be.selected&&this.select(Se.idx),this.setPlaceholder(),Se}return this.config.pagination&&this.paginate(),!0}},t.prototype.remove=function(be){var we,xe=[];Array.isArray(be)?Ae.each(be,(function(be,we){Ae.isInt(we)?xe.push(this.getOptionByIndex(we)):"string"==typeof we&&xe.push(this.getOptionByValue(we))}),this):Ae.isInt(be)?xe.push(this.getOptionByIndex(be)):"string"==typeof be&&xe.push(this.getOptionByValue(be)),xe.length&&(Ae.each(xe,(function(be,xe){we=xe.idx,this.el.remove(xe),this.options.splice(we,1),(xe=this.items[we].parentNode)&&xe.removeChild(this.items[we]),this.items.splice(we,1),Ae.each(this.options,(function(be,Ae){Ae.idx=be,this.items[be].idx=be}),this)}),this),this.setPlaceholder(),this.config.pagination)&&this.paginate()},t.prototype.removeAll=function(){this.clear(!0),Ae.each(this.el.options,(function(be,Ae){this.el.remove(Ae)}),this),Ae.truncate(this.tree),this.items=[],this.options=[],this.data=[],this.navIndex=0,this.requiresPagination&&(this.requiresPagination=!1,this.pageIndex=1,this.pages=[]),this.setPlaceholder()},t.prototype.search=function(be,we){var xe,Se,ke,Te,Ee;if(!this.navigating)return xe=!1,be||(be=this.input.value,xe=!0,this.removeMessage(),Ae.truncate(this.tree)),Se=[],ke=document.createDocumentFragment(),0<(be=be.trim().toLowerCase()).length?(Te=we?Ae.startsWith:Ae.includes,Ae.each(this.options,(function(we,Ee){var Re,_e,$e,Le,Ne=this.items[Ee.idx];Te(Ee.textContent.trim().toLowerCase(),be)&&!Ee.disabled?(Se.push({text:Ee.textContent,value:Ee.value}),xe&&(g(Ne,ke,this.customOption),Ae.removeClass(Ne,"excluded"),!this.customOption)&&(Re=be,$e=Ee.textContent,Le=(Re=new RegExp(Re,"ig")).exec($e))&&(Ee.innerHTML="",(_e=document.createElement("span")).classList.add("selectr-match"),_e.textContent=Le[0],Ee.appendChild(document.createTextNode($e.substring(0,Le.index))),Ee.appendChild(_e),Ee.appendChild(document.createTextNode($e.substring(Re.lastIndex))))):xe&&Ae.addClass(Ne,"excluded")}),this),xe&&(ke.childElementCount?(we=this.items[this.navIndex],Ee=ke.querySelector(".selectr-option:not(.excluded)"),this.noResults=!1,Ae.removeClass(we,"active"),this.navIndex=Ee.idx,Ae.addClass(Ee,"active")):this.config.taggable||(this.noResults=!0,this.setMessage(this.config.messages.noResults)),this.tree.appendChild(ke))):o.call(this),Se},t.prototype.toggle=function(){this.disabled||(this.opened?this.close():this.open())},t.prototype.open=function(){var be=this;if(!this.options.length)return!1;this.opened||this.emit("selectr.open"),this.opened=!0,this.mobileDevice||this.config.nativeDropdown?(Ae.addClass(this.container,"native-open"),this.config.data&&Ae.each(this.options,(function(be,Ae){this.el.add(Ae)}),this)):(Ae.addClass(this.container,"open"),o.call(this),this.invert(),this.tree.scrollTop=0,Ae.removeClass(this.container,"notice"),this.selected.setAttribute("aria-expanded",!0),this.tree.setAttribute("aria-hidden",!1),this.tree.setAttribute("aria-expanded",!0),this.config.searchable&&!this.config.taggable&&setTimeout((function(){be.input.focus(),be.input.tabIndex=0}),10))},t.prototype.close=function(){var be;this.opened&&this.emit("selectr.close"),this.opened=!1,this.navigating=!1,this.mobileDevice||this.config.nativeDropdown?Ae.removeClass(this.container,"native-open"):(be=Ae.hasClass(this.container,"notice"),this.config.searchable&&!be&&(this.input.blur(),this.input.tabIndex=-1,this.searching=!1),be&&(Ae.removeClass(this.container,"notice"),this.notice.textContent=""),Ae.removeClass(this.container,"open"),Ae.removeClass(this.container,"native-open"),this.selected.setAttribute("aria-expanded",!1),this.tree.setAttribute("aria-hidden",!0),this.tree.setAttribute("aria-expanded",!1),Ae.truncate(this.tree),s.call(this))},t.prototype.enable=function(){this.disabled=!1,this.el.disabled=!1,this.selected.tabIndex=this.originalIndex,this.el.multiple&&Ae.each(this.tags,(function(be,Ae){Ae.lastElementChild.tabIndex=0})),Ae.removeClass(this.container,"selectr-disabled")},t.prototype.disable=function(be){be||(this.el.disabled=!0),this.selected.tabIndex=-1,this.el.multiple&&Ae.each(this.tags,(function(be,Ae){Ae.lastElementChild.tabIndex=-1})),this.disabled=!0,Ae.addClass(this.container,"selectr-disabled")},t.prototype.reset=function(){this.disabled||(this.clear(),this.setSelected(!0),Ae.each(this.defaultSelected,(function(be,Ae){this.select(Ae)}),this),this.emit("selectr.reset"))},t.prototype.clear=function(be,we){var xe;this.el.multiple?this.selectedIndexes.length&&(xe=this.selectedIndexes.slice(),we?this.deselect(xe.slice(-1)[0]):Ae.each(xe,(function(be,Ae){this.deselect(Ae)}),this)):-1<this.selectedIndex&&this.deselect(this.selectedIndex,be),this.emit("selectr.clear")},t.prototype.serialise=function(be){var we=[];return Ae.each(this.options,(function(be,Ae){var xe={value:Ae.value,text:Ae.textContent};Ae.selected&&(xe.selected=!0),Ae.disabled&&(xe.disabled=!0),we[be]=xe})),be?JSON.stringify(we):we},t.prototype.serialize=function(be){return this.serialise(be)},t.prototype.setPlaceholder=function(be){be=be||this.config.placeholder||this.el.getAttribute("placeholder"),this.options.length||(be=this.config.messages.noOptions),this.placeEl.innerHTML=be},t.prototype.paginate=function(){var be;if(this.items.length)return(be=this).pages=this.items.map((function(Ae,we){return we%be.config.pagination==0?be.items.slice(we,we+be.config.pagination):null})).filter((function(be){return be})),this.pages},t.prototype.setMessage=function(be,we){we&&this.close(),Ae.addClass(this.container,"notice"),this.notice.textContent=be},t.prototype.removeMessage=function(){Ae.removeClass(this.container,"notice"),this.notice.innerHTML=""},t.prototype.invert=function(){var be=Ae.rect(this.selected),we=this.tree.parentNode.offsetHeight,xe=window.innerHeight;be.top+be.height+we>xe?(Ae.addClass(this.container,"inverted"),this.isInverted=!0):(Ae.removeClass(this.container,"inverted"),this.isInverted=!1),this.optsRect=Ae.rect(this.tree)},t.prototype.getOptionByIndex=function(be){return this.options[be]},t.prototype.getOptionByValue=function(be){for(var Ae=!1,we=0,xe=this.options.length;we<xe;we++)if(this.options[we].value.trim()===be.toString().trim()){Ae=this.options[we];break}return Ae},be.exports=t},660:function(be,Ae,we){we.d(Ae,{Oq:function(){return Se},SC:function(){return Te},ai:function(){return xe},hJ:function(){return ke}});var xe=document.body,Se=10485760,ke=2e4,Te=2147483648},1925:function(be,Ae,we){we.d(Ae,{p:function(){return i}});var xe=we(6237);function i(be,Ae,we){var Se,ke=3<arguments.length&&void 0!==arguments[3]&&arguments[3],Te="function"==typeof(Re=be).getRootNode?Re.getRootNode():window,Ee={},Re=be.getBoundingClientRect(),_e=Ae.getBoundingClientRect(),$e=document.createElement("div");function h(){if($e&&$e.parentNode){for(var Ae in $e.parentNode.removeChild($e),Ee)Se=Ae,Object.prototype.hasOwnProperty.call(Ee,Se)&&((Se=Ee[Ae])&&(0,xe.removeEventListener)(Te,Ae,Se),delete Ee[Ae]);"function"==typeof we&&we(be)}var Se}function d(be){(be=be.target)===$e||(0,xe.isChildOf)(be,$e)||h()}return $e.className="jsoneditor-anchor",$e.style.position="absolute",$e.style.left=Re.left-_e.left+"px",$e.style.top=Re.top-_e.top+"px",$e.style.width=Re.width-2+"px",$e.style.height=Re.height-2+"px",$e.style.boxSizing="border-box",Ae.appendChild($e),Ee.mousedown=(0,xe.addEventListener)(Te,"mousedown",d),Ee.mousewheel=(0,xe.addEventListener)(Te,"mousewheel",d),ke&&(Se=null,$e.onmouseover=function(){clearTimeout(Se),Se=null},$e.onmouseout=function(){Se=Se||setTimeout(h,200)}),$e.destroy=h,$e}},5477:function(be){be.exports="data:application/javascript;base64,Im5vIHVzZSBzdHJpY3QiOwohKGZ1bmN0aW9uKHdpbmRvdykgewppZiAodHlwZW9mIHdpbmRvdy53aW5kb3cgIT0gInVuZGVmaW5lZCIgJiYgd2luZG93LmRvY3VtZW50KQogICAgcmV0dXJuOwppZiAod2luZG93LnJlcXVpcmUgJiYgd2luZG93LmRlZmluZSkKICAgIHJldHVybjsKCmlmICghd2luZG93LmNvbnNvbGUpIHsKICAgIHdpbmRvdy5jb25zb2xlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG1zZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwogICAgICAgIHBvc3RNZXNzYWdlKHt0eXBlOiAibG9nIiwgZGF0YTogbXNnc30pOwogICAgfTsKICAgIHdpbmRvdy5jb25zb2xlLmVycm9yID0KICAgIHdpbmRvdy5jb25zb2xlLndhcm4gPSAKICAgIHdpbmRvdy5jb25zb2xlLmxvZyA9CiAgICB3aW5kb3cuY29uc29sZS50cmFjZSA9IHdpbmRvdy5jb25zb2xlOwp9CndpbmRvdy53aW5kb3cgPSB3aW5kb3c7CndpbmRvdy5hY2UgPSB3aW5kb3c7Cgp3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UsIGZpbGUsIGxpbmUsIGNvbCwgZXJyKSB7CiAgICBwb3N0TWVzc2FnZSh7dHlwZTogImVycm9yIiwgZGF0YTogewogICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsCiAgICAgICAgZGF0YTogZXJyICYmIGVyci5kYXRhLAogICAgICAgIGZpbGU6IGZpbGUsCiAgICAgICAgbGluZTogbGluZSwgCiAgICAgICAgY29sOiBjb2wsCiAgICAgICAgc3RhY2s6IGVyciAmJiBlcnIuc3RhY2sKICAgIH19KTsKfTsKCndpbmRvdy5ub3JtYWxpemVNb2R1bGUgPSBmdW5jdGlvbihwYXJlbnRJZCwgbW9kdWxlTmFtZSkgewogICAgLy8gbm9ybWFsaXplIHBsdWdpbiByZXF1aXJlcwogICAgaWYgKG1vZHVsZU5hbWUuaW5kZXhPZigiISIpICE9PSAtMSkgewogICAgICAgIHZhciBjaHVua3MgPSBtb2R1bGVOYW1lLnNwbGl0KCIhIik7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5ub3JtYWxpemVNb2R1bGUocGFyZW50SWQsIGNodW5rc1swXSkgKyAiISIgKyB3aW5kb3cubm9ybWFsaXplTW9kdWxlKHBhcmVudElkLCBjaHVua3NbMV0pOwogICAgfQogICAgLy8gbm9ybWFsaXplIHJlbGF0aXZlIHJlcXVpcmVzCiAgICBpZiAobW9kdWxlTmFtZS5jaGFyQXQoMCkgPT0gIi4iKSB7CiAgICAgICAgdmFyIGJhc2UgPSBwYXJlbnRJZC5zcGxpdCgiLyIpLnNsaWNlKDAsIC0xKS5qb2luKCIvIik7CiAgICAgICAgbW9kdWxlTmFtZSA9IChiYXNlID8gYmFzZSArICIvIiA6ICIiKSArIG1vZHVsZU5hbWU7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKG1vZHVsZU5hbWUuaW5kZXhPZigiLiIpICE9PSAtMSAmJiBwcmV2aW91cyAhPSBtb2R1bGVOYW1lKSB7CiAgICAgICAgICAgIHZhciBwcmV2aW91cyA9IG1vZHVsZU5hbWU7CiAgICAgICAgICAgIG1vZHVsZU5hbWUgPSBtb2R1bGVOYW1lLnJlcGxhY2UoL15cLlwvLywgIiIpLnJlcGxhY2UoL1wvXC5cLy8sICIvIikucmVwbGFjZSgvW15cL10rXC9cLlwuXC8vLCAiIik7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbW9kdWxlTmFtZTsKfTsKCndpbmRvdy5yZXF1aXJlID0gZnVuY3Rpb24gcmVxdWlyZShwYXJlbnRJZCwgaWQpIHsKICAgIGlmICghaWQpIHsKICAgICAgICBpZCA9IHBhcmVudElkOwogICAgICAgIHBhcmVudElkID0gbnVsbDsKICAgIH0KICAgIGlmICghaWQuY2hhckF0KQogICAgICAgIHRocm93IG5ldyBFcnJvcigid29ya2VyLmpzIHJlcXVpcmUoKSBhY2NlcHRzIG9ubHkgKHBhcmVudElkLCBpZCkgYXMgYXJndW1lbnRzIik7CgogICAgaWQgPSB3aW5kb3cubm9ybWFsaXplTW9kdWxlKHBhcmVudElkLCBpZCk7CgogICAgdmFyIG1vZHVsZSA9IHdpbmRvdy5yZXF1aXJlLm1vZHVsZXNbaWRdOwogICAgaWYgKG1vZHVsZSkgewogICAgICAgIGlmICghbW9kdWxlLmluaXRpYWxpemVkKSB7CiAgICAgICAgICAgIG1vZHVsZS5pbml0aWFsaXplZCA9IHRydWU7CiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gbW9kdWxlLmZhY3RvcnkoKS5leHBvcnRzOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbW9kdWxlLmV4cG9ydHM7CiAgICB9CiAgIAogICAgaWYgKCF3aW5kb3cucmVxdWlyZS50bG5zKQogICAgICAgIHJldHVybiBjb25zb2xlLmxvZygidW5hYmxlIHRvIGxvYWQgIiArIGlkKTsKICAgIAogICAgdmFyIHBhdGggPSByZXNvbHZlTW9kdWxlSWQoaWQsIHdpbmRvdy5yZXF1aXJlLnRsbnMpOwogICAgaWYgKHBhdGguc2xpY2UoLTMpICE9ICIuanMiKSBwYXRoICs9ICIuanMiOwogICAgCiAgICB3aW5kb3cucmVxdWlyZS5pZCA9IGlkOwogICAgd2luZG93LnJlcXVpcmUubW9kdWxlc1tpZF0gPSB7fTsgLy8gcHJldmVudCBpbmZpbml0ZSBsb29wIG9uIGJyb2tlbiBtb2R1bGVzCiAgICBpbXBvcnRTY3JpcHRzKHBhdGgpOwogICAgcmV0dXJuIHdpbmRvdy5yZXF1aXJlKHBhcmVudElkLCBpZCk7Cn07CmZ1bmN0aW9uIHJlc29sdmVNb2R1bGVJZChpZCwgcGF0aHMpIHsKICAgIHZhciB0ZXN0UGF0aCA9IGlkLCB0YWlsID0gIiI7CiAgICB3aGlsZSAodGVzdFBhdGgpIHsKICAgICAgICB2YXIgYWxpYXMgPSBwYXRoc1t0ZXN0UGF0aF07CiAgICAgICAgaWYgKHR5cGVvZiBhbGlhcyA9PSAic3RyaW5nIikgewogICAgICAgICAgICByZXR1cm4gYWxpYXMgKyB0YWlsOwogICAgICAgIH0gZWxzZSBpZiAoYWxpYXMpIHsKICAgICAgICAgICAgcmV0dXJuICBhbGlhcy5sb2NhdGlvbi5yZXBsYWNlKC9cLyokLywgIi8iKSArICh0YWlsIHx8IGFsaWFzLm1haW4gfHwgYWxpYXMubmFtZSk7CiAgICAgICAgfSBlbHNlIGlmIChhbGlhcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgcmV0dXJuICIiOwogICAgICAgIH0KICAgICAgICB2YXIgaSA9IHRlc3RQYXRoLmxhc3RJbmRleE9mKCIvIik7CiAgICAgICAgaWYgKGkgPT09IC0xKSBicmVhazsKICAgICAgICB0YWlsID0gdGVzdFBhdGguc3Vic3RyKGkpICsgdGFpbDsKICAgICAgICB0ZXN0UGF0aCA9IHRlc3RQYXRoLnNsaWNlKDAsIGkpOwogICAgfQogICAgcmV0dXJuIGlkOwp9CndpbmRvdy5yZXF1aXJlLm1vZHVsZXMgPSB7fTsKd2luZG93LnJlcXVpcmUudGxucyA9IHt9OwoKd2luZG93LmRlZmluZSA9IGZ1bmN0aW9uKGlkLCBkZXBzLCBmYWN0b3J5KSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAyKSB7CiAgICAgICAgZmFjdG9yeSA9IGRlcHM7CiAgICAgICAgaWYgKHR5cGVvZiBpZCAhPSAic3RyaW5nIikgewogICAgICAgICAgICBkZXBzID0gaWQ7CiAgICAgICAgICAgIGlkID0gd2luZG93LnJlcXVpcmUuaWQ7CiAgICAgICAgfQogICAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgICBmYWN0b3J5ID0gaWQ7CiAgICAgICAgZGVwcyA9IFtdOwogICAgICAgIGlkID0gd2luZG93LnJlcXVpcmUuaWQ7CiAgICB9CiAgICAKICAgIGlmICh0eXBlb2YgZmFjdG9yeSAhPSAiZnVuY3Rpb24iKSB7CiAgICAgICAgd2luZG93LnJlcXVpcmUubW9kdWxlc1tpZF0gPSB7CiAgICAgICAgICAgIGV4cG9ydHM6IGZhY3RvcnksCiAgICAgICAgICAgIGluaXRpYWxpemVkOiB0cnVlCiAgICAgICAgfTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCFkZXBzLmxlbmd0aCkKICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyBkZXBlbmRlbmNpZXMsIHdlIGluamVjdCAicmVxdWlyZSIsICJleHBvcnRzIiBhbmQKICAgICAgICAvLyAibW9kdWxlIiBhcyBkZXBlbmRlbmNpZXMsIHRvIHByb3ZpZGUgQ29tbW9uSlMgY29tcGF0aWJpbGl0eS4KICAgICAgICBkZXBzID0gWyJyZXF1aXJlIiwgImV4cG9ydHMiLCAibW9kdWxlIl07CgogICAgdmFyIHJlcSA9IGZ1bmN0aW9uKGNoaWxkSWQpIHsKICAgICAgICByZXR1cm4gd2luZG93LnJlcXVpcmUoaWQsIGNoaWxkSWQpOwogICAgfTsKCiAgICB3aW5kb3cucmVxdWlyZS5tb2R1bGVzW2lkXSA9IHsKICAgICAgICBleHBvcnRzOiB7fSwKICAgICAgICBmYWN0b3J5OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIG1vZHVsZSA9IHRoaXM7CiAgICAgICAgICAgIHZhciByZXR1cm5FeHBvcnRzID0gZmFjdG9yeS5hcHBseSh0aGlzLCBkZXBzLnNsaWNlKDAsIGZhY3RvcnkubGVuZ3RoKS5tYXAoZnVuY3Rpb24oZGVwKSB7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRlcCkgewogICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgInJlcXVpcmUiLCAiZXhwb3J0cyIgYW5kICJtb2R1bGUiIGFyZW4ndCBhY3R1YWwKICAgICAgICAgICAgICAgICAgICAvLyBkZXBlbmRlbmNpZXMsIHdlIG11c3QgaGFuZGxlIHRoZW0gc2VwZXJhdGVseS4KICAgICAgICAgICAgICAgICAgICBjYXNlICJyZXF1aXJlIjogcmV0dXJuIHJlcTsKICAgICAgICAgICAgICAgICAgICBjYXNlICJleHBvcnRzIjogcmV0dXJuIG1vZHVsZS5leHBvcnRzOwogICAgICAgICAgICAgICAgICAgIGNhc2UgIm1vZHVsZSI6ICByZXR1cm4gbW9kdWxlOwogICAgICAgICAgICAgICAgICAgIC8vIEJ1dCBmb3IgYWxsIG90aGVyIGRlcGVuZGVuY2llcywgd2UgY2FuIGp1c3QgZ28gYWhlYWQgYW5kCiAgICAgICAgICAgICAgICAgICAgLy8gcmVxdWlyZSB0aGVtLgogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICAgICAgICByZXR1cm4gcmVxKGRlcCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgaWYgKHJldHVybkV4cG9ydHMpCiAgICAgICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJldHVybkV4cG9ydHM7CiAgICAgICAgICAgIHJldHVybiBtb2R1bGU7CiAgICAgICAgfQogICAgfTsKfTsKd2luZG93LmRlZmluZS5hbWQgPSB7fTsKd2luZG93LnJlcXVpcmUudGxucyA9IHt9Owp3aW5kb3cuaW5pdEJhc2VVcmxzICA9IGZ1bmN0aW9uIGluaXRCYXNlVXJscyh0b3BMZXZlbE5hbWVzcGFjZXMpIHsKICAgIGZvciAodmFyIGkgaW4gdG9wTGV2ZWxOYW1lc3BhY2VzKQogICAgICAgIHRoaXMucmVxdWlyZS50bG5zW2ldID0gdG9wTGV2ZWxOYW1lc3BhY2VzW2ldOwp9OwoKd2luZG93LmluaXRTZW5kZXIgPSBmdW5jdGlvbiBpbml0U2VuZGVyKCkgewoKICAgIHZhciBFdmVudEVtaXR0ZXIgPSB3aW5kb3cucmVxdWlyZSgiYWNlL2xpYi9ldmVudF9lbWl0dGVyIikuRXZlbnRFbWl0dGVyOwogICAgdmFyIG9vcCA9IHdpbmRvdy5yZXF1aXJlKCJhY2UvbGliL29vcCIpOwogICAgCiAgICB2YXIgU2VuZGVyID0gZnVuY3Rpb24oKSB7fTsKICAgIAogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIAogICAgICAgIG9vcC5pbXBsZW1lbnQodGhpcywgRXZlbnRFbWl0dGVyKTsKICAgICAgICAgICAgICAgIAogICAgICAgIHRoaXMuY2FsbGJhY2sgPSBmdW5jdGlvbihkYXRhLCBjYWxsYmFja0lkKSB7CiAgICAgICAgICAgIHBvc3RNZXNzYWdlKHsKICAgICAgICAgICAgICAgIHR5cGU6ICJjYWxsIiwKICAgICAgICAgICAgICAgIGlkOiBjYWxsYmFja0lkLAogICAgICAgICAgICAgICAgZGF0YTogZGF0YQogICAgICAgICAgICB9KTsKICAgICAgICB9OwogICAgCiAgICAgICAgdGhpcy5lbWl0ID0gZnVuY3Rpb24obmFtZSwgZGF0YSkgewogICAgICAgICAgICBwb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICAgICB0eXBlOiAiZXZlbnQiLAogICAgICAgICAgICAgICAgbmFtZTogbmFtZSwKICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEKICAgICAgICAgICAgfSk7CiAgICAgICAgfTsKICAgICAgICAKICAgIH0pLmNhbGwoU2VuZGVyLnByb3RvdHlwZSk7CiAgICAKICAgIHJldHVybiBuZXcgU2VuZGVyKCk7Cn07Cgp2YXIgbWFpbiA9IHdpbmRvdy5tYWluID0gbnVsbDsKdmFyIHNlbmRlciA9IHdpbmRvdy5zZW5kZXIgPSBudWxsOwoKd2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKICAgIHZhciBtc2cgPSBlLmRhdGE7CiAgICBpZiAobXNnLmV2ZW50ICYmIHNlbmRlcikgewogICAgICAgIHNlbmRlci5fc2lnbmFsKG1zZy5ldmVudCwgbXNnLmRhdGEpOwogICAgfQogICAgZWxzZSBpZiAobXNnLmNvbW1hbmQpIHsKICAgICAgICBpZiAobWFpblttc2cuY29tbWFuZF0pCiAgICAgICAgICAgIG1haW5bbXNnLmNvbW1hbmRdLmFwcGx5KG1haW4sIG1zZy5hcmdzKTsKICAgICAgICBlbHNlIGlmICh3aW5kb3dbbXNnLmNvbW1hbmRdKQogICAgICAgICAgICB3aW5kb3dbbXNnLmNvbW1hbmRdLmFwcGx5KHdpbmRvdywgbXNnLmFyZ3MpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGNvbW1hbmQ6IiArIG1zZy5jb21tYW5kKTsKICAgIH0KICAgIGVsc2UgaWYgKG1zZy5pbml0KSB7CiAgICAgICAgd2luZG93LmluaXRCYXNlVXJscyhtc2cudGxucyk7CiAgICAgICAgc2VuZGVyID0gd2luZG93LnNlbmRlciA9IHdpbmRvdy5pbml0U2VuZGVyKCk7CiAgICAgICAgdmFyIGNsYXp6ID0gdGhpcy5yZXF1aXJlKG1zZy5tb2R1bGUpW21zZy5jbGFzc25hbWVdOwogICAgICAgIG1haW4gPSB3aW5kb3cubWFpbiA9IG5ldyBjbGF6eihzZW5kZXIpOwogICAgfQp9Owp9KSh0aGlzKTsKCmFjZS5kZWZpbmUoImFjZS9saWIvb29wIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXsidXNlIHN0cmljdCI7CmV4cG9ydHMuaW5oZXJpdHMgPSBmdW5jdGlvbiAoY3Rvciwgc3VwZXJDdG9yKSB7CiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjsKICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7CiAgICAgICAgY29uc3RydWN0b3I6IHsKICAgICAgICAgICAgdmFsdWU6IGN0b3IsCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfQogICAgfSk7Cn07CmV4cG9ydHMubWl4aW4gPSBmdW5jdGlvbiAob2JqLCBtaXhpbikgewogICAgZm9yICh2YXIga2V5IGluIG1peGluKSB7CiAgICAgICAgb2JqW2tleV0gPSBtaXhpbltrZXldOwogICAgfQogICAgcmV0dXJuIG9iajsKfTsKZXhwb3J0cy5pbXBsZW1lbnQgPSBmdW5jdGlvbiAocHJvdG8sIG1peGluKSB7CiAgICBleHBvcnRzLm1peGluKHByb3RvLCBtaXhpbik7Cn07Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9hcHBseV9kZWx0YSIsW10sIGZ1bmN0aW9uKHJlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZSl7InVzZSBzdHJpY3QiOwpmdW5jdGlvbiB0aHJvd0RlbHRhRXJyb3IoZGVsdGEsIGVycm9yVGV4dCkgewogICAgY29uc29sZS5sb2coIkludmFsaWQgRGVsdGE6IiwgZGVsdGEpOwogICAgdGhyb3cgIkludmFsaWQgRGVsdGE6ICIgKyBlcnJvclRleHQ7Cn0KZnVuY3Rpb24gcG9zaXRpb25JbkRvY3VtZW50KGRvY0xpbmVzLCBwb3NpdGlvbikgewogICAgcmV0dXJuIHBvc2l0aW9uLnJvdyA+PSAwICYmIHBvc2l0aW9uLnJvdyA8IGRvY0xpbmVzLmxlbmd0aCAmJgogICAgICAgIHBvc2l0aW9uLmNvbHVtbiA+PSAwICYmIHBvc2l0aW9uLmNvbHVtbiA8PSBkb2NMaW5lc1twb3NpdGlvbi5yb3ddLmxlbmd0aDsKfQpmdW5jdGlvbiB2YWxpZGF0ZURlbHRhKGRvY0xpbmVzLCBkZWx0YSkgewogICAgaWYgKGRlbHRhLmFjdGlvbiAhPSAiaW5zZXJ0IiAmJiBkZWx0YS5hY3Rpb24gIT0gInJlbW92ZSIpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEuYWN0aW9uIG11c3QgYmUgJ2luc2VydCcgb3IgJ3JlbW92ZSciKTsKICAgIGlmICghKGRlbHRhLmxpbmVzIGluc3RhbmNlb2YgQXJyYXkpKQogICAgICAgIHRocm93RGVsdGFFcnJvcihkZWx0YSwgImRlbHRhLmxpbmVzIG11c3QgYmUgYW4gQXJyYXkiKTsKICAgIGlmICghZGVsdGEuc3RhcnQgfHwgIWRlbHRhLmVuZCkKICAgICAgICB0aHJvd0RlbHRhRXJyb3IoZGVsdGEsICJkZWx0YS5zdGFydC9lbmQgbXVzdCBiZSBhbiBwcmVzZW50Iik7CiAgICB2YXIgc3RhcnQgPSBkZWx0YS5zdGFydDsKICAgIGlmICghcG9zaXRpb25JbkRvY3VtZW50KGRvY0xpbmVzLCBkZWx0YS5zdGFydCkpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEuc3RhcnQgbXVzdCBiZSBjb250YWluZWQgaW4gZG9jdW1lbnQiKTsKICAgIHZhciBlbmQgPSBkZWx0YS5lbmQ7CiAgICBpZiAoZGVsdGEuYWN0aW9uID09ICJyZW1vdmUiICYmICFwb3NpdGlvbkluRG9jdW1lbnQoZG9jTGluZXMsIGVuZCkpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEuZW5kIG11c3QgY29udGFpbmVkIGluIGRvY3VtZW50IGZvciAncmVtb3ZlJyBhY3Rpb25zIik7CiAgICB2YXIgbnVtUmFuZ2VSb3dzID0gZW5kLnJvdyAtIHN0YXJ0LnJvdzsKICAgIHZhciBudW1SYW5nZUxhc3RMaW5lQ2hhcnMgPSAoZW5kLmNvbHVtbiAtIChudW1SYW5nZVJvd3MgPT0gMCA/IHN0YXJ0LmNvbHVtbiA6IDApKTsKICAgIGlmIChudW1SYW5nZVJvd3MgIT0gZGVsdGEubGluZXMubGVuZ3RoIC0gMSB8fCBkZWx0YS5saW5lc1tudW1SYW5nZVJvd3NdLmxlbmd0aCAhPSBudW1SYW5nZUxhc3RMaW5lQ2hhcnMpCiAgICAgICAgdGhyb3dEZWx0YUVycm9yKGRlbHRhLCAiZGVsdGEucmFuZ2UgbXVzdCBtYXRjaCBkZWx0YSBsaW5lcyIpOwp9CmV4cG9ydHMuYXBwbHlEZWx0YSA9IGZ1bmN0aW9uIChkb2NMaW5lcywgZGVsdGEsIGRvTm90VmFsaWRhdGUpIHsKICAgIHZhciByb3cgPSBkZWx0YS5zdGFydC5yb3c7CiAgICB2YXIgc3RhcnRDb2x1bW4gPSBkZWx0YS5zdGFydC5jb2x1bW47CiAgICB2YXIgbGluZSA9IGRvY0xpbmVzW3Jvd10gfHwgIiI7CiAgICBzd2l0Y2ggKGRlbHRhLmFjdGlvbikgewogICAgICAgIGNhc2UgImluc2VydCI6CiAgICAgICAgICAgIHZhciBsaW5lcyA9IGRlbHRhLmxpbmVzOwogICAgICAgICAgICBpZiAobGluZXMubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICBkb2NMaW5lc1tyb3ddID0gbGluZS5zdWJzdHJpbmcoMCwgc3RhcnRDb2x1bW4pICsgZGVsdGEubGluZXNbMF0gKyBsaW5lLnN1YnN0cmluZyhzdGFydENvbHVtbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgYXJncyA9IFtyb3csIDFdLmNvbmNhdChkZWx0YS5saW5lcyk7CiAgICAgICAgICAgICAgICBkb2NMaW5lcy5zcGxpY2UuYXBwbHkoZG9jTGluZXMsIGFyZ3MpOwogICAgICAgICAgICAgICAgZG9jTGluZXNbcm93XSA9IGxpbmUuc3Vic3RyaW5nKDAsIHN0YXJ0Q29sdW1uKSArIGRvY0xpbmVzW3Jvd107CiAgICAgICAgICAgICAgICBkb2NMaW5lc1tyb3cgKyBkZWx0YS5saW5lcy5sZW5ndGggLSAxXSArPSBsaW5lLnN1YnN0cmluZyhzdGFydENvbHVtbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAicmVtb3ZlIjoKICAgICAgICAgICAgdmFyIGVuZENvbHVtbiA9IGRlbHRhLmVuZC5jb2x1bW47CiAgICAgICAgICAgIHZhciBlbmRSb3cgPSBkZWx0YS5lbmQucm93OwogICAgICAgICAgICBpZiAocm93ID09PSBlbmRSb3cpIHsKICAgICAgICAgICAgICAgIGRvY0xpbmVzW3Jvd10gPSBsaW5lLnN1YnN0cmluZygwLCBzdGFydENvbHVtbikgKyBsaW5lLnN1YnN0cmluZyhlbmRDb2x1bW4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgZG9jTGluZXMuc3BsaWNlKHJvdywgZW5kUm93IC0gcm93ICsgMSwgbGluZS5zdWJzdHJpbmcoMCwgc3RhcnRDb2x1bW4pICsgZG9jTGluZXNbZW5kUm93XS5zdWJzdHJpbmcoZW5kQ29sdW1uKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn07Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9saWIvZXZlbnRfZW1pdHRlciIsW10sIGZ1bmN0aW9uKHJlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZSl7InVzZSBzdHJpY3QiOwp2YXIgRXZlbnRFbWl0dGVyID0ge307CnZhciBzdG9wUHJvcGFnYXRpb24gPSBmdW5jdGlvbiAoKSB7IHRoaXMucHJvcGFnYXRpb25TdG9wcGVkID0gdHJ1ZTsgfTsKdmFyIHByZXZlbnREZWZhdWx0ID0gZnVuY3Rpb24gKCkgeyB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlOyB9OwpFdmVudEVtaXR0ZXIuX2VtaXQgPQogICAgRXZlbnRFbWl0dGVyLl9kaXNwYXRjaEV2ZW50ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgZSkgewogICAgICAgIHRoaXMuX2V2ZW50UmVnaXN0cnkgfHwgKHRoaXMuX2V2ZW50UmVnaXN0cnkgPSB7fSk7CiAgICAgICAgdGhpcy5fZGVmYXVsdEhhbmRsZXJzIHx8ICh0aGlzLl9kZWZhdWx0SGFuZGxlcnMgPSB7fSk7CiAgICAgICAgdmFyIGxpc3RlbmVycyA9IHRoaXMuX2V2ZW50UmVnaXN0cnlbZXZlbnROYW1lXSB8fCBbXTsKICAgICAgICB2YXIgZGVmYXVsdEhhbmRsZXIgPSB0aGlzLl9kZWZhdWx0SGFuZGxlcnNbZXZlbnROYW1lXTsKICAgICAgICBpZiAoIWxpc3RlbmVycy5sZW5ndGggJiYgIWRlZmF1bHRIYW5kbGVyKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgaWYgKHR5cGVvZiBlICE9ICJvYmplY3QiIHx8ICFlKQogICAgICAgICAgICBlID0ge307CiAgICAgICAgaWYgKCFlLnR5cGUpCiAgICAgICAgICAgIGUudHlwZSA9IGV2ZW50TmFtZTsKICAgICAgICBpZiAoIWUuc3RvcFByb3BhZ2F0aW9uKQogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbiA9IHN0b3BQcm9wYWdhdGlvbjsKICAgICAgICBpZiAoIWUucHJldmVudERlZmF1bHQpCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQgPSBwcmV2ZW50RGVmYXVsdDsKICAgICAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuc2xpY2UoKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBsaXN0ZW5lcnNbaV0oZSwgdGhpcyk7CiAgICAgICAgICAgIGlmIChlLnByb3BhZ2F0aW9uU3RvcHBlZCkKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBpZiAoZGVmYXVsdEhhbmRsZXIgJiYgIWUuZGVmYXVsdFByZXZlbnRlZCkKICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRIYW5kbGVyKGUsIHRoaXMpOwogICAgfTsKRXZlbnRFbWl0dGVyLl9zaWduYWwgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBlKSB7CiAgICB2YXIgbGlzdGVuZXJzID0gKHRoaXMuX2V2ZW50UmVnaXN0cnkgfHwge30pW2V2ZW50TmFtZV07CiAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICByZXR1cm47CiAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuc2xpY2UoKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgaSsrKQogICAgICAgIGxpc3RlbmVyc1tpXShlLCB0aGlzKTsKfTsKRXZlbnRFbWl0dGVyLm9uY2UgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBjYWxsYmFjaykgewogICAgdmFyIF9zZWxmID0gdGhpczsKICAgIHRoaXMub24oZXZlbnROYW1lLCBmdW5jdGlvbiBuZXdDYWxsYmFjaygpIHsKICAgICAgICBfc2VsZi5vZmYoZXZlbnROYW1lLCBuZXdDYWxsYmFjayk7CiAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKICAgIH0pOwogICAgaWYgKCFjYWxsYmFjaykgewogICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgICAgICBjYWxsYmFjayA9IHJlc29sdmU7CiAgICAgICAgfSk7CiAgICB9Cn07CkV2ZW50RW1pdHRlci5zZXREZWZhdWx0SGFuZGxlciA9IGZ1bmN0aW9uIChldmVudE5hbWUsIGNhbGxiYWNrKSB7CiAgICB2YXIgaGFuZGxlcnMgPSB0aGlzLl9kZWZhdWx0SGFuZGxlcnM7CiAgICBpZiAoIWhhbmRsZXJzKQogICAgICAgIGhhbmRsZXJzID0gdGhpcy5fZGVmYXVsdEhhbmRsZXJzID0geyBfZGlzYWJsZWRfOiB7fSB9OwogICAgaWYgKGhhbmRsZXJzW2V2ZW50TmFtZV0pIHsKICAgICAgICB2YXIgb2xkID0gaGFuZGxlcnNbZXZlbnROYW1lXTsKICAgICAgICB2YXIgZGlzYWJsZWQgPSBoYW5kbGVycy5fZGlzYWJsZWRfW2V2ZW50TmFtZV07CiAgICAgICAgaWYgKCFkaXNhYmxlZCkKICAgICAgICAgICAgaGFuZGxlcnMuX2Rpc2FibGVkX1tldmVudE5hbWVdID0gZGlzYWJsZWQgPSBbXTsKICAgICAgICBkaXNhYmxlZC5wdXNoKG9sZCk7CiAgICAgICAgdmFyIGkgPSBkaXNhYmxlZC5pbmRleE9mKGNhbGxiYWNrKTsKICAgICAgICBpZiAoaSAhPSAtMSkKICAgICAgICAgICAgZGlzYWJsZWQuc3BsaWNlKGksIDEpOwogICAgfQogICAgaGFuZGxlcnNbZXZlbnROYW1lXSA9IGNhbGxiYWNrOwp9OwpFdmVudEVtaXR0ZXIucmVtb3ZlRGVmYXVsdEhhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBjYWxsYmFjaykgewogICAgdmFyIGhhbmRsZXJzID0gdGhpcy5fZGVmYXVsdEhhbmRsZXJzOwogICAgaWYgKCFoYW5kbGVycykKICAgICAgICByZXR1cm47CiAgICB2YXIgZGlzYWJsZWQgPSBoYW5kbGVycy5fZGlzYWJsZWRfW2V2ZW50TmFtZV07CiAgICBpZiAoaGFuZGxlcnNbZXZlbnROYW1lXSA9PSBjYWxsYmFjaykgewogICAgICAgIGlmIChkaXNhYmxlZCkKICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0SGFuZGxlcihldmVudE5hbWUsIGRpc2FibGVkLnBvcCgpKTsKICAgIH0KICAgIGVsc2UgaWYgKGRpc2FibGVkKSB7CiAgICAgICAgdmFyIGkgPSBkaXNhYmxlZC5pbmRleE9mKGNhbGxiYWNrKTsKICAgICAgICBpZiAoaSAhPSAtMSkKICAgICAgICAgICAgZGlzYWJsZWQuc3BsaWNlKGksIDEpOwogICAgfQp9OwpFdmVudEVtaXR0ZXIub24gPQogICAgRXZlbnRFbWl0dGVyLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBjYWxsYmFjaywgY2FwdHVyaW5nKSB7CiAgICAgICAgdGhpcy5fZXZlbnRSZWdpc3RyeSA9IHRoaXMuX2V2ZW50UmVnaXN0cnkgfHwge307CiAgICAgICAgdmFyIGxpc3RlbmVycyA9IHRoaXMuX2V2ZW50UmVnaXN0cnlbZXZlbnROYW1lXTsKICAgICAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICAgICAgbGlzdGVuZXJzID0gdGhpcy5fZXZlbnRSZWdpc3RyeVtldmVudE5hbWVdID0gW107CiAgICAgICAgaWYgKGxpc3RlbmVycy5pbmRleE9mKGNhbGxiYWNrKSA9PSAtMSkKICAgICAgICAgICAgbGlzdGVuZXJzW2NhcHR1cmluZyA/ICJ1bnNoaWZ0IiA6ICJwdXNoIl0oY2FsbGJhY2spOwogICAgICAgIHJldHVybiBjYWxsYmFjazsKICAgIH07CkV2ZW50RW1pdHRlci5vZmYgPQogICAgRXZlbnRFbWl0dGVyLnJlbW92ZUxpc3RlbmVyID0KICAgICAgICBFdmVudEVtaXR0ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChldmVudE5hbWUsIGNhbGxiYWNrKSB7CiAgICAgICAgICAgIHRoaXMuX2V2ZW50UmVnaXN0cnkgPSB0aGlzLl9ldmVudFJlZ2lzdHJ5IHx8IHt9OwogICAgICAgICAgICB2YXIgbGlzdGVuZXJzID0gdGhpcy5fZXZlbnRSZWdpc3RyeVtldmVudE5hbWVdOwogICAgICAgICAgICBpZiAoIWxpc3RlbmVycykKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgdmFyIGluZGV4ID0gbGlzdGVuZXJzLmluZGV4T2YoY2FsbGJhY2spOwogICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKQogICAgICAgICAgICAgICAgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7CiAgICAgICAgfTsKRXZlbnRFbWl0dGVyLnJlbW92ZUFsbExpc3RlbmVycyA9IGZ1bmN0aW9uIChldmVudE5hbWUpIHsKICAgIGlmICghZXZlbnROYW1lKQogICAgICAgIHRoaXMuX2V2ZW50UmVnaXN0cnkgPSB0aGlzLl9kZWZhdWx0SGFuZGxlcnMgPSB1bmRlZmluZWQ7CiAgICBpZiAodGhpcy5fZXZlbnRSZWdpc3RyeSkKICAgICAgICB0aGlzLl9ldmVudFJlZ2lzdHJ5W2V2ZW50TmFtZV0gPSB1bmRlZmluZWQ7CiAgICBpZiAodGhpcy5fZGVmYXVsdEhhbmRsZXJzKQogICAgICAgIHRoaXMuX2RlZmF1bHRIYW5kbGVyc1tldmVudE5hbWVdID0gdW5kZWZpbmVkOwp9OwpleHBvcnRzLkV2ZW50RW1pdHRlciA9IEV2ZW50RW1pdHRlcjsKCn0pOwoKYWNlLmRlZmluZSgiYWNlL3JhbmdlIixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXsidXNlIHN0cmljdCI7CnZhciBSYW5nZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsKICAgIGZ1bmN0aW9uIFJhbmdlKHN0YXJ0Um93LCBzdGFydENvbHVtbiwgZW5kUm93LCBlbmRDb2x1bW4pIHsKICAgICAgICB0aGlzLnN0YXJ0ID0gewogICAgICAgICAgICByb3c6IHN0YXJ0Um93LAogICAgICAgICAgICBjb2x1bW46IHN0YXJ0Q29sdW1uCiAgICAgICAgfTsKICAgICAgICB0aGlzLmVuZCA9IHsKICAgICAgICAgICAgcm93OiBlbmRSb3csCiAgICAgICAgICAgIGNvbHVtbjogZW5kQ29sdW1uCiAgICAgICAgfTsKICAgIH0KICAgIFJhbmdlLnByb3RvdHlwZS5pc0VxdWFsID0gZnVuY3Rpb24gKHJhbmdlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQucm93ID09PSByYW5nZS5zdGFydC5yb3cgJiYKICAgICAgICAgICAgdGhpcy5lbmQucm93ID09PSByYW5nZS5lbmQucm93ICYmCiAgICAgICAgICAgIHRoaXMuc3RhcnQuY29sdW1uID09PSByYW5nZS5zdGFydC5jb2x1bW4gJiYKICAgICAgICAgICAgdGhpcy5lbmQuY29sdW1uID09PSByYW5nZS5lbmQuY29sdW1uOwogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gKCJSYW5nZTogWyIgKyB0aGlzLnN0YXJ0LnJvdyArICIvIiArIHRoaXMuc3RhcnQuY29sdW1uICsKICAgICAgICAgICAgIl0gLT4gWyIgKyB0aGlzLmVuZC5yb3cgKyAiLyIgKyB0aGlzLmVuZC5jb2x1bW4gKyAiXSIpOwogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5jb250YWlucyA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pID09IDA7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmNvbXBhcmVSYW5nZSA9IGZ1bmN0aW9uIChyYW5nZSkgewogICAgICAgIHZhciBjbXAsIGVuZCA9IHJhbmdlLmVuZCwgc3RhcnQgPSByYW5nZS5zdGFydDsKICAgICAgICBjbXAgPSB0aGlzLmNvbXBhcmUoZW5kLnJvdywgZW5kLmNvbHVtbik7CiAgICAgICAgaWYgKGNtcCA9PSAxKSB7CiAgICAgICAgICAgIGNtcCA9IHRoaXMuY29tcGFyZShzdGFydC5yb3csIHN0YXJ0LmNvbHVtbik7CiAgICAgICAgICAgIGlmIChjbXAgPT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoY21wID09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoY21wID09IC0xKSB7CiAgICAgICAgICAgIHJldHVybiAtMjsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGNtcCA9IHRoaXMuY29tcGFyZShzdGFydC5yb3csIHN0YXJ0LmNvbHVtbik7CiAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChjbXAgPT0gMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIDQyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmNvbXBhcmVQb2ludCA9IGZ1bmN0aW9uIChwKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShwLnJvdywgcC5jb2x1bW4pOwogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5jb250YWluc1JhbmdlID0gZnVuY3Rpb24gKHJhbmdlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVBvaW50KHJhbmdlLnN0YXJ0KSA9PSAwICYmIHRoaXMuY29tcGFyZVBvaW50KHJhbmdlLmVuZCkgPT0gMDsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuaW50ZXJzZWN0cyA9IGZ1bmN0aW9uIChyYW5nZSkgewogICAgICAgIHZhciBjbXAgPSB0aGlzLmNvbXBhcmVSYW5nZShyYW5nZSk7CiAgICAgICAgcmV0dXJuIChjbXAgPT0gLTEgfHwgY21wID09IDAgfHwgY21wID09IDEpOwogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5pc0VuZCA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIHJldHVybiB0aGlzLmVuZC5yb3cgPT0gcm93ICYmIHRoaXMuZW5kLmNvbHVtbiA9PSBjb2x1bW47CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmlzU3RhcnQgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICByZXR1cm4gdGhpcy5zdGFydC5yb3cgPT0gcm93ICYmIHRoaXMuc3RhcnQuY29sdW1uID09IGNvbHVtbjsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuc2V0U3RhcnQgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodHlwZW9mIHJvdyA9PSAib2JqZWN0IikgewogICAgICAgICAgICB0aGlzLnN0YXJ0LmNvbHVtbiA9IHJvdy5jb2x1bW47CiAgICAgICAgICAgIHRoaXMuc3RhcnQucm93ID0gcm93LnJvdzsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHRoaXMuc3RhcnQucm93ID0gcm93OwogICAgICAgICAgICB0aGlzLnN0YXJ0LmNvbHVtbiA9IGNvbHVtbjsKICAgICAgICB9CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLnNldEVuZCA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0eXBlb2Ygcm93ID09ICJvYmplY3QiKSB7CiAgICAgICAgICAgIHRoaXMuZW5kLmNvbHVtbiA9IHJvdy5jb2x1bW47CiAgICAgICAgICAgIHRoaXMuZW5kLnJvdyA9IHJvdy5yb3c7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB0aGlzLmVuZC5yb3cgPSByb3c7CiAgICAgICAgICAgIHRoaXMuZW5kLmNvbHVtbiA9IGNvbHVtbjsKICAgICAgICB9CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmluc2lkZSA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pID09IDApIHsKICAgICAgICAgICAgaWYgKHRoaXMuaXNFbmQocm93LCBjb2x1bW4pIHx8IHRoaXMuaXNTdGFydChyb3csIGNvbHVtbikpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuaW5zaWRlU3RhcnQgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodGhpcy5jb21wYXJlKHJvdywgY29sdW1uKSA9PSAwKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmlzRW5kKHJvdywgY29sdW1uKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5pbnNpZGVFbmQgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAodGhpcy5jb21wYXJlKHJvdywgY29sdW1uKSA9PSAwKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmlzU3RhcnQocm93LCBjb2x1bW4pKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aUxpbmUoKSkgewogICAgICAgICAgICBpZiAocm93ID09PSB0aGlzLnN0YXJ0LnJvdykgewogICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbiA8IHRoaXMuc3RhcnQuY29sdW1uID8gLTEgOiAoY29sdW1uID4gdGhpcy5lbmQuY29sdW1uID8gMSA6IDApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChyb3cgPCB0aGlzLnN0YXJ0LnJvdykKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIGlmIChyb3cgPiB0aGlzLmVuZC5yb3cpCiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIGlmICh0aGlzLnN0YXJ0LnJvdyA9PT0gcm93KQogICAgICAgICAgICByZXR1cm4gY29sdW1uID49IHRoaXMuc3RhcnQuY29sdW1uID8gMCA6IC0xOwogICAgICAgIGlmICh0aGlzLmVuZC5yb3cgPT09IHJvdykKICAgICAgICAgICAgcmV0dXJuIGNvbHVtbiA8PSB0aGlzLmVuZC5jb2x1bW4gPyAwIDogMTsKICAgICAgICByZXR1cm4gMDsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuY29tcGFyZVN0YXJ0ID0gZnVuY3Rpb24gKHJvdywgY29sdW1uKSB7CiAgICAgICAgaWYgKHRoaXMuc3RhcnQucm93ID09IHJvdyAmJiB0aGlzLnN0YXJ0LmNvbHVtbiA9PSBjb2x1bW4pIHsKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShyb3csIGNvbHVtbik7CiAgICAgICAgfQogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5jb21wYXJlRW5kID0gZnVuY3Rpb24gKHJvdywgY29sdW1uKSB7CiAgICAgICAgaWYgKHRoaXMuZW5kLnJvdyA9PSByb3cgJiYgdGhpcy5lbmQuY29sdW1uID09IGNvbHVtbikgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pOwogICAgICAgIH0KICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuY29tcGFyZUluc2lkZSA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIGlmICh0aGlzLmVuZC5yb3cgPT0gcm93ICYmIHRoaXMuZW5kLmNvbHVtbiA9PSBjb2x1bW4pIHsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHRoaXMuc3RhcnQucm93ID09IHJvdyAmJiB0aGlzLnN0YXJ0LmNvbHVtbiA9PSBjb2x1bW4pIHsKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShyb3csIGNvbHVtbik7CiAgICAgICAgfQogICAgfTsKICAgIFJhbmdlLnByb3RvdHlwZS5jbGlwUm93cyA9IGZ1bmN0aW9uIChmaXJzdFJvdywgbGFzdFJvdykgewogICAgICAgIGlmICh0aGlzLmVuZC5yb3cgPiBsYXN0Um93KQogICAgICAgICAgICB2YXIgZW5kID0geyByb3c6IGxhc3RSb3cgKyAxLCBjb2x1bW46IDAgfTsKICAgICAgICBlbHNlIGlmICh0aGlzLmVuZC5yb3cgPCBmaXJzdFJvdykKICAgICAgICAgICAgdmFyIGVuZCA9IHsgcm93OiBmaXJzdFJvdywgY29sdW1uOiAwIH07CiAgICAgICAgaWYgKHRoaXMuc3RhcnQucm93ID4gbGFzdFJvdykKICAgICAgICAgICAgdmFyIHN0YXJ0ID0geyByb3c6IGxhc3RSb3cgKyAxLCBjb2x1bW46IDAgfTsKICAgICAgICBlbHNlIGlmICh0aGlzLnN0YXJ0LnJvdyA8IGZpcnN0Um93KQogICAgICAgICAgICB2YXIgc3RhcnQgPSB7IHJvdzogZmlyc3RSb3csIGNvbHVtbjogMCB9OwogICAgICAgIHJldHVybiBSYW5nZS5mcm9tUG9pbnRzKHN0YXJ0IHx8IHRoaXMuc3RhcnQsIGVuZCB8fCB0aGlzLmVuZCk7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmV4dGVuZCA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIHZhciBjbXAgPSB0aGlzLmNvbXBhcmUocm93LCBjb2x1bW4pOwogICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgZWxzZSBpZiAoY21wID09IC0xKQogICAgICAgICAgICB2YXIgc3RhcnQgPSB7IHJvdzogcm93LCBjb2x1bW46IGNvbHVtbiB9OwogICAgICAgIGVsc2UKICAgICAgICAgICAgdmFyIGVuZCA9IHsgcm93OiByb3csIGNvbHVtbjogY29sdW1uIH07CiAgICAgICAgcmV0dXJuIFJhbmdlLmZyb21Qb2ludHMoc3RhcnQgfHwgdGhpcy5zdGFydCwgZW5kIHx8IHRoaXMuZW5kKTsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuaXNFbXB0eSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gKHRoaXMuc3RhcnQucm93ID09PSB0aGlzLmVuZC5yb3cgJiYgdGhpcy5zdGFydC5jb2x1bW4gPT09IHRoaXMuZW5kLmNvbHVtbik7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmlzTXVsdGlMaW5lID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAodGhpcy5zdGFydC5yb3cgIT09IHRoaXMuZW5kLnJvdyk7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBSYW5nZS5mcm9tUG9pbnRzKHRoaXMuc3RhcnQsIHRoaXMuZW5kKTsKICAgIH07CiAgICBSYW5nZS5wcm90b3R5cGUuY29sbGFwc2VSb3dzID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICh0aGlzLmVuZC5jb2x1bW4gPT0gMCkKICAgICAgICAgICAgcmV0dXJuIG5ldyBSYW5nZSh0aGlzLnN0YXJ0LnJvdywgMCwgTWF0aC5tYXgodGhpcy5zdGFydC5yb3csIHRoaXMuZW5kLnJvdyAtIDEpLCAwKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiBuZXcgUmFuZ2UodGhpcy5zdGFydC5yb3csIDAsIHRoaXMuZW5kLnJvdywgMCk7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLnRvU2NyZWVuUmFuZ2UgPSBmdW5jdGlvbiAoc2Vzc2lvbikgewogICAgICAgIHZhciBzY3JlZW5Qb3NTdGFydCA9IHNlc3Npb24uZG9jdW1lbnRUb1NjcmVlblBvc2l0aW9uKHRoaXMuc3RhcnQpOwogICAgICAgIHZhciBzY3JlZW5Qb3NFbmQgPSBzZXNzaW9uLmRvY3VtZW50VG9TY3JlZW5Qb3NpdGlvbih0aGlzLmVuZCk7CiAgICAgICAgcmV0dXJuIG5ldyBSYW5nZShzY3JlZW5Qb3NTdGFydC5yb3csIHNjcmVlblBvc1N0YXJ0LmNvbHVtbiwgc2NyZWVuUG9zRW5kLnJvdywgc2NyZWVuUG9zRW5kLmNvbHVtbik7CiAgICB9OwogICAgUmFuZ2UucHJvdG90eXBlLm1vdmVCeSA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIHRoaXMuc3RhcnQucm93ICs9IHJvdzsKICAgICAgICB0aGlzLnN0YXJ0LmNvbHVtbiArPSBjb2x1bW47CiAgICAgICAgdGhpcy5lbmQucm93ICs9IHJvdzsKICAgICAgICB0aGlzLmVuZC5jb2x1bW4gKz0gY29sdW1uOwogICAgfTsKICAgIHJldHVybiBSYW5nZTsKfSgpKTsKUmFuZ2UuZnJvbVBvaW50cyA9IGZ1bmN0aW9uIChzdGFydCwgZW5kKSB7CiAgICByZXR1cm4gbmV3IFJhbmdlKHN0YXJ0LnJvdywgc3RhcnQuY29sdW1uLCBlbmQucm93LCBlbmQuY29sdW1uKTsKfTsKUmFuZ2UuY29tcGFyZVBvaW50cyA9IGZ1bmN0aW9uIChwMSwgcDIpIHsKICAgIHJldHVybiBwMS5yb3cgLSBwMi5yb3cgfHwgcDEuY29sdW1uIC0gcDIuY29sdW1uOwp9OwpleHBvcnRzLlJhbmdlID0gUmFuZ2U7Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9hbmNob3IiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpeyJ1c2Ugc3RyaWN0IjsKdmFyIG9vcCA9IHJlcXVpcmUoIi4vbGliL29vcCIpOwp2YXIgRXZlbnRFbWl0dGVyID0gcmVxdWlyZSgiLi9saWIvZXZlbnRfZW1pdHRlciIpLkV2ZW50RW1pdHRlcjsKdmFyIEFuY2hvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHsKICAgIGZ1bmN0aW9uIEFuY2hvcihkb2MsIHJvdywgY29sdW1uKSB7CiAgICAgICAgdGhpcy4kb25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyk7CiAgICAgICAgdGhpcy5hdHRhY2goZG9jKTsKICAgICAgICBpZiAodHlwZW9mIHJvdyAhPSAibnVtYmVyIikKICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbihyb3cucm93LCByb3cuY29sdW1uKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24ocm93LCBjb2x1bW4pOwogICAgfQogICAgQW5jaG9yLnByb3RvdHlwZS5nZXRQb3NpdGlvbiA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy4kY2xpcFBvc2l0aW9uVG9Eb2N1bWVudCh0aGlzLnJvdywgdGhpcy5jb2x1bW4pOwogICAgfTsKICAgIEFuY2hvci5wcm90b3R5cGUuZ2V0RG9jdW1lbnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQ7CiAgICB9OwogICAgQW5jaG9yLnByb3RvdHlwZS5vbkNoYW5nZSA9IGZ1bmN0aW9uIChkZWx0YSkgewogICAgICAgIGlmIChkZWx0YS5zdGFydC5yb3cgPT0gZGVsdGEuZW5kLnJvdyAmJiBkZWx0YS5zdGFydC5yb3cgIT0gdGhpcy5yb3cpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICBpZiAoZGVsdGEuc3RhcnQucm93ID4gdGhpcy5yb3cpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB2YXIgcG9pbnQgPSAkZ2V0VHJhbnNmb3JtZWRQb2ludChkZWx0YSwgeyByb3c6IHRoaXMucm93LCBjb2x1bW46IHRoaXMuY29sdW1uIH0sIHRoaXMuJGluc2VydFJpZ2h0KTsKICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHBvaW50LnJvdywgcG9pbnQuY29sdW1uLCB0cnVlKTsKICAgIH07CiAgICBBbmNob3IucHJvdG90eXBlLnNldFBvc2l0aW9uID0gZnVuY3Rpb24gKHJvdywgY29sdW1uLCBub0NsaXApIHsKICAgICAgICB2YXIgcG9zOwogICAgICAgIGlmIChub0NsaXApIHsKICAgICAgICAgICAgcG9zID0gewogICAgICAgICAgICAgICAgcm93OiByb3csCiAgICAgICAgICAgICAgICBjb2x1bW46IGNvbHVtbgogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcG9zID0gdGhpcy4kY2xpcFBvc2l0aW9uVG9Eb2N1bWVudChyb3csIGNvbHVtbik7CiAgICAgICAgfQogICAgICAgIGlmICh0aGlzLnJvdyA9PSBwb3Mucm93ICYmIHRoaXMuY29sdW1uID09IHBvcy5jb2x1bW4pCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB2YXIgb2xkID0gewogICAgICAgICAgICByb3c6IHRoaXMucm93LAogICAgICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uCiAgICAgICAgfTsKICAgICAgICB0aGlzLnJvdyA9IHBvcy5yb3c7CiAgICAgICAgdGhpcy5jb2x1bW4gPSBwb3MuY29sdW1uOwogICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlIiwgewogICAgICAgICAgICBvbGQ6IG9sZCwKICAgICAgICAgICAgdmFsdWU6IHBvcwogICAgICAgIH0pOwogICAgfTsKICAgIEFuY2hvci5wcm90b3R5cGUuZGV0YWNoID0gZnVuY3Rpb24gKCkgewogICAgICAgIHRoaXMuZG9jdW1lbnQub2ZmKCJjaGFuZ2UiLCB0aGlzLiRvbkNoYW5nZSk7CiAgICB9OwogICAgQW5jaG9yLnByb3RvdHlwZS5hdHRhY2ggPSBmdW5jdGlvbiAoZG9jKSB7CiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvYyB8fCB0aGlzLmRvY3VtZW50OwogICAgICAgIHRoaXMuZG9jdW1lbnQub24oImNoYW5nZSIsIHRoaXMuJG9uQ2hhbmdlKTsKICAgIH07CiAgICBBbmNob3IucHJvdG90eXBlLiRjbGlwUG9zaXRpb25Ub0RvY3VtZW50ID0gZnVuY3Rpb24gKHJvdywgY29sdW1uKSB7CiAgICAgICAgdmFyIHBvcyA9IHt9OwogICAgICAgIGlmIChyb3cgPj0gdGhpcy5kb2N1bWVudC5nZXRMZW5ndGgoKSkgewogICAgICAgICAgICBwb3Mucm93ID0gTWF0aC5tYXgoMCwgdGhpcy5kb2N1bWVudC5nZXRMZW5ndGgoKSAtIDEpOwogICAgICAgICAgICBwb3MuY29sdW1uID0gdGhpcy5kb2N1bWVudC5nZXRMaW5lKHBvcy5yb3cpLmxlbmd0aDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocm93IDwgMCkgewogICAgICAgICAgICBwb3Mucm93ID0gMDsKICAgICAgICAgICAgcG9zLmNvbHVtbiA9IDA7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBwb3Mucm93ID0gcm93OwogICAgICAgICAgICBwb3MuY29sdW1uID0gTWF0aC5taW4odGhpcy5kb2N1bWVudC5nZXRMaW5lKHBvcy5yb3cpLmxlbmd0aCwgTWF0aC5tYXgoMCwgY29sdW1uKSk7CiAgICAgICAgfQogICAgICAgIGlmIChjb2x1bW4gPCAwKQogICAgICAgICAgICBwb3MuY29sdW1uID0gMDsKICAgICAgICByZXR1cm4gcG9zOwogICAgfTsKICAgIHJldHVybiBBbmNob3I7Cn0oKSk7CkFuY2hvci5wcm90b3R5cGUuJGluc2VydFJpZ2h0ID0gZmFsc2U7Cm9vcC5pbXBsZW1lbnQoQW5jaG9yLnByb3RvdHlwZSwgRXZlbnRFbWl0dGVyKTsKZnVuY3Rpb24gJHBvaW50c0luT3JkZXIocG9pbnQxLCBwb2ludDIsIGVxdWFsUG9pbnRzSW5PcmRlcikgewogICAgdmFyIGJDb2xJc0FmdGVyID0gZXF1YWxQb2ludHNJbk9yZGVyID8gcG9pbnQxLmNvbHVtbiA8PSBwb2ludDIuY29sdW1uIDogcG9pbnQxLmNvbHVtbiA8IHBvaW50Mi5jb2x1bW47CiAgICByZXR1cm4gKHBvaW50MS5yb3cgPCBwb2ludDIucm93KSB8fCAocG9pbnQxLnJvdyA9PSBwb2ludDIucm93ICYmIGJDb2xJc0FmdGVyKTsKfQpmdW5jdGlvbiAkZ2V0VHJhbnNmb3JtZWRQb2ludChkZWx0YSwgcG9pbnQsIG1vdmVJZkVxdWFsKSB7CiAgICB2YXIgZGVsdGFJc0luc2VydCA9IGRlbHRhLmFjdGlvbiA9PSAiaW5zZXJ0IjsKICAgIHZhciBkZWx0YVJvd1NoaWZ0ID0gKGRlbHRhSXNJbnNlcnQgPyAxIDogLTEpICogKGRlbHRhLmVuZC5yb3cgLSBkZWx0YS5zdGFydC5yb3cpOwogICAgdmFyIGRlbHRhQ29sU2hpZnQgPSAoZGVsdGFJc0luc2VydCA/IDEgOiAtMSkgKiAoZGVsdGEuZW5kLmNvbHVtbiAtIGRlbHRhLnN0YXJ0LmNvbHVtbik7CiAgICB2YXIgZGVsdGFTdGFydCA9IGRlbHRhLnN0YXJ0OwogICAgdmFyIGRlbHRhRW5kID0gZGVsdGFJc0luc2VydCA/IGRlbHRhU3RhcnQgOiBkZWx0YS5lbmQ7IC8vIENvbGxhcHNlIGluc2VydCByYW5nZS4KICAgIGlmICgkcG9pbnRzSW5PcmRlcihwb2ludCwgZGVsdGFTdGFydCwgbW92ZUlmRXF1YWwpKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgcm93OiBwb2ludC5yb3csCiAgICAgICAgICAgIGNvbHVtbjogcG9pbnQuY29sdW1uCiAgICAgICAgfTsKICAgIH0KICAgIGlmICgkcG9pbnRzSW5PcmRlcihkZWx0YUVuZCwgcG9pbnQsICFtb3ZlSWZFcXVhbCkpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICByb3c6IHBvaW50LnJvdyArIGRlbHRhUm93U2hpZnQsCiAgICAgICAgICAgIGNvbHVtbjogcG9pbnQuY29sdW1uICsgKHBvaW50LnJvdyA9PSBkZWx0YUVuZC5yb3cgPyBkZWx0YUNvbFNoaWZ0IDogMCkKICAgICAgICB9OwogICAgfQogICAgcmV0dXJuIHsKICAgICAgICByb3c6IGRlbHRhU3RhcnQucm93LAogICAgICAgIGNvbHVtbjogZGVsdGFTdGFydC5jb2x1bW4KICAgIH07Cn0KZXhwb3J0cy5BbmNob3IgPSBBbmNob3I7Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9kb2N1bWVudCIsW10sIGZ1bmN0aW9uKHJlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZSl7InVzZSBzdHJpY3QiOwp2YXIgb29wID0gcmVxdWlyZSgiLi9saWIvb29wIik7CnZhciBhcHBseURlbHRhID0gcmVxdWlyZSgiLi9hcHBseV9kZWx0YSIpLmFwcGx5RGVsdGE7CnZhciBFdmVudEVtaXR0ZXIgPSByZXF1aXJlKCIuL2xpYi9ldmVudF9lbWl0dGVyIikuRXZlbnRFbWl0dGVyOwp2YXIgUmFuZ2UgPSByZXF1aXJlKCIuL3JhbmdlIikuUmFuZ2U7CnZhciBBbmNob3IgPSByZXF1aXJlKCIuL2FuY2hvciIpLkFuY2hvcjsKdmFyIERvY3VtZW50ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkgewogICAgZnVuY3Rpb24gRG9jdW1lbnQodGV4dE9yTGluZXMpIHsKICAgICAgICB0aGlzLiRsaW5lcyA9IFsiIl07CiAgICAgICAgaWYgKHRleHRPckxpbmVzLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICB0aGlzLiRsaW5lcyA9IFsiIl07CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGV4dE9yTGluZXMpKSB7CiAgICAgICAgICAgIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMoeyByb3c6IDAsIGNvbHVtbjogMCB9LCB0ZXh0T3JMaW5lcyk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB0aGlzLmluc2VydCh7IHJvdzogMCwgY29sdW1uOiAwIH0sIHRleHRPckxpbmVzKTsKICAgICAgICB9CiAgICB9CiAgICBEb2N1bWVudC5wcm90b3R5cGUuc2V0VmFsdWUgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIHZhciBsZW4gPSB0aGlzLmdldExlbmd0aCgpIC0gMTsKICAgICAgICB0aGlzLnJlbW92ZShuZXcgUmFuZ2UoMCwgMCwgbGVuLCB0aGlzLmdldExpbmUobGVuKS5sZW5ndGgpKTsKICAgICAgICB0aGlzLmluc2VydCh7IHJvdzogMCwgY29sdW1uOiAwIH0sIHRleHQgfHwgIiIpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5nZXRWYWx1ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxMaW5lcygpLmpvaW4odGhpcy5nZXROZXdMaW5lQ2hhcmFjdGVyKCkpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVBbmNob3IgPSBmdW5jdGlvbiAocm93LCBjb2x1bW4pIHsKICAgICAgICByZXR1cm4gbmV3IEFuY2hvcih0aGlzLCByb3csIGNvbHVtbik7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLiRkZXRlY3ROZXdMaW5lID0gZnVuY3Rpb24gKHRleHQpIHsKICAgICAgICB2YXIgbWF0Y2ggPSB0ZXh0Lm1hdGNoKC9eLio/KFxyXG58XHJ8XG4pL20pOwogICAgICAgIHRoaXMuJGF1dG9OZXdMaW5lID0gbWF0Y2ggPyBtYXRjaFsxXSA6ICJcbiI7CiAgICAgICAgdGhpcy5fc2lnbmFsKCJjaGFuZ2VOZXdMaW5lTW9kZSIpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5nZXROZXdMaW5lQ2hhcmFjdGVyID0gZnVuY3Rpb24gKCkgewogICAgICAgIHN3aXRjaCAodGhpcy4kbmV3TGluZU1vZGUpIHsKICAgICAgICAgICAgY2FzZSAid2luZG93cyI6CiAgICAgICAgICAgICAgICByZXR1cm4gIlxyXG4iOwogICAgICAgICAgICBjYXNlICJ1bml4IjoKICAgICAgICAgICAgICAgIHJldHVybiAiXG4iOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGF1dG9OZXdMaW5lIHx8ICJcbiI7CiAgICAgICAgfQogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5zZXROZXdMaW5lTW9kZSA9IGZ1bmN0aW9uIChuZXdMaW5lTW9kZSkgewogICAgICAgIGlmICh0aGlzLiRuZXdMaW5lTW9kZSA9PT0gbmV3TGluZU1vZGUpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB0aGlzLiRuZXdMaW5lTW9kZSA9IG5ld0xpbmVNb2RlOwogICAgICAgIHRoaXMuX3NpZ25hbCgiY2hhbmdlTmV3TGluZU1vZGUiKTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuZ2V0TmV3TGluZU1vZGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJG5ld0xpbmVNb2RlOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5pc05ld0xpbmUgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIHJldHVybiAodGV4dCA9PSAiXHJcbiIgfHwgdGV4dCA9PSAiXHIiIHx8IHRleHQgPT0gIlxuIik7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmdldExpbmUgPSBmdW5jdGlvbiAocm93KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzW3Jvd10gfHwgIiI7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmdldExpbmVzID0gZnVuY3Rpb24gKGZpcnN0Um93LCBsYXN0Um93KSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzLnNsaWNlKGZpcnN0Um93LCBsYXN0Um93ICsgMSk7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmdldEFsbExpbmVzID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLmdldExpbmVzKDAsIHRoaXMuZ2V0TGVuZ3RoKCkpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5nZXRMZW5ndGggPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJGxpbmVzLmxlbmd0aDsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuZ2V0VGV4dFJhbmdlID0gZnVuY3Rpb24gKHJhbmdlKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGluZXNGb3JSYW5nZShyYW5nZSkuam9pbih0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIoKSk7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmdldExpbmVzRm9yUmFuZ2UgPSBmdW5jdGlvbiAocmFuZ2UpIHsKICAgICAgICB2YXIgbGluZXM7CiAgICAgICAgaWYgKHJhbmdlLnN0YXJ0LnJvdyA9PT0gcmFuZ2UuZW5kLnJvdykgewogICAgICAgICAgICBsaW5lcyA9IFt0aGlzLmdldExpbmUocmFuZ2Uuc3RhcnQucm93KS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnQuY29sdW1uLCByYW5nZS5lbmQuY29sdW1uKV07CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBsaW5lcyA9IHRoaXMuZ2V0TGluZXMocmFuZ2Uuc3RhcnQucm93LCByYW5nZS5lbmQucm93KTsKICAgICAgICAgICAgbGluZXNbMF0gPSAobGluZXNbMF0gfHwgIiIpLnN1YnN0cmluZyhyYW5nZS5zdGFydC5jb2x1bW4pOwogICAgICAgICAgICB2YXIgbCA9IGxpbmVzLmxlbmd0aCAtIDE7CiAgICAgICAgICAgIGlmIChyYW5nZS5lbmQucm93IC0gcmFuZ2Uuc3RhcnQucm93ID09IGwpCiAgICAgICAgICAgICAgICBsaW5lc1tsXSA9IGxpbmVzW2xdLnN1YnN0cmluZygwLCByYW5nZS5lbmQuY29sdW1uKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGxpbmVzOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5pbnNlcnRMaW5lcyA9IGZ1bmN0aW9uIChyb3csIGxpbmVzKSB7CiAgICAgICAgY29uc29sZS53YXJuKCJVc2Ugb2YgZG9jdW1lbnQuaW5zZXJ0TGluZXMgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSBpbnNlcnRGdWxsTGluZXMgbWV0aG9kIGluc3RlYWQuIik7CiAgICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0RnVsbExpbmVzKHJvdywgbGluZXMpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5yZW1vdmVMaW5lcyA9IGZ1bmN0aW9uIChmaXJzdFJvdywgbGFzdFJvdykgewogICAgICAgIGNvbnNvbGUud2FybigiVXNlIG9mIGRvY3VtZW50LnJlbW92ZUxpbmVzIGlzIGRlcHJlY2F0ZWQuIFVzZSB0aGUgcmVtb3ZlRnVsbExpbmVzIG1ldGhvZCBpbnN0ZWFkLiIpOwogICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUZ1bGxMaW5lcyhmaXJzdFJvdywgbGFzdFJvdyk7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmluc2VydE5ld0xpbmUgPSBmdW5jdGlvbiAocG9zaXRpb24pIHsKICAgICAgICBjb25zb2xlLndhcm4oIlVzZSBvZiBkb2N1bWVudC5pbnNlcnROZXdMaW5lIGlzIGRlcHJlY2F0ZWQuIFVzZSBpbnNlcnRNZXJnZWRMaW5lcyhwb3NpdGlvbiwgWycnLCAnJ10pIGluc3RlYWQuIik7CiAgICAgICAgcmV0dXJuIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMocG9zaXRpb24sIFsiIiwgIiJdKTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuaW5zZXJ0ID0gZnVuY3Rpb24gKHBvc2l0aW9uLCB0ZXh0KSB7CiAgICAgICAgaWYgKHRoaXMuZ2V0TGVuZ3RoKCkgPD0gMSkKICAgICAgICAgICAgdGhpcy4kZGV0ZWN0TmV3TGluZSh0ZXh0KTsKICAgICAgICByZXR1cm4gdGhpcy5pbnNlcnRNZXJnZWRMaW5lcyhwb3NpdGlvbiwgdGhpcy4kc3BsaXQodGV4dCkpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5pbnNlcnRJbkxpbmUgPSBmdW5jdGlvbiAocG9zaXRpb24sIHRleHQpIHsKICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLmNsaXBwZWRQb3MocG9zaXRpb24ucm93LCBwb3NpdGlvbi5jb2x1bW4pOwogICAgICAgIHZhciBlbmQgPSB0aGlzLnBvcyhwb3NpdGlvbi5yb3csIHBvc2l0aW9uLmNvbHVtbiArIHRleHQubGVuZ3RoKTsKICAgICAgICB0aGlzLmFwcGx5RGVsdGEoewogICAgICAgICAgICBzdGFydDogc3RhcnQsCiAgICAgICAgICAgIGVuZDogZW5kLAogICAgICAgICAgICBhY3Rpb246ICJpbnNlcnQiLAogICAgICAgICAgICBsaW5lczogW3RleHRdCiAgICAgICAgfSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVQb3MoZW5kKTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuY2xpcHBlZFBvcyA9IGZ1bmN0aW9uIChyb3csIGNvbHVtbikgewogICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmdldExlbmd0aCgpOwogICAgICAgIGlmIChyb3cgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICByb3cgPSBsZW5ndGg7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHJvdyA8IDApIHsKICAgICAgICAgICAgcm93ID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAocm93ID49IGxlbmd0aCkgewogICAgICAgICAgICByb3cgPSBsZW5ndGggLSAxOwogICAgICAgICAgICBjb2x1bW4gPSB1bmRlZmluZWQ7CiAgICAgICAgfQogICAgICAgIHZhciBsaW5lID0gdGhpcy5nZXRMaW5lKHJvdyk7CiAgICAgICAgaWYgKGNvbHVtbiA9PSB1bmRlZmluZWQpCiAgICAgICAgICAgIGNvbHVtbiA9IGxpbmUubGVuZ3RoOwogICAgICAgIGNvbHVtbiA9IE1hdGgubWluKE1hdGgubWF4KGNvbHVtbiwgMCksIGxpbmUubGVuZ3RoKTsKICAgICAgICByZXR1cm4geyByb3c6IHJvdywgY29sdW1uOiBjb2x1bW4gfTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuY2xvbmVQb3MgPSBmdW5jdGlvbiAocG9zKSB7CiAgICAgICAgcmV0dXJuIHsgcm93OiBwb3Mucm93LCBjb2x1bW46IHBvcy5jb2x1bW4gfTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUucG9zID0gZnVuY3Rpb24gKHJvdywgY29sdW1uKSB7CiAgICAgICAgcmV0dXJuIHsgcm93OiByb3csIGNvbHVtbjogY29sdW1uIH07CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLiRjbGlwUG9zaXRpb24gPSBmdW5jdGlvbiAocG9zaXRpb24pIHsKICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5nZXRMZW5ndGgoKTsKICAgICAgICBpZiAocG9zaXRpb24ucm93ID49IGxlbmd0aCkgewogICAgICAgICAgICBwb3NpdGlvbi5yb3cgPSBNYXRoLm1heCgwLCBsZW5ndGggLSAxKTsKICAgICAgICAgICAgcG9zaXRpb24uY29sdW1uID0gdGhpcy5nZXRMaW5lKGxlbmd0aCAtIDEpLmxlbmd0aDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHBvc2l0aW9uLnJvdyA9IE1hdGgubWF4KDAsIHBvc2l0aW9uLnJvdyk7CiAgICAgICAgICAgIHBvc2l0aW9uLmNvbHVtbiA9IE1hdGgubWluKE1hdGgubWF4KHBvc2l0aW9uLmNvbHVtbiwgMCksIHRoaXMuZ2V0TGluZShwb3NpdGlvbi5yb3cpLmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwb3NpdGlvbjsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuaW5zZXJ0RnVsbExpbmVzID0gZnVuY3Rpb24gKHJvdywgbGluZXMpIHsKICAgICAgICByb3cgPSBNYXRoLm1pbihNYXRoLm1heChyb3csIDApLCB0aGlzLmdldExlbmd0aCgpKTsKICAgICAgICB2YXIgY29sdW1uID0gMDsKICAgICAgICBpZiAocm93IDwgdGhpcy5nZXRMZW5ndGgoKSkgewogICAgICAgICAgICBsaW5lcyA9IGxpbmVzLmNvbmNhdChbIiJdKTsKICAgICAgICAgICAgY29sdW1uID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGxpbmVzID0gWyIiXS5jb25jYXQobGluZXMpOwogICAgICAgICAgICByb3ctLTsKICAgICAgICAgICAgY29sdW1uID0gdGhpcy4kbGluZXNbcm93XS5sZW5ndGg7CiAgICAgICAgfQogICAgICAgIHRoaXMuaW5zZXJ0TWVyZ2VkTGluZXMoeyByb3c6IHJvdywgY29sdW1uOiBjb2x1bW4gfSwgbGluZXMpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5pbnNlcnRNZXJnZWRMaW5lcyA9IGZ1bmN0aW9uIChwb3NpdGlvbiwgbGluZXMpIHsKICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLmNsaXBwZWRQb3MocG9zaXRpb24ucm93LCBwb3NpdGlvbi5jb2x1bW4pOwogICAgICAgIHZhciBlbmQgPSB7CiAgICAgICAgICAgIHJvdzogc3RhcnQucm93ICsgbGluZXMubGVuZ3RoIC0gMSwKICAgICAgICAgICAgY29sdW1uOiAobGluZXMubGVuZ3RoID09IDEgPyBzdGFydC5jb2x1bW4gOiAwKSArIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdLmxlbmd0aAogICAgICAgIH07CiAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LAogICAgICAgICAgICBlbmQ6IGVuZCwKICAgICAgICAgICAgYWN0aW9uOiAiaW5zZXJ0IiwKICAgICAgICAgICAgbGluZXM6IGxpbmVzCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVQb3MoZW5kKTsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKHJhbmdlKSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5jbGlwcGVkUG9zKHJhbmdlLnN0YXJ0LnJvdywgcmFuZ2Uuc3RhcnQuY29sdW1uKTsKICAgICAgICB2YXIgZW5kID0gdGhpcy5jbGlwcGVkUG9zKHJhbmdlLmVuZC5yb3csIHJhbmdlLmVuZC5jb2x1bW4pOwogICAgICAgIHRoaXMuYXBwbHlEZWx0YSh7CiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCwKICAgICAgICAgICAgZW5kOiBlbmQsCiAgICAgICAgICAgIGFjdGlvbjogInJlbW92ZSIsCiAgICAgICAgICAgIGxpbmVzOiB0aGlzLmdldExpbmVzRm9yUmFuZ2UoeyBzdGFydDogc3RhcnQsIGVuZDogZW5kIH0pCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVQb3Moc3RhcnQpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5yZW1vdmVJbkxpbmUgPSBmdW5jdGlvbiAocm93LCBzdGFydENvbHVtbiwgZW5kQ29sdW1uKSB7CiAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5jbGlwcGVkUG9zKHJvdywgc3RhcnRDb2x1bW4pOwogICAgICAgIHZhciBlbmQgPSB0aGlzLmNsaXBwZWRQb3Mocm93LCBlbmRDb2x1bW4pOwogICAgICAgIHRoaXMuYXBwbHlEZWx0YSh7CiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCwKICAgICAgICAgICAgZW5kOiBlbmQsCiAgICAgICAgICAgIGFjdGlvbjogInJlbW92ZSIsCiAgICAgICAgICAgIGxpbmVzOiB0aGlzLmdldExpbmVzRm9yUmFuZ2UoeyBzdGFydDogc3RhcnQsIGVuZDogZW5kIH0pCiAgICAgICAgfSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmVQb3Moc3RhcnQpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5yZW1vdmVGdWxsTGluZXMgPSBmdW5jdGlvbiAoZmlyc3RSb3csIGxhc3RSb3cpIHsKICAgICAgICBmaXJzdFJvdyA9IE1hdGgubWluKE1hdGgubWF4KDAsIGZpcnN0Um93KSwgdGhpcy5nZXRMZW5ndGgoKSAtIDEpOwogICAgICAgIGxhc3RSb3cgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBsYXN0Um93KSwgdGhpcy5nZXRMZW5ndGgoKSAtIDEpOwogICAgICAgIHZhciBkZWxldGVGaXJzdE5ld0xpbmUgPSBsYXN0Um93ID09IHRoaXMuZ2V0TGVuZ3RoKCkgLSAxICYmIGZpcnN0Um93ID4gMDsKICAgICAgICB2YXIgZGVsZXRlTGFzdE5ld0xpbmUgPSBsYXN0Um93IDwgdGhpcy5nZXRMZW5ndGgoKSAtIDE7CiAgICAgICAgdmFyIHN0YXJ0Um93ID0gKGRlbGV0ZUZpcnN0TmV3TGluZSA/IGZpcnN0Um93IC0gMSA6IGZpcnN0Um93KTsKICAgICAgICB2YXIgc3RhcnRDb2wgPSAoZGVsZXRlRmlyc3ROZXdMaW5lID8gdGhpcy5nZXRMaW5lKHN0YXJ0Um93KS5sZW5ndGggOiAwKTsKICAgICAgICB2YXIgZW5kUm93ID0gKGRlbGV0ZUxhc3ROZXdMaW5lID8gbGFzdFJvdyArIDEgOiBsYXN0Um93KTsKICAgICAgICB2YXIgZW5kQ29sID0gKGRlbGV0ZUxhc3ROZXdMaW5lID8gMCA6IHRoaXMuZ2V0TGluZShlbmRSb3cpLmxlbmd0aCk7CiAgICAgICAgdmFyIHJhbmdlID0gbmV3IFJhbmdlKHN0YXJ0Um93LCBzdGFydENvbCwgZW5kUm93LCBlbmRDb2wpOwogICAgICAgIHZhciBkZWxldGVkTGluZXMgPSB0aGlzLiRsaW5lcy5zbGljZShmaXJzdFJvdywgbGFzdFJvdyArIDEpOwogICAgICAgIHRoaXMuYXBwbHlEZWx0YSh7CiAgICAgICAgICAgIHN0YXJ0OiByYW5nZS5zdGFydCwKICAgICAgICAgICAgZW5kOiByYW5nZS5lbmQsCiAgICAgICAgICAgIGFjdGlvbjogInJlbW92ZSIsCiAgICAgICAgICAgIGxpbmVzOiB0aGlzLmdldExpbmVzRm9yUmFuZ2UocmFuZ2UpCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIGRlbGV0ZWRMaW5lczsKICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUucmVtb3ZlTmV3TGluZSA9IGZ1bmN0aW9uIChyb3cpIHsKICAgICAgICBpZiAocm93IDwgdGhpcy5nZXRMZW5ndGgoKSAtIDEgJiYgcm93ID49IDApIHsKICAgICAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnBvcyhyb3csIHRoaXMuZ2V0TGluZShyb3cpLmxlbmd0aCksCiAgICAgICAgICAgICAgICBlbmQ6IHRoaXMucG9zKHJvdyArIDEsIDApLAogICAgICAgICAgICAgICAgYWN0aW9uOiAicmVtb3ZlIiwKICAgICAgICAgICAgICAgIGxpbmVzOiBbIiIsICIiXQogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLnJlcGxhY2UgPSBmdW5jdGlvbiAocmFuZ2UsIHRleHQpIHsKICAgICAgICBpZiAoIShyYW5nZSBpbnN0YW5jZW9mIFJhbmdlKSkKICAgICAgICAgICAgcmFuZ2UgPSBSYW5nZS5mcm9tUG9pbnRzKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpOwogICAgICAgIGlmICh0ZXh0Lmxlbmd0aCA9PT0gMCAmJiByYW5nZS5pc0VtcHR5KCkpCiAgICAgICAgICAgIHJldHVybiByYW5nZS5zdGFydDsKICAgICAgICBpZiAodGV4dCA9PSB0aGlzLmdldFRleHRSYW5nZShyYW5nZSkpCiAgICAgICAgICAgIHJldHVybiByYW5nZS5lbmQ7CiAgICAgICAgdGhpcy5yZW1vdmUocmFuZ2UpOwogICAgICAgIHZhciBlbmQ7CiAgICAgICAgaWYgKHRleHQpIHsKICAgICAgICAgICAgZW5kID0gdGhpcy5pbnNlcnQocmFuZ2Uuc3RhcnQsIHRleHQpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZW5kID0gcmFuZ2Uuc3RhcnQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiBlbmQ7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmFwcGx5RGVsdGFzID0gZnVuY3Rpb24gKGRlbHRhcykgewogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVsdGFzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHRoaXMuYXBwbHlEZWx0YShkZWx0YXNbaV0pOwogICAgICAgIH0KICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUucmV2ZXJ0RGVsdGFzID0gZnVuY3Rpb24gKGRlbHRhcykgewogICAgICAgIGZvciAodmFyIGkgPSBkZWx0YXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgdGhpcy5yZXZlcnREZWx0YShkZWx0YXNbaV0pOwogICAgICAgIH0KICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuYXBwbHlEZWx0YSA9IGZ1bmN0aW9uIChkZWx0YSwgZG9Ob3RWYWxpZGF0ZSkgewogICAgICAgIHZhciBpc0luc2VydCA9IGRlbHRhLmFjdGlvbiA9PSAiaW5zZXJ0IjsKICAgICAgICBpZiAoaXNJbnNlcnQgPyBkZWx0YS5saW5lcy5sZW5ndGggPD0gMSAmJiAhZGVsdGEubGluZXNbMF0KICAgICAgICAgICAgOiAhUmFuZ2UuY29tcGFyZVBvaW50cyhkZWx0YS5zdGFydCwgZGVsdGEuZW5kKSkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmIChpc0luc2VydCAmJiBkZWx0YS5saW5lcy5sZW5ndGggPiAyMDAwMCkgewogICAgICAgICAgICB0aGlzLiRzcGxpdEFuZGFwcGx5TGFyZ2VEZWx0YShkZWx0YSwgMjAwMDApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgYXBwbHlEZWx0YSh0aGlzLiRsaW5lcywgZGVsdGEsIGRvTm90VmFsaWRhdGUpOwogICAgICAgICAgICB0aGlzLl9zaWduYWwoImNoYW5nZSIsIGRlbHRhKTsKICAgICAgICB9CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLiRzYWZlQXBwbHlEZWx0YSA9IGZ1bmN0aW9uIChkZWx0YSkgewogICAgICAgIHZhciBkb2NMZW5ndGggPSB0aGlzLiRsaW5lcy5sZW5ndGg7CiAgICAgICAgaWYgKGRlbHRhLmFjdGlvbiA9PSAicmVtb3ZlIiAmJiBkZWx0YS5zdGFydC5yb3cgPCBkb2NMZW5ndGggJiYgZGVsdGEuZW5kLnJvdyA8IGRvY0xlbmd0aAogICAgICAgICAgICB8fCBkZWx0YS5hY3Rpb24gPT0gImluc2VydCIgJiYgZGVsdGEuc3RhcnQucm93IDw9IGRvY0xlbmd0aCkgewogICAgICAgICAgICB0aGlzLmFwcGx5RGVsdGEoZGVsdGEpOwogICAgICAgIH0KICAgIH07CiAgICBEb2N1bWVudC5wcm90b3R5cGUuJHNwbGl0QW5kYXBwbHlMYXJnZURlbHRhID0gZnVuY3Rpb24gKGRlbHRhLCBNQVgpIHsKICAgICAgICB2YXIgbGluZXMgPSBkZWx0YS5saW5lczsKICAgICAgICB2YXIgbCA9IGxpbmVzLmxlbmd0aCAtIE1BWCArIDE7CiAgICAgICAgdmFyIHJvdyA9IGRlbHRhLnN0YXJ0LnJvdzsKICAgICAgICB2YXIgY29sdW1uID0gZGVsdGEuc3RhcnQuY29sdW1uOwogICAgICAgIGZvciAodmFyIGZyb20gPSAwLCB0byA9IDA7IGZyb20gPCBsOyBmcm9tID0gdG8pIHsKICAgICAgICAgICAgdG8gKz0gTUFYIC0gMTsKICAgICAgICAgICAgdmFyIGNodW5rID0gbGluZXMuc2xpY2UoZnJvbSwgdG8pOwogICAgICAgICAgICBjaHVuay5wdXNoKCIiKTsKICAgICAgICAgICAgdGhpcy5hcHBseURlbHRhKHsKICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnBvcyhyb3cgKyBmcm9tLCBjb2x1bW4pLAogICAgICAgICAgICAgICAgZW5kOiB0aGlzLnBvcyhyb3cgKyB0bywgY29sdW1uID0gMCksCiAgICAgICAgICAgICAgICBhY3Rpb246IGRlbHRhLmFjdGlvbiwKICAgICAgICAgICAgICAgIGxpbmVzOiBjaHVuawogICAgICAgICAgICB9LCB0cnVlKTsKICAgICAgICB9CiAgICAgICAgZGVsdGEubGluZXMgPSBsaW5lcy5zbGljZShmcm9tKTsKICAgICAgICBkZWx0YS5zdGFydC5yb3cgPSByb3cgKyBmcm9tOwogICAgICAgIGRlbHRhLnN0YXJ0LmNvbHVtbiA9IGNvbHVtbjsKICAgICAgICB0aGlzLmFwcGx5RGVsdGEoZGVsdGEsIHRydWUpOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS5yZXZlcnREZWx0YSA9IGZ1bmN0aW9uIChkZWx0YSkgewogICAgICAgIHRoaXMuJHNhZmVBcHBseURlbHRhKHsKICAgICAgICAgICAgc3RhcnQ6IHRoaXMuY2xvbmVQb3MoZGVsdGEuc3RhcnQpLAogICAgICAgICAgICBlbmQ6IHRoaXMuY2xvbmVQb3MoZGVsdGEuZW5kKSwKICAgICAgICAgICAgYWN0aW9uOiAoZGVsdGEuYWN0aW9uID09ICJpbnNlcnQiID8gInJlbW92ZSIgOiAiaW5zZXJ0IiksCiAgICAgICAgICAgIGxpbmVzOiBkZWx0YS5saW5lcy5zbGljZSgpCiAgICAgICAgfSk7CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLmluZGV4VG9Qb3NpdGlvbiA9IGZ1bmN0aW9uIChpbmRleCwgc3RhcnRSb3cpIHsKICAgICAgICB2YXIgbGluZXMgPSB0aGlzLiRsaW5lcyB8fCB0aGlzLmdldEFsbExpbmVzKCk7CiAgICAgICAgdmFyIG5ld2xpbmVMZW5ndGggPSB0aGlzLmdldE5ld0xpbmVDaGFyYWN0ZXIoKS5sZW5ndGg7CiAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0Um93IHx8IDAsIGwgPSBsaW5lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgICAgICAgaW5kZXggLT0gbGluZXNbaV0ubGVuZ3RoICsgbmV3bGluZUxlbmd0aDsKICAgICAgICAgICAgaWYgKGluZGV4IDwgMCkKICAgICAgICAgICAgICAgIHJldHVybiB7IHJvdzogaSwgY29sdW1uOiBpbmRleCArIGxpbmVzW2ldLmxlbmd0aCArIG5ld2xpbmVMZW5ndGggfTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsgcm93OiBsIC0gMSwgY29sdW1uOiBpbmRleCArIGxpbmVzW2wgLSAxXS5sZW5ndGggKyBuZXdsaW5lTGVuZ3RoIH07CiAgICB9OwogICAgRG9jdW1lbnQucHJvdG90eXBlLnBvc2l0aW9uVG9JbmRleCA9IGZ1bmN0aW9uIChwb3MsIHN0YXJ0Um93KSB7CiAgICAgICAgdmFyIGxpbmVzID0gdGhpcy4kbGluZXMgfHwgdGhpcy5nZXRBbGxMaW5lcygpOwogICAgICAgIHZhciBuZXdsaW5lTGVuZ3RoID0gdGhpcy5nZXROZXdMaW5lQ2hhcmFjdGVyKCkubGVuZ3RoOwogICAgICAgIHZhciBpbmRleCA9IDA7CiAgICAgICAgdmFyIHJvdyA9IE1hdGgubWluKHBvcy5yb3csIGxpbmVzLmxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0Um93IHx8IDA7IGkgPCByb3c7ICsraSkKICAgICAgICAgICAgaW5kZXggKz0gbGluZXNbaV0ubGVuZ3RoICsgbmV3bGluZUxlbmd0aDsKICAgICAgICByZXR1cm4gaW5kZXggKyBwb3MuY29sdW1uOwogICAgfTsKICAgIERvY3VtZW50LnByb3RvdHlwZS4kc3BsaXQgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIHJldHVybiB0ZXh0LnNwbGl0KC9cclxufFxyfFxuLyk7CiAgICB9OwogICAgcmV0dXJuIERvY3VtZW50Owp9KCkpOwpEb2N1bWVudC5wcm90b3R5cGUuJGF1dG9OZXdMaW5lID0gIiI7CkRvY3VtZW50LnByb3RvdHlwZS4kbmV3TGluZU1vZGUgPSAiYXV0byI7Cm9vcC5pbXBsZW1lbnQoRG9jdW1lbnQucHJvdG90eXBlLCBFdmVudEVtaXR0ZXIpOwpleHBvcnRzLkRvY3VtZW50ID0gRG9jdW1lbnQ7Cgp9KTsKCmFjZS5kZWZpbmUoImFjZS9saWIvZGVlcF9jb3B5IixbXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXtleHBvcnRzLmRlZXBDb3B5ID0gZnVuY3Rpb24gZGVlcENvcHkob2JqKSB7CiAgICBpZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIgfHwgIW9iaikKICAgICAgICByZXR1cm4gb2JqOwogICAgdmFyIGNvcHk7CiAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7CiAgICAgICAgY29weSA9IFtdOwogICAgICAgIGZvciAodmFyIGtleSA9IDA7IGtleSA8IG9iai5sZW5ndGg7IGtleSsrKSB7CiAgICAgICAgICAgIGNvcHlba2V5XSA9IGRlZXBDb3B5KG9ialtrZXldKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNvcHk7CiAgICB9CiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgIT09ICJbb2JqZWN0IE9iamVjdF0iKQogICAgICAgIHJldHVybiBvYmo7CiAgICBjb3B5ID0ge307CiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKQogICAgICAgIGNvcHlba2V5XSA9IGRlZXBDb3B5KG9ialtrZXldKTsKICAgIHJldHVybiBjb3B5Owp9OwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvbGliL2xhbmciLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpeyJ1c2Ugc3RyaWN0IjsKZXhwb3J0cy5sYXN0ID0gZnVuY3Rpb24gKGEpIHsKICAgIHJldHVybiBhW2EubGVuZ3RoIC0gMV07Cn07CmV4cG9ydHMuc3RyaW5nUmV2ZXJzZSA9IGZ1bmN0aW9uIChzdHJpbmcpIHsKICAgIHJldHVybiBzdHJpbmcuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKTsKfTsKZXhwb3J0cy5zdHJpbmdSZXBlYXQgPSBmdW5jdGlvbiAoc3RyaW5nLCBjb3VudCkgewogICAgdmFyIHJlc3VsdCA9ICcnOwogICAgd2hpbGUgKGNvdW50ID4gMCkgewogICAgICAgIGlmIChjb3VudCAmIDEpCiAgICAgICAgICAgIHJlc3VsdCArPSBzdHJpbmc7CiAgICAgICAgaWYgKGNvdW50ID4+PSAxKQogICAgICAgICAgICBzdHJpbmcgKz0gc3RyaW5nOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfTsKdmFyIHRyaW1CZWdpblJlZ2V4cCA9IC9eXHNccyovOwp2YXIgdHJpbUVuZFJlZ2V4cCA9IC9cc1xzKiQvOwpleHBvcnRzLnN0cmluZ1RyaW1MZWZ0ID0gZnVuY3Rpb24gKHN0cmluZykgewogICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHRyaW1CZWdpblJlZ2V4cCwgJycpOwp9OwpleHBvcnRzLnN0cmluZ1RyaW1SaWdodCA9IGZ1bmN0aW9uIChzdHJpbmcpIHsKICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSh0cmltRW5kUmVnZXhwLCAnJyk7Cn07CmV4cG9ydHMuY29weU9iamVjdCA9IGZ1bmN0aW9uIChvYmopIHsKICAgIHZhciBjb3B5ID0ge307CiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7CiAgICAgICAgY29weVtrZXldID0gb2JqW2tleV07CiAgICB9CiAgICByZXR1cm4gY29weTsKfTsKZXhwb3J0cy5jb3B5QXJyYXkgPSBmdW5jdGlvbiAoYXJyYXkpIHsKICAgIHZhciBjb3B5ID0gW107CiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGFycmF5Lmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICAgIGlmIChhcnJheVtpXSAmJiB0eXBlb2YgYXJyYXlbaV0gPT0gIm9iamVjdCIpCiAgICAgICAgICAgIGNvcHlbaV0gPSB0aGlzLmNvcHlPYmplY3QoYXJyYXlbaV0pOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY29weVtpXSA9IGFycmF5W2ldOwogICAgfQogICAgcmV0dXJuIGNvcHk7Cn07CmV4cG9ydHMuZGVlcENvcHkgPSByZXF1aXJlKCIuL2RlZXBfY29weSIpLmRlZXBDb3B5OwpleHBvcnRzLmFycmF5VG9NYXAgPSBmdW5jdGlvbiAoYXJyKSB7CiAgICB2YXIgbWFwID0ge307CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykgewogICAgICAgIG1hcFthcnJbaV1dID0gMTsKICAgIH0KICAgIHJldHVybiBtYXA7Cn07CmV4cG9ydHMuY3JlYXRlTWFwID0gZnVuY3Rpb24gKHByb3BzKSB7CiAgICB2YXIgbWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgIGZvciAodmFyIGkgaW4gcHJvcHMpIHsKICAgICAgICBtYXBbaV0gPSBwcm9wc1tpXTsKICAgIH0KICAgIHJldHVybiBtYXA7Cn07CmV4cG9ydHMuYXJyYXlSZW1vdmUgPSBmdW5jdGlvbiAoYXJyYXksIHZhbHVlKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8PSBhcnJheS5sZW5ndGg7IGkrKykgewogICAgICAgIGlmICh2YWx1ZSA9PT0gYXJyYXlbaV0pIHsKICAgICAgICAgICAgYXJyYXkuc3BsaWNlKGksIDEpOwogICAgICAgIH0KICAgIH0KfTsKZXhwb3J0cy5lc2NhcGVSZWdFeHAgPSBmdW5jdGlvbiAoc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLiorP14ke30oKXxbXF1cL1xcXSkvZywgJ1xcJDEnKTsKfTsKZXhwb3J0cy5lc2NhcGVIVE1MID0gZnVuY3Rpb24gKHN0cikgewogICAgcmV0dXJuICgiIiArIHN0cikucmVwbGFjZSgvJi9nLCAiJiMzODsiKS5yZXBsYWNlKC8iL2csICImIzM0OyIpLnJlcGxhY2UoLycvZywgIiYjMzk7IikucmVwbGFjZSgvPC9nLCAiJiM2MDsiKTsKfTsKZXhwb3J0cy5nZXRNYXRjaE9mZnNldHMgPSBmdW5jdGlvbiAoc3RyaW5nLCByZWdFeHApIHsKICAgIHZhciBtYXRjaGVzID0gW107CiAgICBzdHJpbmcucmVwbGFjZShyZWdFeHAsIGZ1bmN0aW9uIChzdHIpIHsKICAgICAgICBtYXRjaGVzLnB1c2goewogICAgICAgICAgICBvZmZzZXQ6IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMl0sCiAgICAgICAgICAgIGxlbmd0aDogc3RyLmxlbmd0aAogICAgICAgIH0pOwogICAgfSk7CiAgICByZXR1cm4gbWF0Y2hlczsKfTsKZXhwb3J0cy5kZWZlcnJlZENhbGwgPSBmdW5jdGlvbiAoZmNuKSB7CiAgICB2YXIgdGltZXIgPSBudWxsOwogICAgdmFyIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgIHRpbWVyID0gbnVsbDsKICAgICAgICBmY24oKTsKICAgIH07CiAgICB2YXIgZGVmZXJyZWQgPSBmdW5jdGlvbiAodGltZW91dCkgewogICAgICAgIGRlZmVycmVkLmNhbmNlbCgpOwogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgdGltZW91dCB8fCAwKTsKICAgICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9OwogICAgZGVmZXJyZWQuc2NoZWR1bGUgPSBkZWZlcnJlZDsKICAgIGRlZmVycmVkLmNhbGwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5jYW5jZWwoKTsKICAgICAgICBmY24oKTsKICAgICAgICByZXR1cm4gZGVmZXJyZWQ7CiAgICB9OwogICAgZGVmZXJyZWQuY2FuY2VsID0gZnVuY3Rpb24gKCkgewogICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7CiAgICAgICAgdGltZXIgPSBudWxsOwogICAgICAgIHJldHVybiBkZWZlcnJlZDsKICAgIH07CiAgICBkZWZlcnJlZC5pc1BlbmRpbmcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRpbWVyOwogICAgfTsKICAgIHJldHVybiBkZWZlcnJlZDsKfTsKZXhwb3J0cy5kZWxheWVkQ2FsbCA9IGZ1bmN0aW9uIChmY24sIGRlZmF1bHRUaW1lb3V0KSB7CiAgICB2YXIgdGltZXIgPSBudWxsOwogICAgdmFyIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgIHRpbWVyID0gbnVsbDsKICAgICAgICBmY24oKTsKICAgIH07CiAgICB2YXIgX3NlbGYgPSBmdW5jdGlvbiAodGltZW91dCkgewogICAgICAgIGlmICh0aW1lciA9PSBudWxsKQogICAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoY2FsbGJhY2ssIHRpbWVvdXQgfHwgZGVmYXVsdFRpbWVvdXQpOwogICAgfTsKICAgIF9zZWxmLmRlbGF5ID0gZnVuY3Rpb24gKHRpbWVvdXQpIHsKICAgICAgICB0aW1lciAmJiBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICAgIHRpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgdGltZW91dCB8fCBkZWZhdWx0VGltZW91dCk7CiAgICB9OwogICAgX3NlbGYuc2NoZWR1bGUgPSBfc2VsZjsKICAgIF9zZWxmLmNhbGwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5jYW5jZWwoKTsKICAgICAgICBmY24oKTsKICAgIH07CiAgICBfc2VsZi5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGltZXIgJiYgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICB0aW1lciA9IG51bGw7CiAgICB9OwogICAgX3NlbGYuaXNQZW5kaW5nID0gZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aW1lcjsKICAgIH07CiAgICByZXR1cm4gX3NlbGY7Cn07CmV4cG9ydHMuc3VwcG9ydHNMb29rYmVoaW5kID0gZnVuY3Rpb24gKCkgewogICAgdHJ5IHsKICAgICAgICBuZXcgUmVnRXhwKCcoPzw9LiknKTsKICAgIH0KICAgIGNhdGNoIChlKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn07CmV4cG9ydHMuc2tpcEVtcHR5TWF0Y2ggPSBmdW5jdGlvbiAobGluZSwgbGFzdCwgc3VwcG9ydHNVbmljb2RlRmxhZykgewogICAgcmV0dXJuIHN1cHBvcnRzVW5pY29kZUZsYWcgJiYgbGluZS5jb2RlUG9pbnRBdChsYXN0KSA+IDB4ZmZmZiA/IDIgOiAxOwp9OwoKfSk7CgphY2UuZGVmaW5lKCJhY2Uvd29ya2VyL21pcnJvciIsW10sIGZ1bmN0aW9uKHJlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZSkgewoidXNlIHN0cmljdCI7Cgp2YXIgRG9jdW1lbnQgPSByZXF1aXJlKCIuLi9kb2N1bWVudCIpLkRvY3VtZW50Owp2YXIgbGFuZyA9IHJlcXVpcmUoIi4uL2xpYi9sYW5nIik7CiAgICAKdmFyIE1pcnJvciA9IGV4cG9ydHMuTWlycm9yID0gZnVuY3Rpb24oc2VuZGVyKSB7CiAgICB0aGlzLnNlbmRlciA9IHNlbmRlcjsKICAgIHZhciBkb2MgPSB0aGlzLmRvYyA9IG5ldyBEb2N1bWVudCgiIik7CiAgICAKICAgIHZhciBkZWZlcnJlZFVwZGF0ZSA9IHRoaXMuZGVmZXJyZWRVcGRhdGUgPSBsYW5nLmRlbGF5ZWRDYWxsKHRoaXMub25VcGRhdGUuYmluZCh0aGlzKSk7CiAgICAKICAgIHZhciBfc2VsZiA9IHRoaXM7CiAgICBzZW5kZXIub24oImNoYW5nZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICB2YXIgZGF0YSA9IGUuZGF0YTsKICAgICAgICBpZiAoZGF0YVswXS5zdGFydCkgewogICAgICAgICAgICBkb2MuYXBwbHlEZWx0YXMoZGF0YSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSArPSAyKSB7CiAgICAgICAgICAgICAgICB2YXIgZCwgZXJyOyAKICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFbaSsxXSkpIHsKICAgICAgICAgICAgICAgICAgICBkID0ge2FjdGlvbjogImluc2VydCIsIHN0YXJ0OiBkYXRhW2ldLCBsaW5lczogZGF0YVtpKzFdfTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZCA9IHthY3Rpb246ICJyZW1vdmUiLCBzdGFydDogZGF0YVtpXSwgZW5kOiBkYXRhW2krMV19OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoKGQuYWN0aW9uID09ICJpbnNlcnQiID8gZC5zdGFydCA6IGQuZW5kKS5yb3cgPj0gZG9jLiRsaW5lcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICBlcnIgPSBuZXcgRXJyb3IoIkludmFsaWQgZGVsdGEiKTsKICAgICAgICAgICAgICAgICAgICBlcnIuZGF0YSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogX3NlbGYuJHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzTGVuZ3RoOiBkb2MuJGxpbmVzLmxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGQuc3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZC5lbmQKICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIHRocm93IGVycjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBkb2MuYXBwbHlEZWx0YShkLCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoX3NlbGYuJHRpbWVvdXQpCiAgICAgICAgICAgIHJldHVybiBkZWZlcnJlZFVwZGF0ZS5zY2hlZHVsZShfc2VsZi4kdGltZW91dCk7CiAgICAgICAgX3NlbGYub25VcGRhdGUoKTsKICAgIH0pOwp9OwoKKGZ1bmN0aW9uKCkgewogICAgCiAgICB0aGlzLiR0aW1lb3V0ID0gNTAwOwogICAgCiAgICB0aGlzLnNldFRpbWVvdXQgPSBmdW5jdGlvbih0aW1lb3V0KSB7CiAgICAgICAgdGhpcy4kdGltZW91dCA9IHRpbWVvdXQ7CiAgICB9OwogICAgCiAgICB0aGlzLnNldFZhbHVlID0gZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICB0aGlzLmRvYy5zZXRWYWx1ZSh2YWx1ZSk7CiAgICAgICAgdGhpcy5kZWZlcnJlZFVwZGF0ZS5zY2hlZHVsZSh0aGlzLiR0aW1lb3V0KTsKICAgIH07CiAgICAKICAgIHRoaXMuZ2V0VmFsdWUgPSBmdW5jdGlvbihjYWxsYmFja0lkKSB7CiAgICAgICAgdGhpcy5zZW5kZXIuY2FsbGJhY2sodGhpcy5kb2MuZ2V0VmFsdWUoKSwgY2FsbGJhY2tJZCk7CiAgICB9OwogICAgCiAgICB0aGlzLm9uVXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICB9OwogICAgCiAgICB0aGlzLmlzUGVuZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmRlZmVycmVkVXBkYXRlLmlzUGVuZGluZygpOwogICAgfTsKICAgIAp9KS5jYWxsKE1pcnJvci5wcm90b3R5cGUpOwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvbW9kZS9qc29uL2pzb25fcGFyc2UiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKICAgIHZhciBhdCwgICAgIC8vIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIKICAgICAgICBjaCwgICAgIC8vIFRoZSBjdXJyZW50IGNoYXJhY3RlcgogICAgICAgIGVzY2FwZWUgPSB7CiAgICAgICAgICAgICciJzogICciJywKICAgICAgICAgICAgJ1xcJzogJ1xcJywKICAgICAgICAgICAgJy8nOiAgJy8nLAogICAgICAgICAgICBiOiAgICAnXGInLAogICAgICAgICAgICBmOiAgICAnXGYnLAogICAgICAgICAgICBuOiAgICAnXG4nLAogICAgICAgICAgICByOiAgICAnXHInLAogICAgICAgICAgICB0OiAgICAnXHQnCiAgICAgICAgfSwKICAgICAgICB0ZXh0LAoKICAgICAgICBlcnJvciA9IGZ1bmN0aW9uIChtKSB7CgogICAgICAgICAgICB0aHJvdyB7CiAgICAgICAgICAgICAgICBuYW1lOiAgICAnU3ludGF4RXJyb3InLAogICAgICAgICAgICAgICAgbWVzc2FnZTogbSwKICAgICAgICAgICAgICAgIGF0OiAgICAgIGF0LAogICAgICAgICAgICAgICAgdGV4dDogICAgdGV4dAogICAgICAgICAgICB9OwogICAgICAgIH0sCgogICAgICAgIG5leHQgPSBmdW5jdGlvbiAoYykgewoKICAgICAgICAgICAgaWYgKGMgJiYgYyAhPT0gY2gpIHsKICAgICAgICAgICAgICAgIGVycm9yKCJFeHBlY3RlZCAnIiArIGMgKyAiJyBpbnN0ZWFkIG9mICciICsgY2ggKyAiJyIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjaCA9IHRleHQuY2hhckF0KGF0KTsKICAgICAgICAgICAgYXQgKz0gMTsKICAgICAgICAgICAgcmV0dXJuIGNoOwogICAgICAgIH0sCgogICAgICAgIG51bWJlciA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgIHZhciBudW1iZXIsCiAgICAgICAgICAgICAgICBzdHJpbmcgPSAnJzsKCiAgICAgICAgICAgIGlmIChjaCA9PT0gJy0nKSB7CiAgICAgICAgICAgICAgICBzdHJpbmcgPSAnLSc7CiAgICAgICAgICAgICAgICBuZXh0KCctJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2hpbGUgKGNoID49ICcwJyAmJiBjaCA8PSAnOScpIHsKICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2ggPT09ICcuJykgewogICAgICAgICAgICAgICAgc3RyaW5nICs9ICcuJzsKICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0KCkgJiYgY2ggPj0gJzAnICYmIGNoIDw9ICc5JykgewogICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2ggPT09ICdlJyB8fCBjaCA9PT0gJ0UnKSB7CiAgICAgICAgICAgICAgICBzdHJpbmcgKz0gY2g7CiAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJysnKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nICs9IGNoOwogICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdoaWxlIChjaCA+PSAnMCcgJiYgY2ggPD0gJzknKSB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nICs9IGNoOwogICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBudW1iZXIgPSArc3RyaW5nOwogICAgICAgICAgICBpZiAoaXNOYU4obnVtYmVyKSkgewogICAgICAgICAgICAgICAgZXJyb3IoIkJhZCBudW1iZXIiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBudW1iZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICBzdHJpbmcgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICB2YXIgaGV4LAogICAgICAgICAgICAgICAgaSwKICAgICAgICAgICAgICAgIHN0cmluZyA9ICcnLAogICAgICAgICAgICAgICAgdWZmZmY7CgogICAgICAgICAgICBpZiAoY2ggPT09ICciJykgewogICAgICAgICAgICAgICAgd2hpbGUgKG5leHQoKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJyInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0cmluZzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoID09PSAnXFwnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoID09PSAndScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVmZmZmID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXggPSBwYXJzZUludChuZXh0KCksIDE2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRmluaXRlKGhleCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVmZmZmID0gdWZmZmYgKiAxNiArIGhleDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKHVmZmZmKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXNjYXBlZVtjaF0gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgKz0gZXNjYXBlZVtjaF07CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2ggPT0gIlxuIiB8fCBjaCA9PSAiXHIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyArPSBjaDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZXJyb3IoIkJhZCBzdHJpbmciKTsKICAgICAgICB9LAoKICAgICAgICB3aGl0ZSA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgIHdoaWxlIChjaCAmJiBjaCA8PSAnICcpIHsKICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIHdvcmQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICBzd2l0Y2ggKGNoKSB7CiAgICAgICAgICAgIGNhc2UgJ3QnOgogICAgICAgICAgICAgICAgbmV4dCgndCcpOwogICAgICAgICAgICAgICAgbmV4dCgncicpOwogICAgICAgICAgICAgICAgbmV4dCgndScpOwogICAgICAgICAgICAgICAgbmV4dCgnZScpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIGNhc2UgJ2YnOgogICAgICAgICAgICAgICAgbmV4dCgnZicpOwogICAgICAgICAgICAgICAgbmV4dCgnYScpOwogICAgICAgICAgICAgICAgbmV4dCgnbCcpOwogICAgICAgICAgICAgICAgbmV4dCgncycpOwogICAgICAgICAgICAgICAgbmV4dCgnZScpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICBjYXNlICduJzoKICAgICAgICAgICAgICAgIG5leHQoJ24nKTsKICAgICAgICAgICAgICAgIG5leHQoJ3UnKTsKICAgICAgICAgICAgICAgIG5leHQoJ2wnKTsKICAgICAgICAgICAgICAgIG5leHQoJ2wnKTsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVycm9yKCJVbmV4cGVjdGVkICciICsgY2ggKyAiJyIpOwogICAgICAgIH0sCgogICAgICAgIHZhbHVlLCAgLy8gUGxhY2UgaG9sZGVyIGZvciB0aGUgdmFsdWUgZnVuY3Rpb24uCgogICAgICAgIGFycmF5ID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdmFyIGFycmF5ID0gW107CgogICAgICAgICAgICBpZiAoY2ggPT09ICdbJykgewogICAgICAgICAgICAgICAgbmV4dCgnWycpOwogICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ10nKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dCgnXScpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcnJheTsgICAvLyBlbXB0eSBhcnJheQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgd2hpbGUgKGNoKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyYXkucHVzaCh2YWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICB3aGl0ZSgpOwogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ10nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoJ10nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBuZXh0KCcsJyk7CiAgICAgICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlcnJvcigiQmFkIGFycmF5Iik7CiAgICAgICAgfSwKCiAgICAgICAgb2JqZWN0ID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdmFyIGtleSwKICAgICAgICAgICAgICAgIG9iamVjdCA9IHt9OwoKICAgICAgICAgICAgaWYgKGNoID09PSAneycpIHsKICAgICAgICAgICAgICAgIG5leHQoJ3snKTsKICAgICAgICAgICAgICAgIHdoaXRlKCk7CiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICd9JykgewogICAgICAgICAgICAgICAgICAgIG5leHQoJ30nKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0OyAgIC8vIGVtcHR5IG9iamVjdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgd2hpbGUgKGNoKSB7CiAgICAgICAgICAgICAgICAgICAga2V5ID0gc3RyaW5nKCk7CiAgICAgICAgICAgICAgICAgICAgd2hpdGUoKTsKICAgICAgICAgICAgICAgICAgICBuZXh0KCc6Jyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcignRHVwbGljYXRlIGtleSAiJyArIGtleSArICciJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIG9iamVjdFtrZXldID0gdmFsdWUoKTsKICAgICAgICAgICAgICAgICAgICB3aGl0ZSgpOwogICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ30nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoJ30nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iamVjdDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgbmV4dCgnLCcpOwogICAgICAgICAgICAgICAgICAgIHdoaXRlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZXJyb3IoIkJhZCBvYmplY3QiKTsKICAgICAgICB9OwoKICAgIHZhbHVlID0gZnVuY3Rpb24gKCkgewoKICAgICAgICB3aGl0ZSgpOwogICAgICAgIHN3aXRjaCAoY2gpIHsKICAgICAgICBjYXNlICd7JzoKICAgICAgICAgICAgcmV0dXJuIG9iamVjdCgpOwogICAgICAgIGNhc2UgJ1snOgogICAgICAgICAgICByZXR1cm4gYXJyYXkoKTsKICAgICAgICBjYXNlICciJzoKICAgICAgICAgICAgcmV0dXJuIHN0cmluZygpOwogICAgICAgIGNhc2UgJy0nOgogICAgICAgICAgICByZXR1cm4gbnVtYmVyKCk7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIGNoID49ICcwJyAmJiBjaCA8PSAnOScgPyBudW1iZXIoKSA6IHdvcmQoKTsKICAgICAgICB9CiAgICB9OwoKICAgIHJldHVybiBmdW5jdGlvbiAoc291cmNlLCByZXZpdmVyKSB7CiAgICAgICAgdmFyIHJlc3VsdDsKCiAgICAgICAgdGV4dCA9IHNvdXJjZTsKICAgICAgICBhdCA9IDA7CiAgICAgICAgY2ggPSAnICc7CiAgICAgICAgcmVzdWx0ID0gdmFsdWUoKTsKICAgICAgICB3aGl0ZSgpOwogICAgICAgIGlmIChjaCkgewogICAgICAgICAgICBlcnJvcigiU3ludGF4IGVycm9yIik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdHlwZW9mIHJldml2ZXIgPT09ICdmdW5jdGlvbicgPyBmdW5jdGlvbiB3YWxrKGhvbGRlciwga2V5KSB7CiAgICAgICAgICAgIHZhciBrLCB2LCB2YWx1ZSA9IGhvbGRlcltrZXldOwogICAgICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgZm9yIChrIGluIHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrKSkgewogICAgICAgICAgICAgICAgICAgICAgICB2ID0gd2Fsayh2YWx1ZSwgayk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlW2tdID0gdjsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtrXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmV2aXZlci5jYWxsKGhvbGRlciwga2V5LCB2YWx1ZSk7CiAgICAgICAgfSh7Jyc6IHJlc3VsdH0sICcnKSA6IHJlc3VsdDsKICAgIH07Cn0pOwoKYWNlLmRlZmluZSgiYWNlL21vZGUvanNvbl93b3JrZXIiLFtdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpIHsKInVzZSBzdHJpY3QiOwoKdmFyIG9vcCA9IHJlcXVpcmUoIi4uL2xpYi9vb3AiKTsKdmFyIE1pcnJvciA9IHJlcXVpcmUoIi4uL3dvcmtlci9taXJyb3IiKS5NaXJyb3I7CnZhciBwYXJzZSA9IHJlcXVpcmUoIi4vanNvbi9qc29uX3BhcnNlIik7Cgp2YXIgSnNvbldvcmtlciA9IGV4cG9ydHMuSnNvbldvcmtlciA9IGZ1bmN0aW9uKHNlbmRlcikgewogICAgTWlycm9yLmNhbGwodGhpcywgc2VuZGVyKTsKICAgIHRoaXMuc2V0VGltZW91dCgyMDApOwp9OwoKb29wLmluaGVyaXRzKEpzb25Xb3JrZXIsIE1pcnJvcik7CgooZnVuY3Rpb24oKSB7CgogICAgdGhpcy5vblVwZGF0ZSA9IGZ1bmN0aW9uKCkgewogICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZG9jLmdldFZhbHVlKCk7CiAgICAgICAgdmFyIGVycm9ycyA9IFtdOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICh2YWx1ZSkKICAgICAgICAgICAgICAgIHBhcnNlKHZhbHVlKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHZhciBwb3MgPSB0aGlzLmRvYy5pbmRleFRvUG9zaXRpb24oZS5hdC0xKTsKICAgICAgICAgICAgZXJyb3JzLnB1c2goewogICAgICAgICAgICAgICAgcm93OiBwb3Mucm93LAogICAgICAgICAgICAgICAgY29sdW1uOiBwb3MuY29sdW1uLAogICAgICAgICAgICAgICAgdGV4dDogZS5tZXNzYWdlLAogICAgICAgICAgICAgICAgdHlwZTogImVycm9yIgogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgdGhpcy5zZW5kZXIuZW1pdCgiYW5ub3RhdGUiLCBlcnJvcnMpOwogICAgfTsKCn0pLmNhbGwoSnNvbldvcmtlci5wcm90b3R5cGUpOwoKfSk7Cg=="},3057:function(be,Ae,we){we.d(Ae,{AI:function(){return c},Tl:function(){return h},xC:function(){return l}}),we(1081);var Se={en:{array:"Array",auto:"Auto",appendText:"Append",appendTitle:"Append a new field with type 'auto' after this field (Ctrl+Shift+Ins)",appendSubmenuTitle:"Select the type of the field to be appended",appendTitleAuto:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",ascending:"Ascending",ascendingTitle:"Sort the childs of this ${type} in ascending order",actionsMenu:"Click to open the actions menu (Ctrl+M)",cannotParseFieldError:"Cannot parse field into JSON",cannotParseValueError:"Cannot parse value into JSON",collapseAll:"Collapse all fields",compactTitle:"Compact JSON data, remove all whitespaces (Ctrl+Shift+I)",descending:"Descending",descendingTitle:"Sort the childs of this ${type} in descending order",drag:"Drag to move this field (Alt+Shift+Arrows)",duplicateKey:"duplicate key",duplicateText:"Duplicate",duplicateTitle:"Duplicate selected fields (Ctrl+D)",duplicateField:"Duplicate this field (Ctrl+D)",duplicateFieldError:"Duplicate field name",empty:"empty",expandAll:"Expand all fields",expandTitle:"Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs.",formatTitle:"Format JSON data, with proper indentation and line feeds (Ctrl+I)",insert:"Insert",insertTitle:"Insert a new field with type 'auto' before this field (Ctrl+Ins)",insertSub:"Select the type of the field to be inserted",object:"Object",ok:"Ok",redo:"Redo (Ctrl+Shift+Z)",removeText:"Remove",removeTitle:"Remove selected fields (Ctrl+Del)",removeField:"Remove this field (Ctrl+Del)",repairTitle:"Repair JSON: fix quotes and escape characters, remove comments and JSONP notation, turn JavaScript objects into JSON.",searchTitle:"Search fields and values",searchNextResultTitle:"Next result (Enter)",searchPreviousResultTitle:"Previous result (Shift + Enter)",selectNode:"Select a node...",showAll:"show all",showMore:"show more",showMoreStatus:"displaying ${visibleChilds} of ${totalChilds} items.",sort:"Sort",sortTitle:"Sort the childs of this ${type}",sortTitleShort:"Sort contents",sortFieldLabel:"Field:",sortDirectionLabel:"Direction:",sortFieldTitle:"Select the nested field by which to sort the array or object",sortAscending:"Ascending",sortAscendingTitle:"Sort the selected field in ascending order",sortDescending:"Descending",sortDescendingTitle:"Sort the selected field in descending order",string:"String",transform:"Transform",transformTitle:"Filter, sort, or transform the childs of this ${type}",transformTitleShort:"Filter, sort, or transform contents",extract:"Extract",extractTitle:"Extract this ${type}",transformQueryTitle:"Enter a JMESPath query",transformWizardLabel:"Wizard",transformWizardFilter:"Filter",transformWizardSortBy:"Sort by",transformWizardSelectFields:"Select fields",transformQueryLabel:"Query",transformPreviewLabel:"Preview",type:"Type",typeTitle:"Change the type of this field",openUrl:"Ctrl+Click or Ctrl+Enter to open url in new window",undo:"Undo last action (Ctrl+Z)",validationCannotMove:"Cannot move a field into a child of itself",autoType:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',objectType:'Field type "object". An object contains an unordered set of key/value pairs.',arrayType:'Field type "array". An array contains an ordered collection of values.',stringType:'Field type "string". Field type is not determined from the value, but always returned as string.',modeEditorTitle:"Switch Editor Mode",modeCodeText:"Code",modeCodeTitle:"Switch to code highlighter",modeFormText:"Form",modeFormTitle:"Switch to form editor",modeTextText:"Text",modeTextTitle:"Switch to plain text editor",modeTreeText:"Tree",modeTreeTitle:"Switch to tree editor",modeViewText:"View",modeViewTitle:"Switch to tree view",modePreviewText:"Preview",modePreviewTitle:"Switch to preview mode",examples:"Examples",default:"Default",containsInvalidProperties:"Contains invalid properties",containsInvalidItems:"Contains invalid items"},es:{array:"Matriz",auto:"Auto",appendText:"Agregar",appendTitle:"Agregue un nuevo campo con el tipo 'auto' después de este campo (Ctrl + Shift + Ins)",appendSubmenuTitle:"Seleccione el tipo de campo que se agregará",appendTitleAuto:"Agregue un nuevo campo con el tipo 'auto' (Ctrl + Shift + Ins)",ascending:"Ascendente",ascendingTitle:"Ordene los elementos secundarios de este ${type} en orden ascendente",actionsMenu:"Haga clic para abrir el menú de acciones (Ctrl + M)",cannotParseFieldError:"No se puede parsear el campo en JSON",cannotParseValueError:"No se puede parsear el valor en JSON",collapseAll:"Contraer todos los campos",compactTitle:"Compactar datos JSON, eliminar todos los espacios en blanco (Ctrl + Shift + I)",descending:"Descendente",descendingTitle:"Ordene los hijos de este ${type} en orden descendente",drag:"Arrastre para mover este campo (Alt + Mayús + Flechas)",duplicateKey:"llave duplicada",duplicateText:"Duplicar",duplicateTitle:"Duplicar campos seleccionados (Ctrl + D)",duplicateField:"Duplicar este campo (Ctrl + D)",duplicateFieldError:"Nombre de campo duplicado",empty:"vacio",expandAll:"Expandir todos los campos",expandTitle:"Haga clic para expandir/contraer este campo (Ctrl + E). \n Ctrl+Clic para expandir/contraer incluyendo todos los niños.",formatTitle:"Formatee los datos JSON, con la sangría y los avances de línea adecuados (Ctrl + I)",insert:"Insertar",insertTitle:"Inserte un nuevo campo con el tipo 'auto' antes de este campo (Ctrl + Ins)",insertSub:"Seleccione el tipo de campo a insertar",object:"Objeto",ok:"Ok",redo:"Rehacer (Ctrl+Mayús+Z)",removeText:"Eliminar",removeTitle:"Eliminar campos seleccionados (Ctrl+Supr)",removeField:"Eliminar este campo (Ctrl+Supr)",repairTitle:"Reparar JSON: corrija comillas y caracteres de escape, elimine comentarios y notación JSONP, convierta objetos JavaScript en JSON.",searchTitle:"Campos de búsqueda y valores",searchNextResultTitle:"Siguiente resultado (Entrar)",searchPreviousResultTitle:"Resultado anterior (Shift + Enter)",selectNode:"Seleccione un nodo...",showAll:"mostrar todo",showMore:"mostrar más",showMoreStatus:"mostrando ${visibleChilds} de ${totalChilds} elementos.",sort:"Ordenar",sortTitle:"Ordene los hijos de este ${type}",sortTitleShort:"Ordenar contenidos",sortFieldLabel:"Campo:",sortDirectionLabel:"Dirección:",sortFieldTitle:"Seleccione el campo anidado por el cual ordenar la matriz u objeto",sortAscending:"Ascendente",sortAscendingTitle:"Ordenar el campo seleccionado en orden ascendente",sortDescending:"Descendente",sortDescendingTitle:"Ordenar por el campo seleccionado, en orden descendente",string:"Texto",transform:"Transformar",transformTitle:"Filtrar, ordenar o transformar los hijos de este ${type}",transformTitleShort:"Filtrar, ordenar o transformar contenidos",extract:"Extraer",extractTitle:"Extrae este ${type}",transformQueryTitle:"Ingrese una consulta JMESPath",transformWizardLabel:"Wizard",transformWizardFilter:"Filtro",transformWizardSortBy:"Ordenar por",transformWizardSelectFields:"Seleccione un campo",transformQueryLabel:"Consulta",transformPreviewLabel:"Vista Previa",type:"Tipo",typeTitle:"Cambiar el tipo de campo",openUrl:"Ctrl+Click o Ctrl+Enter para abrir la URL en una nueva ventana",undo:"Deshacer la última acción (Ctrl+Z)",validationCannotMove:"No se puede mover un campo a un hijo de sí mismo.",autoType:'Tipo de campo "auto". El tipo de campo se determina automáticamente a partir del valor y puede ser una cadena, un número, un booleano o un valor nulo.',objectType:'Tipo de campo "objeto". Un objeto contiene un conjunto desordenado de pares clave/valor.',arrayType:'Tipo de campo "matriz". Una matriz contiene una colección ordenada de valores.',stringType:'Tipo de campo "cadena". El tipo de campo no se determina a partir del valor, pero siempre se devuelve como una cadena.',modeEditorTitle:"Cambiar modo de editor",modeCodeText:"Código",modeCodeTitle:"Cambiar al resaltador de código",modeFormText:"Formulario",modeFormTitle:"Cambiar al editor de formularios",modeTextText:"Texto",modeTextTitle:"Cambiar al editor de texto sin formato",modeTreeText:"Árbol",modeTreeTitle:"Cambiar al editor de árbol",modeViewText:"Vista",modeViewTitle:"Cambiar a la vista de árbol",modePreviewText:"Vista Previa",modePreviewTitle:"Cambiar al modo de vista previa",examples:"Ejemplos",default:"Predeterminado",containsInvalidProperties:"Contiene propiedades no válidas",containsInvalidItems:"Contiene ítems no válidos"},"zh-CN":{array:"数组",auto:"自动",appendText:"追加",appendTitle:"在此字段后追加一个类型为“auto”的新字段 (Ctrl+Shift+Ins)",appendSubmenuTitle:"选择要追加的字段类型",appendTitleAuto:"追加类型为“auto”的新字段 (Ctrl+Shift+Ins)",ascending:"升序",ascendingTitle:"升序排列${type}的子节点",actionsMenu:"点击打开动作菜单(Ctrl+M)",cannotParseFieldError:"无法将字段解析为JSON",cannotParseValueError:"无法将值解析为JSON",collapseAll:"缩进所有字段",compactTitle:"压缩JSON数据,删除所有空格 (Ctrl+Shift+I)",descending:"降序",descendingTitle:"降序排列${type}的子节点",drag:"拖拽移动该节点(Alt+Shift+Arrows)",duplicateKey:"重复键",duplicateText:"复制",duplicateTitle:"复制选中字段(Ctrl+D)",duplicateField:"复制该字段(Ctrl+D)",duplicateFieldError:"重复的字段名称",empty:"清空",expandAll:"展开所有字段",expandTitle:"点击 展开/收缩 该字段(Ctrl+E). \nCtrl+Click 展开/收缩 包含所有子节点.",formatTitle:"使用适当的缩进和换行符格式化JSON数据 (Ctrl+I)",insert:"插入",insertTitle:"在此字段前插入类型为“auto”的新字段 (Ctrl+Ins)",insertSub:"选择要插入的字段类型",object:"对象",ok:"Ok",redo:"重做 (Ctrl+Shift+Z)",removeText:"移除",removeTitle:"移除选中字段 (Ctrl+Del)",removeField:"移除该字段 (Ctrl+Del)",repairTitle:"修复JSON:修复引号和转义符,删除注释和JSONP表示法,将JavaScript对象转换为JSON。",selectNode:"选择一个节点...",showAll:"展示全部",showMore:"展示更多",showMoreStatus:"显示${totalChilds}的${visibleChilds}项目.",sort:"排序",sortTitle:"排序${type}的子节点",sortTitleShort:"内容排序",sortFieldLabel:"字段:",sortDirectionLabel:"方向:",sortFieldTitle:"选择用于对数组或对象排序的嵌套字段",sortAscending:"升序排序",sortAscendingTitle:"按照该字段升序排序",sortDescending:"降序排序",sortDescendingTitle:"按照该字段降序排序",string:"字符串",transform:"变换",transformTitle:"筛选,排序,或者转换${type}的子节点",transformTitleShort:"筛选,排序,或者转换内容",extract:"提取",extractTitle:"提取这个 ${type}",transformQueryTitle:"输入JMESPath查询",transformWizardLabel:"向导",transformWizardFilter:"筛选",transformWizardSortBy:"排序",transformWizardSelectFields:"选择字段",transformQueryLabel:"查询",transformPreviewLabel:"预览",type:"类型",typeTitle:"更改字段类型",openUrl:"Ctrl+Click 或者 Ctrl+Enter 在新窗口打开链接",undo:"撤销上次动作 (Ctrl+Z)",validationCannotMove:"无法将字段移入其子节点",autoType:'字段类型 "auto". 字段类型由值自动确定 可以为 string,number,boolean,或者 null.',objectType:'字段类型 "object". 对象包含一组无序的键/值对.',arrayType:'字段类型 "array". 数组包含值的有序集合.',stringType:'字段类型 "string". 字段类型由值自动确定,但始终作为字符串返回.',modeCodeText:"代码",modeCodeTitle:"切换至代码高亮",modeFormText:"表单",modeFormTitle:"切换至表单编辑",modeTextText:"文本",modeTextTitle:"切换至文本编辑",modeTreeText:"树",modeTreeTitle:"切换至树编辑",modeViewText:"视图",modeViewTitle:"切换至树视图",modePreviewText:"预览",modePreviewTitle:"切换至预览模式",examples:"例子",default:"缺省",containsInvalidProperties:"包含无效的属性",containsInvalidItems:"包含无效项目"},"pt-BR":{array:"Lista",auto:"Automatico",appendText:"Adicionar",appendTitle:"Adicionar novo campo com tipo 'auto' depois deste campo (Ctrl+Shift+Ins)",appendSubmenuTitle:"Selecione o tipo do campo a ser adicionado",appendTitleAuto:"Adicionar novo campo com tipo 'auto' (Ctrl+Shift+Ins)",ascending:"Ascendente",ascendingTitle:"Organizar filhor do tipo ${type} em crescente",actionsMenu:"Clique para abrir o menu de ações (Ctrl+M)",cannotParseFieldError:"Não é possível analisar o campo no JSON",cannotParseValueError:"Não é possível analisar o valor em JSON",collapseAll:"Fechar todos campos",compactTitle:"Dados JSON compactos, remova todos os espaços em branco (Ctrl+Shift+I)",descending:"Descendente",descendingTitle:"Organizar o filhos do tipo ${type} em decrescente",duplicateKey:"chave duplicada",drag:"Arraste para mover este campo (Alt+Shift+Arrows)",duplicateText:"Duplicar",duplicateTitle:"Duplicar campos selecionados (Ctrl+D)",duplicateField:"Duplicar este campo (Ctrl+D)",duplicateFieldError:"Nome do campo duplicado",empty:"vazio",expandAll:"Expandir todos campos",expandTitle:"Clique para expandir/encolher este campo (Ctrl+E). \nCtrl+Click para expandir/encolher incluindo todos os filhos.",formatTitle:"Formate dados JSON, com recuo e feeds de linha adequados (Ctrl+I)",insert:"Inserir",insertTitle:"Inserir um novo campo do tipo 'auto' antes deste campo (Ctrl+Ins)",insertSub:"Selecionar o tipo de campo a ser inserido",object:"Objeto",ok:"Ok",redo:"Refazer (Ctrl+Shift+Z)",removeText:"Remover",removeTitle:"Remover campos selecionados (Ctrl+Del)",removeField:"Remover este campo (Ctrl+Del)",repairTitle:"Repare JSON: corrija aspas e caracteres de escape, remova comentários e notação JSONP, transforme objetos JavaScript em JSON.",selectNode:"Selecione um nódulo...",showAll:"mostrar todos",showMore:"mostrar mais",showMoreStatus:"exibindo ${visibleChilds} de ${totalChilds} itens.",sort:"Organizar",sortTitle:"Organizar os filhos deste ${type}",sortTitleShort:"Organizar os filhos",sortFieldLabel:"Campo:",sortDirectionLabel:"Direção:",sortFieldTitle:"Selecione um campo filho pelo qual ordenar o array ou objeto",sortAscending:"Ascendente",sortAscendingTitle:"Ordenar o campo selecionado por ordem ascendente",sortDescending:"Descendente",sortDescendingTitle:"Ordenar o campo selecionado por ordem descendente",string:"Texto",transform:"Transformar",transformTitle:"Filtrar, ordenar ou transformar os filhos deste ${type}",transformTitleShort:"Filtrar, ordenar ou transformar conteúdos",transformQueryTitle:"Insira uma expressão JMESPath",transformWizardLabel:"Assistente",transformWizardFilter:"Filtro",transformWizardSortBy:"Ordenar por",transformWizardSelectFields:"Selecionar campos",transformQueryLabel:"Expressão",transformPreviewLabel:"Visualizar",type:"Tipo",typeTitle:"Mudar o tipo deste campo",openUrl:"Ctrl+Click ou Ctrl+Enter para abrir link em nova janela",undo:"Desfazer último ação (Ctrl+Z)",validationCannotMove:"Não pode mover um campo como filho dele mesmo",autoType:'Campo do tipo "auto". O tipo do campo é determinao automaticamente a partir do seu valor e pode ser texto, número, verdade/falso ou nulo.',objectType:'Campo do tipo "objeto". Um objeto contém uma lista de pares com chave e valor.',arrayType:'Campo do tipo "lista". Uma lista contem uma coleção de valores ordenados.',stringType:'Campo do tipo "string". Campo do tipo nao é determinado através do seu valor, mas sempre retornara um texto.',examples:"Exemplos",default:"Revelia",containsInvalidProperties:"Contém propriedades inválidas",containsInvalidItems:"Contém itens inválidos"},tr:{array:"Dizin",auto:"Otomatik",appendText:"Ekle",appendTitle:"Bu alanın altına 'otomatik' tipinde yeni bir alan ekle (Ctrl+Shift+Ins)",appendSubmenuTitle:"Eklenecek alanın tipini seç",appendTitleAuto:"'Otomatik' tipinde yeni bir alan ekle (Ctrl+Shift+Ins)",ascending:"Artan",ascendingTitle:"${type}'ın alt tiplerini artan düzende sırala",actionsMenu:"Aksiyon menüsünü açmak için tıklayın (Ctrl+M)",collapseAll:"Tüm alanları kapat",descending:"Azalan",descendingTitle:"${type}'ın alt tiplerini azalan düzende sırala",drag:"Bu alanı taşımak için sürükleyin (Alt+Shift+Arrows)",duplicateKey:"Var olan anahtar",duplicateText:"Aşağıya kopyala",duplicateTitle:"Seçili alanlardan bir daha oluştur (Ctrl+D)",duplicateField:"Bu alandan bir daha oluştur (Ctrl+D)",duplicateFieldError:"Duplicate field name",cannotParseFieldError:"Alan JSON'a ayrıştırılamıyor",cannotParseValueError:"JSON'a değer ayrıştırılamıyor",empty:"boş",expandAll:"Tüm alanları aç",expandTitle:"Bu alanı açmak/kapatmak için tıkla (Ctrl+E). \nAlt alanlarda dahil tüm alanları açmak için Ctrl+Click ",insert:"Ekle",insertTitle:"Bu alanın üstüne 'otomatik' tipinde yeni bir alan ekle (Ctrl+Ins)",insertSub:"Araya eklenecek alanın tipini seç",object:"Nesne",ok:"Tamam",redo:"Yeniden yap (Ctrl+Shift+Z)",removeText:"Kaldır",removeTitle:"Seçilen alanları kaldır (Ctrl+Del)",removeField:"Bu alanı kaldır (Ctrl+Del)",selectNode:"Bir nesne seç...",showAll:"tümünü göster",showMore:"daha fazla göster",showMoreStatus:"${totalChilds} alanın ${visibleChilds} alt alanları gösteriliyor",sort:"Sırala",sortTitle:"${type}'ın alt alanlarını sırala",sortTitleShort:"İçerikleri sırala",sortFieldLabel:"Alan:",sortDirectionLabel:"Yön:",sortFieldTitle:"Diziyi veya nesneyi sıralamak için iç içe geçmiş alanı seçin",sortAscending:"Artan",sortAscendingTitle:"Seçili alanı artan düzende sırala",sortDescending:"Azalan",sortDescendingTitle:"Seçili alanı azalan düzende sırala",string:"Karakter Dizisi",transform:"Dönüştür",transformTitle:"${type}'ın alt alanlarını filtrele, sırala veya dönüştür",transformTitleShort:"İçerikleri filterele, sırala veya dönüştür",transformQueryTitle:"JMESPath sorgusu gir",transformWizardLabel:"Sihirbaz",transformWizardFilter:"Filtre",transformWizardSortBy:"Sırala",transformWizardSelectFields:"Alanları seç",transformQueryLabel:"Sorgu",transformPreviewLabel:"Önizleme",type:"Tip",typeTitle:"Bu alanın tipini değiştir",openUrl:"URL'i yeni bir pencerede açmak için Ctrl+Click veya Ctrl+Enter",undo:"Son değişikliği geri al (Ctrl+Z)",validationCannotMove:"Alt alan olarak taşınamıyor",autoType:'Alan tipi "otomatik". Alan türü otomatik olarak değerden belirlenirve bir dize, sayı, boolean veya null olabilir.',objectType:'Alan tipi "nesne". Bir nesne, sıralanmamış bir anahtar / değer çifti kümesi içerir.',arrayType:'Alan tipi "dizi". Bir dizi, düzenli değerler koleksiyonu içerir.',stringType:'Alan tipi "karakter dizisi". Alan türü değerden belirlenmez,ancak her zaman karakter dizisi olarak döndürülür.',modeCodeText:"Kod",modeCodeTitle:"Kod vurgulayıcıya geç",modeFormText:"Form",modeFormTitle:"Form düzenleyiciye geç",modeTextText:"Metin",modeTextTitle:"Düz metin düzenleyiciye geç",modeTreeText:"Ağaç",modeTreeTitle:"Ağaç düzenleyiciye geç",modeViewText:"Görünüm",modeViewTitle:"Ağaç görünümüne geç",examples:"Örnekler",default:"Varsayılan",containsInvalidProperties:"Geçersiz özellikler içeriyor",containsInvalidItems:"Geçersiz öğeler içeriyor"},ja:{array:"配列",auto:"オート",appendText:"追加",appendTitle:'次のフィールドに"オート"のフィールドを追加 (Ctrl+Shift+Ins)',appendSubmenuTitle:"追加するフィールドの型を選択してください",appendTitleAuto:'"オート"のフィールドを追加 (Ctrl+Shift+Ins)',ascending:"昇順",ascendingTitle:"${type}の子要素を昇順に並べ替え",actionsMenu:"クリックしてアクションメニューを開く (Ctrl+M)",collapseAll:"すべてを折りたたむ",descending:"降順",descendingTitle:"${type}の子要素を降順に並べ替え",drag:"ドラッグして選択中のフィールドを移動 (Alt+Shift+Arrows)",duplicateKey:"複製キー",duplicateText:"複製",duplicateTitle:"選択中のフィールドを複製 (Ctrl+D)",duplicateField:"選択中のフィールドを複製 (Ctrl+D)",duplicateFieldError:"フィールド名が重複しています",cannotParseFieldError:"JSONのフィールドを解析できません",cannotParseValueError:"JSONの値を解析できません",empty:"空",expandAll:"すべてを展開",expandTitle:"クリックしてフィールドを展開/折りたたむ (Ctrl+E). \nCtrl+Click ですべての子要素を展開/折りたたむ",insert:"挿入",insertTitle:"選択中のフィールドの前に新しいフィールドを挿入 (Ctrl+Ins)",insertSub:"挿入するフィールドの型を選択",object:"オブジェクト",ok:"実行",redo:"やり直す (Ctrl+Shift+Z)",removeText:"削除",removeTitle:"選択中のフィールドを削除 (Ctrl+Del)",removeField:"選択中のフィールドを削除 (Ctrl+Del)",selectNode:"ノードを選択...",showAll:"すべてを表示",showMore:"もっと見る",showMoreStatus:"${totalChilds}個のアイテムのうち ${visibleChilds}個を表示しています。",sort:"並べ替え",sortTitle:"${type}の子要素を並べ替え",sortTitleShort:"並べ替え",sortFieldLabel:"フィールド:",sortDirectionLabel:"順序:",sortFieldTitle:"配列またはオブジェクトを並び替えるためのフィールドを選択",sortAscending:"昇順",sortAscendingTitle:"選択中のフィールドを昇順に並び替え",sortDescending:"降順",sortDescendingTitle:"選択中のフィールドを降順に並び替え",string:"文字列",transform:"変換",transformTitle:"${type}の子要素をフィルター・並び替え・変換する",transformTitleShort:"内容をフィルター・並び替え・変換する",extract:"抽出",extractTitle:"${type}を抽出",transformQueryTitle:"JMESPathクエリを入力",transformWizardLabel:"ウィザード",transformWizardFilter:"フィルター",transformWizardSortBy:"並び替え",transformWizardSelectFields:"フィールドを選択",transformQueryLabel:"クエリ",transformPreviewLabel:"プレビュー",type:"型",typeTitle:"選択中のフィールドの型を変更",openUrl:"Ctrl+Click または Ctrl+Enter で 新規ウィンドウでURLを開く",undo:"元に戻す (Ctrl+Z)",validationCannotMove:"子要素に移動できません ",autoType:"オート: フィールドの型は値から自動的に決定されます。 (文字列・数値・ブール・null)",objectType:"オブジェクト: オブジェクトは順序が決まっていないキーと値のペア組み合わせです。",arrayType:"配列: 配列は順序が決まっている値の集合体です。",stringType:"文字列: フィールド型は値から決定されませんが、常に文字列として返されます。",modeCodeText:"コードモード",modeCodeTitle:"ハイライトモードに切り替え",modeFormText:"フォームモード",modeFormTitle:"フォームモードに切り替え",modeTextText:"テキストモード",modeTextTitle:"テキストモードに切り替え",modeTreeText:"ツリーモード",modeTreeTitle:"ツリーモードに切り替え",modeViewText:"ビューモード",modeViewTitle:"ビューモードに切り替え",modePreviewText:"プレビュー",modePreviewTitle:"プレビューに切り替え",examples:"例",default:"デフォルト",containsInvalidProperties:"無効なプロパティが含まれています",containsInvalidItems:"無効なアイテムが含まれています"},"fr-FR":{array:"Liste",auto:"Auto",appendText:"Ajouter",appendTitle:"Ajouter un champ de type 'auto' après ce champ (Ctrl+Shift+Ins)",appendSubmenuTitle:"Sélectionner le type du champ à ajouter",appendTitleAuto:"Ajouter un champ de type 'auto' (Ctrl+Shift+Ins)",ascending:"Ascendant",ascendingTitle:"Trier les enfants de ce ${type} par ordre ascendant",actionsMenu:"Ouvrir le menu des actions (Ctrl+M)",collapseAll:"Regrouper",descending:"Descendant",descendingTitle:"Trier les enfants de ce ${type} par ordre descendant",drag:"Déplacer (Alt+Shift+Arrows)",duplicateKey:"Dupliquer la clé",duplicateText:"Dupliquer",duplicateTitle:"Dupliquer les champs sélectionnés (Ctrl+D)",duplicateField:"Dupliquer ce champ (Ctrl+D)",duplicateFieldError:"Dupliquer le nom de champ",cannotParseFieldError:"Champ impossible à parser en JSON",cannotParseValueError:"Valeur impossible à parser en JSON",empty:"vide",expandAll:"Étendre",expandTitle:"Étendre/regrouper ce champ (Ctrl+E). \nCtrl+Click pour étendre/regrouper avec tous les champs.",insert:"Insérer",insertTitle:"Insérer un champ de type 'auto' avant ce champ (Ctrl+Ins)",insertSub:"Sélectionner le type de champ à insérer",object:"Objet",ok:"Ok",redo:"Rejouer (Ctrl+Shift+Z)",removeText:"Supprimer",removeTitle:"Supprimer les champs sélectionnés (Ctrl+Del)",removeField:"Supprimer ce champ (Ctrl+Del)",searchTitle:"Rechercher champs et valeurs",searchNextResultTitle:"Résultat suivant (Enter)",searchPreviousResultTitle:"Résultat précédent (Shift + Enter)",selectNode:"Sélectionner un nœud...",showAll:"voir tout",showMore:"voir plus",showMoreStatus:"${visibleChilds} éléments affichés de ${totalChilds}.",sort:"Trier",sortTitle:"Trier les champs de ce ${type}",sortTitleShort:"Trier",sortFieldLabel:"Champ:",sortDirectionLabel:"Direction:",sortFieldTitle:"Sélectionner les champs permettant de trier les listes et objet",sortAscending:"Ascendant",sortAscendingTitle:"Trier les champs sélectionnés par ordre ascendant",sortDescending:"Descendant",sortDescendingTitle:"Trier les champs sélectionnés par ordre descendant",string:"Chaîne",transform:"Transformer",transformTitle:"Filtrer, trier, or transformer les enfants de ce ${type}",transformTitleShort:"Filtrer, trier ou transformer le contenu",extract:"Extraire",extractTitle:"Extraire ce ${type}",transformQueryTitle:"Saisir une requête JMESPath",transformWizardLabel:"Assistant",transformWizardFilter:"Filtrer",transformWizardSortBy:"Trier par",transformWizardSelectFields:"Sélectionner les champs",transformQueryLabel:"Requête",transformPreviewLabel:"Prévisualisation",type:"Type",typeTitle:"Changer le type de ce champ",openUrl:"Ctrl+Click ou Ctrl+Enter pour ouvrir l'url dans une autre fenêtre",undo:"Annuler la dernière action (Ctrl+Z)",validationCannotMove:"Cannot move a field into a child of itself",autoType:'Champe de type "auto". Ce type de champ est automatiquement déterminé en fonction de la valeur et peut être de type "chaîne", "nombre", "booléen" ou null.',objectType:'Champ de type "objet". Un objet contient un ensemble non ordonné de paires clé/valeur.',arrayType:'Champ de type "liste". Une liste contient une collection ordonnée de valeurs.',stringType:'Champ de type "chaîne". Ce type de champ n\'est pas déterminé en fonction de la valeur, mais retourne systématiquement une chaîne de caractères.',modeEditorTitle:"Changer mode d'édition",modeCodeText:"Code",modeCodeTitle:"Activer surlignage code",modeFormText:"Formulaire",modeFormTitle:"Activer formulaire",modeTextText:"Texte",modeTextTitle:"Activer éditeur texte",modeTreeText:"Arbre",modeTreeTitle:"Activer éditeur arbre",modeViewText:"Lecture seule",modeViewTitle:"Activer vue arbre",modePreviewText:"Prévisualisation",modePreviewTitle:"Activer mode prévisualiser",examples:"Exemples",default:"Défaut",containsInvalidProperties:"Contient des propriétés non valides",containsInvalidItems:"Contient des éléments invalides"},de:{array:"Auflistung",auto:"Auto",appendText:"anhängen",appendTitle:"Fügen Sie nach diesem Feld ein neues Feld mit dem Typ 'auto' ein (Strg+Umschalt+Ein)",appendSubmenuTitle:"Wählen Sie den Typ des neuen Feldes",appendTitleAuto:"Ein neues Feld vom Typ 'auto' hinzufügen (Strg+Umschalt+Ein)",ascending:"Aufsteigend",ascendingTitle:"Sortieren Sie die Elemente dieses ${type} in aufsteigender Reihenfolge",actionsMenu:"Klicken Sie zum Öffnen des Aktionsmenüs (Strg+M)",cannotParseFieldError:"Feld kann nicht in JSON geparst werden",cannotParseValueError:"Wert kann nicht in JSON geparst werden",collapseAll:"Alle Felder zuklappen",compactTitle:"JSON-Daten verdichten, alle Leerzeichen entfernen (Strg+Umschalt+\\)",descending:"Absteigend",descendingTitle:"Sortieren Sie die Elemente dieses ${type} in absteigender Reihenfolge",drag:"Ziehen, um dieses Feld zu verschieben (Alt+Umschalt+Pfeile)",duplicateKey:"Doppelter Schlüssel",duplicateText:"Duplikat",duplicateTitle:"Ausgewählte Felder duplizieren (Strg+D)",duplicateField:"Dieses Feld duplizieren (Strg+D)",duplicateFieldError:"Doppelter Feldname",empty:"leer",expandAll:"Alle Felder anzeigen",expandTitle:"Klicken Sie, um dieses Feld zu erweitern/zu kollabieren (Strg+E). \nStrg+Klicken Sie, um dieses Feld einschließlich aller Elemente zu erweitern/zu kollabieren.",formatTitle:"JSON-Daten mit korrekter Einrückung und Zeilenvorschüben formatieren (Strg+\\)",insert:"einfügen",insertTitle:"Fügen Sie vor diesem Feld ein neues Feld mit dem Typ 'auto' ein (Strg+Einfg)",insertSub:"Wählen Sie den Typ des neuen Feldes",object:"Objekt",ok:"Ok",redo:"Wiederholen (Strg+Umschalt+Z)",removeText:"entfernen",removeTitle:"Ausgewählte Felder entfernen (Strg+Entf)",removeField:"Dieses Feld entfernen (Strg+Entf)",repairTitle:"JSON reparieren: Anführungszeichen und Escape-Zeichen korrigieren, Kommentare und JSONP-Notation entfernen, JavaScript-Objekte in JSON umwandeln.",searchTitle:"Suchfelder und Werte",searchNextResultTitle:"Nächstes Ergebnis (Enter)",searchPreviousResultTitle:"Vorheriges Ergebnis (Umschalt + Eingabe)",selectNode:"Wählen Sie einen Knoten aus...",showAll:"alle anzeigen",showMore:"mehr anzeigen",showMoreStatus:"Anzeige von ${visibleChilds} von ${totalChilds}-Elementen.",sort:"Sortieren",sortTitle:"Sortieren Sie die Elemente dieses ${type}",sortTitleShort:"Inhalt sortieren",sortFieldLabel:"Feld:",sortDirectionLabel:"Richtung:",sortFieldTitle:"Wählen Sie das verschachtelte Feld, nach dem das Array oder Objekt sortiert werden soll.",sortAscending:"Aufsteigend",sortAscendingTitle:"Sortieren Sie das ausgewählte Feld in aufsteigender Reihenfolge",sortDescending:"Absteigend",sortDescendingTitle:"Sortieren Sie das ausgewählte Feld in absteigender Reihenfolge",string:"Zeichenfolge",transform:"Verwandeln",transformTitle:"Die Elemente dieses ${type} filtern, sortieren oder transformieren",transformTitleShort:"Inhalte filtern, sortieren oder transformieren",extract:"Auszug",extractTitle:"Extrahieren Sie diesen ${type}",transformQueryTitle:"Eine JMESPath-Abfrage eingeben",transformWizardLabel:"Zauberer",transformWizardFilter:"Filter",transformWizardSortBy:"Sortieren nach",transformWizardSelectFields:"Felder auswählen",transformQueryLabel:"Anfrage",transformPreviewLabel:"Vorschau",type:"Geben Sie ein.",typeTitle:"Ändern Sie den Typ dieses Feldes",openUrl:"Strg+Klicken oder Strg+Eingabe, um die URL in einem neuen Fenster zu öffnen",undo:"Letzte Aktion rückgängig machen (Strg+Z)",validationCannotMove:"Kann ein Feld nicht in ein Kind seiner selbst verschieben",autoType:'Feldtyp "auto". Der Feldtyp wird automatisch aus dem Wert bestimmt und kann ein String, eine Zahl, boolesch oder null sein.',objectType:'Feldtyp "Objekt". Ein Objekt enthält eine ungeordnete Menge von Schlüssel/Wert-Paaren.',arrayType:'Feldtyp "Array". Ein Array enthält eine geordnete Sammlung von Werten.',stringType:'Feldtyp "Zeichenfolge". Der Feldtyp wird nicht aus dem Wert bestimmt, sondern immer als Zeichenfolge zurückgegeben.',modeEditorTitle:"Editor-Modus umschalten",modeCodeText:"Code",modeCodeTitle:"Umschalten auf Code-Highlighter",modeFormText:"Formular",modeFormTitle:"Zum Formular-Editor wechseln",modeTextText:"Text",modeTextTitle:"Zum Editor für einfachen Text wechseln",modeTreeText:"Baum",modeTreeTitle:"Zum Baum-Editor wechseln",modeViewText:"Siehe",modeViewTitle:"Zur Baumansicht wechseln",modePreviewText:"Vorschau",modePreviewTitle:"In den Vorschau-Modus wechseln",examples:"Beispiele",default:"Standardmäßig",containsInvalidProperties:"Enthält ungültige Eigenschaften",containsInvalidItems:"Enthält ungültige Elemente"},ru:{array:"Массив",auto:"Авто",appendText:"Добавить",appendTitle:"Добавить новое поле с типом 'авто' после этого поля (Ctrl+Shift+Ins)",appendSubmenuTitle:"Выбрать тип поля для добавления",appendTitleAuto:"Добавить новое поле с типом 'авто' (Ctrl+Shift+Ins)",ascending:"По возрастанию",ascendingTitle:"Сортировать ${type} по возрастанию",actionsMenu:"Нажмите для открытия меню действий (Ctrl+M)",cannotParseFieldError:"Невозможно преобразовать поле в JSON",cannotParseValueError:"Невозможно преобразовать значение в JSON",collapseAll:"Свернуть все",compactTitle:"Минификация JSON (Ctrl+Shift+I)",descending:"По убыванию",descendingTitle:"Сортировать ${type} по убыванию",drag:"Потяните для перемещения этого поля (Alt+Shift+Arrows)",duplicateKey:"повторяющийся ключ",duplicateText:"Дублировать",duplicateTitle:"Дублирование полей (Ctrl+D)",duplicateField:"Дублировать поле (Ctrl+D)",duplicateFieldError:"Дублирование названия поля",empty:"пустой",expandAll:"Развернуть все",expandTitle:"Нажмите для раскрытия/скрытия поля (Ctrl+E)\nили Ctrl+Click для раскрытия/скрытия всех потомков.",formatTitle:"Форматирование JSON (Ctrl+I)",insert:"Вставить",insertTitle:"Вставить новое поле с типом 'авто' перед этим полем (Ctrl+Ins)",insertSub:"Выбрать тип поля для вставки",object:"Объект",ok:"ОК",redo:"Повторить (Ctrl+Shift+Z)",removeText:"Удалить",removeTitle:"Удалить выбранные поля (Ctrl+Del)",removeField:"Удалить поле (Ctrl+Del)",repairTitle:"Восстановите JSON: исправьте кавычки и escape-символы, удалите комментарии и нотацию JSONP, модифицируйте объекты JavaScript в JSON.",searchTitle:"Поиск",searchNextResultTitle:"Следующий результат (Enter)",searchPreviousResultTitle:"Предыдущий результат (Shift + Enter)",selectNode:"Выбор узла...",showAll:"показать все",showMore:"больше",showMoreStatus:"${visibleChilds} из ${totalChilds}",sort:"Сортировка",sortTitle:"Сортировка потомков типа ${type}",sortTitleShort:"Сортировка содержимого",sortFieldLabel:"Поле:",sortDirectionLabel:"Направление:",sortFieldTitle:"Выберите поле для сортировки массива или объекта",sortAscending:"По возрастанию",sortAscendingTitle:"Сортировка выбранного поря по возрастанию",sortDescending:"По убыванию",sortDescendingTitle:"Сортировка выбранного поря по убыванию",string:"Строка",transform:"Модификация",transformTitle:"Фильтрация, сортировка или модификация данных типа ${type}",transformTitleShort:"Фильтрация, сортировка или модификация данных",extract:"Извлечение",extractTitle:"Извлечь тип ${type}",transformQueryTitle:"Введите JMESpath запрос",transformWizardLabel:"Мастер",transformWizardFilter:"Фильтр",transformWizardSortBy:"Сортировка",transformWizardSelectFields:"Поля",transformQueryLabel:"Запрос",transformPreviewLabel:"Просмотр",type:"Тип",typeTitle:"Изменить тип этого поля",openUrl:"Ctrl+Click или Ctrl+Enter для открытия url в новом окне",undo:"Отменить (Ctrl+Z)",validationCannotMove:"Поле не может быть перемещено в потомка",autoType:"Тип поля автоматически определяется по значению и может быть строкой, числом, логическим значением или null.",objectType:"Объект содержит неупорядоченный набор пар ключ/значение.",arrayType:"Массив содержит упорядоченный набор значений.",stringType:"Тип поля не определяется из значения, но всегда возвращается как строка.",modeEditorTitle:"Переключение режима редактора",modeCodeText:"Код",modeCodeTitle:"Переключить в режим редактора кода",modeFormText:"Форма",modeFormTitle:"Переключить в режим формы",modeTextText:"Текст",modeTextTitle:"Переключить в режим редактора текста",modeTreeText:"Дерево",modeTreeTitle:"Переключить в режим редактора дерева",modeViewText:"Просмотр дерева",modeViewTitle:"Переключить в режим просмотра дерева",modePreviewText:"Просмотр",modePreviewTitle:"Переключить в режим просмотра",examples:"Примеры",default:"По умолчанию",containsInvalidProperties:"Содержит недопустимые свойства",containsInvalidItems:"Содержит недопустимые элементы"},ko:{array:"배열",auto:"자동",appendText:"추가",appendTitle:'선택한 요소 아래에 "자동" 요소를 추가합니다. (Ctrl + Shift + Ins)',appendSubmenuTitle:"추가할 요소의 유형을 선택해주세요.",appendTitleAuto:'"자동" 요소를 추가합니다. (Ctrl + Shift + Ins)',ascending:"오름차순",ascendingTitle:"선택한 ${type}의 하위 요소를 오름차순 정렬합니다.",actionsMenu:"메뉴 열기 (Ctrl + M)",cannotParseFieldError:"JSON의 요소를 해석할 수 없습니다.",cannotParseValueError:"JSON의 값을 해석할 수 없습니다.",collapseAll:"모두 접기",compactTitle:"모든 공백을 제거하여 JSON 데이터를 작게 만듭니다. (Ctrl + Shift + I)",descending:"내림차순",descendingTitle:"선택한 ${type}의 하위 요소를 내림차순으로 정렬",drag:"드래그하여 요소를 이동합니다. (Alt + Shift + Arrows)",duplicateKey:"복제키",duplicateText:"복제",duplicateTitle:"선택한 요소를 복제합니다. (Ctrl + D)",duplicateField:"선택한 요소를 복제합니다. (Ctrl + D)",duplicateFieldError:"요소 이름이 중복되었습니다.",empty:"비어있음",expandAll:"모두 열기",expandTitle:"클릭하여 요소를 열거나 닫습니다. (Ctrl + E) \nCtrl + Click으로 모든 하위 요소를 열거나 닫습니다.",formatTitle:"적절한 들여쓰기 및 줄바꿈으로 JSON 데이터를 정형화합니다. (Ctrl + I)",insert:"삽입",insertTitle:"선택한 요소 위에 새요소를 삽입합니다. (Ctrl + Ins)",insertSub:"삽입할 요소의 유형을 선택해주세요.",object:"객체",ok:"확인",redo:"다시 실행 (Ctrl + Shift + Z)",removeText:"삭제",removeTitle:"선택한 요소를 삭제합니다. (Ctrl + Del)",removeField:"선택한 요소를 삭제합니다. (Ctrl + Del)",repairTitle:"JSON 교정: JSON 내의 주석과 JSONP 표기법을 지우고 따옴표와 이스케이프 문자를 수정합니다.",searchTitle:"요소 또는 값 찾기",searchNextResultTitle:"다음으로 찾기 (Enter)",searchPreviousResultTitle:"이전으로 찾기 (Shift + Enter)",selectNode:"요소를 선택해주세요...",showAll:"모두보기",showMore:"더보기",showMoreStatus:"${totalChilds} 개의 항목 중 ${visibleChilds} 개를 표시합니다.",sort:"정렬",sortTitle:"선택한 ${type}의 하위 요소를 정렬합니다.",sortTitleShort:"정렬",sortFieldLabel:"요소:",sortDirectionLabel:"순서:",sortFieldTitle:"배열이나 객체를 정렬하는 요소를 선택해주세요.",sortAscending:"오름차순",sortAscendingTitle:"선택한 요소를 오름차순으로 정렬합니다.",sortDescending:"내림차순",sortDescendingTitle:"선택한 요소를 내림차순으로 정렬합니다.",string:"문자",transform:"변환",transformTitle:"선택한 ${type}의 하위 요소를 필터하거나 정렬 또는 변환합니다.",transformTitleShort:"내용을 필터하거나 정렬 또는 변환합니다.",extract:"추출",extractTitle:"선택한 ${type}의 값을 최상위에 위치시킵니다.",transformQueryTitle:"JMESPath 쿼리를 입력해주세요.",transformWizardLabel:"마법사",transformWizardFilter:"필터",transformWizardSortBy:"정렬",transformWizardSelectFields:"요소를 선택해주세요.",transformQueryLabel:"쿼리",transformPreviewLabel:"미리보기",type:"유형",typeTitle:"선택한 요소의 유형을 변경합니다.",openUrl:"Ctrl + Click 또는 Ctrl + Enter로 새 창에서 URL 열기",undo:"실행 취소 (Ctrl + Z)",validationCannotMove:"하위 요소로 이동할 수 없습니다.",autoType:"자동: 요소의 형식이 값의 유형으로 결정됩니다. 문자, 숫자, 부울, 또는 null만 허용됩니다.",objectType:"객체: 순서대로 나열되지 않은 이름/값 쌍으로 이루어진 집합입니다.",arrayType:"배열: 순서대로 나열된 값의 집합입니다.",stringType:"문자: 요소의 유형이 값에서 결정되지 않지만 항상 문자로 반환됩니다.",modeEditorTitle:"편집기 유형 변경",modeCodeText:"코드",modeCodeTitle:"형식 교정을 도와주는 기능이 포함된 문자 편집기",modeFormText:"입력 양식",modeFormTitle:"정해진 요소에 값을 입력하는 편집기",modeTextText:"문자",modeTextTitle:"단순 문자 편집기",modeTreeText:"트리",modeTreeTitle:"트리 구조로 표시되는 편집기",modeViewText:"보기",modeViewTitle:"읽기전용 트리 구조로 JSON을 표시",modePreviewText:"미리보기",modePreviewTitle:"읽기전용 문자로 JSON을 표시",examples:"예제",default:"기본값",containsInvalidProperties:"잘못된 속성이 포함되어 있습니다.",containsInvalidItems:"잘못된 항목이 포함되어 있습니다"}},ke=Object.keys(Se),Te="en",Ee="undefined"!=typeof navigator?navigator.language||navigator.userLanguage:void 0,Re=ke.find((function(be){return be===Ee}))||Te;function l(be){var Ae;be&&((Ae=ke.find((function(Ae){return Ae===be})))?Re=Ae:xe.error("Language not found"))}function c(be){if(be)for(var Ae in be)!function(Ae){ke.find((function(be){return be===Ae}))||ke.push(Ae),Se[Ae]=Object.assign({},Se[Te],Se[Ae],be[Ae])}(Ae)}function h(be,Ae,we){var xe=Se[we=we||Re][be]||Se[Te][be]||be;if(Ae)for(var ke in Ae)xe=xe.replace("${"+ke+"}",Ae[ke]);return xe}},359:function(be,Ae,we){we.d(Ae,{V:function(){return o},e:function(){return r}}),Ae=we(9151);var xe=we.n(Ae),Se=we(6237);function o(be,Ae){var we,xe=Ae.sort,ke=Ae.filter,Te=(Ae=Ae.projection,"");return ke?(we="@"!==ke.field?["0"].concat((0,Se.parsePath)("."+ke.field)):["0"],we="string"==typeof(0,Se.get)(be,we)?ke.value:(0,Se.parseString)(ke.value),Te+="[? "+ke.field+" "+ke.relation+" `"+JSON.stringify(we)+"`]"):Te+=Array.isArray(be)?"[*]":"@",xe&&("desc"===xe.direction?Te+=" | reverse(sort_by(@, &"+xe.field+"))":Te+=" | sort_by(@, &"+xe.field+")"),Ae&&("]"!==Te[Te.length-1]&&(Te+=" | [*]"),1===Ae.fields.length?Te+="."+Ae.fields[0]:1<Ae.fields.length&&(Te+=".{"+Ae.fields.map((function(be){var Ae=be.split(".");return Ae[Ae.length-1]+": "+be})).join(", ")+"}")),Te}function r(be,Ae){return xe().search(be,Ae)}},1081:function(){function e(be){void 0===be||"remove"in be||Object.defineProperty(be,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){void 0!==this.parentNode&&this.parentNode.removeChild(this)}})}"undefined"!=typeof Element&&(void 0!==window.Element&&e(window.Element.prototype),void 0!==window.CharacterData&&e(window.CharacterData.prototype),void 0!==window.DocumentType)&&e(window.DocumentType.prototype),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(be){for(var Ae=0;Ae<this.length;Ae++){var we=this[Ae];if(be.call(this,we,Ae,this))return Ae}return-1},configurable:!0,writable:!0}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(be){return this[be=this.findIndex(be)]},configurable:!0,writable:!0}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")})},7483:function(be,Ae,we){we.r(Ae),we.d(Ae,{previewModeMixins:function(){return We}});var Se=we(9857),ke=we(660),Te=we(2115),Ee=we(2877);function a(be){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function l(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=a(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=a(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==a(be)?be:be+""}(xe.key),xe)}}var Re=function(){function i(be,Ae,we){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.onChange=be,this.calculateItemSize=Ae||function(){return 1},this.limit=we,this.items=[],this.index=-1}return be=i,(Ae=[{key:"add",value:function(be){for(;this._calculateHistorySize()>this.limit&&1<this.items.length;)this.items.shift(),this.index--;this.items=this.items.slice(0,this.index+1),this.items.push(be),this.index++,this.onChange()}},{key:"_calculateHistorySize",value:function(){var be=this.calculateItemSize,Ae=0;return this.items.forEach((function(we){Ae+=be(we)})),Ae}},{key:"undo",value:function(){if(this.canUndo())return this.index--,this.onChange(),this.items[this.index]}},{key:"redo",value:function(){if(this.canRedo())return this.index++,this.onChange(),this.items[this.index]}},{key:"canUndo",value:function(){return 0<this.index}},{key:"canRedo",value:function(){return this.index<this.items.length-1}},{key:"clear",value:function(){this.items=[],this.index=-1,this.onChange()}}])&&l(be.prototype,Ae),we&&l(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}(),_e=we(3057),$e=we(359),Le=we(1389),Ne=we(2915),Me=we(5609),Be=(Ae=we(1948),we(6237)),We=(we=Ae.textModeMixins[0].mixin,Ae={create:function(be){var Ae=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},we=(void 0===Ae.statusBar&&(Ae.statusBar=!0),Ae.mainMenuBar=!1!==Ae.mainMenuBar,Ae.enableSort=!1!==Ae.enableSort,Ae.enableTransform=!1!==Ae.enableTransform,Ae.createQuery=Ae.createQuery||$e.V,Ae.executeQuery=Ae.executeQuery||$e.e,"number"==typeof(this.options=Ae).indentation?this.indentation=Number(Ae.indentation):this.indentation=2,(0,_e.AI)(this.options.languages),(0,_e.xC)(this.options.language),this.mode="preview",this);this.container=be,this.dom={},this.json=void 0,this.text="",this._debouncedValidate=(0,Be.debounce)(this.validate.bind(this),this.DEBOUNCE_INTERVAL),this.width=be.clientWidth,this.height=be.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-preview",this.frame.onclick=function(be){be.preventDefault()},be={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null},this.frameFocusTracker=new Ee.$(be),this.content=document.createElement("div"),this.content.className="jsoneditor-outer",this.dom.busy=document.createElement("div"),this.dom.busy.className="jsoneditor-busy",this.dom.busyContent=document.createElement("span"),this.dom.busyContent.textContent="busy...",this.dom.busy.appendChild(this.dom.busyContent),this.content.appendChild(this.dom.busy),this.dom.previewContent=document.createElement("pre"),this.dom.previewContent.className="jsoneditor-preview",this.dom.previewText=document.createTextNode(""),this.dom.previewContent.appendChild(this.dom.previewText),this.content.appendChild(this.dom.previewContent),this.options.mainMenuBar&&((0,Be.addClassName)(this.content,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(be=document.createElement("button")).type="button",be.className="jsoneditor-format",be.title=(0,_e.Tl)("formatTitle"),this.menu.appendChild(be),be.onclick=function(){we.executeWithBusyMessage((function(){try{we.format()}catch(be){we._onError(be)}}),"formatting...")},(be=document.createElement("button")).type="button",be.className="jsoneditor-compact",be.title=(0,_e.Tl)("compactTitle"),this.menu.appendChild(be),be.onclick=function(){we.executeWithBusyMessage((function(){try{we.compact()}catch(be){we._onError(be)}}),"compacting...")},this.options.enableSort&&((be=document.createElement("button")).type="button",be.className="jsoneditor-sort",be.title=(0,_e.Tl)("sortTitleShort"),be.onclick=function(){we._showSortModal()},this.menu.appendChild(be)),this.options.enableTransform&&((be=document.createElement("button")).type="button",be.title=(0,_e.Tl)("transformTitleShort"),be.className="jsoneditor-transform",be.onclick=function(){we._showTransformModal()},this.dom.transform=be,this.menu.appendChild(be)),(be=document.createElement("button")).type="button",be.className="jsoneditor-repair",be.title=(0,_e.Tl)("repairTitle"),this.menu.appendChild(be),!(be.onclick=function(){void 0===we.json&&we.executeWithBusyMessage((function(){try{we.repair()}catch(be){we._onError(be)}}),"repairing...")})!==this.options.history&&(this.history=new Re((function(){we.dom.undo.disabled=!we.history.canUndo(),we.dom.redo.disabled=!we.history.canRedo()}),(function(be){return 2*be.text.length}),ke.SC),(be=document.createElement("button")).type="button",be.className="jsoneditor-undo jsoneditor-separator",be.title=(0,_e.Tl)("undo"),be.onclick=function(){var be=we.history.undo();be&&we._applyHistory(be)},this.menu.appendChild(be),this.dom.undo=be,(be=document.createElement("button")).type="button",be.className="jsoneditor-redo",be.title=(0,_e.Tl)("redo"),be.onclick=function(){var be=we.history.redo();be&&we._applyHistory(be)},this.menu.appendChild(be),this.dom.redo=be,this.history.onChange()),this.options)&&this.options.modes&&this.options.modes.length&&(this.modeSwitcher=new Le.n(this.menu,this.options.modes,this.options.mode,(function(be){try{we.setMode(be),we.modeSwitcher.focus()}catch(be){we._onError(be)}}))),be=Array.isArray(this.options.showErrorTable)?this.options.showErrorTable.includes(this.mode):!0===this.options.showErrorTable,this.errorTable=new Te.N({errorTableVisible:be,onToggleVisibility:function(){we.validate()},onFocusLine:null,onChangeHeight:function(be){be=be+(we.dom.statusBar?we.dom.statusBar.clientHeight:0)+1,we.content.style.marginBottom=-be+"px",we.content.style.paddingBottom=be+"px"}}),this.frame.appendChild(this.content),this.frame.appendChild(this.errorTable.getErrorTable()),this.container.appendChild(this.frame),Ae.statusBar&&((0,Be.addClassName)(this.content,"has-status-bar"),be=document.createElement("div"),(this.dom.statusBar=be).className="jsoneditor-statusbar",this.frame.appendChild(be),this.dom.fileSizeInfo=document.createElement("span"),this.dom.fileSizeInfo.className="jsoneditor-size-info",this.dom.fileSizeInfo.innerText="",be.appendChild(this.dom.fileSizeInfo),this.dom.arrayInfo=document.createElement("span"),this.dom.arrayInfo.className="jsoneditor-size-info",this.dom.arrayInfo.innerText="",be.appendChild(this.dom.arrayInfo),be.appendChild(this.errorTable.getErrorCounter()),be.appendChild(this.errorTable.getWarningIcon()),be.appendChild(this.errorTable.getErrorIcon())),this._renderPreview(),this.setSchema(this.options.schema,this.options.schemaRefs)},_renderPreview:function(){var be=this.getText();this.dom.previewText.nodeValue=(0,Be.limitCharacters)(be,ke.hJ),this.dom.fileSizeInfo&&(this.dom.fileSizeInfo.innerText="Size: "+(0,Be.formatSize)(be.length)),this.dom.arrayInfo&&(Array.isArray(this.json)?this.dom.arrayInfo.innerText="Array: "+this.json.length+" items":this.dom.arrayInfo.innerText="")},_onChange:function(){if(this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(be){xe.error("Error in onChange callback: ",be)}if(this.options.onChangeJSON)try{this.options.onChangeJSON(this.get())}catch(be){xe.error("Error in onChangeJSON callback: ",be)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(be){xe.error("Error in onChangeText callback: ",be)}}},Ae._showSortModal=function(){var be=this;this.executeWithBusyMessage((function(){var Ae=be.options.modalAnchor||ke.ai,we=be.get();be._renderPreview(),(0,Ne.showSortModal)(Ae,we,(function(Ae){be.executeWithBusyMessage((function(){var xe,Se,ke;xe=we,Se=Ae,Array.isArray(xe)&&(ke=(0,Be.sort)(xe,Se.path,Se.direction),be.sortedBy=Se,be._setAndFireOnChange(ke)),(0,Be.isObject)(xe)&&(ke=(0,Be.sortObjectKeys)(xe,Se.direction),be.sortedBy=Se,be._setAndFireOnChange(ke))}),"sorting...")}),be.sortedBy)}),"parsing...")},Ae._showTransformModal=function(){var be=this;this.executeWithBusyMessage((function(){var Ae=(Se=be.options).createQuery,we=Se.executeQuery,xe=Se.modalAnchor,Se=Se.queryDescription,Te=be.get();be._renderPreview(),(0,Me.showTransformModal)({container:xe||ke.ai,json:Te,queryDescription:Se,createQuery:Ae,executeQuery:we,onTransform:function(Ae){be.executeWithBusyMessage((function(){var xe=we(Te,Ae);be._setAndFireOnChange(xe)}),"transforming...")}})}),"parsing...")},Ae.destroy=function(){this.frame&&this.container&&this.frame.parentNode===this.container&&this.container.removeChild(this.frame),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this._debouncedValidate=null,this.history&&(this.history.clear(),this.history=null),this.frameFocusTracker.destroy()},Ae.compact=function(){var be=this.get(),Ae=JSON.stringify(be);this._setTextAndFireOnChange(Ae,be)},Ae.format=function(){var be=this.get(),Ae=JSON.stringify(be,null,this.indentation);this._setTextAndFireOnChange(Ae,be)},Ae.repair=function(){var be=this.getText();try{var Ae=(0,Se.m)(be);this._setTextAndFireOnChange(Ae)}catch(be){}},Ae.focus=function(){this.dom.transform.focus()},Ae.set=function(be){this.history&&this.history.clear(),this._set(be)},Ae.update=function(be){this._set(be)},Ae._set=function(be){this.text=void 0,this.json=be,this._renderPreview(),this._pushHistory(),this._debouncedValidate()},Ae._setAndFireOnChange=function(be){this._set(be),this._onChange()},Ae.get=function(){var be;return void 0===this.json&&(be=this.getText(),this.json=(0,Be.parse)(be)),this.json},Ae.getText=function(){return void 0===this.text&&(this.text=JSON.stringify(this.json,null,this.indentation),!0===this.options.escapeUnicode)&&(this.text=(0,Be.escapeUnicodeChars)(this.text)),this.text},Ae.setText=function(be){this.history&&this.history.clear(),this._setText(be)},Ae.updateText=function(be){this.getText()!==be&&this._setText(be)},Ae._setText=function(be,Ae){var we;!0===this.options.escapeUnicode?this.text=(0,Be.escapeUnicodeChars)(be):this.text=be,this.json=Ae,this._renderPreview(),void 0===this.json?(we=this).executeWithBusyMessage((function(){try{we.json=we.get(),we._renderPreview(),we._pushHistory()}catch(be){}}),"parsing..."):this._pushHistory(),this._debouncedValidate()},Ae._setTextAndFireOnChange=function(be,Ae){this._setText(be,Ae),this._onChange()},Ae._applyHistory=function(be){this.json=be.json,this.text=be.text,this._renderPreview(),this._debouncedValidate()},Ae._pushHistory=function(){var be;this.history&&(be={text:this.text,json:this.json},this.history.add(be))},Ae.executeWithBusyMessage=function(be,Ae){var we;this.getText().length>ke.Oq?((0,Be.addClassName)((we=this).frame,"busy"),we.dom.busyContent.innerText=Ae,setTimeout((function(){be(),(0,Be.removeClassName)(we.frame,"busy"),we.dom.busyContent.innerText=""}),100)):be()},Ae.validate=we.validate,Ae._renderErrors=we._renderErrors,[{mode:"preview",mixin:Ae,data:"json"}])},2915:function(be,Ae,we){we.r(Ae),we.d(Ae,{showSortModal:function(){return s}}),Ae=we(8340);var xe=we.n(Ae),Se=we(3057),ke=we(6237);function s(be,Ae,we,Te){var Ee=Array.isArray(Ae)?(0,ke.getChildPaths)(Ae):[""],Re=Te&&Te.path&&(0,ke.contains)(Ee,Te.path)?Te.path:Ee[0],_e=Te&&Te.direction||"asc";Ae='<div class="pico-modal-contents"><div class="pico-modal-header">'+(0,Se.Tl)("sort")+"</div><form><table><tbody><tr> <td>"+(0,Se.Tl)("sortFieldLabel")+' </td> <td class="jsoneditor-modal-input"> <div class="jsoneditor-select-wrapper"> <select id="field" title="'+(0,Se.Tl)("sortFieldTitle")+'"> </select> </div> </td></tr><tr> <td>'+(0,Se.Tl)("sortDirectionLabel")+' </td> <td class="jsoneditor-modal-input"> <div id="direction" class="jsoneditor-button-group"><input type="button" value="'+(0,Se.Tl)("sortAscending")+'" title="'+(0,Se.Tl)("sortAscendingTitle")+'" data-value="asc" class="jsoneditor-button-first jsoneditor-button-asc"/><input type="button" value="'+(0,Se.Tl)("sortDescending")+'" title="'+(0,Se.Tl)("sortDescendingTitle")+'" data-value="desc" class="jsoneditor-button-last jsoneditor-button-desc"/> </div> </td></tr><tr><td colspan="2" class="jsoneditor-modal-input jsoneditor-modal-actions"> <input type="submit" id="ok" value="'+(0,Se.Tl)("ok")+'" /></td></tr></tbody></table></form></div>',xe()({parent:be,content:Ae,overlayClass:"jsoneditor-modal-overlay",overlayStyles:{backgroundColor:"rgb(1,1,1)",opacity:.3},modalClass:"jsoneditor-modal jsoneditor-modal-sort"}).afterCreate((function(be){var Ae=be.modalElem().querySelector("form"),xe=be.modalElem().querySelector("#ok"),Se=be.modalElem().querySelector("#field"),ke=be.modalElem().querySelector("#direction");function r(be){ke.value=be,ke.className="jsoneditor-button-group jsoneditor-button-group-value-"+ke.value}Ee.forEach((function(be){var Ae,we=document.createElement("option");we.text=""===(Ae=be)?"@":"."===Ae[0]?Ae.slice(1):Ae,we.value=be,Se.appendChild(we)})),Se.value=Re||Ee[0],r(_e||"asc"),ke.onclick=function(be){r(be.target.getAttribute("data-value"))},xe.onclick=function(Ae){Ae.preventDefault(),Ae.stopPropagation(),be.close(),we({path:Se.value,direction:ke.value})},Ae&&(Ae.onsubmit=xe.onclick)})).afterClose((function(be){be.destroy()})).show()}},5609:function(be,Ae,we){we.r(Ae),we.d(Ae,{showTransformModal:function(){return s}}),Ae=we(8340);var xe=we.n(Ae),Se=(Ae=we(4772),we.n(Ae)),ke=we(3057);function I(be){return(I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function k(be,Ae,we,xe){if("boolean"==typeof be||be instanceof Boolean||null===be||"number"==typeof be||be instanceof Number||"string"==typeof be||be instanceof String||be instanceof Date)return JSON.stringify(be);if(Array.isArray(be)){for(var Se=be,ke=Ae,Te=we,Ee=xe,Re=ke?Te+ke:void 0,_e=ke?"[\n":"[",$e=0;$e<Se.length;$e++){var Le=Se[$e];if(ke&&(_e+=Re),_e+=void 0!==Le&&"function"!=typeof Le?k(Le,ke,Re,Ee):"null",$e<Se.length-1&&(_e+=ke?",\n":","),_e.length>Ee)return _e+"..."}return _e+(ke?"\n"+Te+"]":"]")}if(be&&"object"===I(be)){var Ne,Me=be,Be=Ae,We=(Te=we,xe),Pe=Be?Te+Be:void 0,He=!0,Ge=Be?"{\n":"{";if("function"==typeof Me.toJSON)return k(Me.toJSON(),Be,Te,We);for(Ne in Me)if(function(be,Ae){return Object.prototype.hasOwnProperty.call(be,Ae)}(Me,Ne)&&(He?He=!1:Ge+=Be?",\n":",",(Ge=(Ge+=Be?Pe+'"'+Ne+'": ':'"'+Ne+'":')+k(Me[Ne],Be,Pe,We)).length>We))return Ge+"...";return Ge+(Be?"\n"+Te+"}":"}")}}function T(be,Ae){for(var we="";0<Ae--;)we+=be;return we}var Te=we(6237),Ee=we(660),Re='Enter a <a href="http://jmespath.org" target="_blank">JMESPath</a> query to filter, sort, or transform the JSON data.<br/>To learn JMESPath, go to <a href="http://jmespath.org/tutorial.html" target="_blank">the interactive tutorial</a>.';function s(be){var Ae=be.container,we=be.json,_e=void 0===(_e=be.queryDescription)?Re:_e,$e=be.createQuery,Le=be.executeQuery,Ne=be.onTransform,Me=we;be='<div class="pico-modal-contents"><div class="pico-modal-header">'+(0,ke.Tl)("transform")+"</div><p>"+_e+'</p><div class="jsoneditor-jmespath-label">'+(0,ke.Tl)("transformWizardLabel")+' </div><div id="wizard" class="jsoneditor-jmespath-block jsoneditor-jmespath-wizard"> <table class="jsoneditor-jmespath-wizard-table"> <tbody> <tr> <th>'+(0,ke.Tl)("transformWizardFilter")+'</th> <td class="jsoneditor-jmespath-filter"> <div class="jsoneditor-inline jsoneditor-jmespath-filter-field" > <select id="filterField"> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-filter-relation" > <select id="filterRelation"> <option value="==">==</option> <option value="!=">!=</option> <option value="<">&lt;</option> <option value="<=">&lt;=</option> <option value=">">&gt;</option> <option value=">=">&gt;=</option> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-filter-value" > <input type="text" class="value" placeholder="value..." id="filterValue" /> </div> </td> </tr> <tr> <th>'+(0,ke.Tl)("transformWizardSortBy")+'</th> <td class="jsoneditor-jmespath-filter"> <div class="jsoneditor-inline jsoneditor-jmespath-sort-field"> <select id="sortField"> </select> </div> <div class="jsoneditor-inline jsoneditor-jmespath-sort-order" > <select id="sortOrder"> <option value="asc">Ascending</option> <option value="desc">Descending</option> </select> </div> </td> </tr> <tr id="selectFieldsPart"> <th>'+(0,ke.Tl)("transformWizardSelectFields")+'</th> <td class="jsoneditor-jmespath-filter"> <select class="jsoneditor-jmespath-select-fields" id="selectFields" multiple></select> </td> </tr> </tbody> </table></div><div class="jsoneditor-jmespath-label">'+(0,ke.Tl)("transformQueryLabel")+' </div><div class="jsoneditor-jmespath-block"> <textarea id="query" rows="4" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" title="'+(0,ke.Tl)("transformQueryTitle")+'">[*]</textarea></div><div class="jsoneditor-jmespath-label">'+(0,ke.Tl)("transformPreviewLabel")+' </div><div class="jsoneditor-jmespath-block"> <textarea id="preview" class="jsoneditor-transform-preview" readonly> </textarea></div><div class="jsoneditor-jmespath-block jsoneditor-modal-actions"> <input type="submit" id="ok" value="'+(0,ke.Tl)("ok")+'" autofocus /></div></div>',xe()({parent:Ae,content:be,overlayClass:"jsoneditor-modal-overlay",overlayStyles:{backgroundColor:"rgb(1,1,1)",opacity:.3},modalClass:"jsoneditor-modal jsoneditor-modal-transform",focus:!1}).afterCreate((function(be){var Ae=be.modalElem(),xe=Ae.querySelector("#wizard"),ke=Ae.querySelector("#ok"),Re=Ae.querySelector("#filterField"),_e=Ae.querySelector("#filterRelation"),Be=Ae.querySelector("#filterValue"),We=Ae.querySelector("#sortField"),Pe=Ae.querySelector("#sortOrder"),He=Ae.querySelector("#selectFields"),Ge=Ae.querySelector("#query"),Fe=Ae.querySelector("#preview");Array.isArray(Me)||(xe.style.fontStyle="italic",xe.textContent="(wizard not available for objects, only for arrays)"),(0,Te.getChildPaths)(we).forEach((function(be){var Ae;be=f(be),((Ae=document.createElement("option")).text=be,Ae.value=be,Re.appendChild(Ae),Ae=document.createElement("option")).text=be,Ae.value=be,We.appendChild(Ae)})),xe=(0,Te.getChildPaths)(we,!0).filter((function(be){return""!==be})),0<xe.length?xe.forEach((function(be){be=f(be);var Ae=document.createElement("option");Ae.text=be,Ae.value=be,He.appendChild(Ae)})):(xe=Ae.querySelector("#selectFieldsPart"))&&(xe.style.display="none"),xe=new(Se())(Re,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"field..."});var Oe=new(Se())(_e,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"compare..."}),Ve=new(Se())(We,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"field..."}),Ze=new(Se())(Pe,{defaultSelected:!1,clearable:!0,allowDeselect:!0,placeholder:"order..."}),De=new(Se())(He,{multiple:!0,clearable:!0,defaultSelected:!1,placeholder:"select fields..."});function f(be){return""===be?"@":"."===be[0]?be.slice(1):be}xe.on("selectr.change",v),Oe.on("selectr.change",v),Be.oninput=v,Ve.on("selectr.change",v),Ze.on("selectr.change",v),De.on("selectr.change",v),Ae.querySelector(".pico-modal-contents").onclick=function(be){"A"!==be.target.nodeName&&be.preventDefault()};var Ke=(0,Te.debounce)((function(){try{var be=Le(Me,Ge.value);Fe.className="jsoneditor-transform-preview",Fe.value=(Ae=be,we=2,xe=Ee.hJ,"number"==typeof we?10<we?Se=T(" ",10):1<=we&&(Se=T(" ",we)):"string"==typeof we&&""!==we&&(Se=we),(we=k(Ae,Se,"",xe)).length>xe?(Ae=we,("number"==typeof(Se=xe)?Ae.slice(0,Se):Ae)+"..."):we),ke.disabled=!1}catch(be){Fe.className="jsoneditor-transform-preview jsoneditor-error",Fe.value=be.toString(),ke.disabled=!0}var Ae,we,xe,Se}),300);function y(be,Ae){try{Ge.value=$e(be,Ae),ke.disabled=!1,Ke()}catch(Ae){be='Error: an error happened when executing "createQuery": '+(Ae.message||Ae.toString()),Ge.value="",ke.disabled=!0,Fe.className="jsoneditor-transform-preview jsoneditor-error",Fe.value=be}}function v(){var be={};if(Re.value&&_e.value&&Be.value&&(be.filter={field:Re.value,relation:_e.value,value:Be.value}),We.value&&Pe.value&&(be.sort={field:We.value,direction:Pe.value}),He.value){for(var Ae,xe=[],Se=0;Se<He.options.length;Se++)He.options[Se].selected&&(Ae=He.options[Se].value,xe.push(Ae));be.projection={fields:xe}}y(we,be)}Ge.oninput=Ke,ke.onclick=function(Ae){Ae.preventDefault(),Ae.stopPropagation(),be.close(),Ne(Ge.value)},y(we,{}),setTimeout((function(){Ge.select(),Ge.focus(),Ge.selectionStart=3,Ge.selectionEnd=3}))})).afterClose((function(be){be.destroy()})).show()}},1948:function(be,Ae,we){we.r(Ae),we.d(Ae,{textModeMixins:function(){return Fe}});var Se=we(9857),ke=(Ae=we(7413),we.n(Ae)),Te=we(660),Ee=we(2115),Re=we(2877),_e=we(3057),$e=we(359),Le=we(1389),Ne=we(2915),Me=we(5609),Be=we(5467),We=we(3094),Pe=we(6237);function r(be){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function s(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=r(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=r(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==r(be)?be:be+""}(xe.key),xe)}}var He=function(){function n(be,Ae){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.schema=be,this.schemaRefs=Ae||{},this.suggestions={},this.suggestionsRefs={},this._buildSuggestions()}return be=n,(Ae=[{key:"_buildSuggestions",value:function(){for(var be in this._handleSchemaEntry("",this.schema,this.suggestions),this.schemaRefs)this.suggestionsRefs[be]={},this._handleSchemaEntry("",this.schemaRefs[be],this.suggestionsRefs[be])}},{key:"_handleRef",value:function(be,Ae,we){we[be]=we[be]||{},we[be].refs=we[be].refs||[],we[be].refs=(0,Pe.uniqueMergeArrays)(we[be].refs,[Ae])}},{key:"_handleSchemaEntry",value:function(be,Ae,we){if(Ae)if(Ae.$ref)this._handleRef(be,Ae.$ref,we);else{var Se=this._checkOfConditon(Ae);if(Se)this._handleOfCondition(be,Ae[Se],we);else switch(Ae.type){case"object":this._handleObject(be,Ae,we);break;case"string":case"number":case"integer":this._handlePrimitive(be,Ae,we);break;case"boolean":this._handleBoolean(be,Ae,we);break;case"array":this._handleArray(be,Ae,we)}}else xe.error("SchemaTextCompleter: schema node is missing for path",be)}},{key:"_handleObject",value:function(be,Ae,we){var xe,Se=this;(0,Pe.isObject)(Ae.properties)&&(xe=Object.keys(Ae.properties),we[be]=we[be]||{},we[be].props=we[be].props||[],we[be].props=(0,Pe.uniqueMergeArrays)(we[be].props,xe),xe.forEach((function(xe){(0,Pe.asyncExec)((function(){Se._handleSchemaEntry("".concat(be,"/").concat(xe),Ae.properties[xe],we)}))})))}},{key:"_handlePrimitive",value:function(be,Ae,we){we[be]=we[be]||{},(0,Pe.isArray)(Ae.examples)&&(we[be].examples=we[be].examples||[],we[be].examples=(0,Pe.uniqueMergeArrays)(we[be].examples,Ae.examples)),(0,Pe.isArray)(Ae.enum)&&(we[be].enum=we[be].enum||[],we[be].enum=(0,Pe.uniqueMergeArrays)(we[be].enum,Ae.enum))}},{key:"_handleBoolean",value:function(be,Ae,we){we[be]||(we[be]={bool:[!0,!1]})}},{key:"_handleArray",value:function(be,Ae,we){var xe=this;Ae.items&&(0,Pe.asyncExec)((function(){xe._handleSchemaEntry("".concat(be,"/\\d+"),Ae.items,we)}))}},{key:"_handleOfCondition",value:function(be,Ae,we){var xe=this;Ae&&Ae.length&&Ae.forEach((function(Ae){(0,Pe.asyncExec)((function(){xe._handleSchemaEntry(be,Ae,we)}))}))}},{key:"_checkOfConditon",value:function(be){if(be)return be.oneOf?"oneOf":be.anyOf?"anyOf":be.allOf?"allOf":void 0}},{key:"getCompletions",value:function(be,Ae,we,xe,Se){var ke=this;try{var Te=We.parse(Ae.getValue()).pointers||{},r=function(be){function e(xe){var Se,ke={props:"property",enum:"enum",bool:"boolean",examples:"examples"};be&&null!=(Se=be[xe])&&Se.length&&(Ae=Ae.concat(be[xe].map((function(be){return{caption:be+"",meta:"schema [".concat(ke[xe],"]"),score:we++,value:be+""}}))))}var Ae=[],we=0;e("props"),e("enum"),e("bool"),e("examples"),Ae.length&&Se(null,Ae)};Object.keys(Te).forEach((function(be){(0,Pe.asyncExec)((function(){function l(be,Ae,we){var xe,Se=Object.keys(Ae).reduce((function(Ae,xe){return new RegExp("^".concat(we).concat(xe)).test(be)&&(!Ae||Ae.length<xe.length)?xe:Ae}),null);if("string"==typeof Se){if(null!=(xe=Ae[Se])&&null!=(xe=xe.refs)&&xe.length){var Te,Ee={};for(Te in Ae[Se].refs){var Re=Ae[Se].refs[Te];ke.suggestionsRefs[Re]&&(null!=(Re=l(be,ke.suggestionsRefs[Re],"".concat(we).concat(Se)))&&Re.enum&&(Ee.enum=(0,Pe.uniqueMergeArrays)(Ee.enum,Re.enum)),null!=Re&&Re.examples&&(Ee.examples=(0,Pe.uniqueMergeArrays)(Ee.examples,Re.examples)),null!=Re&&Re.bool&&(Ee.bool=(0,Pe.uniqueMergeArrays)(Ee.bool,Re.bool)),null!=Re)&&Re.props&&(Ee.props=(0,Pe.uniqueMergeArrays)(Ee.props,Re.props))}return Ee}if(new RegExp("^".concat(we).concat(Se,"$")).test(be))return Ae[Se]}}var Ae,xe;(null==(xe=Te[be].key)?void 0:xe.line)===we.row&&we.column>=Te[be].key.column&&we.column<=Te[be].keyEnd.column&&(Ae=be.slice(0,be.lastIndexOf("/"))),(Ae=(null==(xe=Te[be].value)?void 0:xe.line)===we.row&&(null==(xe=Te[be].value)?void 0:xe.line)===(null==(xe=Te[be].valueEnd)?void 0:xe.line)&&we.column>=Te[be].value.column&&we.column<=Te[be].valueEnd.column?be:Ae)&&(xe=l(Ae,ke.suggestions,""),r(xe))}))}))}catch(be){}}}])&&s(be.prototype,Ae),we&&s(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}();function v(be){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}var Ge="ace/theme/jsoneditor";function b(){try{this.format()}catch(be){}}(Ae={}).create=function(be){var Ae,we,Se,Te=this,Ne=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},Me=(void 0===Ne.statusBar&&(Ne.statusBar=!0),Ne.mainMenuBar=!1!==Ne.mainMenuBar,Ne.enableSort=!1!==Ne.enableSort,Ne.enableTransform=!1!==Ne.enableTransform,Ne.createQuery=Ne.createQuery||$e.V,Ne.executeQuery=Ne.executeQuery||$e.e,Ne.showErrorTable=void 0!==Ne.showErrorTable?Ne.showErrorTable:["text","preview"],"number"==typeof(this.options=Ne).indentation?this.indentation=Number(Ne.indentation):this.indentation=2,(0,_e.AI)(this.options.languages),(0,_e.xC)(this.options.language),Ne.ace||ke()),We=(this.mode="code"===Ne.mode?"code":"text","code"===this.mode&&void 0===Me&&(this.mode="text",xe.warn("Failed to load Ace editor, falling back to plain text mode. Please use a JSONEditor bundle including Ace, or pass Ace as via the configuration option `ace`.")),this.theme=Ne.theme||Ge,this.theme===Ge&&Me&&(0,Be.J)(),Ne.onTextSelectionChange&&this.onTextSelectionChange(Ne.onTextSelectionChange),this);this.container=be,this.dom={},this.aceEditor=void 0,this.textarea=void 0,this.validateSchema=null,this.annotations=[],this.lastSchemaErrors=void 0,this._debouncedValidate=(0,Pe.debounce)(this._validateAndCatch.bind(this),this.DEBOUNCE_INTERVAL),this.width=be.clientWidth,this.height=be.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.frame.onclick=function(be){be.preventDefault()},this.frame.onkeydown=function(be){We._onKeyDown(be)},be={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null},this.frameFocusTracker=new Re.$(be),this.content=document.createElement("div"),this.content.className="jsoneditor-outer",this.options.mainMenuBar&&((0,Pe.addClassName)(this.content,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(be=document.createElement("button")).type="button",be.className="jsoneditor-format",be.title=(0,_e.Tl)("formatTitle"),this.menu.appendChild(be),be.onclick=function(){try{We.format(),We._onChange()}catch(be){We._onError(be)}},(be=document.createElement("button")).type="button",be.className="jsoneditor-compact",be.title=(0,_e.Tl)("compactTitle"),this.menu.appendChild(be),be.onclick=function(){try{We.compact(),We._onChange()}catch(be){We._onError(be)}},this.options.enableSort&&((be=document.createElement("button")).type="button",be.className="jsoneditor-sort",be.title=(0,_e.Tl)("sortTitleShort"),be.onclick=function(){We._showSortModal()},this.menu.appendChild(be)),this.options.enableTransform&&((be=document.createElement("button")).type="button",be.title=(0,_e.Tl)("transformTitleShort"),be.className="jsoneditor-transform",be.onclick=function(){We._showTransformModal()},this.menu.appendChild(be)),(be=document.createElement("button")).type="button",be.className="jsoneditor-repair",be.title=(0,_e.Tl)("repairTitle"),this.menu.appendChild(be),be.onclick=function(){try{We.repair(),We._onChange()}catch(be){We._onError(be)}},"code"===this.mode&&((be=document.createElement("button")).type="button",be.className="jsoneditor-undo jsoneditor-separator",be.title=(0,_e.Tl)("undo"),be.onclick=function(){Te.aceEditor.getSession().getUndoManager().undo()},this.menu.appendChild(be),this.dom.undo=be,(be=document.createElement("button")).type="button",be.className="jsoneditor-redo",be.title=(0,_e.Tl)("redo"),be.onclick=function(){Te.aceEditor.getSession().getUndoManager().redo()},this.menu.appendChild(be),this.dom.redo=be),this.options&&this.options.modes&&this.options.modes.length&&(this.modeSwitcher=new Le.n(this.menu,this.options.modes,this.options.mode,(function(be){try{We.setMode(be),We.modeSwitcher.focus()}catch(be){We._onError(be)}}))),"code"===this.mode)&&((Ae=document.createElement("a")).appendChild(document.createTextNode("powered by ace")),Ae.href="https://ace.c9.io/",Ae.target="_blank",Ae.className="jsoneditor-poweredBy",Ae.onclick=function(){window.open(Ae.href,Ae.target,"noreferrer")},this.menu.appendChild(Ae)),be=this.options.onEditable&&v("function"===this.options.onEditable)&&!this.options.onEditable({}),this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"===this.mode?(this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom),Se=(Me=Me.edit(this.editorDom)).getSession(),Me.$blockScrolling=1/0,Me.setTheme(this.theme),Me.setOptions({readOnly:be}),Me.setShowPrintMargin(!1),Me.setFontSize("14px"),Se.setMode("ace/mode/json"),Se.setTabSize(this.indentation),Se.setUseSoftTabs(!0),Se.setUseWrapMode(!0),we=Se.setAnnotations,Se.setAnnotations=function(be){we.call(this,be&&be.length?be:We.annotations)},Me.commands.bindKey("Ctrl-L",null),Me.commands.bindKey("Command-L",null),Me.commands.bindKey("Ctrl-\\",null),Me.commands.bindKey("Command-\\",null),Me.commands.bindKey("Ctrl-Shift-\\",null),Me.commands.bindKey("Command-Shift-\\",null),(this.aceEditor=Me).on("change",this._onChange.bind(this)),Me.on("changeSelection",this._onSelect.bind(this))):((Se=document.createElement("textarea")).className="jsoneditor-text",Se.spellcheck=!1,this.content.appendChild(Se),this.textarea=Se,this.textarea.readOnly=be,null===this.textarea.oninput?this.textarea.oninput=this._onChange.bind(this):this.textarea.onchange=this._onChange.bind(this),Se.onselect=this._onSelect.bind(this),Se.onmousedown=this._onMouseDown.bind(this),Se.onblur=this._onBlur.bind(this)),this._updateHistoryButtons(),Me=Array.isArray(this.options.showErrorTable)?this.options.showErrorTable.includes(this.mode):!0===this.options.showErrorTable,this.errorTable=new Ee.N({errorTableVisible:Me,onToggleVisibility:function(){We._validateAndCatch()},onFocusLine:function(be){We.isFocused=!0,isNaN(be)||We.setTextSelection({row:be,column:1},{row:be,column:1e3})},onChangeHeight:function(be){be=be+(We.dom.statusBar?We.dom.statusBar.clientHeight:0)+1,We.content.style.marginBottom=-be+"px",We.content.style.paddingBottom=be+"px"}}),this.frame.appendChild(this.errorTable.getErrorTable()),Ne.statusBar&&((0,Pe.addClassName)(this.content,"has-status-bar"),this.curserInfoElements={},be=document.createElement("div"),(this.dom.statusBar=be).className="jsoneditor-statusbar",this.frame.appendChild(be),(Se=document.createElement("span")).className="jsoneditor-curserinfo-label",Se.innerText="Ln:",(Me=document.createElement("span")).className="jsoneditor-curserinfo-val",Me.innerText="1",be.appendChild(Se),be.appendChild(Me),(Ne=document.createElement("span")).className="jsoneditor-curserinfo-label",Ne.innerText="Col:",(Se=document.createElement("span")).className="jsoneditor-curserinfo-val",Se.innerText="1",be.appendChild(Ne),be.appendChild(Se),this.curserInfoElements.colVal=Se,this.curserInfoElements.lnVal=Me,(Ne=document.createElement("span")).className="jsoneditor-curserinfo-label",Ne.innerText="characters selected",Ne.style.display="none",(Se=document.createElement("span")).className="jsoneditor-curserinfo-count",Se.innerText="0",Se.style.display="none",this.curserInfoElements.countLabel=Ne,this.curserInfoElements.countVal=Se,be.appendChild(Se),be.appendChild(Ne),be.appendChild(this.errorTable.getErrorCounter()),be.appendChild(this.errorTable.getWarningIcon()),be.appendChild(this.errorTable.getErrorIcon())),this.setSchema(this.options.schema,this.options.schemaRefs)},Ae._onSchemaChange=function(be,Ae){this.aceEditor&&(this.options.allowSchemaSuggestions&&be?(this.aceEditor.setOption("enableBasicAutocompletion",[new He(be,Ae)]),this.aceEditor.setOption("enableLiveAutocompletion",!0)):(this.aceEditor.setOption("enableBasicAutocompletion",void 0),this.aceEditor.setOption("enableLiveAutocompletion",!1)))},Ae._onChange=function(){var be=this;if(!this.onChangeDisabled){if(setTimeout((function(){be._updateHistoryButtons&&be._updateHistoryButtons()})),this._debouncedValidate(),this.options.onChange)try{this.options.onChange()}catch(be){xe.error("Error in onChange callback: ",be)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(be){xe.error("Error in onChangeText callback: ",be)}}},Ae._updateHistoryButtons=function(){var be;this.aceEditor&&this.dom.undo&&this.dom.redo&&(be=this.aceEditor.getSession().getUndoManager())&&be.hasUndo&&be.hasRedo&&(this.dom.undo.disabled=!be.hasUndo(),this.dom.redo.disabled=!be.hasRedo())},Ae._showSortModal=function(){try{var be=this,Ae=this.options.modalAnchor||Te.ai,we=this.get();(0,Ne.showSortModal)(Ae,we,(function(Ae){var xe;Array.isArray(we)&&(xe=(0,Pe.sort)(we,Ae.path,Ae.direction),be.sortedBy=Ae,be.update(xe)),(0,Pe.isObject)(we)&&(xe=(0,Pe.sortObjectKeys)(we,Ae.direction),be.sortedBy=Ae,be.update(xe))}),be.sortedBy)}catch(Ae){this._onError(Ae)}},Ae._showTransformModal=function(){var be=this;try{var Ae=this.options,we=Ae.modalAnchor,xe=Ae.createQuery,Se=Ae.executeQuery,ke=Ae.queryDescription,Ee=this.get();(0,Me.showTransformModal)({container:we||Te.ai,json:Ee,queryDescription:ke,createQuery:xe,executeQuery:Se,onTransform:function(Ae){Ae=Se(Ee,Ae),be.update(Ae)}})}catch(Ae){this._onError(Ae)}},Ae._onSelect=function(){this._updateCursorInfo(),this._emitSelectionChange()},Ae._onKeyDown=function(be){var Ae=!1;73===(be.which||be.keyCode)&&be.ctrlKey&&(be.shiftKey?this.compact():this.format(),this._onChange(),Ae=!0),Ae&&(be.preventDefault(),be.stopPropagation()),this._updateCursorInfo(),this._emitSelectionChange()},Ae._onMouseDown=function(){this._updateCursorInfo(),this._emitSelectionChange()},Ae._onBlur=function(){var be=this;setTimeout((function(){be.isFocused||(be._updateCursorInfo(),be._emitSelectionChange()),be.isFocused=!1}))},Ae._updateCursorInfo=function(){var be,Ae,we,xe,Se,ke=this;function s(){ke.curserInfoElements.countVal.innerText!==Se&&(ke.curserInfoElements.countVal.innerText=Se,ke.curserInfoElements.countVal.style.display=Se?"inline":"none",ke.curserInfoElements.countLabel.style.display=Se?"inline":"none"),ke.curserInfoElements.lnVal.innerText=we,ke.curserInfoElements.colVal.innerText=xe}this.textarea?setTimeout((function(){var be=(0,Pe.getInputSelection)(ke.textarea);be.startIndex!==be.endIndex&&(Se=be.endIndex-be.startIndex),xe=(Se&&ke.cursorInfo&&ke.cursorInfo.line===be.end.row&&ke.cursorInfo.column===be.end.column?(we=be.start.row,be.start):(we=be.end.row,be.end)).column,ke.cursorInfo={line:we,column:xe,count:Se},ke.options.statusBar&&s()}),0):this.aceEditor&&this.curserInfoElements&&(be=this.aceEditor.getCursorPosition(),Ae=this.aceEditor.getSelectedText(),we=be.row+1,xe=be.column+1,Se=Ae.length,ke.cursorInfo={line:we,column:xe,count:Se},this.options.statusBar)&&s()},Ae._emitSelectionChange=function(){var be;this._selectionChangedHandler&&(be=this.getTextSelection(),this._selectionChangedHandler(be.start,be.end,be.text))},Ae._refreshAnnotations=function(){var be,Ae=this.aceEditor&&this.aceEditor.getSession();Ae&&(be=Ae.getAnnotations().filter((function(be){return"error"===be.type})),Ae.setAnnotations(be))},Ae.destroy=function(){this.aceEditor&&(this.aceEditor.destroy(),this.aceEditor=null),this.frame&&this.container&&this.frame.parentNode===this.container&&this.container.removeChild(this.frame),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this.textarea=null,this._debouncedValidate=null,this.frameFocusTracker.destroy()},Ae.compact=function(){var be=this.get();be=JSON.stringify(be),this.updateText(be)},Ae.format=function(){var be=this.get();be=JSON.stringify(be,null,this.indentation),this.updateText(be)},Ae.repair=function(){var be=this.getText();try{var Ae=(0,Se.m)(be);this.updateText(Ae)}catch(be){}},Ae.focus=function(){this.textarea&&this.textarea.focus(),this.aceEditor&&this.aceEditor.focus()},Ae.resize=function(){this.aceEditor&&this.aceEditor.resize(!1)},Ae.set=function(be){this.setText(JSON.stringify(be,null,this.indentation))},Ae.update=function(be){this.updateText(JSON.stringify(be,null,this.indentation))},Ae.get=function(){var be=this.getText();return(0,Pe.parse)(be)},Ae.getText=function(){return this.textarea?this.textarea.value:this.aceEditor?this.aceEditor.getValue():""},Ae._setText=function(be,Ae){var we,xe=this;be=!0===this.options.escapeUnicode?(0,Pe.escapeUnicodeChars)(be):be,this.textarea&&(this.textarea.value=be),this.aceEditor&&(this.onChangeDisabled=!0,this.aceEditor.setValue(be,-1),this.onChangeDisabled=!1,Ae&&(we=this,setTimeout((function(){we.aceEditor&&we.aceEditor.session.getUndoManager().reset()}))),setTimeout((function(){xe._updateHistoryButtons&&xe._updateHistoryButtons()}))),this._debouncedValidate()},Ae.setText=function(be){this._setText(be,!0)},Ae.updateText=function(be){this.getText()!==be&&this._setText(be,!1)},Ae.validate=function(){var be,Ae=this,we=[],Se=[];try{var ke=this.get(),Te=(this.validateSchema&&!this.validateSchema(ke)&&(we=this.validateSchema.errors.map((function(be){return be.type="validation",(0,Pe.improveSchemaError)(be)}))),this.validationSequence=(this.validationSequence||0)+1,this),Ee=this.validationSequence;return function(be,Ae){if(!Ae)return Promise.resolve([]);try{var we=Ae(be);return((0,Pe.isPromise)(we)?we:Promise.resolve(we)).then((function(be){return Array.isArray(be)?be.filter((function(be){var Ae=(0,Pe.isValidValidationError)(be);return Ae||xe.warn('Ignoring a custom validation error with invalid structure. Expected structure: {path: [...], message: "..."}. Actual error:',be),Ae})).map((function(be){return{dataPath:(0,Pe.stringifyPath)(be.path),message:be.message,type:"customValidation"}})):[]}))}catch(be){return Promise.reject(be)}}(ke,this.options.onValidate).then((function(be){return Ee===Te.validationSequence&&(be=we.concat(Se).concat(be),Te._renderErrors(be),"function"==typeof Ae.options.onValidationError&&(0,Pe.isValidationErrorChanged)(be,Ae.lastSchemaErrors)&&Ae.options.onValidationError.call(Ae,be),Ae.lastSchemaErrors=be),Ae.lastSchemaErrors}))}catch(Ae){return this.getText()&&((ke=/\w*line\s*(\d+)\w*/g.exec(Ae.message))&&(be=+ke[1]),Se=[{type:"error",message:Ae.message.replace(/\n/g,"<br>"),line:be}]),this._renderErrors(Se),"function"==typeof this.options.onValidationError&&(0,Pe.isValidationErrorChanged)(Se,this.lastSchemaErrors)&&this.options.onValidationError.call(this,Se),this.lastSchemaErrors=Se,Promise.resolve(this.lastSchemaErrors)}},Ae._validateAndCatch=function(){this.validate().catch((function(be){xe.error("Error running validation:",be)}))},Ae._renderErrors=function(be){var Ae=this.getText(),we=[];be.reduce((function(be,Ae){return"string"==typeof Ae.dataPath&&-1===be.indexOf(Ae.dataPath)&&be.push(Ae.dataPath),be}),we),Ae=(0,Pe.getPositionForPath)(Ae,we),this.aceEditor&&(this.annotations=Ae.map((function(Ae){var we=be.filter((function(be){return be.dataPath===Ae.path})),xe=we.map((function(be){return be.message})).join("\n");return xe?{row:Ae.line,column:Ae.column,text:"Schema validation error"+(1!==we.length?"s":"")+": \n"+xe,type:"warning",source:"jsoneditor"}:{}})),this._refreshAnnotations()),this.errorTable.setErrors(be,Ae),this.aceEditor&&this.aceEditor.resize(!1)},Ae.getTextSelection=function(){var be,Ae,we,xe={};return this.textarea?(we=(0,Pe.getInputSelection)(this.textarea),this.cursorInfo&&this.cursorInfo.line===we.end.row&&this.cursorInfo.column===we.end.column?(xe.start=we.end,xe.end=we.start):xe=we,{start:xe.start,end:xe.end,text:this.textarea.value.substring(we.startIndex,we.endIndex)}):this.aceEditor?(we=this.aceEditor.getSelection(),be=this.aceEditor.getSelectedText(),Ae=we.getRange(),(we=we.getSelectionLead()).row===Ae.end.row&&we.column===Ae.end.column?xe=Ae:(xe.start=Ae.end,xe.end=Ae.start),{start:{row:xe.start.row+1,column:xe.start.column+1},end:{row:xe.end.row+1,column:xe.end.column+1},text:be}):void 0},Ae.onTextSelectionChange=function(be){"function"==typeof be&&(this._selectionChangedHandler=(0,Pe.debounce)(be,this.DEBOUNCE_INTERVAL))},Ae.setTextSelection=function(be,Ae){var we,xe,Se;be&&Ae&&(this.textarea?(we=(0,Pe.getIndexForPosition)(this.textarea,be.row,be.column),Se=(0,Pe.getIndexForPosition)(this.textarea,Ae.row,Ae.column),-1<we&&-1<Se&&(this.textarea.setSelectionRange?(this.textarea.focus(),this.textarea.setSelectionRange(we,Se)):this.textarea.createTextRange&&((xe=this.textarea.createTextRange()).collapse(!0),xe.moveEnd("character",Se),xe.moveStart("character",we),xe.select()),Se=(this.textarea.value.match(/\n/g)||[]).length+1,we=this.textarea.scrollHeight/Se,xe=be.row*we,this.textarea.scrollTop=xe>this.textarea.clientHeight?xe-this.textarea.clientHeight/2:0)):this.aceEditor&&(Se={start:{row:be.row-1,column:be.column-1},end:{row:Ae.row-1,column:Ae.column-1}},this.aceEditor.selection.setRange(Se),this.aceEditor.scrollToLine(be.row-1,!0)))};var Fe=[{mode:"text",mixin:Ae,data:"text",load:b},{mode:"code",mixin:Ae,data:"text",load:b}]},5633:function(be,Ae,we){we.r(Ae),we.d(Ae,{treeModeMixins:function(){return je}});var Se={start:function(be,Ae,we){return 0===Ae.indexOf(be)},contain:function(be,Ae,we){return-1<Ae.indexOf(be)}},ke=we(6545),Te=we(2877);function o(be){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function r(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=o(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=o(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==o(be)?be:be+""}(xe.key),xe)}}var Ee=function(){function e(){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.locked=!1}return be=e,(Ae=[{key:"highlight",value:function(be){this.locked||(this.node!==be&&(this.node&&this.node.setHighlight(!1),this.node=be,this.node.setHighlight(!0)),this._cancelUnhighlight())}},{key:"unhighlight",value:function(){var be;this.locked||(be=this).node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout((function(){be.node.setHighlight(!1),be.node=void 0,be.unhighlightTimer=void 0}),0))}},{key:"_cancelUnhighlight",value:function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)}},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}}])&&r(be.prototype,Ae),we&&r(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}(),Re=we(3057),_e=we(359),$e=we(1389),Le=(Ae=we(1342),we.n(Ae)),Ne=we(1925),Me=we(6237),Be=we(2915),We=we(5609),Pe=we(660);function P(be){return function(be){if(Array.isArray(be))return f(be)}(be)||function(be){if("undefined"!=typeof Symbol&&null!=be[Symbol.iterator]||null!=be["@@iterator"])return Array.from(be)}(be)||m(be)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(be,Ae){return function(be){if(Array.isArray(be))return be}(be)||function(be,Ae){var we=null==be?null:"undefined"!=typeof Symbol&&be[Symbol.iterator]||be["@@iterator"];if(null!=we){var xe,Se,ke,Te,Ee=[],Re=!0,_e=!1;try{if(ke=(we=we.call(be)).next,0===Ae){if(Object(we)!==we)return;Re=!1}else for(;!(Re=(xe=ke.call(we)).done)&&(Ee.push(xe.value),Ee.length!==Ae);Re=!0);}catch(be){_e=!0,Se=be}finally{try{if(!Re&&null!=we.return&&(Te=we.return(),Object(Te)!==Te))return}finally{if(_e)throw Se}}return Ee}}(be,Ae)||m(be,Ae)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(be,Ae){var we,xe,Se,ke,Te="undefined"!=typeof Symbol&&be[Symbol.iterator]||be["@@iterator"];if(Te)return Se=!(xe=!0),{s:function(){Te=Te.call(be)},n:function(){var be=Te.next();return xe=be.done,be},e:function(be){Se=!0,we=be},f:function(){try{xe||null==Te.return||Te.return()}finally{if(Se)throw we}}};if(Array.isArray(be)||(Te=m(be))||Ae&&be&&"number"==typeof be.length)return Te&&(be=Te),ke=0,{s:Ae=function(){},n:function(){return ke>=be.length?{done:!0}:{done:!1,value:be[ke++]}},e:function(be){throw be},f:Ae};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(be,Ae){var we;if(be)return"string"==typeof be?f(be,Ae):"Map"===(we="Object"===(we={}.toString.call(be).slice(8,-1))&&be.constructor?be.constructor.name:we)||"Set"===we?Array.from(be):"Arguments"===we||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(we)?f(be,Ae):void 0}function f(be,Ae){(null==Ae||Ae>be.length)&&(Ae=be.length);for(var we=0,xe=Array(Ae);we<Ae;we++)xe[we]=be[we];return xe}function T(be){return(T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function C(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=T(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=T(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==T(be)?be:be+""}(xe.key),xe)}}var He=function(){function x(be,Ae){if(!(this instanceof x))throw new TypeError("Cannot call a class as a function");this.editor=be,this.dom={},this.expanded=!1,Ae&&Ae instanceof Object?(this.setField(Ae.field,Ae.fieldEditable),"value"in Ae&&this.setValue(Ae.value,Ae.type),"internalValue"in Ae&&this.setInternalValue(Ae.internalValue)):(this.setField(""),this.setValue(null)),this._debouncedOnChangeValue=(0,Me.debounce)(this._onChangeValue.bind(this),x.prototype.DEBOUNCE_INTERVAL),this._debouncedOnChangeField=(0,Me.debounce)(this._onChangeField.bind(this),x.prototype.DEBOUNCE_INTERVAL),this.visibleChilds=this.getMaxVisibleChilds()}return be=x,(Ae=[{key:"getMaxVisibleChilds",value:function(){return this.editor&&this.editor.options&&this.editor.options.maxVisibleChilds?this.editor.options.maxVisibleChilds:Ge}},{key:"_updateEditability",value:function(){var be,Ae;this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,"tree"!==this.editor.options.mode&&"form"!==this.editor.options.mode||"function"!=typeof this.editor.options.onEditable||(be=this.getValue.bind(this),"boolean"==typeof(Ae=this.editor.options.onEditable({field:this.field,get value(){return be()},path:this.getPath()}))?(this.editable.field=Ae,this.editable.value=Ae):"object"===T(Ae)&&null!==Ae?("boolean"==typeof Ae.field&&(this.editable.field=Ae.field),"boolean"==typeof Ae.value&&(this.editable.value=Ae.value)):(xe.error("Invalid return value for function onEditable.","Actual value:",Ae,".","Either a boolean or object { field: boolean, value: boolean } expected."),this.editable.field=!1,this.editable.value=!1)))}},{key:"getPath",value:function(){for(var be=this,Ae=[];be;){var we=be.getName();void 0!==we&&Ae.unshift(we),be=be.parent}return Ae}},{key:"getInternalPath",value:function(){for(var be=this,Ae=[];be;)be.parent&&Ae.unshift(be.getIndex()),be=be.parent;return Ae}},{key:"getName",value:function(){return this.parent?"array"!==this.parent.type?this.field:this.index:void 0}},{key:"findNodeByPath",value:function(be){if(be){if(0===be.length)return this;if(be.length&&this.childs&&this.childs.length)for(var Ae=0;Ae<this.childs.length;++Ae)if(""+be[0]==""+this.childs[Ae].getName())return this.childs[Ae].findNodeByPath(be.slice(1))}}},{key:"findNodeByInternalPath",value:function(be){if(be){for(var Ae=this,we=0;we<be.length&&Ae;we++){var xe=be[we];Ae=Ae.childs[xe]}return Ae}}},{key:"serialize",value:function(){return{value:this.getValue(),path:this.getPath()}}},{key:"findNode",value:function(be){for(var Ae=(0,Me.parsePath)(be),we=this;we&&0<Ae.length;)!function(){var be=Ae.shift();if("number"==typeof be){if("array"!==we.type)throw new Error("Cannot get child node at index "+be+": node is no array");we=we.childs[be]}else{if("object"!==we.type)throw new Error("Cannot get child node "+be+": node is no object");we=we.childs.filter((function(Ae){return Ae.field===be}))[0]}}();return we}},{key:"findParents",value:function(){for(var be=[],Ae=this.parent;Ae;)be.unshift(Ae),Ae=Ae.parent;return be}},{key:"setError",value:function(be,Ae){this.error=be,this.errorChild=Ae,this.dom&&this.dom.tr&&this.updateError()}},{key:"updateError",value:function(){var be=this,Ae=this.fieldError||this.valueError||this.error,we=this.dom.tdError;if(Ae&&this.dom&&this.dom.tr){(0,Me.addClassName)(this.dom.tr,"jsoneditor-validation-error"),we||(we=document.createElement("td"),this.dom.tdError=we,this.dom.tdValue.parentNode.appendChild(we));var xe=document.createElement("button"),Se=(xe.type="button",xe.className="jsoneditor-button jsoneditor-schema-error",function(){be.dom.popupAnchor&&be.dom.popupAnchor.destroy()}),r=function(){delete be.dom.popupAnchor},s=function(we){var Se=be.editor.frame;be.dom.popupAnchor=(0,Ne.p)(xe,be.editor.getPopupAnchor(),r,we),we=xe.getBoundingClientRect(),Se=120<Se.getBoundingClientRect().width-we.x?"jsoneditor-above":"jsoneditor-left",(we=document.createElement("div")).className="jsoneditor-popover "+Se,we.appendChild(document.createTextNode(Ae.message)),be.dom.popupAnchor.appendChild(we)},ke=(xe.onmouseover=function(){be.dom.popupAnchor||s(!0)},xe.onfocus=function(){Se(),s(!1)},xe.onblur=function(){Se()},this.errorChild);for(ke&&(xe.onclick=function(){ke.findParents().forEach((function(be){be.expand(!1)})),ke.scrollTo((function(){ke.focus()}))});we.firstChild;)we.removeChild(we.firstChild);we.appendChild(xe)}else this.dom.tr&&(0,Me.removeClassName)(this.dom.tr,"jsoneditor-validation-error"),we&&(this.dom.tdError.parentNode.removeChild(this.dom.tdError),delete this.dom.tdError)}},{key:"getIndex",value:function(){var be;return this.parent?-1!==(be=this.parent.childs.indexOf(this))?be:null:-1}},{key:"setParent",value:function(be){this.parent=be}},{key:"setField",value:function(be,Ae){this.field=be,this.previousField=be,this.fieldEditable=!0===Ae}},{key:"getField",value:function(){return void 0===this.field&&this._getDomField(),this.field}},{key:"setValue",value:function(be,Ae){var we,xe,Se,ke,Te,Ee,Re=this.childs;if(this.type=this._getType(be),Ae&&Ae!==this.type){if("string"!==Ae||"auto"!==this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+Ae+'"');this.type=Ae}if("array"===this.type){for(this.childs||(this.childs=[]),we=0;we<be.length;we++)void 0===(Te=be[we])||Te instanceof Function||(we<this.childs.length?((Se=this.childs[we]).fieldEditable=!1,Se.index=we,Se.setValue(Te)):(Se=new x(this.editor,{value:Te}),ke=we<this.getMaxVisibleChilds(),this.appendChild(Se,ke,!1)));for(xe=this.childs.length;xe>=be.length;xe--)this.removeChild(this.childs[xe],!1)}else if("object"===this.type){for(this.childs||(this.childs=[]),xe=this.childs.length-1;0<=xe;xe--)v(be,this.childs[xe].field)||this.removeChild(this.childs[xe],!1);for(var _e in we=0,be)v(be,_e)&&(void 0===(Te=be[_e])||Te instanceof Function||((Ee=this.findChildByProperty(_e))?(Ee.setField(_e,!0),Ee.setValue(Te)):(Ee=new x(this.editor,{field:_e,value:Te}),_e=we<this.getMaxVisibleChilds(),this.appendChild(Ee,_e,!1))),we++);!(this.value="")===this.editor.options.sortObjectKeys&&this.sort([],"asc",!1)}else this.hideChilds(),delete this.append,delete this.showMore,delete this.expanded,delete this.childs,this.value=be;Array.isArray(Re)!==Array.isArray(this.childs)&&this.recreateDom(),this.updateDom({updateIndexes:!0}),this.previousValue=this.value}},{key:"setInternalValue",value:function(be){var Ae,we,xe,Se,ke,Te=this.childs;if(this.type=be.type,"array"===be.type){for(this.childs||(this.childs=[]),Se=0;Se<be.childs.length;Se++)void 0===(Ae=be.childs[Se])||Ae instanceof Function||(Se<this.childs.length?((we=this.childs[Se]).fieldEditable=!1,we.index=Se,we.setInternalValue(Ae)):(we=new x(this.editor,{internalValue:Ae}),xe=Se<this.getMaxVisibleChilds(),this.appendChild(we,xe,!1)));for(ke=this.childs.length;ke>=be.childs.length;ke--)this.removeChild(this.childs[ke],!1)}else if("object"===be.type){for(this.childs||(this.childs=[]),Se=0;Se<be.childs.length;Se++)void 0===(Ae=be.childs[Se])||Ae instanceof Function||(Se<this.childs.length?(delete(we=this.childs[Se]).index,we.setField(Ae.field,!0),we.setInternalValue(Ae.value)):(we=new x(this.editor,{field:Ae.field,internalValue:Ae.value}),xe=Se<this.getMaxVisibleChilds(),this.appendChild(we,xe,!1)));for(ke=this.childs.length;ke>=be.childs.length;ke--)this.removeChild(this.childs[ke],!1)}else this.hideChilds(),delete this.append,delete this.showMore,delete this.expanded,delete this.childs,this.value=be.value;Array.isArray(Te)!==Array.isArray(this.childs)&&this.recreateDom(),this.updateDom({updateIndexes:!0}),this.previousValue=this.value}},{key:"recreateDom",value:function(){var be;this.dom&&this.dom.tr&&this.dom.tr.parentNode?(be=this._detachFromDom(),this.clearDom(),this._attachToDom(be)):this.clearDom()}},{key:"getValue",value:function(){var be,Ae;return"array"===this.type?(be=[],this.childs.forEach((function(Ae){be.push(Ae.getValue())})),be):"object"===this.type?(Ae={},this.childs.forEach((function(be){Ae[be.getField()]=be.getValue()})),Ae):(void 0===this.value&&this._getDomValue(),this.value)}},{key:"getInternalValue",value:function(){return"array"===this.type?{type:this.type,childs:this.childs.map((function(be){return be.getInternalValue()}))}:"object"===this.type?{type:this.type,childs:this.childs.map((function(be){return{field:be.getField(),value:be.getInternalValue()}}))}:(void 0===this.value&&this._getDomValue(),{type:this.type,value:this.value})}},{key:"getLevel",value:function(){return this.parent?this.parent.getLevel()+1:0}},{key:"getNodePath",value:function(){var be=this.parent?this.parent.getNodePath():[];return be.push(this),be}},{key:"clone",value:function(){var be,Ae;return(be=new x(this.editor)).type=this.type,be.field=this.field,be.fieldInnerText=this.fieldInnerText,be.fieldEditable=this.fieldEditable,be.previousField=this.previousField,be.value=this.value,be.valueInnerText=this.valueInnerText,be.previousValue=this.previousValue,be.expanded=this.expanded,be.visibleChilds=this.visibleChilds,this.childs?(Ae=[],this.childs.forEach((function(we){(we=we.clone()).setParent(be),Ae.push(we)})),be.childs=Ae):be.childs=void 0,be}},{key:"expand",value:function(be){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="jsoneditor-button jsoneditor-expanded"),this.showChilds(),!1!==be&&this.childs.forEach((function(Ae){Ae.expand(be)})),this.updateDom({recurse:!1}))}},{key:"collapse",value:function(be){this.childs&&(this.hideChilds(),!1!==be&&this.childs.forEach((function(Ae){Ae.collapse(be)})),this.dom.expand&&(this.dom.expand.className="jsoneditor-button jsoneditor-collapsed"),this.expanded=!1,this.updateDom({recurse:!1}))}},{key:"showChilds",value:function(){if((be=this.childs)&&this.expanded){var be,Ae=(be=this.dom.tr)?be.parentNode:void 0;if(Ae){for(var we=this.getAppendDom(),xe=(we.parentNode||((Se=be.nextSibling)?Ae.insertBefore(we,Se):Ae.appendChild(we)),Math.min(this.childs.length,this.visibleChilds)),Se=this._getNextTr(),ke=0;ke<xe;ke++){var Te=this.childs[ke];Te.getDom().parentNode||Ae.insertBefore(Te.getDom(),Se),Te.showChilds()}be=this.getShowMoreDom(),Se=this._getNextTr(),be.parentNode||Ae.insertBefore(be,Se),this.showMore.updateDom()}}}},{key:"_getNextTr",value:function(){return this.showMore&&this.showMore.getDom().parentNode?this.showMore.getDom():this.append&&this.append.getDom().parentNode?this.append.getDom():void 0}},{key:"hide",value:function(be){var Ae=this.dom.tr,we=Ae?Ae.parentNode:void 0;we&&we.removeChild(Ae),this.dom.popupAnchor&&this.dom.popupAnchor.destroy(),this.hideChilds(be)}},{key:"hideChilds",value:function(be){var Ae;this.childs&&this.expanded&&((Ae=this.getAppendDom()).parentNode&&Ae.parentNode.removeChild(Ae),this.childs.forEach((function(be){be.hide()})),(Ae=this.getShowMoreDom()).parentNode&&Ae.parentNode.removeChild(Ae),be&&!be.resetVisibleChilds||(this.visibleChilds=this.getMaxVisibleChilds()))}},{key:"_updateCssClassName",value:function(){var be,Ae;this.dom.field&&this.editor&&this.editor.options&&"function"==typeof this.editor.options.onClassName&&this.dom.tree&&((0,Me.removeAllClassNames)(this.dom.tree),be=this.getValue.bind(this),Ae=this.editor.options.onClassName({path:this.getPath(),field:this.field,get value(){return be()}})||"",(0,Me.addClassName)(this.dom.tree,"jsoneditor-values "+Ae))}},{key:"recursivelyUpdateCssClassesOnNodes",value:function(){if(this._updateCssClassName(),Array.isArray(this.childs))for(var be=0;be<this.childs.length;be++)this.childs[be].recursivelyUpdateCssClassesOnNodes()}},{key:"expandTo",value:function(){for(var be=this.parent;be;)be.expanded||be.expand(),be=be.parent}},{key:"appendChild",value:function(be,Ae,we){var xe,Se;this._hasChilds()&&(be.setParent(this),be.fieldEditable="object"===this.type,"array"===this.type&&(be.index=this.childs.length),"object"===this.type&&void 0===be.field&&be.setField(""),this.childs.push(be),this.expanded&&!1!==Ae&&(Ae=be.getDom(),Se=(xe=this._getNextTr())?xe.parentNode:void 0,xe&&Se&&Se.insertBefore(Ae,xe),be.showChilds(),this.visibleChilds++),!1!==we)&&(this.updateDom({updateIndexes:!0}),be.updateDom({recurse:!0}))}},{key:"moveBefore",value:function(be,Ae,we){var xe,Se,ke;this._hasChilds()&&((xe=this.dom.tr?this.dom.tr.parentNode:void 0)&&((Se=document.createElement("tr")).style.height=xe.clientHeight+"px",xe.appendChild(Se)),be.parent&&be.parent.removeChild(be),Ae instanceof Fe||!Ae?this.childs.length+1>this.visibleChilds?(ke=this.childs[this.visibleChilds-1],this.insertBefore(be,ke,we)):this.appendChild(be,!0,we):this.insertBefore(be,Ae,we),xe)&&Se&&xe.removeChild(Se)}},{key:"insertBefore",value:function(be,Ae,we){if(this._hasChilds()){if(this.visibleChilds++,"object"===this.type&&void 0===be.field&&be.setField(""),Ae===this.append)be.setParent(this),be.fieldEditable="object"===this.type,this.childs.push(be);else{var xe=this.childs.indexOf(Ae);if(-1===xe)throw new Error("Node not found");be.setParent(this),be.fieldEditable="object"===this.type,this.childs.splice(xe,0,be)}var Se;this.expanded&&(xe=be.getDom(),Se=(Ae=Ae.getDom())?Ae.parentNode:void 0,Ae&&Se&&Se.insertBefore(xe,Ae),be.showChilds(),this.showChilds()),!1!==we&&(this.updateDom({updateIndexes:!0}),be.updateDom({recurse:!0}))}}},{key:"insertAfter",value:function(be,Ae){this._hasChilds()&&(Ae=this.childs.indexOf(Ae),(Ae=this.childs[Ae+1])?this.insertBefore(be,Ae):this.appendChild(be))}},{key:"search",value:function(be,Ae){Array.isArray(Ae)||(Ae=[]);var we=be?be.toLowerCase():void 0;return delete this.searchField,delete this.searchValue,void 0!==this.field&&Ae.length<=this.MAX_SEARCH_RESULTS&&(-1!==String(this.field).toLowerCase().indexOf(we)&&(this.searchField=!0,Ae.push({node:this,elem:"field"})),this._updateDomField()),this._hasChilds()?this.childs&&this.childs.forEach((function(we){we.search(be,Ae)})):void 0!==this.value&&Ae.length<=this.MAX_SEARCH_RESULTS&&(-1!==String(this.value).toLowerCase().indexOf(we)&&(this.searchValue=!0,Ae.push({node:this,elem:"value"})),this._updateDomValue()),Ae}},{key:"scrollTo",value:function(be){this.expandPathToNode(),this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,be)}},{key:"expandPathToNode",value:function(){for(var be=this;be&&be.parent;){for(var Ae="array"===be.parent.type?be.index:be.parent.childs.indexOf(be);be.parent.visibleChilds<Ae+1;)be.parent.visibleChilds+=this.getMaxVisibleChilds();be.parent.expand(!1),be=be.parent}}},{key:"focus",value:function(be){if(x.focusElement=be,this.dom.tr&&this.dom.tr.parentNode){var Ae=this.dom;switch(be){case"drag":(Ae.drag||Ae.menu).focus();break;case"menu":Ae.menu.focus();break;case"expand":this._hasChilds()?Ae.expand.focus():Ae.field&&this.fieldEditable?(Ae.field.focus(),(0,Me.selectContentEditable)(Ae.field)):Ae.value&&!this._hasChilds()?(Ae.value.focus(),(0,Me.selectContentEditable)(Ae.value)):Ae.menu.focus();break;case"field":Ae.field&&this.fieldEditable?(Ae.field.focus(),(0,Me.selectContentEditable)(Ae.field)):Ae.value&&!this._hasChilds()?(Ae.value.focus(),(0,Me.selectContentEditable)(Ae.value)):(this._hasChilds()?Ae.expand:Ae.menu).focus();break;default:Ae.select?Ae.select.focus():Ae.value&&!this._hasChilds()?(Ae.value.focus(),(0,Me.selectContentEditable)(Ae.value)):Ae.field&&this.fieldEditable?(Ae.field.focus(),(0,Me.selectContentEditable)(Ae.field)):(this._hasChilds()?Ae.expand:Ae.menu).focus()}}}},{key:"containsNode",value:function(be){if(this===be)return!0;var Ae=this.childs;if(Ae)for(var we=0,xe=Ae.length;we<xe;we++)if(Ae[we].containsNode(be))return!0;return!1}},{key:"removeChild",value:function(be,Ae){if(this.childs){var we=this.childs.indexOf(be);if(-1!==we)return we<this.visibleChilds&&this.expanded&&this.visibleChilds--,be.hide(),delete be.searchField,delete be.searchValue,(be=this.childs.splice(we,1)[0]).parent=null,!1!==Ae&&this.updateDom({updateIndexes:!0}),be}}},{key:"_remove",value:function(be){this.removeChild(be)}},{key:"changeType",value:function(be){var Ae,we=this.type;we!==be&&("string"!==be&&"auto"!==be||"string"!==we&&"auto"!==we?(Ae=this._detachFromDom(),this.clearDom(),"object"===(this.type=be)?(this.childs||(this.childs=[]),this.childs.forEach((function(be){be.clearDom(),delete be.index,be.fieldEditable=!0,void 0===be.field&&(be.field="")})),"string"!==we&&"auto"!==we||(this.expanded=!0)):"array"===be?(this.childs||(this.childs=[]),this.childs.forEach((function(be,Ae){be.clearDom(),be.fieldEditable=!1,be.index=Ae})),"string"!==we&&"auto"!==we||(this.expanded=!0)):this.expanded=!1,this._attachToDom(Ae)):this.type=be,"auto"!==be&&"string"!==be||(this.value="string"===be?String(this.value):(0,Me.parseString)(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0}))}},{key:"deepEqual",value:function(be){var Ae;if("array"===this.type){if(!Array.isArray(be))return!1;if(this.childs.length!==be.length)return!1;for(Ae=0;Ae<this.childs.length;Ae++)if(!this.childs[Ae].deepEqual(be[Ae]))return!1}else if("object"===this.type){if("object"!==T(be)||!be)return!1;var we=Object.keys(be);if(this.childs.length!==we.length)return!1;for(Ae=0;Ae<we.length;Ae++){var xe=this.childs[Ae];if(xe.field!==we[Ae]||!xe.deepEqual(be[xe.field]))return!1}}else if(this.value!==be)return!1;return!0}},{key:"_getDomValue",value:function(){if(this._clearValueError(),this.dom.value&&"array"!==this.type&&"object"!==this.type&&(this.valueInnerText=(0,Me.getInnerText)(this.dom.value),""===this.valueInnerText)&&""!==this.dom.value.innerHTML&&(this.dom.value.textContent=""),void 0!==this.valueInnerText)try{var be,Ae;(Ae="string"===this.type?this._unescapeHTML(this.valueInnerText):(be=this._unescapeHTML(this.valueInnerText),(0,Me.parseString)(be)))!==this.value&&(this.value=Ae,this._debouncedOnChangeValue())}catch(be){this._setValueError((0,Re.Tl)("cannotParseValueError"))}}},{key:"_setValueError",value:function(be){this.valueError={message:be},this.updateError()}},{key:"_clearValueError",value:function(){this.valueError&&(this.valueError=null,this.updateError())}},{key:"_setFieldError",value:function(be){this.fieldError={message:be},this.updateError()}},{key:"_clearFieldError",value:function(){this.fieldError&&(this.fieldError=null,this.updateError())}},{key:"_onChangeValue",value:function(){var be,Ae=this.editor.getDomSelection(),we=(Ae.range&&(we=(0,Me.textDiff)(String(this.value),String(this.previousValue)),Ae.range.startOffset=we.start,Ae.range.endOffset=we.end),this.editor.getDomSelection());we.range&&(be=(0,Me.textDiff)(String(this.previousValue),String(this.value)),we.range.startOffset=be.start,we.range.endOffset=be.end),this.editor._onAction("editValue",{path:this.getInternalPath(),oldValue:this.previousValue,newValue:this.value,oldSelection:Ae,newSelection:we}),this.previousValue=this.value}},{key:"_onChangeField",value:function(){var be=this.editor.getDomSelection(),Ae=this.previousField||"",we=(be.range&&(we=(0,Me.textDiff)(this.field,Ae),be.range.startOffset=we.start,be.range.endOffset=we.end),this.editor.getDomSelection());we.range&&(Ae=(0,Me.textDiff)(Ae,this.field),we.range.startOffset=Ae.start,we.range.endOffset=Ae.end),this.editor._onAction("editField",{parentPath:this.parent.getInternalPath(),index:this.getIndex(),oldValue:this.previousField,newValue:this.field,oldSelection:be,newSelection:we}),this.previousField=this.field}},{key:"_updateDomValue",value:function(){var be=this.dom.value;if(be){var Ae=["jsoneditor-value"],we=this.value,xe="auto"===this.type?(0,Me.getType)(we):this.type,Se="string"===xe&&(0,Me.isUrl)(we);if(Ae.push("jsoneditor-"+xe),Se&&Ae.push("jsoneditor-url"),""===String(this.value)&&"array"!==this.type&&"object"!==this.type&&Ae.push("jsoneditor-empty"),this.searchValueActive&&Ae.push("jsoneditor-highlight-active"),this.searchValue&&Ae.push("jsoneditor-highlight"),be.className=Ae.join(" "),"array"===xe||"object"===xe?(Ae=this.childs?this.childs.length:0,be.title=this.type+" containing "+Ae+" items"):Se&&this.editable.value?be.title=(0,Re.Tl)("openUrl"):be.title="","boolean"===xe&&this.editable.value?(this.dom.checkbox||(this.dom.checkbox=document.createElement("input"),this.dom.checkbox.type="checkbox",this.dom.tdCheckbox=document.createElement("td"),this.dom.tdCheckbox.className="jsoneditor-tree",this.dom.tdCheckbox.appendChild(this.dom.checkbox),this.dom.tdValue.parentNode.insertBefore(this.dom.tdCheckbox,this.dom.tdValue)),this.dom.checkbox.checked=this.value):this.dom.tdCheckbox&&(this.dom.tdCheckbox.parentNode.removeChild(this.dom.tdCheckbox),delete this.dom.tdCheckbox,delete this.dom.checkbox),this.enum&&this.editable.value?(this.dom.select||(this.dom.select=document.createElement("select"),this.id=this.field+"_"+(new Date).getUTCMilliseconds(),this.dom.select.id=this.id,this.dom.select.name=this.dom.select.id,(Ae=document.createElement("option")).value="",Ae.textContent="--",this.dom.select.appendChild(Ae),this._updateEnumOptions(),this.dom.tdSelect=document.createElement("td"),this.dom.tdSelect.className="jsoneditor-tree",this.dom.tdSelect.appendChild(this.dom.select),this.dom.tdValue.parentNode.insertBefore(this.dom.tdSelect,this.dom.tdValue)),this.dom.select.value=-1!==this.enum.indexOf(this.value)?this.value:"",!this.schema||v(this.schema,"oneOf")||v(this.schema,"anyOf")||v(this.schema,"allOf")?delete this.valueFieldHTML:(this.valueFieldHTML=this.dom.tdValue.innerHTML,this.dom.tdValue.style.visibility="hidden",this.dom.tdValue.textContent="")):this.dom.tdSelect&&(this.dom.tdSelect.parentNode.removeChild(this.dom.tdSelect),delete this.dom.tdSelect,delete this.dom.select,this.dom.tdValue.innerHTML=this.valueFieldHTML,this.dom.tdValue.style.visibility="",delete this.valueFieldHTML,this.dom.tdValue.appendChild(this.dom.value)),this.editor.options.colorPicker&&"string"==typeof we&&(0,Me.isValidColor)(we)?(this.dom.color||(this.dom.color=document.createElement("div"),this.dom.color.className="jsoneditor-color",this.dom.tdColor=document.createElement("td"),this.dom.tdColor.className="jsoneditor-tree",this.dom.tdColor.appendChild(this.dom.color),this.dom.tdValue.parentNode.insertBefore(this.dom.tdColor,this.dom.tdValue)),(0,Me.addClassName)(this.dom.value,"jsoneditor-color-value"),(this.editable.value?Me.removeClassName:Me.addClassName)(this.dom.color,"jsoneditor-color-readonly"),this.dom.color.style.backgroundColor=we):this._deleteDomColor(),this._showTimestampTag()){if(this.dom.date||(this.dom.date=document.createElement("div"),this.dom.date.className="jsoneditor-date",this.dom.value.parentNode.appendChild(this.dom.date)),Se=null,Se="function"==typeof this.editor.options.timestampFormat?this.editor.options.timestampFormat({field:this.field,value:this.value,path:this.getPath()}):Se){for(;this.dom.date.firstChild;)this.dom.date.removeChild(this.dom.date.firstChild);this.dom.date.appendChild(document.createTextNode(Se))}else this.dom.date.textContent=new Date(we).toISOString();this.dom.date.title=new Date(we).toString()}else this.dom.date&&(this.dom.date.parentNode.removeChild(this.dom.date),delete this.dom.date);(0,Me.stripFormatting)(be),this._updateDomDefault()}}},{key:"_updateEnumOptions",value:function(){if(this.enum&&this.dom.select){this.dom.select.innerHTML="";for(var be=0;be<this.enum.length;be++){var Ae=document.createElement("option");Ae.value=this.enum[be],Ae.textContent=this.enum[be],this.dom.select.appendChild(Ae)}}}},{key:"_deleteDomColor",value:function(){this.dom.color&&(this.dom.tdColor.parentNode.removeChild(this.dom.tdColor),delete this.dom.tdColor,delete this.dom.color,(0,Me.removeClassName)(this.dom.value,"jsoneditor-color-value"))}},{key:"_updateDomField",value:function(){var be,Ae=this.dom.field;Ae&&((be=(0,Me.makeFieldTooltip)(this.schema,this.editor.options.language))&&(Ae.title=be),(""===String(this.field)&&this.parent&&"array"!==this.parent.type?Me.addClassName:Me.removeClassName)(Ae,"jsoneditor-empty"),(this.searchFieldActive?Me.addClassName:Me.removeClassName)(Ae,"jsoneditor-highlight-active"),(this.searchField?Me.addClassName:Me.removeClassName)(Ae,"jsoneditor-highlight"),(0,Me.stripFormatting)(Ae))}},{key:"_getDomField",value:function(be){if(this._clearFieldError(),this.dom.field&&this.fieldEditable&&(this.fieldInnerText=(0,Me.getInnerText)(this.dom.field),""===this.fieldInnerText)&&""!==this.dom.field.innerHTML&&(this.dom.field.textContent=""),void 0!==this.fieldInnerText)try{var Ae=this._unescapeHTML(this.fieldInnerText),we=this.parent.getFieldNames(this);-1!==we.indexOf(Ae)?be?(Ae=(0,Me.findUniqueName)(Ae,we))!==this.field&&(this.field=Ae,this._debouncedOnChangeField()):this._setFieldError((0,Re.Tl)("duplicateFieldError")):Ae!==this.field&&(this.field=Ae,this._debouncedOnChangeField())}catch(be){this._setFieldError((0,Re.Tl)("cannotParseFieldError"))}}},{key:"_updateDomDefault",value:function(){var be;this.schema&&void 0!==this.schema.default&&!this._hasChilds()&&(be=this.dom.select||this.dom.value)&&(this.value===this.schema.default?(be.title=(0,Re.Tl)("default"),(0,Me.addClassName)(be,"jsoneditor-is-default"),Me.removeClassName):(be.removeAttribute("title"),(0,Me.removeClassName)(be,"jsoneditor-is-default"),Me.addClassName))(be,"jsoneditor-is-not-default")}},{key:"_showTimestampTag",value:function(){var be,Ae;return"number"==typeof this.value&&("function"==typeof(be=this.editor.options.timestampTag)?"boolean"==typeof(Ae=be({field:this.field,value:this.value,path:this.getPath()}))?Ae:(0,Me.isTimestamp)(this.field,this.value):!0===be&&(0,Me.isTimestamp)(this.field,this.value))}},{key:"clearDom",value:function(){this.dom={}}},{key:"getDom",value:function(){var be,Ae,we=this.dom;return we.tr||(this._updateEditability(),we.tr=document.createElement("tr"),"tree"===(we.tr.node=this).editor.options.mode&&(Ae=document.createElement("td"),this.editable.field&&this.parent&&((be=document.createElement("button")).type="button",(we.drag=be).className="jsoneditor-button jsoneditor-dragarea",be.title=(0,Re.Tl)("drag"),Ae.appendChild(be)),we.tr.appendChild(Ae),be=document.createElement("td"),(Ae=document.createElement("button")).type="button",(we.menu=Ae).className="jsoneditor-button jsoneditor-contextmenu-button",Ae.title=(0,Re.Tl)("actionsMenu"),be.appendChild(we.menu),we.tr.appendChild(be)),Ae=document.createElement("td"),we.tr.appendChild(Ae),we.tree=this._createDomTree(),Ae.appendChild(we.tree),this.updateDom({updateIndexes:!0})),we.tr}},{key:"isVisible",value:function(){return this.dom&&this.dom.tr&&this.dom.tr.parentNode||!1}},{key:"isDescendantOf",value:function(be){for(var Ae=this.parent;Ae;){if(Ae===be)return!0;Ae=Ae.parent}return!1}},{key:"_createDomField",value:function(){return document.createElement("div")}},{key:"setHighlight",value:function(be){this.dom.tr&&((be?Me.addClassName:Me.removeClassName)(this.dom.tr,"jsoneditor-highlight"),this.append&&this.append.setHighlight(be),this.childs)&&this.childs.forEach((function(Ae){Ae.setHighlight(be)}))}},{key:"setSelected",value:function(be,Ae){this.selected=be,this.dom.tr&&((be?Me.addClassName:Me.removeClassName)(this.dom.tr,"jsoneditor-selected"),(Ae?Me.addClassName:Me.removeClassName)(this.dom.tr,"jsoneditor-first"),this.append&&this.append.setSelected(be),this.showMore&&this.showMore.setSelected(be),this.childs)&&this.childs.forEach((function(Ae){Ae.setSelected(be)}))}},{key:"updateValue",value:function(be){this.value=be,this.previousValue=be,this.valueError=void 0,this.updateDom()}},{key:"updateField",value:function(be){this.field=be,this.previousField=be,this.fieldError=void 0,this.updateDom()}},{key:"updateDom",value:function(be){var Ae,we;(we=this.dom.tree)&&(we.style.marginLeft=24*this.getLevel()+"px"),(we=this.dom.field)&&(this.fieldEditable?(we.contentEditable=this.editable.field,we.spellcheck=!1,we.className="jsoneditor-field"):(we.contentEditable=!1,we.className="jsoneditor-readonly"),Ae=void 0!==this.index?this.index:void 0!==this.field?this.field:(Ae=this.editor.options.schema?x._findSchema(this.editor.options.schema,this.editor.options.schemaRefs||{},this.getPath()):void 0)&&Ae.title?Ae.title:this._hasChilds()?this.type:"",Ae=this._escapeHTML(Ae),document.activeElement!==we&&Ae!==this._unescapeHTML((0,Me.getInnerText)(we))&&(we.innerHTML=Ae),this._updateSchema(),this._updateEnumOptions()),(we=this.dom.value)&&("array"===this.type||"object"===this.type?this.updateNodeName():(Ae=this._escapeHTML(this.value),document.activeElement!==we&&Ae!==this._unescapeHTML((0,Me.getInnerText)(we))&&(we.innerHTML=Ae))),(we=this.dom.tr)&&("array"===this.type||"object"===this.type?((0,Me.addClassName)(we,"jsoneditor-expandable"),this.expanded?((0,Me.addClassName)(we,"jsoneditor-expanded"),(0,Me.removeClassName)(we,"jsoneditor-collapsed")):((0,Me.addClassName)(we,"jsoneditor-collapsed"),(0,Me.removeClassName)(we,"jsoneditor-expanded"))):((0,Me.removeClassName)(we,"jsoneditor-expandable"),(0,Me.removeClassName)(we,"jsoneditor-expanded"),(0,Me.removeClassName)(we,"jsoneditor-collapsed"))),this._updateDomField(),this._updateDomValue(),be&&!0===be.updateIndexes&&this._updateDomIndexes(),be&&!0===be.recurse&&this.childs&&this.childs.forEach((function(Ae){Ae.updateDom(be)})),this.error&&this.updateError(),this.append&&this.append.updateDom(),this.showMore&&this.showMore.updateDom(),this._updateCssClassName()}},{key:"_updateSchema",value:function(){this.editor&&this.editor.options&&(this.schema=this.editor.options.schema?x._findSchema(this.editor.options.schema,this.editor.options.schemaRefs||{},this.getPath()):null,this.schema?this.enum=x._findEnum(this.schema):delete this.enum)}},{key:"_updateDomIndexes",value:function(){var be=this.dom.value,Ae=this.childs;be&&Ae&&("array"===this.type?Ae.forEach((function(be,Ae){be.index=Ae,(be=be.dom.field)&&(be.textContent=Ae)})):"object"===this.type&&Ae.forEach((function(be){void 0!==be.index&&(delete be.index,void 0===be.field)&&(be.field="")})))}},{key:"_createDomValue",value:function(){var be;return"array"===this.type?(be=document.createElement("div")).textContent="[...]":"object"===this.type?(be=document.createElement("div")).textContent="{...}":(!this.editable.value&&(0,Me.isUrl)(this.value)?(be=document.createElement("a")).href=this.value:((be=document.createElement("div")).contentEditable=this.editable.value,be.spellcheck=!1),be.innerHTML=this._escapeHTML(this.value)),be}},{key:"_createDomExpandButton",value:function(){var be=document.createElement("button");return be.type="button",this._hasChilds()?(be.className=this.expanded?"jsoneditor-button jsoneditor-expanded":"jsoneditor-button jsoneditor-collapsed",be.title=(0,Re.Tl)("expandTitle")):(be.className="jsoneditor-button jsoneditor-invisible",be.title=""),be}},{key:"_createDomTree",value:function(){var be=this.dom,Ae=document.createElement("table"),we=document.createElement("tbody"),xe=(Ae.style.borderCollapse="collapse",Ae.className="jsoneditor-values",Ae.appendChild(we),document.createElement("tr"));return((((we.appendChild(xe),we=document.createElement("td")).className="jsoneditor-tree",xe.appendChild(we),be.expand=this._createDomExpandButton(),we.appendChild(be.expand),be.tdExpand=we,we=document.createElement("td")).className="jsoneditor-tree",xe.appendChild(we),be.field=this._createDomField(),we.appendChild(be.field),be.tdField=we,we=document.createElement("td")).className="jsoneditor-tree",xe.appendChild(we),"object"!==this.type&&"array"!==this.type&&(we.appendChild(document.createTextNode(":")),we.className="jsoneditor-separator"),be.tdSeparator=we,we=document.createElement("td")).className="jsoneditor-tree",xe.appendChild(we),be.value=this._createDomValue(),we.appendChild(be.value),be.tdValue=we,Ae}},{key:"onEvent",value:function(be){var Ae,we=be.type,xe=be.target||be.srcElement,Se=this.dom,ke=this,Te=this._hasChilds(),Ee=(xe!==Se.drag&&xe!==Se.menu||("mouseover"===we?this.editor.highlighter.highlight(this):"mouseout"===we&&this.editor.highlighter.unhighlight()),"click"===we&&xe===Se.menu&&((Ae=ke.editor.highlighter).highlight(ke),Ae.lock(),(0,Me.addClassName)(Se.menu,"jsoneditor-selected"),this.showContextMenu(Se.menu,(function(){(0,Me.removeClassName)(Se.menu,"jsoneditor-selected"),Ae.unlock(),Ae.unhighlight()}))),"click"===we&&xe===Se.expand&&Te&&(Le=be.ctrlKey,this._onExpand(Le)),"click"!==we||be.target!==ke.dom.tdColor&&be.target!==ke.dom.color||!this.editable.value||this._showColorPicker(),"change"===we&&xe===Se.checkbox&&(this.dom.value.textContent=String(!this.value),this._getDomValue(),this._updateDomDefault()),"change"===we&&xe===Se.select&&(this.dom.value.innerHTML=this._escapeHTML(Se.select.value),this._getDomValue(),this._updateDomValue()),Se.value);if(xe===Ee)switch(we){case"blur":case"change":this._getDomValue(),this._clearValueError(),this._updateDomValue();var Re=this._escapeHTML(this.value);Re!==this._unescapeHTML((0,Me.getInnerText)(Ee))&&(Ee.innerHTML=Re);break;case"input":case"keyup":this._getDomValue(),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getDomSelection();break;case"click":be.ctrlKey&&this.editable.value&&(0,Me.isUrl)(this.value)&&(be.preventDefault(),window.open(this.value,"_blank","noreferrer"));break;case"cut":case"paste":setTimeout((function(){ke._getDomValue(),ke._updateDomValue()}),1)}var _e=Se.field;if(xe===_e)switch(we){case"blur":this._getDomField(!0),this._updateDomField();var $e=this._escapeHTML(this.field);$e!==this._unescapeHTML((0,Me.getInnerText)(_e))&&(_e.innerHTML=$e);break;case"input":this._getDomField(),this._updateSchema(),this._updateDomField(),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getDomSelection();break;case"keyup":this._getDomField(),this._updateDomField();break;case"cut":case"paste":setTimeout((function(){ke._getDomField(),ke._updateDomField()}),1)}var Le=Se.tree;Le&&xe===Le.parentNode&&"click"===we&&!be.hasMoved&&((void 0!==be.offsetX?be.offsetX<24*(this.getLevel()+1):be.pageX<(0,Me.getAbsoluteLeft)(Se.tdSeparator))||Te?_e&&((0,Me.setEndOfContentEditable)(_e),_e.focus()):Ee&&!this.enum&&((0,Me.setEndOfContentEditable)(Ee),Ee.focus())),(xe!==Se.tdExpand||Te)&&xe!==Se.tdField&&xe!==Se.tdSeparator||"click"!==we||be.hasMoved||_e&&((0,Me.setEndOfContentEditable)(_e),_e.focus()),"keydown"===we&&this.onKeyDown(be),"function"==typeof this.editor.options.onEvent&&this._onEvent(be)}},{key:"_onEvent",value:function(be){var Ae=(we=be.target)===this.dom.field,we=we===this.dom.value||we===this.dom.checkbox||we===this.dom.select;(Ae||we)&&(Ae={field:this.getField(),path:this.getPath()},we&&!this._hasChilds()&&(Ae.value=this.getValue()),this.editor.options.onEvent(Ae,be))}},{key:"onKeyDown",value:function(be){var Ae,we,xe,Se,ke,Te,Ee,Re,_e,$e,Le,Ne,Be,We,Pe=be.which||be.keyCode,He=be.target||be.srcElement,Ge=be.ctrlKey,Oe=be.shiftKey,Ve=be.altKey,Ze=!1,De="tree"===this.editor.options.mode,Ke=0<this.editor.multiselection.nodes.length?this.editor.multiselection.nodes:[this],je=Ke[0],ze=Ke[Ke.length-1];13===Pe?He===this.dom.value?this.editable.value&&!be.ctrlKey||(0,Me.isUrl)(this.value)&&(window.open(this.value,"_blank","noreferrer"),Ze=!0):He===this.dom.expand&&this._hasChilds()&&(Be=be.ctrlKey,this._onExpand(Be),He.focus(),Ze=!0):68===Pe?Ge&&De&&(x.onDuplicate(Ke),Ze=!0):69===Pe?Ge&&(this._onExpand(Oe),He.focus(),Ze=!0):77===Pe&&De?Ge&&(this.showContextMenu(He),Ze=!0):46===Pe&&De?Ge&&(x.onRemove(Ke),Ze=!0):45===Pe&&De?Ge&&!Oe?(this._onInsertBefore(),Ze=!0):Ge&&Oe&&(this._onInsertAfter(),Ze=!0):35===Pe?Ve&&((Be=this._lastNode())&&Be.focus(x.focusElement||this._getElementName(He)),Ze=!0):36===Pe?Ve&&((Be=this._firstNode())&&Be.focus(x.focusElement||this._getElementName(He)),Ze=!0):37===Pe?Ve&&!Oe?((Be=this._previousElement(He))&&this.focus(this._getElementName(Be)),Ze=!0):Ve&&Oe&&De&&(Be=ze.expanded?(Be=ze.getAppendDom())?Be.nextSibling:void 0:ze.getDom().nextSibling)&&(Le=x.getNodeFromTarget(Be),Be=Be.nextSibling,Ne=x.getNodeFromTarget(Be),Le)&&Le instanceof Fe&&1!==ze.parent.childs.length&&Ne&&Ne.parent&&(we=this.editor.getDomSelection(),xe=(Se=je.parent).childs[ze.getIndex()+1]||Se.append,ke=je.getIndex(),Te=Ne.getIndex(),Ee=Se.getInternalPath(),Re=Ne.parent.getInternalPath(),Ke.forEach((function(be){Ne.parent.moveBefore(be,Ne)})),this.focus(x.focusElement||this._getElementName(He)),this.editor._onAction("moveNodes",{count:Ke.length,fieldNames:Ke.map(R),oldParentPath:Se.getInternalPath(),newParentPath:je.parent.getInternalPath(),oldIndex:xe.getIndex(),newIndex:je.getIndex(),oldIndexRedo:ke,newIndexRedo:Te,oldParentPathRedo:Ee,newParentPathRedo:Re,oldSelection:we,newSelection:this.editor.getDomSelection()})):38===Pe?Ve&&!Oe?((Ae=this._previousNode())&&(this.editor.deselect(!0),Ae.focus(x.focusElement||this._getElementName(He))),Ze=!0):!Ve&&Ge&&Oe&&De?((Ae=this._previousNode())&&(($e=this.editor.multiselection).start=$e.start||this,$e.end=Ae,_e=this.editor._findTopLevelNodes($e.start,$e.end),this.editor.select(_e),Ae.focus("field")),Ze=!0):Ve&&Oe&&De&&((Ae=je._previousNode())&&Ae.parent&&(we=this.editor.getDomSelection(),xe=(Se=je.parent).childs[ze.getIndex()+1]||Se.append,ke=je.getIndex(),Te=Ae.getIndex(),Ee=Se.getInternalPath(),Re=Ae.parent.getInternalPath(),Ke.forEach((function(be){Ae.parent.moveBefore(be,Ae)})),this.focus(x.focusElement||this._getElementName(He)),this.editor._onAction("moveNodes",{count:Ke.length,fieldNames:Ke.map(R),oldParentPath:Se.getInternalPath(),newParentPath:je.parent.getInternalPath(),oldIndex:xe.getIndex(),newIndex:je.getIndex(),oldIndexRedo:ke,newIndexRedo:Te,oldParentPathRedo:Ee,newParentPathRedo:Re,oldSelection:we,newSelection:this.editor.getDomSelection()})),Ze=!0):39===Pe?Ve&&!Oe?((Be=this._nextElement(He))&&this.focus(this._getElementName(Be)),Ze=!0):Ve&&Oe&&De&&(Be=je.getDom().previousSibling)&&(Ae=x.getNodeFromTarget(Be))&&Ae.parent&&!Ae.isVisible()&&(we=this.editor.getDomSelection(),xe=(Se=je.parent).childs[ze.getIndex()+1]||Se.append,ke=je.getIndex(),Te=Ae.getIndex(),Ee=Se.getInternalPath(),Re=Ae.parent.getInternalPath(),Ke.forEach((function(be){Ae.parent.moveBefore(be,Ae)})),this.focus(x.focusElement||this._getElementName(He)),this.editor._onAction("moveNodes",{count:Ke.length,fieldNames:Ke.map(R),oldParentPath:Se.getInternalPath(),newParentPath:je.parent.getInternalPath(),oldIndex:xe.getIndex(),newIndex:je.getIndex(),oldIndexRedo:ke,newIndexRedo:Te,oldParentPathRedo:Ee,newParentPathRedo:Re,oldSelection:we,newSelection:this.editor.getDomSelection()})):40===Pe&&(Ve&&!Oe?((Le=this._nextNode())&&(this.editor.deselect(!0),Le.focus(x.focusElement||this._getElementName(He))),Ze=!0):!Ve&&Ge&&Oe&&De?((Le=this._nextNode())&&(($e=this.editor.multiselection).start=$e.start||this,$e.end=Le,_e=this.editor._findTopLevelNodes($e.start,$e.end),this.editor.select(_e),Le.focus("field")),Ze=!0):Ve&&Oe&&De&&((We=(Le=(Le=(Le=ze.expanded?ze.append?ze.append._nextNode():void 0:ze._nextNode())&&!Le.isVisible()?Le.parent.showMore:Le)&&Le instanceof Fe?ze:Le)&&(Le._nextNode()||Le.parent.append))&&We.parent&&(we=this.editor.getDomSelection(),xe=(Se=je.parent).childs[ze.getIndex()+1]||Se.append,ke=je.getIndex(),Te=We.getIndex(),Ee=Se.getInternalPath(),Re=We.parent.getInternalPath(),Ke.forEach((function(be){We.parent.moveBefore(be,We)})),this.focus(x.focusElement||this._getElementName(He)),this.editor._onAction("moveNodes",{count:Ke.length,fieldNames:Ke.map(R),oldParentPath:Se.getInternalPath(),newParentPath:je.parent.getInternalPath(),oldParentPathRedo:Ee,newParentPathRedo:Re,oldIndexRedo:ke,newIndexRedo:Te,oldIndex:xe.getIndex(),newIndex:je.getIndex(),oldSelection:we,newSelection:this.editor.getDomSelection()})),Ze=!0)),Ze&&(be.preventDefault(),be.stopPropagation())}},{key:"_onExpand",value:function(be){var Ae,we,xe;be&&(xe=(we=(Ae=this.dom.tr.parentNode).parentNode).scrollTop,we.removeChild(Ae)),this.expanded?this.collapse(be):this.expand(be),be&&(we.appendChild(Ae),we.scrollTop=xe),"function"==typeof this.editor.options.onExpand&&this.editor.options.onExpand({path:this.getPath(),isExpand:this.expanded,recursive:be})}},{key:"_showColorPicker",value:function(){var be,Ae;"function"==typeof this.editor.options.onColorPicker&&this.dom.color&&((be=this)._deleteDomColor(),be.updateDom(),Ae=(0,Ne.p)(this.dom.color,this.editor.getPopupAnchor()),this.editor.options.onColorPicker(Ae,this.value,(function(Ae){"string"==typeof Ae&&Ae!==be.value&&(be._deleteDomColor(),be.value=Ae,be.updateDom(),be._debouncedOnChangeValue())})))}},{key:"getFieldNames",value:function(be){return"object"===this.type?this.childs.filter((function(Ae){return Ae!==be})).map((function(be){return be.field})):[]}},{key:"_onInsertBefore",value:function(be,Ae,we){var xe=this.editor.getDomSelection();(be=new x(this.editor,{field:void 0!==be?be:"",value:void 0!==Ae?Ae:"",type:we})).expand(!0),Ae=this.getInternalPath(),this.parent.insertBefore(be,this),this.editor.highlighter.unhighlight(),be.focus("field"),we=this.editor.getDomSelection(),this.editor._onAction("insertBeforeNodes",{nodes:[be],paths:[be.getInternalPath()],beforePath:Ae,parentPath:this.parent.getInternalPath(),oldSelection:xe,newSelection:we})}},{key:"_onInsertAfter",value:function(be,Ae,we){var xe=this.editor.getDomSelection();(be=new x(this.editor,{field:void 0!==be?be:"",value:void 0!==Ae?Ae:"",type:we})).expand(!0),this.parent.insertAfter(be,this),this.editor.highlighter.unhighlight(),be.focus("field"),Ae=this.editor.getDomSelection(),this.editor._onAction("insertAfterNodes",{nodes:[be],paths:[be.getInternalPath()],afterPath:this.getInternalPath(),parentPath:this.parent.getInternalPath(),oldSelection:xe,newSelection:Ae})}},{key:"_onAppend",value:function(be,Ae,we){var xe=this.editor.getDomSelection();(be=new x(this.editor,{field:void 0!==be?be:"",value:void 0!==Ae?Ae:"",type:we})).expand(!0),this.parent.appendChild(be),this.editor.highlighter.unhighlight(),be.focus("field"),Ae=this.editor.getDomSelection(),this.editor._onAction("appendNodes",{nodes:[be],paths:[be.getInternalPath()],parentPath:this.parent.getInternalPath(),oldSelection:xe,newSelection:Ae})}},{key:"_onChangeType",value:function(be){var Ae,we,xe=this.type;be!==xe&&(Ae=this.editor.getDomSelection(),this.changeType(be),we=this.editor.getDomSelection(),this.editor._onAction("changeType",{path:this.getInternalPath(),oldType:xe,newType:be,oldSelection:Ae,newSelection:we}))}},{key:"sort",value:function(be,Ae){var we,xe,Se=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];"string"==typeof be&&(be=(0,Me.parsePath)(be)),this._hasChilds()&&(this.hideChilds(),we=this.childs,this.childs=this.childs.concat(),xe="desc"===Ae?-1:1,"object"===this.type?this.childs.sort((function(be,Ae){return xe*Le()(be.field,Ae.field)})):this.childs.sort((function(Ae,we){return Ae=Ae.getNestedChild(be),we=we.getNestedChild(be),Ae?we?(Ae=Ae.value,we=we.value,"string"!=typeof Ae&&"string"!=typeof we?we<Ae?xe:Ae<we?-xe:0:xe*Le()(Ae,we)):-xe:xe})),this._updateDomIndexes(),this.showChilds(),!0===Se)&&this.editor._onAction("sort",{path:this.getInternalPath(),oldChilds:we,newChilds:this.childs})}},{key:"update",value:function(be){var Ae=this.getInternalValue();this.setValue(be),this.editor._onAction("transform",{path:this.getInternalPath(),oldValue:Ae,newValue:this.getInternalValue()})}},{key:"_detachFromDom",value:function(){var be=this.dom.tr?this.dom.tr.parentNode:void 0,Ae=(Ae=this.expanded?this.getAppendDom():this.getDom())&&Ae.parentNode?Ae.nextSibling:void 0;return this.hide({resetVisibleChilds:!1}),{table:be,nextTr:Ae}}},{key:"_attachToDom",value:function(be){be.table&&(be.nextTr?be.table.insertBefore(this.getDom(),be.nextTr):be.table.appendChild(this.getDom())),this.expanded&&this.showChilds()}},{key:"transform",value:function(be){if(this._hasChilds()){this.hideChilds();try{var Ae=this.getInternalValue(),we=this.getValue(),xe=this.editor.options.executeQuery(we,be),Se=(this.setValue(xe),this.getInternalValue());this.editor._onAction("transform",{path:this.getInternalPath(),oldValue:Ae,newValue:Se}),this.showChilds()}catch(be){this.showChilds(),this.editor._onError(be)}}}},{key:"extract",value:function(){this.editor.node.hideChilds(),this.hideChilds();try{var be=this.editor.node.getInternalValue(),Ae=(this.editor._setRoot(this),this.editor.node.getInternalValue());this.editor._onAction("transform",{path:this.editor.node.getInternalPath(),oldValue:be,newValue:Ae})}catch(be){this.editor._onError(be)}finally{this.updateDom({recurse:!0}),this.showChilds()}}},{key:"getNestedChild",value:function(be){for(var Ae=0,we=this;we&&Ae<be.length;)we=we.findChildByProperty(be[Ae]),Ae++;return we}},{key:"findChildByProperty",value:function(be){if("object"===this.type)return this.childs.find((function(Ae){return Ae.field===be}))}},{key:"getAppendDom",value:function(){return this.append||(this.append=new Fe(this.editor),this.append.setParent(this)),this.append.getDom()}},{key:"getShowMoreDom",value:function(){return this.showMore||(this.showMore=new Oe(this.editor,this)),this.showMore.getDom()}},{key:"nextSibling",value:function(){var be=this.parent.childs.indexOf(this);return this.parent.childs[be+1]||this.parent.append}},{key:"_previousNode",value:function(){var be=null,Ae=this.getDom();if(Ae&&Ae.parentNode)for(var we=Ae;we=we.previousSibling,be=x.getNodeFromTarget(we),we&&be&&be instanceof Fe&&!be.isVisible(););return be}},{key:"_nextNode",value:function(){var be=null,Ae=this.getDom();if(Ae&&Ae.parentNode)for(var we=Ae;we=we.nextSibling,be=x.getNodeFromTarget(we),we&&be&&be instanceof Fe&&!be.isVisible(););return be}},{key:"_firstNode",value:function(){var be=null,Ae=this.getDom();return Ae&&Ae.parentNode&&(Ae=Ae.parentNode.firstChild,be=x.getNodeFromTarget(Ae)),be}},{key:"_lastNode",value:function(){var be=null,Ae=this.getDom();if(Ae&&Ae.parentNode){var we=Ae.parentNode.lastChild;for(be=x.getNodeFromTarget(we);we&&be&&!be.isVisible();)we=we.previousSibling,be=x.getNodeFromTarget(we)}return be}},{key:"_previousElement",value:function(be){var Ae=this.dom;switch(be){case Ae.value:if(this.fieldEditable)return Ae.field;case Ae.field:if(this._hasChilds())return Ae.expand;case Ae.expand:return Ae.menu;case Ae.menu:if(Ae.drag)return Ae.drag;default:return null}}},{key:"_nextElement",value:function(be){var Ae=this.dom;switch(be){case Ae.drag:return Ae.menu;case Ae.menu:if(this._hasChilds())return Ae.expand;case Ae.expand:if(this.fieldEditable)return Ae.field;case Ae.field:if(!this._hasChilds())return Ae.value;default:return null}}},{key:"_getElementName",value:function(be){var Ae=this;return Object.keys(this.dom).find((function(we){return Ae.dom[we]===be}))}},{key:"_hasChilds",value:function(){return"array"===this.type||"object"===this.type}},{key:"addTemplates",value:function(be,Ae){var we=this,xe=we.editor.options.templates;null!=xe&&(xe.length&&be.push({type:"separator"}),xe.forEach((function(xe){be.push({text:xe.text,className:xe.className||"jsoneditor-type-object",title:xe.title,click:(Ae?function(be,Ae){we._onAppend(be,Ae)}:function(be,Ae){we._onInsertBefore(be,Ae)}).bind(this,xe.field,xe.value)})})))}},{key:"showContextMenu",value:function(be,Ae){var we,xe=this,Se=[];this.editable.value&&Se.push({text:(0,Re.Tl)("type"),title:(0,Re.Tl)("typeTitle"),className:"jsoneditor-type-"+this.type,submenu:[{text:(0,Re.Tl)("auto"),className:"jsoneditor-type-auto"+("auto"===this.type?" jsoneditor-selected":""),title:(0,Re.Tl)("autoType"),click:function(){xe._onChangeType("auto")}},{text:(0,Re.Tl)("array"),className:"jsoneditor-type-array"+("array"===this.type?" jsoneditor-selected":""),title:(0,Re.Tl)("arrayType"),click:function(){xe._onChangeType("array")}},{text:(0,Re.Tl)("object"),className:"jsoneditor-type-object"+("object"===this.type?" jsoneditor-selected":""),title:(0,Re.Tl)("objectType"),click:function(){xe._onChangeType("object")}},{text:(0,Re.Tl)("string"),className:"jsoneditor-type-string"+("string"===this.type?" jsoneditor-selected":""),title:(0,Re.Tl)("stringType"),click:function(){xe._onChangeType("string")}}]}),this._hasChilds()&&(this.editor.options.enableSort&&Se.push({text:(0,Re.Tl)("sort"),title:(0,Re.Tl)("sortTitle",{type:this.type}),className:"jsoneditor-sort-asc",click:function(){xe.showSortModal()}}),this.editor.options.enableTransform&&Se.push({text:(0,Re.Tl)("transform"),title:(0,Re.Tl)("transformTitle",{type:this.type}),className:"jsoneditor-transform",click:function(){xe.showTransformModal()}}),this.parent)&&Se.push({text:(0,Re.Tl)("extract"),title:(0,Re.Tl)("extractTitle",{type:this.type}),className:"jsoneditor-extract",click:function(){xe.extract()}}),this.parent&&this.parent._hasChilds()&&(Se.length&&Se.push({type:"separator"}),we=xe.parent.childs,xe===we[we.length-1]&&(we=[{text:(0,Re.Tl)("auto"),className:"jsoneditor-type-auto",title:(0,Re.Tl)("autoType"),click:function(){xe._onAppend("","","auto")}},{text:(0,Re.Tl)("array"),className:"jsoneditor-type-array",title:(0,Re.Tl)("arrayType"),click:function(){xe._onAppend("",[])}},{text:(0,Re.Tl)("object"),className:"jsoneditor-type-object",title:(0,Re.Tl)("objectType"),click:function(){xe._onAppend("",{})}},{text:(0,Re.Tl)("string"),className:"jsoneditor-type-string",title:(0,Re.Tl)("stringType"),click:function(){xe._onAppend("","","string")}}],xe.addTemplates(we,!0),Se.push({text:(0,Re.Tl)("appendText"),title:(0,Re.Tl)("appendTitle"),submenuTitle:(0,Re.Tl)("appendSubmenuTitle"),className:"jsoneditor-append",click:function(){xe._onAppend("","","auto")},submenu:we})),we=[{text:(0,Re.Tl)("auto"),className:"jsoneditor-type-auto",title:(0,Re.Tl)("autoType"),click:function(){xe._onInsertBefore("","","auto")}},{text:(0,Re.Tl)("array"),className:"jsoneditor-type-array",title:(0,Re.Tl)("arrayType"),click:function(){xe._onInsertBefore("",[])}},{text:(0,Re.Tl)("object"),className:"jsoneditor-type-object",title:(0,Re.Tl)("objectType"),click:function(){xe._onInsertBefore("",{})}},{text:(0,Re.Tl)("string"),className:"jsoneditor-type-string",title:(0,Re.Tl)("stringType"),click:function(){xe._onInsertBefore("","","string")}}],xe.addTemplates(we,!1),Se.push({text:(0,Re.Tl)("insert"),title:(0,Re.Tl)("insertTitle"),submenuTitle:(0,Re.Tl)("insertSub"),className:"jsoneditor-insert",click:function(){xe._onInsertBefore("","","auto")},submenu:we}),this.editable.field)&&(Se.push({text:(0,Re.Tl)("duplicateText"),title:(0,Re.Tl)("duplicateField"),className:"jsoneditor-duplicate",click:function(){x.onDuplicate(xe)}}),Se.push({text:(0,Re.Tl)("removeText"),title:(0,Re.Tl)("removeField"),className:"jsoneditor-remove",click:function(){x.onRemove(xe)}})),this.editor.options.onCreateMenu&&(we=xe.getPath(),Se=this.editor.options.onCreateMenu(Se,{type:"single",path:we,paths:[we]})),new ke.t(Se,{close:Ae}).show(be,this.editor.getPopupAnchor())}},{key:"showSortModal",value:function(){var be=this,Ae=this.editor.options.modalAnchor||Pe.ai,we=this.getValue();(0,Be.showSortModal)(Ae,we,(function(Ae){var we=Ae.path;we=(0,Me.parsePath)(we),be.sortedBy=Ae,be.sort(we,Ae.direction)}),be.sortedBy)}},{key:"showTransformModal",value:function(){var be=this,Ae=(Se=this.editor.options).modalAnchor,we=Se.createQuery,xe=Se.executeQuery,Se=Se.queryDescription,ke=this.getValue();(0,We.showTransformModal)({container:Ae||Pe.ai,json:ke,queryDescription:Se,createQuery:we,executeQuery:xe,onTransform:function(Ae){be.transform(Ae)}})}},{key:"_getType",value:function(be){return be instanceof Array?"array":be instanceof Object?"object":"string"==typeof be&&"string"!=typeof(0,Me.parseString)(be)?"string":"auto"}},{key:"_escapeHTML",value:function(be){return"string"!=typeof be?String(be):(be=String(be).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ {2}/g," &nbsp;").replace(/^ /,"&nbsp;").replace(/ $/,"&nbsp;"),be=(be=JSON.stringify(be)).substring(1,be.length-1),!0===this.editor.options.escapeUnicode?(0,Me.escapeUnicodeChars)(be):be)}},{key:"_unescapeHTML",value:function(be){return be='"'+this._escapeJSON(be)+'"',(0,Me.parse)(be).replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&nbsp;|\u00A0/g," ").replace(/&amp;/g,"&")}},{key:"_escapeJSON",value:function(be){for(var Ae="",we=0;we<be.length;){var xe=be.charAt(we);"\n"===xe?Ae+="\\n":"\\"===xe?(Ae+=xe,we++,""!==(xe=be.charAt(we))&&-1!=='"\\/bfnrtu'.indexOf(xe)||(Ae+="\\"),Ae+=xe):Ae+='"'===xe?'\\"':xe,we++}return Ae}},{key:"updateNodeName",value:function(){var be=this.childs?this.childs.length:0;if("object"===this.type||"array"===this.type){if(this.editor.options.onNodeName)try{var Ae=this.getValue.bind(this),we=this.editor.options.onNodeName({path:this.getPath(),size:be,type:this.type,get value(){return Ae()}})}catch(be){xe.error("Error in onNodeName callback: ",be)}this.dom.value.textContent="object"===this.type?"{"+(we||be)+"}":"["+(we||be)+"]"}}},{key:"recursivelyUpdateNodeName",value:function(){if(this.expanded&&(this.updateNodeName(),"undefined"!==this.childs))for(var be in this.childs)this.childs[be].recursivelyUpdateNodeName()}}])&&C(be.prototype,Ae),we&&C(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}(),Ge=(He.prototype.DEBOUNCE_INTERVAL=150,He.prototype.MAX_SEARCH_RESULTS=999,100);function y(be){return be.getInternalPath()}function R(be){return be.getField()}function v(be,Ae){return Object.prototype.hasOwnProperty.call(be,Ae)}He.focusElement=void 0,He.select=function(be){setTimeout((function(){(0,Me.selectContentEditable)(be)}),0)},He.onDragStart=function(be,Ae){if(!Array.isArray(be))return He.onDragStart([be],Ae);var we,xe,Se,ke,Te;0!==be.length&&(we=be[0],xe=be[be.length-1],Se=we.parent,Te=He.getNodeFromTarget(Ae.target),ke=we.editor,Te=(0,Me.getAbsoluteTop)(Te.dom.tr)-(0,Me.getAbsoluteTop)(we.dom.tr),ke.mousemove||(ke.mousemove=(0,Me.addEventListener)(Ae.view,"mousemove",(function(Ae){He.onDrag(be,Ae)}))),ke.mouseup||(ke.mouseup=(0,Me.addEventListener)(Ae.view,"mouseup",(function(Ae){He.onDragEnd(be,Ae)}))),ke.highlighter.lock(),ke.drag={oldCursor:document.body.style.cursor,oldSelection:ke.getDomSelection(),oldPaths:be.map(y),oldParent:Se,oldNextNode:Se.childs[xe.getIndex()+1]||Se.append,oldParentPathRedo:Se.getInternalPath(),oldIndexRedo:we.getIndex(),mouseX:Ae.pageX,offsetY:Te,level:we.getLevel()},document.body.style.cursor="move",Ae.preventDefault())},He.onDrag=function(be,Ae){if(!Array.isArray(be))return He.onDrag([be],Ae);if(0!==be.length){var we,xe,Se,ke,Te,Ee=be[0].editor,Re=Ae.pageY-Ee.drag.offsetY,_e=Ae.pageX,$e=!1,Le=be[0],Ne=Le.dom.tr,Be=(0,Me.getAbsoluteTop)(Ne),We=Ne.offsetHeight;if(Re<Be){for(Ve=Ne;Ve=Ve.previousSibling,Ze=He.getNodeFromTarget(Ve),Se=Ve?(0,Me.getAbsoluteTop)(Ve):0,Ve&&Re<Se;);(Ze=Ze&&!Ze.parent?void 0:Ze)||(Ve=(Ne=Ne.parentNode.firstChild)?Ne.nextSibling:void 0,(Ze=He.getNodeFromTarget(Ve))===Le&&(Ze=void 0)),!(Ze=Ze&&Ze.isVisible()&&(Se=(Ve=Ze.dom.tr)?(0,Me.getAbsoluteTop)(Ve):0)+We<Re?void 0:Ze)||!1!==Ee.options.limitDragging&&Ze.parent!==be[0].parent||(be.forEach((function(be){Ze.parent.moveBefore(be,Ze)})),$e=!0)}else{var Pe=be[be.length-1];if(We=(Ne=Pe.expanded&&Pe.append?Pe.append.getDom():Pe.dom.tr)?Ne.nextSibling:void 0){for(ke=(0,Me.getAbsoluteTop)(We),we=We;xe=He.getNodeFromTarget(we),we&&(Te=we.nextSibling?(0,Me.getAbsoluteTop)(we.nextSibling):0,Te=we?Te-ke:0,xe&&xe.parent.childs.length===be.length&&xe.parent.childs[be.length-1]===Pe&&(Be+=27),we=we.nextSibling),we&&Be+Te<Re;);if(xe&&xe.parent){We=_e-Ee.drag.mouseX,We=Math.round(We/24/2);for(var Ge=Ee.drag.level+We,Oe=xe.getLevel(),Ve=xe.dom.tr&&xe.dom.tr.previousSibling;Oe<Ge&&Ve;){var Ze=He.getNodeFromTarget(Ve),De=be.some((function(be){return be===Ze||Ze.isDescendantOf(be)}));if(!De){if(!(Ze instanceof Fe))break;if((De=Ze.parent.childs).length===be.length&&De[be.length-1]===Pe)break;Oe=(xe=He.getNodeFromTarget(Ve)).getLevel()}Ve=Ve.previousSibling}(xe=xe instanceof Fe&&!xe.isVisible()&&xe.parent.showMore.isVisible()?xe._nextNode():xe)&&(!1===Ee.options.limitDragging||xe.parent===be[0].parent)&&xe.dom.tr&&xe.dom.tr!==Ne.nextSibling&&(be.forEach((function(be){xe.parent.moveBefore(be,xe)})),$e=!0)}}}$e&&(Ee.drag.mouseX=_e,Ee.drag.level=Le.getLevel()),Ee.startAutoScroll(Re),Ae.preventDefault()}},He.onDragEnd=function(be,Ae){if(!Array.isArray(be))return He.onDrag([be],Ae);var we,xe,Se,ke,Te,Ee,Re,_e,$e;0!==be.length&&(Ee=be[0],we=Ee.editor,Ee&&Ee.dom.menu&&Ee.dom.menu.focus(),xe=we.drag.oldParent.getInternalPath(),Se=Ee.parent.getInternalPath(),ke=we.drag.oldParent===Ee.parent,Te=we.drag.oldNextNode.getIndex(),Ee=Ee.getIndex(),Re=we.drag.oldParentPathRedo,_e=we.drag.oldIndexRedo,$e=ke&&_e<Ee?Ee+be.length:Ee,ke&&_e===Ee||we._onAction("moveNodes",{count:be.length,fieldNames:be.map(R),oldParentPath:xe,newParentPath:Se,oldIndex:Te,newIndex:Ee,oldIndexRedo:_e,newIndexRedo:$e,oldParentPathRedo:Re,newParentPathRedo:null,oldSelection:we.drag.oldSelection,newSelection:we.getDomSelection()}),document.body.style.cursor=we.drag.oldCursor,we.highlighter.unlock(),be.forEach((function(be){be.updateDom(),Ae.target!==be.dom.drag&&Ae.target!==be.dom.menu&&we.highlighter.unhighlight()})),delete we.drag,we.mousemove&&((0,Me.removeEventListener)(Ae.view,"mousemove",we.mousemove),delete we.mousemove),we.mouseup&&((0,Me.removeEventListener)(Ae.view,"mouseup",we.mouseup),delete we.mouseup),we.stopAutoScroll(),Ae.preventDefault())},He._findEnum=function(be){return be.enum?be.enum:(be=be.oneOf||be.anyOf||be.allOf)&&0<(be=be.filter((function(be){return be.enum}))).length?be[0].enum:null},He._findSchema=function(be,Ae,we){for(var xe=3<arguments.length&&void 0!==arguments[3]?arguments[3]:be,Se=we.slice(1,we.length),ke=we[0],Te=[xe],Ee=0,Re=[xe.oneOf,xe.anyOf,xe.allOf];Ee<Re.length;Ee++){var _e=Re[Ee];Array.isArray(_e)&&(Te=Te.concat(_e))}var $e,Le=x(Te);try{for(Le.s();!($e=Le.n()).done;){if("$ref"in(xe=$e.value)&&"string"==typeof xe.$ref){var Ne,Me=xe.$ref;if(Me in Ae)xe=Ae[Me];else{if(!Me.startsWith("#/")){if(1===(null==(Ne=Me.match(/#\//g))?void 0:Ne.length)){var Be,We,Pe,Ge=H(Me.split("#/"),2),Fe=Ge[0],Oe=Ge[1];if(Fe in Ae)return Be=Ae[Fe],We={$ref:"#/".concat(Oe)},(Pe=[]).push(ke),0<Se.length&&Pe.push.apply(Pe,P(Se)),He._findSchema(Be,Ae,Pe,We)}throw Error("Unable to resolve reference ".concat(Me))}var Ve,Ze=Me.substring(2).split("/"),De=(xe=be,x(Ze));try{for(De.s();!(Ve=De.n()).done;){var Ke=Ve.value;if(!(Ke in xe))throw Error("Unable to resolve reference ".concat(Me));xe=xe[Ke]}}catch(be){De.e(be)}finally{De.f()}}}if(void 0===ke)return xe;if("string"==typeof ke){if("object"===T(xe.properties)&&null!==xe.properties&&ke in xe.properties)return xe=xe.properties[ke],He._findSchema(be,Ae,Se,xe);if("object"===T(xe.patternProperties)&&null!==xe.patternProperties)for(var je in xe.patternProperties)if(ke.match(je))return xe=xe.patternProperties[je],He._findSchema(be,Ae,Se,xe);if("object"===T(xe.additionalProperties))return xe=xe.additionalProperties,He._findSchema(be,Ae,Se,xe)}else if("number"==typeof ke&&"object"===T(xe.items)&&null!==xe.items)return xe=xe.items,He._findSchema(be,Ae,Se,xe)}}catch(be){Le.e(be)}finally{Le.f()}return null},He.onRemove=function(be){if(!Array.isArray(be))return He.onRemove([be]);var Ae,we,xe,Se,ke,Te;be&&0<be.length&&(Ae=(xe=be[0]).parent,we=xe.editor,xe=xe.getIndex(),we.highlighter.unhighlight(),Se=we.getDomSelection(),He.blurNodes(be),ke=we.getDomSelection(),Te=be.map(y),be.forEach((function(be){be.parent._remove(be)})),we._onAction("removeNodes",{nodes:be,paths:Te,parentPath:Ae.getInternalPath(),index:xe,oldSelection:Se,newSelection:ke}))},He.onDuplicate=function(be){if(!Array.isArray(be))return He.onDuplicate([be]);var Ae,we,xe,Se,ke,Te,Ee;be&&0<be.length&&(Ae=be[be.length-1],we=Ae.parent,(xe=Ae.editor).deselect(xe.multiselection.nodes),Se=xe.getDomSelection(),ke=Ae,Te=be.map((function(be){var Ae,xe=be.clone();return"object"===be.parent.type&&(Ae=be.parent.getFieldNames(),xe.field=(0,Me.findUniqueName)(be.field,Ae)),we.insertAfter(xe,ke),ke=xe})),1===be.length?"object"===Te[0].parent.type?(Te[0].dom.field.innerHTML=be[0]._escapeHTML(be[0].field),Te[0].focus("field")):Te[0].focus():xe.select(Te),Ee=xe.getDomSelection(),xe._onAction("duplicateNodes",{paths:be.map(y),clonePaths:Te.map(y),afterPath:Ae.getInternalPath(),parentPath:we.getInternalPath(),oldSelection:Se,newSelection:Ee}))},He.getNodeFromTarget=function(be){for(;be;){if(be.node)return be.node;be=be.parentNode}},He.targetIsColorPicker=function(be){var Ae=He.getNodeFromTarget(be);if(Ae)for(var we=be&&be.parentNode;we;){if(we===Ae.dom.color)return!0;we=we.parentNode}return!1},He.blurNodes=function(be){var Ae,we;Array.isArray(be)?(Ae=(we=be[0]).parent,we=we.getIndex(),(Ae.childs[we+be.length]?Ae.childs[we+be.length]:Ae.childs[we-1]||Ae).focus()):He.blurNodes([be])},(n.prototype=new He).getDom=function(){var be=this.dom;if(be.tr)return be.tr;this._updateEditability();var Ae=document.createElement("tr"),we=(Ae.className="jsoneditor-append",Ae.node=this,be.tr=Ae,"tree"===this.editor.options.mode&&(be.tdDrag=document.createElement("td"),xe=document.createElement("td"),be.tdMenu=xe,(we=document.createElement("button")).type="button",we.className="jsoneditor-button jsoneditor-contextmenu-button",we.title="Click to open the actions menu (Ctrl+M)",be.menu=we,xe.appendChild(be.menu)),document.createElement("td")),xe=document.createElement("div");return xe.appendChild(document.createTextNode("("+(0,Re.Tl)("empty")+")")),xe.className="jsoneditor-readonly",we.appendChild(xe),be.td=we,be.text=xe,this.updateDom(),Ae},n.prototype.getPath=function(){return null},n.prototype.getIndex=function(){return null},n.prototype.updateDom=function(be){var Ae=this.dom,we=Ae.td,xe=(we&&(we.style.paddingLeft=24*this.getLevel()+26+"px"),(xe=Ae.text)&&(xe.firstChild.nodeValue="("+(0,Re.Tl)("empty")+" "+this.parent.type+")"),Ae.tr);this.isVisible()?Ae.tr.firstChild||(Ae.tdDrag&&xe.appendChild(Ae.tdDrag),Ae.tdMenu&&xe.appendChild(Ae.tdMenu),xe.appendChild(we)):Ae.tr.firstChild&&(Ae.tdDrag&&xe.removeChild(Ae.tdDrag),Ae.tdMenu&&xe.removeChild(Ae.tdMenu),xe.removeChild(we))},n.prototype.isVisible=function(){return 0===this.parent.childs.length},n.prototype.showContextMenu=function(be,Ae){var we,xe=this,Se=[{text:(0,Re.Tl)("auto"),className:"jsoneditor-type-auto",title:(0,Re.Tl)("autoType"),click:function(){xe._onAppend("","","auto")}},{text:(0,Re.Tl)("array"),className:"jsoneditor-type-array",title:(0,Re.Tl)("arrayType"),click:function(){xe._onAppend("",[])}},{text:(0,Re.Tl)("object"),className:"jsoneditor-type-object",title:(0,Re.Tl)("objectType"),click:function(){xe._onAppend("",{})}},{text:(0,Re.Tl)("string"),className:"jsoneditor-type-string",title:(0,Re.Tl)("stringType"),click:function(){xe._onAppend("","","string")}}];xe.addTemplates(Se,!0),Se=[{text:(0,Re.Tl)("appendText"),title:(0,Re.Tl)("appendTitleAuto"),submenuTitle:(0,Re.Tl)("appendSubmenuTitle"),className:"jsoneditor-insert",click:function(){xe._onAppend("","","auto")},submenu:Se}],this.editor.options.onCreateMenu&&(we=xe.parent.getPath(),Se=this.editor.options.onCreateMenu(Se,{type:"append",path:we,paths:[we]})),new ke.t(Se,{close:Ae}).show(be,this.editor.getPopupAnchor())},n.prototype.onEvent=function(be){var Ae,we=be.type,xe=be.target||be.srcElement,Se=this.dom;xe===Se.menu&&("mouseover"===we?this.editor.highlighter.highlight(this.parent):"mouseout"===we&&this.editor.highlighter.unhighlight()),"click"===we&&xe===Se.menu&&((Ae=this.editor.highlighter).highlight(this.parent),Ae.lock(),(0,Me.addClassName)(Se.menu,"jsoneditor-selected"),this.showContextMenu(Se.menu,(function(){(0,Me.removeClassName)(Se.menu,"jsoneditor-selected"),Ae.unlock(),Ae.unhighlight()}))),"keydown"===we&&this.onKeyDown(be)};var Fe=n;function n(be){this.editor=be,this.dom={}}(I.prototype=new He).getDom=function(){var be,Ae,we,xe,Se,ke;return this.dom.tr||(this._updateEditability(),this.dom.tr||(Ae=(be=this).parent,(Se=document.createElement("a")).appendChild(document.createTextNode((0,Re.Tl)("showMore"))),Se.href="#",Se.onclick=function(we){return Ae.visibleChilds=Math.floor(Ae.visibleChilds/Ae.getMaxVisibleChilds()+1)*Ae.getMaxVisibleChilds(),be.updateDom(),Ae.showChilds(),we.preventDefault(),!1},(ke=document.createElement("a")).appendChild(document.createTextNode((0,Re.Tl)("showAll"))),ke.href="#",ke.onclick=function(we){return Ae.visibleChilds=1/0,be.updateDom(),Ae.showChilds(),we.preventDefault(),!1},we=document.createElement("div"),xe=document.createTextNode(this._getShowMoreText()),we.className="jsoneditor-show-more",we.appendChild(xe),we.appendChild(Se),we.appendChild(document.createTextNode(". ")),we.appendChild(ke),we.appendChild(document.createTextNode(". ")),(Se=document.createElement("td")).appendChild(we),ke=document.createElement("tr"),"tree"===this.editor.options.mode&&(ke.appendChild(document.createElement("td")),ke.appendChild(document.createElement("td"))),ke.appendChild(Se),ke.className="jsoneditor-show-more",this.dom.tr=ke,this.dom.moreContents=we,this.dom.moreText=xe),this.updateDom()),this.dom.tr},I.prototype.updateDom=function(be){var Ae;this.isVisible()?(this.dom.tr.node=this.parent.childs[this.parent.visibleChilds],this.dom.tr.parentNode||(Ae=this.parent._getNextTr())&&Ae.parentNode.insertBefore(this.dom.tr,Ae),this.dom.moreText.nodeValue=this._getShowMoreText(),this.dom.moreContents.style.marginLeft=24*(this.getLevel()+1)+"px"):this.dom.tr&&this.dom.tr.parentNode&&this.dom.tr.parentNode.removeChild(this.dom.tr)},I.prototype._getShowMoreText=function(){return(0,Re.Tl)("showMoreStatus",{visibleChilds:this.parent.visibleChilds,totalChilds:this.parent.childs.length})+" "},I.prototype.isVisible=function(){return this.parent.expanded&&this.parent.childs.length>this.parent.visibleChilds},I.prototype.onEvent=function(be){"keydown"===be.type&&this.onKeyDown(be)};var Oe=I;function I(be,Ae){this.editor=be,this.parent=Ae,this.dom={}}function b(be){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function A(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=b(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=b(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==b(be)?be:be+""}(xe.key),xe)}}var Ve=function(){function e(be){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");function r(Ae){return be.node.findNodeByInternalPath(Ae)}this.editor=be,this.history=[],this.index=-1,this.clear(),this.actions={editField:{undo:function(be){r(be.parentPath).childs[be.index].updateField(be.oldValue)},redo:function(be){r(be.parentPath).childs[be.index].updateField(be.newValue)}},editValue:{undo:function(be){r(be.path).updateValue(be.oldValue)},redo:function(be){r(be.path).updateValue(be.newValue)}},changeType:{undo:function(be){r(be.path).changeType(be.oldType)},redo:function(be){r(be.path).changeType(be.newType)}},appendNodes:{undo:function(be){var Ae=r(be.parentPath);be.paths.map(r).forEach((function(be){Ae.removeChild(be)}))},redo:function(be){var Ae=r(be.parentPath);be.nodes.forEach((function(be){Ae.appendChild(be)}))}},insertBeforeNodes:{undo:function(be){var Ae=r(be.parentPath);be.paths.map(r).forEach((function(be){Ae.removeChild(be)}))},redo:function(be){var Ae=r(be.parentPath),we=r(be.beforePath);be.nodes.forEach((function(be){Ae.insertBefore(be,we)}))}},insertAfterNodes:{undo:function(be){var Ae=r(be.parentPath);be.paths.map(r).forEach((function(be){Ae.removeChild(be)}))},redo:function(be){var Ae=r(be.parentPath),we=r(be.afterPath);be.nodes.forEach((function(be){Ae.insertAfter(be,we),we=be}))}},removeNodes:{undo:function(be){var Ae=r(be.parentPath),we=Ae.childs[be.index]||Ae.append;be.nodes.forEach((function(be){Ae.insertBefore(be,we)}))},redo:function(be){var Ae=r(be.parentPath);be.paths.map(r).forEach((function(be){Ae.removeChild(be)}))}},duplicateNodes:{undo:function(be){var Ae=r(be.parentPath);be.clonePaths.map(r).forEach((function(be){Ae.removeChild(be)}))},redo:function(be){var Ae=r(be.parentPath),we=r(be.afterPath);be.paths.map(r).forEach((function(be){var xe,Se=be.clone();"object"===Ae.type&&(xe=Ae.getFieldNames(),Se.field=(0,Me.findUniqueName)(be.field,xe)),Ae.insertAfter(Se,we),we=Se}))}},moveNodes:{undo:function(be){var Ae=r(be.oldParentPath),we=r(be.newParentPath),xe=Ae.childs[be.oldIndex]||Ae.append;we.childs.slice(be.newIndex,be.newIndex+be.count).forEach((function(we,Se){we.field=be.fieldNames[Se],Ae.moveBefore(we,xe)})),null===be.newParentPathRedo&&(be.newParentPathRedo=we.getInternalPath())},redo:function(be){var Ae=r(be.oldParentPathRedo),we=r(be.newParentPathRedo),xe=we.childs[be.newIndexRedo]||we.append;Ae.childs.slice(be.oldIndexRedo,be.oldIndexRedo+be.count).forEach((function(Ae,Se){Ae.field=be.fieldNames[Se],we.moveBefore(Ae,xe)}))}},sort:{undo:function(be){var Ae=r(be.path);Ae.hideChilds(),Ae.childs=be.oldChilds,Ae.updateDom({updateIndexes:!0}),Ae.showChilds()},redo:function(be){var Ae=r(be.path);Ae.hideChilds(),Ae.childs=be.newChilds,Ae.updateDom({updateIndexes:!0}),Ae.showChilds()}},transform:{undo:function(be){r(be.path).setInternalValue(be.oldValue)},redo:function(be){r(be.path).setInternalValue(be.newValue)}}}}return be=e,(Ae=[{key:"onChange",value:function(){}},{key:"add",value:function(be,Ae){this.index++,this.history[this.index]={action:be,params:Ae,timestamp:new Date},this.index<this.history.length-1&&this.history.splice(this.index+1,this.history.length-this.index-1),this.onChange()}},{key:"clear",value:function(){this.history=[],this.index=-1,this.onChange()}},{key:"canUndo",value:function(){return 0<=this.index}},{key:"canRedo",value:function(){return this.index<this.history.length-1}},{key:"undo",value:function(){if(this.canUndo()){var be=this.history[this.index];if(be){var Ae=this.actions[be.action];if(Ae&&Ae.undo){if(Ae.undo(be.params),be.params.oldSelection)try{this.editor.setDomSelection(be.params.oldSelection)}catch(be){xe.error(be)}}else xe.error(new Error('unknown action "'+be.action+'"'))}this.index--,this.onChange()}}},{key:"redo",value:function(){if(this.canRedo()){this.index++;var be=this.history[this.index];if(be){var Ae=this.actions[be.action];if(Ae&&Ae.redo){if(Ae.redo(be.params),be.params.newSelection)try{this.editor.setDomSelection(be.params.newSelection)}catch(be){xe.error(be)}}else xe.error(new Error('unknown action "'+be.action+'"'))}this.onChange()}}},{key:"destroy",value:function(){this.editor=null,this.history=[],this.index=-1}}])&&A(be.prototype,Ae),we&&A(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}();function _(be){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function L(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=_(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=_(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==_(be)?be:be+""}(xe.key),xe)}}var Ze=function(){function o(be,Ae){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");var we=this,xe=(this.editor=be,this.timeout=void 0,this.delay=200,this.lastText=void 0,this.results=null,this.dom={},this.dom.container=Ae,be=document.createElement("div"),(this.dom.wrapper=be).className="jsoneditor-search",Ae.appendChild(be),Ae=document.createElement("div"),(this.dom.results=Ae).className="jsoneditor-results",be.appendChild(Ae),Ae=document.createElement("div"),((this.dom.input=Ae).className="jsoneditor-frame",Ae.title=(0,Re.Tl)("searchTitle"),be.appendChild(Ae),be=document.createElement("button")).type="button",be.className="jsoneditor-refresh",Ae.appendChild(be),document.createElement("input"));((xe.type="text",(this.dom.search=xe).oninput=function(be){we._onDelayedSearch(be)},xe.onchange=function(be){we._onSearch()},xe.onkeydown=function(be){we._onKeyDown(be)},xe.onkeyup=function(be){we._onKeyUp(be)},be.onclick=function(be){xe.select()},Ae.appendChild(xe),be=document.createElement("button")).type="button",be.title=(0,Re.Tl)("searchNextResultTitle"),be.className="jsoneditor-next",be.onclick=function(){we.next()},Ae.appendChild(be),be=document.createElement("button")).type="button",be.title=(0,Re.Tl)("searchPreviousResultTitle"),be.className="jsoneditor-previous",be.onclick=function(){we.previous()},Ae.appendChild(be)}return be=o,(Ae=[{key:"next",value:function(be){var Ae;this.results&&((Ae=null!==this.resultIndex?this.resultIndex+1:0)>this.results.length-1&&(Ae=0),this._setActiveResult(Ae,be))}},{key:"previous",value:function(be){var Ae,we;this.results&&(Ae=this.results.length-1,we=null!==this.resultIndex?this.resultIndex-1:Ae,this._setActiveResult(we=we<0?Ae:we,be))}},{key:"_setActiveResult",value:function(be,Ae){var we,xe,Se;this.activeResult&&(we=this.activeResult.node,"field"===this.activeResult.elem?delete we.searchFieldActive:delete we.searchValueActive,we.updateDom()),this.results&&this.results[be]?(this.resultIndex=be,xe=this.results[this.resultIndex].node,"field"===(Se=this.results[this.resultIndex].elem)?xe.searchFieldActive=!0:xe.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],xe.updateDom(),xe.scrollTo((function(){Ae&&xe.focus(Se)}))):(this.resultIndex=void 0,this.activeResult=void 0)}},{key:"_clearDelay",value:function(){void 0!==this.timeout&&(clearTimeout(this.timeout),delete this.timeout)}},{key:"_onDelayedSearch",value:function(be){this._clearDelay();var Ae=this;this.timeout=setTimeout((function(be){Ae._onSearch()}),this.delay)}},{key:"_onSearch",value:function(be){var Ae;if(this._clearDelay(),(Ae=0<(Ae=this.dom.search.value).length?Ae:void 0)!==this.lastText||be){this.lastText=Ae,this.results=this.editor.search(Ae),be=this.results[0]?this.results[0].node.MAX_SEARCH_RESULTS:1/0;var we=0;if(this.activeResult)for(var xe=0;xe<this.results.length;xe++)if(this.results[xe].node===this.activeResult.node){we=xe;break}this._setActiveResult(we,!1),void 0!==Ae?(Ae=this.results.length,this.dom.results.textContent=0===Ae?"no results":1===Ae?"1 result":be<Ae?be+"+ results":Ae+" results"):this.dom.results.textContent=""}}},{key:"_onKeyDown",value:function(be){var Ae=be.which;27===Ae?(this.dom.search.value="",this._onSearch(),be.preventDefault(),be.stopPropagation()):13===Ae&&(be.ctrlKey?this._onSearch(!0):be.shiftKey?this.previous():this.next(),be.preventDefault(),be.stopPropagation())}},{key:"_onKeyUp",value:function(be){var Ae=be.keyCode;27!==Ae&&13!==Ae&&this._onDelayedSearch(be)}},{key:"clear",value:function(){this.dom.search.value="",this._onSearch()}},{key:"forceSearch",value:function(){this._onSearch(!0)}},{key:"isEmpty",value:function(){return""===this.dom.search.value}},{key:"destroy",value:function(){this.editor=null,this.dom.container.removeChild(this.dom.wrapper),this.dom=null,this.results=null,this.activeResult=null,this._clearDelay()}}])&&L(be.prototype,Ae),we&&L(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}();function N(be){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}function M(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,function(be){return be=function(be,Ae){if("object"!=N(be)||!be)return be;var we=be[Symbol.toPrimitive];if(void 0===we)return("string"===Ae?String:Number)(be);if("object"!=N(we=we.call(be,Ae||"default")))return we;throw new TypeError("@@toPrimitive must return a primitive value.")}(be,"string"),"symbol"==N(be)?be:be+""}(xe.key),xe)}}var De=function(){function n(be,Ae){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");be&&(this.root=Ae,this.path=document.createElement("div"),this.path.className="jsoneditor-treepath",this.path.setAttribute("tabindex",0),this.contentMenuClicked=!1,be.appendChild(this.path),this.reset())}return be=n,(Ae=[{key:"reset",value:function(){this.path.textContent=(0,Re.Tl)("selectNode")}},{key:"setPath",value:function(be){var Ae=this;this.path.textContent="",be&&be.length&&be.forEach((function(we,xe){var Se,Te=document.createElement("span");Te.className="jsoneditor-treepath-element",Te.innerText=we.name,Te.onclick=function(be){this.selectionCallback&&this.selectionCallback(be)}.bind(Ae,we),Ae.path.appendChild(Te),we.children.length&&((Se=document.createElement("span")).className="jsoneditor-treepath-seperator",Se.textContent="►",Se.onclick=function(){Ae.contentMenuClicked=!0;var Te=[];we.children.forEach((function(Se){Te.push({text:Se.name,className:"jsoneditor-type-modes"+(be[xe+1]+1&&be[xe+1].name===Se.name?" jsoneditor-selected":""),click:function(be,Ae){this.contextMenuCallback&&this.contextMenuCallback(be,Ae)}.bind(Ae,we,Se.name)})})),new ke.t(Te,{limitHeight:!0}).show(Se,Ae.root,!0)},Ae.path.appendChild(Se)),xe===be.length-1&&(Te=(Se||Te).getBoundingClientRect().right,Ae.path.offsetWidth<Te&&(Ae.path.scrollLeft=Te),Ae.path.scrollLeft)&&((Te=document.createElement("span")).className="jsoneditor-treepath-show-all-btn",Te.title="show all path",Te.textContent="...",Te.onclick=function(be){(Ae.contentMenuClicked=!1,Me.addClassName)(Ae.path,"show-all"),Ae.path.style.width=Ae.path.parentNode.getBoundingClientRect().width-10+"px",Ae.path.onblur=function(){Ae.contentMenuClicked?(Ae.contentMenuClicked=!1,Ae.path.focus()):((0,Me.removeClassName)(Ae.path,"show-all"),Ae.path.onblur=void 0,Ae.path.style.width="",Ae.setPath(be))}}.bind(Ae,be),Ae.path.insertBefore(Te,Ae.path.firstChild))}))}},{key:"onSectionSelected",value:function(be){"function"==typeof be&&(this.selectionCallback=be)}},{key:"onContextMenuItemSelected",value:function(be){"function"==typeof be&&(this.contextMenuCallback=be)}}])&&M(be.prototype,Ae),we&&M(be,we),Object.defineProperty(be,"prototype",{writable:!1}),be;var be,Ae,we}(),Ke=(Ae=we(1746),we.n(Ae)),je=((we={}).create=function(be,Ae){if(!be)throw new Error("No container element provided.");function r(be){var Ae,we;document.createRange?((Ae=document.createRange()).selectNodeContents(be),Ae.collapse(!1),(we=window.getSelection()).removeAllRanges(),we.addRange(Ae)):document.selection&&((Ae=document.body.createTextRange()).moveToElementText(be),Ae.collapse(!1),Ae.select())}function s(be){return void 0===xe&&((xe=document.createElement("span")).style.visibility="hidden",xe.style.position="fixed",xe.style.outline="0",xe.style.margin="0",xe.style.padding="0",xe.style.border="0",xe.style.left="0",xe.style.whiteSpace="pre",xe.style.fontSize=Te,xe.style.fontFamily=Re,xe.style.fontWeight="normal",document.body.appendChild(xe)),xe.textContent=be,xe.getBoundingClientRect().right}function a(){this.style.backgroundColor="#ddd"}function l(){this.style.backgroundColor=""}function c(){We.hide(),We.onmouseselection(this.__hint,We.rs)}var we,xe,ke,Te,Re,_e,$e,Le,Ne,Me,Be,We,Pe,He,Ge,Fe;this.container=be,this.dom={},this.highlighter=new Ee,this.selection=void 0,this.multiselection={nodes:[]},this.validateSchema=null,this.validationSequence=0,this.errorNodes=[],this.lastSchemaErrors=void 0,this.node=null,this.focusTarget=null,this._setOptions(Ae),Ae.autocomplete&&(this.autocomplete=((we=(we=Ae.autocomplete)||{}).filter=we.filter||"start",we.trigger=we.trigger||"keydown",we.confirmKeys=we.confirmKeys||[39,35,9],we.caseSensitive=we.caseSensitive||!1,Re=Te="",(_e=document.createElement("div")).style.position="relative",_e.style.outline="0",_e.style.border="0",_e.style.margin="0",_e.style.padding="0",($e=document.createElement("div")).className="autocomplete dropdown",$e.style.position="absolute",$e.style.visibility="hidden",Le=$e,Ne=[],Be=-1,He=We={rs:Pe={onArrowDown:function(){},onArrowUp:function(){},onEnter:function(){},onTab:function(){},startFrom:Me=0,options:[],element:null,elementHint:null,elementStyle:null,wrapper:_e,show:function(be,Ae,we){var xe=this;this.startFrom=Ae,this.wrapper.remove(),this.elementHint&&(this.elementHint.remove(),this.elementHint=null),""===Te&&(Te=window.getComputedStyle(be).getPropertyValue("font-size")),""===Re&&(Re=window.getComputedStyle(be).getPropertyValue("font-family")),$e.style.marginLeft="0",$e.style.marginTop=be.getBoundingClientRect().height+"px",this.options=we.map(String),this.element!==be&&(this.element=be,this.elementStyle={zIndex:this.element.style.zIndex,position:this.element.style.position,backgroundColor:this.element.style.backgroundColor,borderColor:this.element.style.borderColor}),this.element.style.zIndex=3,this.element.style.position="relative",this.element.style.backgroundColor="transparent",this.element.style.borderColor="transparent",this.elementHint=be.cloneNode(),this.elementHint.className="autocomplete hint",this.elementHint.style.zIndex=2,this.elementHint.style.position="absolute",this.elementHint.onfocus=function(){xe.element.focus()},this.element.addEventListener&&(this.element.removeEventListener("keydown",Ge),this.element.addEventListener("keydown",Ge,!1),this.element.removeEventListener("blur",Fe),this.element.addEventListener("blur",Fe,!1)),_e.appendChild(this.elementHint),_e.appendChild($e),be.parentElement.appendChild(_e),this.repaint(be)},setText:function(be){this.element.innerText=be},getText:function(){return this.element.innerText},hideDropDown:function(){this.wrapper.remove(),this.elementHint&&(this.elementHint.remove(),this.elementHint=null,He.hide(),this.element.style.zIndex=this.elementStyle.zIndex,this.element.style.position=this.elementStyle.position,this.element.style.backgroundColor=this.elementStyle.backgroundColor,this.element.style.borderColor=this.elementStyle.borderColor)},repaint:function(be){be=(be=be.innerText).replace("\n","");var Ae=this.options.length,xe=be.substring(this.startFrom);ke=be.substring(0,this.startFrom);for(var Se=0;Se<Ae;Se++){var Te=this.options[Se];if(!we.caseSensitive&&0===Te.toLowerCase().indexOf(xe.toLowerCase())||we.caseSensitive&&0===Te.indexOf(xe)){this.elementHint.innerText=ke+xe+Te.substring(xe.length),this.elementHint.realInnerText=ke+Te;break}}$e.style.left=s(ke)+"px",He.refresh(xe,this.options),this.elementHint.style.width=s(this.elementHint.innerText)+10+"px","hidden"!==$e.style.visibility&&(this.elementHint.style.width=s(this.elementHint.innerText)+$e.clientWidth+"px")}},hide:function(){Le.style.visibility="hidden"},refresh:function(be,Ae){Le.style.visibility="hidden",Me=0,Le.textContent="";var xe=window.innerHeight||document.documentElement.clientHeight,ke=(Ee=Le.parentNode.getBoundingClientRect()).top-6,Te=(xe=xe-Ee.bottom-6,Ne=[],"function"==typeof we.filter?we.filter:Se[we.filter]),Ee=Te?Ae.filter((function(Ae){return Te(we.caseSensitive?be:be.toLowerCase(),we.caseSensitive?Ae:Ae.toLowerCase(),we)})):[];0===(Ne=Ee.map((function(Ae){var we=document.createElement("div"),xe=(we.className="item",we.onmouseover=a,we.onmouseout=l,we.onmousedown=c,we.__hint=Ae,we.textContent="",we.appendChild(document.createTextNode(Ae.substring(0,be.length))),document.createElement("b"));return xe.appendChild(document.createTextNode(Ae.substring(be.length))),we.appendChild(xe),Le.appendChild(we),we}))).length||1===Ne.length&&(be.toLowerCase()===Ne[0].__hint.toLowerCase()&&!we.caseSensitive||be===Ne[0].__hint&&we.caseSensitive)||Ne.length<2||(We.highlight(0),3*xe<ke?(Le.style.maxHeight=ke+"px",Le.style.top="",Le.style.bottom="100%"):(Le.style.top="100%",Le.style.bottom="",Le.style.maxHeight=xe+"px"),Le.style.visibility="visible")},highlight:function(be){-1!==Be&&Ne[Be]&&(Ne[Be].className="item"),Ne[be].className="item hover",Be=be},move:function(be){return"hidden"===Le.style.visibility?"":(Me+be!==-1&&Me+be!==Ne.length&&(Me+=be,We.highlight(Me)),Ne[Me].__hint)},onmouseselection:function(){}},Ge=function(be){var Ae=(be=be||window.event).keyCode;if(null!=this.elementHint&&33!==Ae&&34!==Ae)if(27===Ae)Pe.hideDropDown(),Pe.element.focus(),be.preventDefault(),be.stopPropagation();else{var xe,Se=(Se=this.element.innerText).replace("\n","");if(0<=we.confirmKeys.indexOf(Ae))9===Ae&&0===this.elementHint.innerText.length&&Pe.onTab(),0<this.elementHint.innerText.length&&this.element.innerText!==this.elementHint.realInnerText&&(this.element.innerText=this.elementHint.realInnerText,Pe.hideDropDown(),r(this.element),9===Ae)&&(Pe.element.focus(),be.preventDefault(),be.stopPropagation());else if(13===Ae)if(0===this.elementHint.innerText.length)Pe.onEnter();else{var Te="hidden"===$e.style.visibility;if(He.hide(),Te)return Pe.hideDropDown(),Pe.element.focus(),void Pe.onEnter();this.element.innerText=this.elementHint.realInnerText,Pe.hideDropDown(),r(this.element),be.preventDefault(),be.stopPropagation()}else 40===Ae?(Te=Se.substring(this.startFrom),""===(xe=He.move(1))&&Pe.onArrowDown(),this.elementHint.innerText=ke+Te+xe.substring(Te.length),this.elementHint.realInnerText=ke+xe,be.preventDefault(),be.stopPropagation()):38===Ae&&(Te=Se.substring(this.startFrom),""===(xe=He.move(-1))&&Pe.onArrowUp(),this.elementHint.innerText=ke+Te+xe.substring(Te.length),this.elementHint.realInnerText=ke+xe,be.preventDefault(),be.stopPropagation())}}.bind(Pe),Fe=function(be){Pe.hideDropDown()},He.onmouseselection=function(be,Ae){Ae.element.innerText=Ae.elementHint.innerText=ke+be,Ae.hideDropDown(),window.setTimeout((function(){Ae.element.focus(),r(Ae.element)}),1)},Pe)),this.options.history&&"view"!==this.options.mode&&(this.history=new Ve(this)),this._createFrame(),this._createTable()},we.destroy=function(){this.frame&&this.container&&this.frame.parentNode===this.container&&(this.container.removeChild(this.frame),this.frame=null),this.container=null,this.dom=null,this.clear(),this.node=null,this.focusTarget=null,this.selection=null,this.multiselection=null,this.errorNodes=null,this.validateSchema=null,this._debouncedValidate=null,this.history&&(this.history.destroy(),this.history=null),this.searchBox&&(this.searchBox.destroy(),this.searchBox=null),this.modeSwitcher&&(this.modeSwitcher.destroy(),this.modeSwitcher=null),this.frameFocusTracker.destroy()},we._setOptions=function(be){var Ae=this;this.options={search:!0,history:!0,mode:"tree",name:void 0,schema:null,schemaRefs:null,autocomplete:null,navigationBar:!0,mainMenuBar:!0,limitDragging:!1,onSelectionChange:null,colorPicker:!0,onColorPicker:function(be,Ae,we){var Se;Ke()?(Se=be.getBoundingClientRect().top,Se=(0,Me.getWindow)(be).innerHeight-Se<300&&300<Se,new(Ke())({parent:be,color:Ae,popup:Se?"top":"bottom",onDone:function(be){be=1===be.rgba[3]?be.hex.substr(0,7):be.hex,we(be)}}).show()):xe.warn("Cannot open color picker: the `vanilla-picker` library is not included in the bundle. Either use the full bundle or implement your own color picker using `onColorPicker`.")},timestampTag:!0,timestampFormat:null,createQuery:_e.V,executeQuery:_e.e,onEvent:null,enableSort:!0,enableTransform:!0},be&&(Object.keys(be).forEach((function(we){Ae.options[we]=be[we]})),null==be.limitDragging)&&null!=be.schema&&(this.options.limitDragging=!0),this.setSchema(this.options.schema,this.options.schemaRefs),this._debouncedValidate=(0,Me.debounce)(this._validateAndCatch.bind(this),this.DEBOUNCE_INTERVAL),be.onSelectionChange&&this.onSelectionChange(be.onSelectionChange),(0,Re.AI)(this.options.languages),(0,Re.xC)(this.options.language)},we.set=function(be){be instanceof Function||void 0===be?this.clear():(this.content.removeChild(this.table),be={field:this.options.name,value:be},be=new He(this,be),this._setRoot(be),this._validateAndCatch(),this.node.expand(!1),this.content.appendChild(this.table)),this.history&&this.history.clear(),this.searchBox&&this.searchBox.clear()},we.update=function(be){var Ae,we;this.node.deepEqual(be)||(Ae=this.getSelection(),this.onChangeDisabled=!0,this.node.update(be),this.onChangeDisabled=!1,this._validateAndCatch(),this.searchBox&&!this.searchBox.isEmpty()&&this.searchBox.forceSearch(),Ae&&Ae.start&&Ae.end&&(be=this.node.findNodeByPath(Ae.start.path),we=this.node.findNodeByPath(Ae.end.path),be)&&we?this.setSelection(Ae.start,Ae.end):this.setSelection({},{}))},we.get=function(){if(this.node)return this.node.getValue()},we.getText=function(){return JSON.stringify(this.get())},we.setText=function(be){try{this.set((0,Me.parse)(be))}catch(Ae){be=(0,Me.tryJsonRepair)(be),this.set((0,Me.parse)(be))}},we.updateText=function(be){try{this.update((0,Me.parse)(be))}catch(Ae){be=(0,Me.tryJsonRepair)(be),this.update((0,Me.parse)(be))}},we.setName=function(be){this.options.name=be,this.node&&this.node.updateField(this.options.name)},we.getName=function(){return this.options.name},we.focus=function(){var be=this.scrollableContent.querySelector("[contenteditable=true]");be?be.focus():this.node.dom.expand?this.node.dom.expand.focus():this.node.dom.menu?this.node.dom.menu.focus():(be=this.frame.querySelector("button"))&&be.focus()},we.clear=function(){this.node&&(this.node.hide(),delete this.node),this.treePath&&this.treePath.reset()},we._setRoot=function(be){this.clear(),(this.node=be).setParent(null),be.setField(this.getName(),!1),delete be.index,this.tbody.appendChild(be.getDom())},we.search=function(be){var Ae;return this.node?(this.content.removeChild(this.table),Ae=this.node.search(be),this.content.appendChild(this.table)):Ae=[],Ae},we.expandAll=function(){this.node&&(this.content.removeChild(this.table),this.node.expand(),this.content.appendChild(this.table))},we.collapseAll=function(){this.node&&(this.content.removeChild(this.table),this.node.collapse(),this.content.appendChild(this.table))},we.expand=function(be){var Ae;be&&(Ae=this.node?this.node.findNodeByPath(be.path):null)&&(be.isExpand?Ae.expand(be.recursive):Ae.collapse(be.recursive))},we._onAction=function(be,Ae){this.history&&this.history.add(be,Ae),this._onChange()},we._onChange=function(){if(!this.onChangeDisabled){var be;if(this.selection=this.getDomSelection(),this._debouncedValidate(),this.treePath&&((be=this.node&&this.selection?this.node.findNodeByInternalPath(this.selection.path):this.multiselection?this.multiselection.nodes[0]:void 0)?this._updateTreePath(be.getNodePath()):this.treePath.reset()),this.options.onChange)try{this.options.onChange()}catch(be){xe.error("Error in onChange callback: ",be)}if(this.options.onChangeJSON)try{this.options.onChangeJSON(this.get())}catch(be){xe.error("Error in onChangeJSON callback: ",be)}if(this.options.onChangeText)try{this.options.onChangeText(this.getText())}catch(be){xe.error("Error in onChangeText callback: ",be)}if(this.options.onClassName&&this.node.recursivelyUpdateCssClassesOnNodes(),this.options.onNodeName&&this.node.childs)try{this.node.recursivelyUpdateNodeName()}catch(be){xe.error("Error in onNodeName callback: ",be)}}},we.validate=function(){var be=this,Ae=this.node;if(Ae){var we=Ae.getValue(),xe=[];this.validateSchema&&!this.validateSchema(we)&&(xe=this.validateSchema.errors.map((function(be){return(0,Me.improveSchemaError)(be)})).map((function(be){return{node:Ae.findNode(be.dataPath),error:be,type:"validation"}})).filter((function(be){return null!=be.node})));try{this.validationSequence++;var Se=this,ke=this.validationSequence;return this._validateCustom(we).then((function(Ae){return ke===Se.validationSequence&&(Ae=[].concat(xe,Ae||[]),Se._renderValidationErrors(Ae),"function"==typeof be.options.onValidationError&&(0,Me.isValidationErrorChanged)(Ae,be.lastSchemaErrors)&&be.options.onValidationError.call(be,Ae),be.lastSchemaErrors=Ae),be.lastSchemaErrors}))}catch(we){return Promise.reject(we)}}},we._validateAndCatch=function(){this.validate().catch((function(be){xe.error("Error running validation:",be)}))},we._renderValidationErrors=function(be){this.errorNodes&&this.errorNodes.forEach((function(be){be.setError(null)}));var Ae=be.reduce((function(be,Ae){return Ae.node.findParents().filter((function(Ae){return!be.some((function(be){return be[0]===Ae}))})).map((function(be){return[be,Ae.node]})).concat(be)}),[]);this.errorNodes=Ae.map((function(be){return{node:be[0],child:be[1],error:{message:"object"===be[0].type?(0,Re.Tl)("containsInvalidProperties"):(0,Re.Tl)("containsInvalidItems")}}})).concat(be).map((function(be){return be.node.setError(be.error,be.child),be.node}))},we._validateCustom=function(be){try{var Ae,we;if(this.options.onValidate)return Ae=this.node,we=this.options.onValidate(be),((0,Me.isPromise)(we)?we:Promise.resolve(we)).then((function(be){return Array.isArray(be)?be.filter((function(be){var Ae=(0,Me.isValidValidationError)(be);return Ae||xe.warn('Ignoring a custom validation error with invalid structure. Expected structure: {path: [...], message: "..."}. Actual error:',be),Ae})).map((function(be){var we;try{we=be&&be.path?Ae.findNodeByPath(be.path):null}catch(be){}return we||xe.warn("Ignoring validation error: node not found. Path:",be.path,"Error:",be),{node:we,error:be,type:"customValidation"}})).filter((function(be){return be&&be.node&&be.error&&be.error.message})):null}))}catch(be){return Promise.reject(be)}return Promise.resolve(null)},we.refresh=function(){this.node&&this.node.updateDom({recurse:!0})},we.startAutoScroll=function(be){var Ae=this,we=this.scrollableContent,xe=(0,Me.getAbsoluteTop)(we),Se=we.clientHeight,ke=xe+Se;be<xe+24&&0<we.scrollTop?this.autoScrollStep=(xe+24-be)/3:ke-24<be&&Se+we.scrollTop<we.scrollHeight?this.autoScrollStep=(ke-24-be)/3:this.autoScrollStep=void 0,this.autoScrollStep?this.autoScrollTimer||(this.autoScrollTimer=setInterval((function(){Ae.autoScrollStep?we.scrollTop-=Ae.autoScrollStep:Ae.stopAutoScroll()}),50)):this.stopAutoScroll()},we.stopAutoScroll=function(){this.autoScrollTimer&&(clearTimeout(this.autoScrollTimer),delete this.autoScrollTimer),this.autoScrollStep&&delete this.autoScrollStep},we.setDomSelection=function(be){var Ae,we,xe;be&&("scrollTop"in be&&this.scrollableContent&&(this.scrollableContent.scrollTop=be.scrollTop),be.paths?(Ae=this,we=be.paths.map((function(be){return Ae.node.findNodeByInternalPath(be)})),this.select(we)):(xe=(we=be.path?this.node.findNodeByInternalPath(be.path):null)&&be.domName?we.dom[be.domName]:null,be.range&&xe?(be=Object.assign({},be.range,{container:xe}),(0,Me.setSelectionOffset)(be)):we&&we.focus()))},we.getDomSelection=function(){var be=He.getNodeFromTarget(this.focusTarget),Ae=this.focusTarget,we=be?Object.keys(be.dom).find((function(we){return be.dom[we]===Ae})):null,xe=(0,Me.getSelectionOffset)();return(xe=(xe=xe&&"DIV"!==xe.container.nodeName?null:xe)&&xe.container!==Ae?null:xe)&&delete xe.container,{path:be?be.getInternalPath():null,domName:we,range:xe,paths:0<this.multiselection.length?this.multiselection.nodes.map((function(be){return be.getInternalPath()})):null,scrollTop:this.scrollableContent?this.scrollableContent.scrollTop:0}},we.scrollTo=function(be,Ae){var we,xe,Se,ke,Te=this.scrollableContent;Te?((we=this).animateTimeout&&(clearTimeout(we.animateTimeout),delete we.animateTimeout),we.animateCallback&&(we.animateCallback(!1),delete we.animateCallback),xe=Te.clientHeight,Se=Te.scrollHeight-xe,ke=Math.min(Math.max(be-xe/4,0),Se),function e(){var be=Te.scrollTop;be=ke-be,3<Math.abs(be)?(Te.scrollTop+=be/3,we.animateCallback=Ae,we.animateTimeout=setTimeout(e,50)):(Ae&&Ae(!0),Te.scrollTop=ke,delete we.animateTimeout,delete we.animateCallback)}()):Ae&&Ae(!1)},we._createFrame=function(){var be=this,Ae=(this.frame=document.createElement("div"),this.frame.className="jsoneditor jsoneditor-mode-"+this.options.mode,this.container.appendChild(this.frame),this.contentOuter=document.createElement("div"),this.contentOuter.className="jsoneditor-outer",this);function n(be){Ae._onEvent&&Ae._onEvent(be)}var we,xe,Se,ke={target:this.frame,onFocus:this.options.onFocus||null,onBlur:this.options.onBlur||null};this.frameFocusTracker=new Te.$(ke),this.frame.onclick=function(be){var Ae=be.target;n(be),"BUTTON"===Ae.nodeName&&be.preventDefault()},this.frame.oninput=n,this.frame.onchange=n,this.frame.onkeydown=n,this.frame.onkeyup=n,this.frame.oncut=n,this.frame.onpaste=n,this.frame.onmousedown=n,this.frame.onmouseup=n,this.frame.onmouseover=n,this.frame.onmouseout=n,(0,Me.addEventListener)(this.frame,"focus",n,!0),(0,Me.addEventListener)(this.frame,"blur",n,!0),this.frame.onfocusin=n,this.frame.onfocusout=n,this.options.mainMenuBar&&((0,Me.addClassName)(this.contentOuter,"has-main-menu-bar"),this.menu=document.createElement("div"),this.menu.className="jsoneditor-menu",this.frame.appendChild(this.menu),(ke=document.createElement("button")).type="button",ke.className="jsoneditor-expand-all",ke.title=(0,Re.Tl)("expandAll"),ke.onclick=function(){Ae.expandAll(),"function"==typeof be.options.onExpand&&be.options.onExpand({path:[],isExpand:!0,recursive:!0})},this.menu.appendChild(ke),(ke=document.createElement("button")).type="button",ke.title=(0,Re.Tl)("collapseAll"),ke.className="jsoneditor-collapse-all",ke.onclick=function(){Ae.collapseAll(),"function"==typeof be.options.onExpand&&be.options.onExpand({path:[],isExpand:!1,recursive:!0})},this.menu.appendChild(ke),this.options.enableSort&&((ke=document.createElement("button")).type="button",ke.className="jsoneditor-sort",ke.title=(0,Re.Tl)("sortTitleShort"),ke.onclick=function(){Ae.node.showSortModal()},this.menu.appendChild(ke)),this.options.enableTransform&&((ke=document.createElement("button")).type="button",ke.title=(0,Re.Tl)("transformTitleShort"),ke.className="jsoneditor-transform",ke.onclick=function(){Ae.node.showTransformModal()},this.menu.appendChild(ke)),this.history&&((we=document.createElement("button")).type="button",we.className="jsoneditor-undo jsoneditor-separator",we.title=(0,Re.Tl)("undo"),we.onclick=function(){Ae._onUndo()},this.menu.appendChild(we),this.dom.undo=we,(xe=document.createElement("button")).type="button",xe.className="jsoneditor-redo",xe.title=(0,Re.Tl)("redo"),xe.onclick=function(){Ae._onRedo()},this.menu.appendChild(xe),this.dom.redo=xe,this.history.onChange=function(){we.disabled=!Ae.history.canUndo(),xe.disabled=!Ae.history.canRedo()},this.history.onChange()),this.options&&this.options.modes&&this.options.modes.length&&((Se=this).modeSwitcher=new $e.n(this.menu,this.options.modes,this.options.mode,(function(be){try{Se.setMode(be),Se.modeSwitcher.focus()}catch(be){Se._onError(be)}}))),this.options.search)&&(this.searchBox=new Ze(this,this.menu)),this.options.navigationBar&&(this.navBar=document.createElement("div"),this.navBar.className="jsoneditor-navigation-bar nav-bar-empty",this.frame.appendChild(this.navBar),this.treePath=new De(this.navBar,this.getPopupAnchor()),this.treePath.onSectionSelected(this._onTreePathSectionSelected.bind(this)),this.treePath.onContextMenuItemSelected(this._onTreePathMenuItemSelected.bind(this)))},we._onUndo=function(){this.history&&(this.history.undo(),this._onChange())},we._onRedo=function(){this.history&&(this.history.redo(),this._onChange())},we._onEvent=function(be){if(!He.targetIsColorPicker(be.target)){var Ae,we=He.getNodeFromTarget(be.target);if("keydown"===be.type&&this._onKeyDown(be),we&&"focus"===be.type&&(this.focusTarget=be.target,this.options.autocomplete)&&"focus"===this.options.autocomplete.trigger&&this._showAutoComplete(be.target),"mousedown"===be.type&&this._startDragDistance(be),"mousemove"!==be.type&&"mouseup"!==be.type&&"click"!==be.type||this._updateDragDistance(be),we&&this.options&&this.options.navigationBar&&we&&("keydown"===be.type||"mousedown"===be.type)&&(Ae=this,setTimeout((function(){Ae._updateTreePath(we.getNodePath())}))),we&&we.selected){if("click"===be.type){if(be.target===we.dom.menu)return void this.showContextMenu(be.target);be.hasMoved||this.deselect()}"mousedown"===be.type&&He.onDragStart(this.multiselection.nodes,be)}else"mousedown"===be.type&&(0,Me.hasParentNode)(be.target,this.content)&&(this.deselect(),we&&be.target===we.dom.drag?He.onDragStart(we,be):we&&(be.target===we.dom.field||be.target===we.dom.value||be.target===we.dom.select)||this._onMultiSelectStart(be));we&&we.onEvent(be)}},we._updateTreePath=function(be){var Ae;function i(be){return be.parent?"array"===be.parent.type?be.index:be.field:be.field||be.type}be&&be.length?((0,Me.removeClassName)(this.navBar,"nav-bar-empty"),Ae=[],be.forEach((function(be){var we={name:i(be),node:be,children:[]};be.childs&&be.childs.length&&be.childs.forEach((function(be){we.children.push({name:i(be),node:be})})),Ae.push(we)})),this.treePath.setPath(Ae)):(0,Me.addClassName)(this.navBar,"nav-bar-empty")},we._onTreePathSectionSelected=function(be){be&&be.node&&(be.node.expandTo(),be.node.focus())},we._onTreePathMenuItemSelected=function(be,Ae){be&&be.children.length&&(be=be.children.find((function(be){return be.name===Ae})))&&be.node&&(this._updateTreePath(be.node.getNodePath()),be.node.expandTo(),be.node.focus())},we._startDragDistance=function(be){this.dragDistanceEvent={initialTarget:be.target,initialPageX:be.pageX,initialPageY:be.pageY,dragDistance:0,hasMoved:!1}},we._updateDragDistance=function(be){this.dragDistanceEvent||this._startDragDistance(be);var Ae=be.pageX-this.dragDistanceEvent.initialPageX,we=be.pageY-this.dragDistanceEvent.initialPageY;return this.dragDistanceEvent.dragDistance=Math.sqrt(Ae*Ae+we*we),this.dragDistanceEvent.hasMoved=this.dragDistanceEvent.hasMoved||10<this.dragDistanceEvent.dragDistance,be.dragDistance=this.dragDistanceEvent.dragDistance,be.hasMoved=this.dragDistanceEvent.hasMoved,be.dragDistance},we._onMultiSelectStart=function(be){var Ae,we=He.getNodeFromTarget(be.target);"tree"===this.options.mode&&void 0===this.options.onEditable&&(this.multiselection={start:we||null,end:null,nodes:[]},this._startDragDistance(be),(Ae=this).mousemove||(this.mousemove=(0,Me.addEventListener)(be.view,"mousemove",(function(be){Ae._onMultiSelect(be)}))),this.mouseup||(this.mouseup=(0,Me.addEventListener)(be.view,"mouseup",(function(be){Ae._onMultiSelectEnd(be)}))),be.preventDefault())},we._onMultiSelect=function(be){var Ae;be.preventDefault(),this._updateDragDistance(be),be.hasMoved&&((be=He.getNodeFromTarget(be.target))&&(null==this.multiselection.start&&(this.multiselection.start=be),this.multiselection.end=be),this.deselect(),be=this.multiselection.start,Ae=this.multiselection.end||this.multiselection.start,be)&&Ae&&(this.multiselection.nodes=this._findTopLevelNodes(be,Ae),this.multiselection.nodes&&this.multiselection.nodes.length&&(be=this.multiselection.nodes[0],this.multiselection.start===be||this.multiselection.start.isDescendantOf(be)?this.multiselection.direction="down":this.multiselection.direction="up"),this.select(this.multiselection.nodes))},we._onMultiSelectEnd=function(be){var Ae=this.multiselection.nodes[0];Ae&&Ae.dom.menu&&Ae.dom.menu.focus(),this.multiselection.start=null,this.multiselection.end=null,this.mousemove&&((0,Me.removeEventListener)(be.view,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&((0,Me.removeEventListener)(be.view,"mouseup",this.mouseup),delete this.mouseup)},we.deselect=function(be){var Ae=!!this.multiselection.nodes.length;this.multiselection.nodes.forEach((function(be){be.setSelected(!1)})),this.multiselection.nodes=[],be&&(this.multiselection.start=null,this.multiselection.end=null),Ae&&this._selectionChangedHandler&&this._selectionChangedHandler()},we.select=function(be){if(!Array.isArray(be))return this.select([be]);var Ae;be&&(this.deselect(),this.multiselection.nodes=be.slice(0),Ae=be[0],be.forEach((function(be){be.expandPathToNode(),be.setSelected(!0,be===Ae)})),this._selectionChangedHandler)&&(be=this.getSelection(),this._selectionChangedHandler(be.start,be.end))},we._findTopLevelNodes=function(be,Ae){for(var we=be.getNodePath(),xe=Ae.getNodePath(),Se=0;Se<we.length&&we[Se]===xe[Se];)Se++;be=we[Se-1],Ae=we[Se];var ke,Te=xe[Se];return Ae&&Te||(be.parent?be=(Te=Ae=be).parent:(Ae=be.childs[0],Te=be.childs[be.childs.length-1])),be&&Ae&&Te?(Ae=be.childs.indexOf(Ae),Te=be.childs.indexOf(Te),ke=Math.min(Ae,Te),Ae=Math.max(Ae,Te),be.childs.slice(ke,Ae+1)):[]},we._showAutoComplete=function(be){var Ae,we=He.getNodeFromTarget(be),Se="";0<=be.className.indexOf("jsoneditor-value")&&(Se="value"),""!==(Se=0<=be.className.indexOf("jsoneditor-field")?"field":Se)&&(Ae=this,setTimeout((function(){var ke;we&&("focus"===Ae.options.autocomplete.trigger||0<be.innerText.length)&&null!==(ke=Ae.options.autocomplete.getOptions(be.innerText,we.getPath(),Se,we.editor))?"function"==typeof ke.then?ke.then((function(we){null===we?Ae.autocomplete.hideDropDown():we.options?Ae.autocomplete.show(be,we.startFrom,we.options):Ae.autocomplete.show(be,0,we)})).catch((function(be){xe.error(be)})):ke.options?Ae.autocomplete.show(be,ke.startFrom,ke.options):Ae.autocomplete.show(be,0,ke):Ae.autocomplete.hideDropDown()}),50))},we._onKeyDown=function(be){var Ae,we=be.which||be.keyCode,xe=be.altKey,Se=be.ctrlKey,ke=be.metaKey,Te=be.shiftKey,Ee=!1,Re=this.focusTarget;9===we&&(Ae=this,setTimeout((function(){Ae.focusTarget!==Re&&(0,Me.selectContentEditable)(Ae.focusTarget)}),0)),this.searchBox&&(Se&&70===we?(this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),Ee=!0):(114===we||Se&&71===we)&&(Te?this.searchBox.previous(!0):this.searchBox.next(!0),Ee=!0)),this.history&&(Se&&!Te&&90===we?(this._onUndo(),Ee=!0):Se&&Te&&90===we&&(this._onRedo(),Ee=!0)),!this.options.autocomplete||Ee||Se||xe||ke||1!==be.key.length&&8!==we&&46!==we||(Ee=!1,this._showAutoComplete(be.target)),Ee&&(be.preventDefault(),be.stopPropagation())},we._createTable=function(){var be;this.options.navigationBar&&(0,Me.addClassName)(this.contentOuter,"has-nav-bar"),this.scrollableContent=document.createElement("div"),this.scrollableContent.className="jsoneditor-tree",this.contentOuter.appendChild(this.scrollableContent),this.content=document.createElement("div"),this.content.className="jsoneditor-tree-inner",this.scrollableContent.appendChild(this.content),this.table=document.createElement("table"),this.table.className="jsoneditor-tree",this.content.appendChild(this.table),this.colgroupContent=document.createElement("colgroup"),"tree"===this.options.mode&&((be=document.createElement("col")).width="24px",this.colgroupContent.appendChild(be)),(be=document.createElement("col")).width="24px",this.colgroupContent.appendChild(be),be=document.createElement("col"),this.colgroupContent.appendChild(be),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(this.contentOuter)},we.showContextMenu=function(be,Ae){var we,xe=[],Se=this.multiselection.nodes.slice();xe.push({text:(0,Re.Tl)("duplicateText"),title:(0,Re.Tl)("duplicateTitle"),className:"jsoneditor-duplicate",click:function(){He.onDuplicate(Se)}}),xe.push({text:(0,Re.Tl)("remove"),title:(0,Re.Tl)("removeTitle"),className:"jsoneditor-remove",click:function(){He.onRemove(Se)}}),this.options.onCreateMenu&&(we=Se.map((function(be){return be.getPath()})),xe=this.options.onCreateMenu(xe,{type:"multiple",path:we[0],paths:we})),new ke.t(xe,{close:Ae}).show(be,this.getPopupAnchor())},we.getPopupAnchor=function(){return this.options.popupAnchor||this.frame},we.getSelection=function(){var be,Ae,we={start:null,end:null};return this.multiselection.nodes&&this.multiselection.nodes.length&&this.multiselection.nodes.length&&(be=this.multiselection.nodes[0],Ae=this.multiselection.nodes[this.multiselection.nodes.length-1],"down"===this.multiselection.direction?(we.start=be.serialize(),we.end=Ae.serialize()):(we.start=Ae.serialize(),we.end=be.serialize())),we},we.onSelectionChange=function(be){"function"==typeof be&&(this._selectionChangedHandler=(0,Me.debounce)(be,this.DEBOUNCE_INTERVAL))},we.setSelection=function(be,Ae){be&&be.dom&&be.range&&(xe.warn("setSelection/getSelection usage for text selection is deprecated and should not be used, see documentation for supported selection options"),this.setDomSelection(be)),(be=this._getNodeInstancesByRange(be,Ae)).forEach((function(be){be.expandTo()})),this.select(be)},we._getNodeInstancesByRange=function(be,Ae){be&&be.path&&(we=this.node.findNodeByPath(be.path),Ae)&&Ae.path&&(xe=this.node.findNodeByPath(Ae.path));var we,xe,Se=[];if(we instanceof He)if(xe instanceof He&&xe!==we)if(we.parent===xe.parent){Ae=we.getIndex()<xe.getIndex()?(be=we,xe):(be=xe,we);var ke=be;for(Se.push(ke);ke=ke.nextSibling(),Se.push(ke),ke&&ke!==Ae;);}else Se=this._findTopLevelNodes(we,xe);else Se.push(we);return Se},we.getNodesByRange=function(be,Ae){be=this._getNodeInstancesByRange(be,Ae);var we=[];return be.forEach((function(be){we.push(be.serialize())})),we},[{mode:"tree",mixin:we,data:"json"},{mode:"view",mixin:we,data:"json"},{mode:"form",mixin:we,data:"json"}])},2870:function(be,Ae,we){Ae.tryRequireAjv=function(){try{return we(2229)}catch(be){}}},5467:function(be,Ae,we){Ae.J=function(){try{we(9762)}catch(be){xe.error(be)}}},6237:function(be,Ae,we){we.r(Ae),we.d(Ae,{addClassName:function(){return G},addEventListener:function(){return X},asyncExec:function(){return Ie},clear:function(){return C},compileJSONPointer:function(){return _},contains:function(){return Ce},debounce:function(){return ne},escapeUnicodeChars:function(){return p},extend:function(){return f},findUniqueName:function(){return ce},formatSize:function(){return me},get:function(){return N},getAbsoluteLeft:function(){return P},getAbsoluteTop:function(){return H},getChildPaths:function(){return he},getColorCSS:function(){return L},getIndexForPosition:function(){return re},getInnerText:function(){return k},getInputSelection:function(){return oe},getInternetExplorerVersion:function(){return z},getPositionForPath:function(){return se},getSelection:function(){return S},getSelectionOffset:function(){return D},getType:function(){return y},getWindow:function(){return A},hasParentNode:function(){return j},improveSchemaError:function(){return Q},insideRect:function(){return te},isArray:function(){return b},isChildOf:function(){return J},isFirefox:function(){return R},isObject:function(){return M},isPromise:function(){return q},isTimestamp:function(){return pe},isUrl:function(){return I},isValidColor:function(){return ae},isValidValidationError:function(){return ee},isValidationErrorChanged:function(){return ye},limitCharacters:function(){return fe},makeFieldTooltip:function(){return le},parse:function(){return u},parsePath:function(){return $},parseString:function(){return ge},removeAllClassNames:function(){return F},removeClassName:function(){return O},removeEventListener:function(){return Y},removeReturnsAndSurroundingWhitespace:function(){return T},selectContentEditable:function(){return Z},setEndOfContentEditable:function(){return V},setSelection:function(){return x},setSelectionOffset:function(){return K},sort:function(){return de},sortObjectKeys:function(){return ue},stringifyPath:function(){return U},stripFormatting:function(){return w},textDiff:function(){return ie},tryJsonRepair:function(){return g},uniqueMergeArrays:function(){return ve},validate:function(){return m}}),we(1081),Ae=we(1342);var xe=we.n(Ae),Se=we(9857),ke=we(5736),Te=we(3094),Ee=we(3057);function a(be){return function(be){if(Array.isArray(be))return l(be)}(be)||function(be){if("undefined"!=typeof Symbol&&null!=be[Symbol.iterator]||null!=be["@@iterator"])return Array.from(be)}(be)||function(be,Ae){var we;if(be)return"string"==typeof be?l(be,Ae):"Map"===(we="Object"===(we={}.toString.call(be).slice(8,-1))&&be.constructor?be.constructor.name:we)||"Set"===we?Array.from(be):"Arguments"===we||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(we)?l(be,Ae):void 0}(be)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(be,Ae){(null==Ae||Ae>be.length)&&(Ae=be.length);for(var we=0,xe=Array(Ae);we<Ae;we++)xe[we]=be[we];return xe}function c(be){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(be){return typeof be}:function(be){return be&&"function"==typeof Symbol&&be.constructor===Symbol&&be!==Symbol.prototype?"symbol":typeof be})(be)}var Re=1e4,_e=9466848e5;function u(be){try{return JSON.parse(be)}catch(Ae){throw m(be),Ae}}function g(be){try{return(0,Se.m)(be)}catch(Ae){return be}}function p(be){return be.replace(/[\u007F-\uFFFF]/g,(function(be){return"\\u"+("0000"+be.charCodeAt(0).toString(16)).slice(-4)}))}function m(be){(void 0!==ke?ke:JSON).parse(be)}function f(be,Ae){for(var we in Ae)B(Ae,we)&&(be[we]=Ae[we]);return be}function C(be){for(var Ae in be)B(be,Ae)&&delete be[Ae];return be}function y(be){return null===be?"null":void 0===be?"undefined":be instanceof Number||"number"==typeof be?"number":be instanceof String||"string"==typeof be?"string":be instanceof Boolean||"boolean"==typeof be?"boolean":be instanceof RegExp?"regexp":b(be)?"array":"object"}var $e=/^https?:\/\/\S+$/;function I(be){return("string"==typeof be||be instanceof String)&&$e.test(be)}function b(be){return"[object Array]"===Object.prototype.toString.call(be)}function A(be){return be.ownerDocument.defaultView}function P(be){return be.getBoundingClientRect().left+window.pageXOffset||document.scrollLeft||0}function H(be){return be.getBoundingClientRect().top+window.pageYOffset||document.scrollTop||0}function G(be,Ae){var we=be.className.split(" ");-1===we.indexOf(Ae)&&(we.push(Ae),be.className=we.join(" "))}function F(be){be.className=""}function O(be,Ae){var we=be.className.split(" ");-1!==(Ae=we.indexOf(Ae))&&(we.splice(Ae,1),be.className=we.join(" "))}function w(be){for(var Ae=be.childNodes,we=0,xe=Ae.length;we<xe;we++){var Se=Ae[we],ke=(Se.style&&Se.removeAttribute("style"),Se.attributes);if(ke)for(var Te=ke.length-1;0<=Te;Te--){var Ee=ke[Te];!0===Ee.specified&&Se.removeAttribute(Ee.name)}w(Se)}}function V(be){var Ae;document.createRange&&((Ae=document.createRange()).selectNodeContents(be),Ae.collapse(!1),(be=window.getSelection()).removeAllRanges(),be.addRange(Ae))}function Z(be){var Ae;be&&"DIV"===be.nodeName&&window.getSelection&&document.createRange&&((Ae=document.createRange()).selectNodeContents(be),(be=window.getSelection()).removeAllRanges(),be.addRange(Ae))}function S(){if(window.getSelection){var be=window.getSelection();if(be.getRangeAt&&be.rangeCount)return be.getRangeAt(0)}return null}function x(be){var Ae;be&&window.getSelection&&((Ae=window.getSelection()).removeAllRanges(),Ae.addRange(be))}function D(){var be=S();return be&&"startOffset"in be&&"endOffset"in be&&be.startContainer&&be.startContainer===be.endContainer?{startOffset:be.startOffset,endOffset:be.endOffset,container:be.startContainer.parentNode}:null}function K(be){var Ae;document.createRange&&window.getSelection&&window.getSelection()&&(Ae=document.createRange(),be.container.firstChild||be.container.appendChild(document.createTextNode("")),Ae.setStart(be.container.firstChild,be.startOffset),Ae.setEnd(be.container.firstChild,be.endOffset),x(Ae))}function k(be,Ae){var we;if(void 0===Ae&&(Ae={_text:"",flush:function(){var be=this._text;return this._text="",be},set:function(be){this._text=be}}),be.nodeValue)return""!==(we=T(be.nodeValue))?Ae.flush()+we:"";if(be.hasChildNodes()){for(var xe=be.childNodes,Se="",ke=0,Te=xe.length;ke<Te;ke++){var Ee,Re=xe[ke];"DIV"===Re.nodeName||"P"===Re.nodeName?((Ee=(Ee=xe[ke-1])?Ee.nodeName:void 0)&&"DIV"!==Ee&&"P"!==Ee&&"BR"!==Ee&&(""!==Se&&(Se+="\n"),Ae.flush()),Se+=k(Re,Ae),Ae.set("\n")):"BR"===Re.nodeName?(Se+=Ae.flush(),Ae.set("\n")):Se+=k(Re,Ae)}return Se}return""}function T(be){return be.replace(/(\b|^)\s*(\b|$)/g,(function(be){return/\n/.exec(be)?"":be}))}function j(be,Ae){for(var we=be?be.parentNode:void 0;we;){if(we===Ae)return!0;we=we.parentNode}return!1}function z(){var be;return-1===Le&&(be=-1,"undefined"!=typeof navigator&&"Microsoft Internet Explorer"===navigator.appName&&null!=/MSIE ([0-9]+[.0-9]+)/.exec(navigator.userAgent)&&(be=parseFloat(RegExp.$1)),Le=be),Le}var Le=-1;function R(){return"undefined"!=typeof navigator&&-1!==navigator.userAgent.indexOf("Firefox")}function X(be,Ae,we,xe){return be.addEventListener?(void 0===xe&&(xe=!1),"mousewheel"===Ae&&R()&&(Ae="DOMMouseScroll"),be.addEventListener(Ae,we,xe),we):be.attachEvent?(be.attachEvent("on"+Ae,xe=function(){return we.call(be,window.event)}),xe):void 0}function Y(be,Ae,we,xe){be.removeEventListener?(void 0===xe&&(xe=!1),"mousewheel"===Ae&&R()&&(Ae="DOMMouseScroll"),be.removeEventListener(Ae,we,xe)):be.detachEvent&&be.detachEvent("on"+Ae,we)}function J(be,Ae){for(var we=be.parentNode;we;){if(we===Ae)return!0;we=we.parentNode}return!1}function $(be){var Ae=[],we=0;function t(Ae){for(var xe="";void 0!==be[we]&&be[we]!==Ae;)xe+=be[we],we++;if(be[we]!==Ae)throw new Error("Invalid JSON path: unexpected end, character "+Ae+" expected");return xe}for(;void 0!==be[we];)if("."===be[we])we++,Ae.push(function(){for(var Ae="";void 0!==be[we]&&/[\w$]/.test(be[we]);)Ae+=be[we],we++;if(""===Ae)throw new Error("Invalid JSON path: property name expected at index "+we);return Ae}());else{if("["!==be[we])throw new Error('Invalid JSON path: unexpected character "'+be[we]+'" at index '+we);if("'"===be[++we]||'"'===be[we]){var xe=be[we];if(we++,Ae.push(t(xe)),be[we]!==xe)throw new Error("Invalid JSON path: closing quote ' expected at index "+we);we++}else{if(0===(xe=t("]").trim()).length)throw new Error("Invalid JSON path: array value expected at index "+we);xe="*"===xe?xe:JSON.parse(xe),Ae.push(xe)}if("]"!==be[we])throw new Error("Invalid JSON path: closing bracket ] expected at index "+we);we++}return Ae}function U(be){return be.map((function(be){return"number"==typeof be?"["+be+"]":"string"==typeof be&&be.match(/^[A-Za-z0-9_$]+$/)?"."+be:'["'+be+'"]'})).join("")}function Q(be){var Ae,we;return"enum"===be.keyword&&Array.isArray(be.schema)&&(we=be.schema)&&(5<(we=we.map((function(be){return JSON.stringify(be)}))).length&&(Ae=["("+(we.length-5)+" more...)"],(we=we.slice(0,5)).push(Ae)),be.message="should be equal to one of: "+we.join(", ")),"additionalProperties"===be.keyword&&(be.message="should NOT have additional property: "+be.params.additionalProperty),be}function q(be){return be&&"function"==typeof be.then&&"function"==typeof be.catch}function ee(be){return"object"===c(be)&&Array.isArray(be.path)&&"string"==typeof be.message}function te(be,Ae,we){return we=void 0!==we?we:0,Ae.left-we>=be.left&&Ae.right+we<=be.right&&Ae.top-we>=be.top&&Ae.bottom+we<=be.bottom}function ne(be,Ae,we){var xe;return function(){var Se=this,ke=arguments,Te=we&&!xe;clearTimeout(xe),xe=setTimeout((function(){xe=null,we||be.apply(Se,ke)}),Ae),Te&&be.apply(Se,ke)}}function ie(be,Ae){for(var we=Ae.length,xe=0,Se=be.length,ke=Ae.length;Ae.charAt(xe)===be.charAt(xe)&&xe<we;)xe++;for(;Ae.charAt(ke-1)===be.charAt(Se-1)&&xe<ke&&0<Se;)ke--,Se--;return{start:xe,end:ke}}function oe(be){var Ae,we,xe,Se,ke=0,Te=0;return"number"==typeof be.selectionStart&&"number"==typeof be.selectionEnd?(ke=be.selectionStart,Te=be.selectionEnd):(Se=document.selection.createRange())&&Se.parentElement()===be&&(xe=be.value.length,Ae=be.value.replace(/\r\n/g,"\n"),(we=be.createTextRange()).moveToBookmark(Se.getBookmark()),(Se=be.createTextRange()).collapse(!1),-1<we.compareEndPoints("StartToEnd",Se)?ke=Te=xe:(ke=-we.moveStart("character",-xe),ke+=Ae.slice(0,ke).split("\n").length-1,-1<we.compareEndPoints("EndToEnd",Se)?Te=xe:(Te=-we.moveEnd("character",-xe),Te+=Ae.slice(0,Te).split("\n").length-1))),{startIndex:ke,endIndex:Te,start:a(ke),end:a(Te)};function a(Ae){return{row:((Ae=be.value.substring(0,Ae)).match(/\n/g)||[]).length+1,column:Ae.length-Ae.lastIndexOf("\n")}}}function re(be,Ae,we){return be=be.value||"",0<Ae&&0<we?(be=be.split("\n",Ae),Ae=Math.min(be.length,Ae),we=Math.min(be[Ae-1].length,we-1),we=1===Ae?we:we+1,be.slice(0,Ae-1).join("\n").length+we):-1}function se(be,Ae){var we,xe=[];if(Ae&&Ae.length){try{we=Te.parse(be)}catch(be){return xe}Ae.forEach((function(be){var Ae=_($(be));(Ae=we.pointers[Ae])&&xe.push({path:be,line:Ae.key?Ae.key.line:Ae.value?Ae.value.line:0,column:Ae.key?Ae.key.column:Ae.value?Ae.value.column:0})}))}return xe}function _(be){return be.map((function(be){return"/"+String(be).replace(/~/g,"~0").replace(/\//g,"~1")})).join("")}function L(be){var Ae=document.createElement("div");return Ae.style.color=be,Ae.style.color.split(/\s+/).join("").toLowerCase()||null}function ae(be){return!!L(be)}function le(be,Ae){var we;return be?(we="",be.title&&(we+=be.title),be.description&&(0<we.length&&(we+="\n"),we+=be.description),be.default&&(0<we.length&&(we+="\n\n"),we=(we+=(0,Ee.Tl)("default",void 0,Ae)+"\n")+JSON.stringify(be.default,null,2)),Array.isArray(be.examples)&&0<be.examples.length&&(0<we.length&&(we+="\n\n"),we+=(0,Ee.Tl)("examples",void 0,Ae)+"\n",be.examples.forEach((function(Ae,xe){we+=JSON.stringify(Ae,null,2),xe!==be.examples.length-1&&(we+="\n")}))),we):""}function N(be,Ae){for(var we=be,xe=0;xe<Ae.length&&null!=we;xe++)we=we[Ae[xe]];return we}function ce(be,Ae){for(var we=be.replace(/ \(copy( \d+)?\)$/,""),xe=we,Se=1;-1!==Ae.indexOf(xe);)xe=we+" (copy"+(1<Se?" "+Se:"")+")",Se++;return xe}function he(be,Ae){var we={};if(Array.isArray(be))for(var xe=Math.min(be.length,Re),Se=0;Se<xe;Se++)!function t(be,Ae,we,xe){(Array.isArray(be)||M(be))&&!xe||(Ae[we||""]=!0),M(be)&&Object.keys(be).forEach((function(Se){t(be[Se],Ae,we+"."+Se,xe)}))}(be[Se],we,"",Ae);else we[""]=!0;return Object.keys(we).sort()}function de(be,Ae,we){var xe=Ae&&"."!==Ae?$(Ae):[],Se="desc"===we?-1:1;return(Ae=be.slice()).sort((function(be,Ae){return be=N(be,xe),Ae=N(Ae,xe),Se*(Ae<be?1:be<Ae?-1:0)})),Ae}function ue(be,Ae){var we="desc"===Ae?-1:1,Se=(Ae=Object.keys(be).sort((function(be,Ae){return we*xe()(be,Ae)})),{});return Ae.forEach((function(Ae){Se[Ae]=be[Ae]})),Se}function ge(be){var Ae,we;return""===be?"":"null"===(Ae=be.toLowerCase())?null:"true"===Ae||"false"!==Ae&&(/^0\d+$/.test(be)||/^0[xbo]/i.test(be)||(Ae=Number(be),we=parseFloat(be),isNaN(Ae))||isNaN(we)?be:Ae)}function pe(be,Ae){return"number"==typeof Ae&&_e<Ae&&isFinite(Ae)&&Math.floor(Ae)===Ae&&!isNaN(new Date(Ae).valueOf())}function me(be){return be<900?be.toFixed()+" B":(be/=1e3)<900?be.toFixed(1)+" KB":(be/=1e3)<900?be.toFixed(1)+" MB":(be/=1e3)<900?be.toFixed(1)+" GB":(be/1e3).toFixed(1)+" TB"}function fe(be,Ae){return be.length<=Ae?be:be.slice(0,Ae)+"..."}function M(be){return"object"===c(be)&&null!==be&&!Array.isArray(be)}function Ce(be,Ae){return-1!==be.indexOf(Ae)}function ye(be,Ae){if(Ae||be){if(Ae&&!be||!Ae&&be)return!0;if(Ae.length!==be.length)return!0;for(var we,xe=0;xe<be.length;++xe)if(we=function(we){if(!("error"===be[we].type?Ae.find((function(Ae){return Ae.line===be[we].line})):Ae.find((function(Ae){return Ae.dataPath===be[we].dataPath&&Ae.schemaPath===be[we].schemaPath}))))return{v:!0}}(xe))return we.v}return!1}function ve(be,Ae){return be=null!=be&&be.length?be:[],Ae=null!=Ae&&Ae.length?Ae:[],a(new Set(be.concat(Ae)))}function Ie(be){setTimeout(be)}function B(be,Ae){return Object.prototype.hasOwnProperty.call(be,Ae)}},1746:function(be,Ae,we){var xe;if(window.Picker)xe=window.Picker;else try{xe=we(7598)}catch(be){}be.exports=xe},6990:function(be,Ae,we){var Se,ke,Te,Ee,Re,_e,$e,Le;be=we.nmd(be),(Te=function(){return this}())||"undefined"==typeof window||(Te=window),(Ee=function(be,Ae,we){"string"!=typeof be?Ee.original?Ee.original.apply(this,arguments):(xe.error("dropping module because define wasn't a string."),xe.trace()):(2==arguments.length&&(we=Ae),Ee.modules[be]||(Ee.payloads[be]=we,Ee.modules[be]=null))}).modules={},Ee.payloads={},Re=function(be,Ae,we){if("string"==typeof Ae){var xe=Le(be,Ae);if(null!=xe)return we&&we(),xe}else if("[object Array]"===Object.prototype.toString.call(Ae)){for(var Se=[],ke=0,Te=Ae.length;ke<Te;++ke){var Ee=Le(be,Ae[ke]);if(null==Ee&&_e.original)return;Se.push(Ee)}return we&&we.apply(null,Se)||!0}},_e=function(be,Ae){return null==(be=Re("",be,Ae))&&_e.original?_e.original.apply(this,arguments):be},$e=function(be,Ae){var we;if(-1!==Ae.indexOf("!"))return we=Ae.split("!"),$e(be,we[0])+"!"+$e(be,we[1]);if("."==Ae.charAt(0))for(Ae=be.split("/").slice(0,-1).join("/")+"/"+Ae;-1!==Ae.indexOf(".")&&xe!=Ae;){var xe=Ae;Ae=Ae.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}return Ae},Le=function(be,Ae){var we,xe;return Ae=$e(be,Ae),(be=Ee.modules[Ae])||("function"==typeof(be=Ee.payloads[Ae])&&(we={id:Ae,uri:"",exports:xe={},packaged:!0},xe=be((function(be,we){return Re(Ae,be,we)}),xe,we)||we.exports,Ee.modules[Ae]=xe,delete Ee.payloads[Ae]),be=Ee.modules[Ae]=xe||be),be},ke=Te,(Se="ace")&&(Te[Se]||(Te[Se]={}),ke=Te[Se]),ke.define&&ke.define.packaged||(Ee.original=ke.define,ke.define=Ee,ke.define.packaged=!0),ke.require&&ke.require.packaged||(_e.original=ke.require,ke.require=_e,ke.require.packaged=!0),ace.define("ace/lib/es6-shim",["require","exports","module"],(function(be,Ae,we){function i(be,Ae,we){Object.defineProperty(be,Ae,{value:we,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||i(String.prototype,"startsWith",(function(be,Ae){return this.lastIndexOf(be,Ae=Ae||0)===Ae})),String.prototype.endsWith||i(String.prototype,"endsWith",(function(be,Ae){return(void 0===Ae||Ae>this.length)&&(Ae=this.length),Ae-=be.length,-1!==(be=this.indexOf(be,Ae))&&be===Ae})),String.prototype.repeat||i(String.prototype,"repeat",(function(be){for(var Ae="",we=this;0<be;)1&be&&(Ae+=we),(be>>=1)&&(we+=we);return Ae})),String.prototype.includes||i(String.prototype,"includes",(function(be,Ae){return-1!=this.indexOf(be,Ae)})),Object.assign||(Object.assign=function(be){if(null==be)throw new TypeError("Cannot convert undefined or null to object");for(var Ae=Object(be),we=1;we<arguments.length;we++){var xe=arguments[we];null!=xe&&Object.keys(xe).forEach((function(be){Ae[be]=xe[be]}))}return Ae}),Object.values||(Object.values=function(be){return Object.keys(be).map((function(Ae){return be[Ae]}))}),Array.prototype.find||i(Array.prototype,"find",(function(be){for(var Ae=this.length,we=arguments[1],xe=0;xe<Ae;xe++){var Se=this[xe];if(be.call(we,Se,xe,this))return Se}})),Array.prototype.findIndex||i(Array.prototype,"findIndex",(function(be){for(var Ae=this.length,we=arguments[1],xe=0;xe<Ae;xe++){var Se=this[xe];if(be.call(we,Se,xe,this))return xe}})),Array.prototype.includes||i(Array.prototype,"includes",(function(be,Ae){return-1!=this.indexOf(be,Ae)})),Array.prototype.fill||i(Array.prototype,"fill",(function(be){for(var Ae,we=this.length>>>0,xe=(Ae=0|arguments[1])<0?Math.max(we+Ae,0):Math.min(Ae,we),Se=(Ae=void 0===(Ae=arguments[2])?we:0|Ae)<0?Math.max(we+Ae,0):Math.min(Ae,we);xe<Se;)this[xe]=be,xe++;return this})),Array.of||i(Array,"of",(function(){return Array.prototype.slice.call(arguments)}))})),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],(function(be,Ae,we){be("./es6-shim")})),ace.define("ace/lib/deep_copy",["require","exports","module"],(function(be,Ae,we){Ae.deepCopy=function e(be){if("object"!=typeof be||!be)return be;if(Array.isArray(be))for(var Ae=[],we=0;we<be.length;we++)Ae[we]=e(be[we]);else{if("[object Object]"!==Object.prototype.toString.call(be))return be;for(var we in Ae={},be)Ae[we]=e(be[we])}return Ae}})),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],(function(be,Ae,we){Ae.last=function(be){return be[be.length-1]},Ae.stringReverse=function(be){return be.split("").reverse().join("")},Ae.stringRepeat=function(be,Ae){for(var we="";0<Ae;)1&Ae&&(we+=be),(Ae>>=1)&&(be+=be);return we};var xe=/^\s\s*/,Se=/\s\s*$/;Ae.stringTrimLeft=function(be){return be.replace(xe,"")},Ae.stringTrimRight=function(be){return be.replace(Se,"")},Ae.copyObject=function(be){var Ae,we={};for(Ae in be)we[Ae]=be[Ae];return we},Ae.copyArray=function(be){for(var Ae=[],we=0,xe=be.length;we<xe;we++)be[we]&&"object"==typeof be[we]?Ae[we]=this.copyObject(be[we]):Ae[we]=be[we];return Ae},Ae.deepCopy=be("./deep_copy").deepCopy,Ae.arrayToMap=function(be){for(var Ae={},we=0;we<be.length;we++)Ae[be[we]]=1;return Ae},Ae.createMap=function(be){var Ae,we=Object.create(null);for(Ae in be)we[Ae]=be[Ae];return we},Ae.arrayRemove=function(be,Ae){for(var we=0;we<=be.length;we++)Ae===be[we]&&be.splice(we,1)},Ae.escapeRegExp=function(be){return be.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},Ae.escapeHTML=function(be){return(""+be).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},Ae.getMatchOffsets=function(be,Ae){var we=[];return be.replace(Ae,(function(be){we.push({offset:arguments[arguments.length-2],length:be.length})})),we},Ae.deferredCall=function(be){function t(){Ae=null,be()}function n(be){return n.cancel(),Ae=setTimeout(t,be||0),n}var Ae=null;return(n.schedule=n).call=function(){return this.cancel(),be(),n},n.cancel=function(){return clearTimeout(Ae),Ae=null,n},n.isPending=function(){return Ae},n},Ae.delayedCall=function(be,Ae){function n(){we=null,be()}function i(be){null==we&&(we=setTimeout(n,be||Ae))}var we=null;return i.delay=function(be){we&&clearTimeout(we),we=setTimeout(n,be||Ae)},(i.schedule=i).call=function(){this.cancel(),be()},i.cancel=function(){we&&clearTimeout(we),we=null},i.isPending=function(){return we},i},Ae.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch(be){return!1}return!0},Ae.skipEmptyMatch=function(be,Ae,we){return we&&65535<be.codePointAt(Ae)?2:1}})),ace.define("ace/lib/useragent",["require","exports","module"],(function(be,Ae,we){Ae.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},Ae.getOS=function(){return Ae.isMac?Ae.OS.MAC:Ae.isLinux?Ae.OS.LINUX:Ae.OS.WINDOWS};var xe="object"==typeof navigator?navigator:{},Se=(/mac|win|linux/i.exec(xe.platform)||["other"])[0].toLowerCase(),ke=xe.userAgent||"";xe=xe.appName||"",Ae.isWin="win"==Se,Ae.isMac="mac"==Se,Ae.isLinux="linux"==Se,Ae.isIE="Microsoft Internet Explorer"==xe||0<=xe.indexOf("MSAppHost")?parseFloat((ke.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((ke.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),Ae.isOldIE=Ae.isIE&&Ae.isIE<9,Ae.isGecko=Ae.isMozilla=ke.match(/ Gecko\/\d+/),Ae.isOpera="object"==typeof opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),Ae.isWebKit=parseFloat(ke.split("WebKit/")[1])||void 0,Ae.isChrome=parseFloat(ke.split(" Chrome/")[1])||void 0,Ae.isSafari=parseFloat(ke.split(" Safari/")[1])&&!Ae.isChrome||void 0,Ae.isEdge=parseFloat(ke.split(" Edge/")[1])||void 0,Ae.isAIR=0<=ke.indexOf("AdobeAIR"),Ae.isAndroid=0<=ke.indexOf("Android"),Ae.isChromeOS=0<=ke.indexOf(" CrOS "),Ae.isIOS=/iPad|iPhone|iPod/.test(ke)&&!window.MSStream,Ae.isIOS&&(Ae.isMac=!0),Ae.isMobile=Ae.isIOS||Ae.isAndroid})),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],(function(be,Ae,we){be=be("./useragent");var xe,Se,ke=(Ae.buildDom=function e(be,Ae,we){if("string"==typeof be&&be)return Re=document.createTextNode(be),Ae&&Ae.appendChild(Re),Re;if(!Array.isArray(be))return be&&be.appendChild&&Ae&&Ae.appendChild(be),be;if("string"!=typeof be[0]||!be[0]){for(var xe=[],Se=0;Se<be.length;Se++){var ke=e(be[Se],Ae,we);ke&&xe.push(ke)}return xe}var Te=document.createElement(be[0]),Ee=be[1],Re=1;for(Se=Re=Ee&&"object"==typeof Ee&&!Array.isArray(Ee)?2:Re;Se<be.length;Se++)e(be[Se],Te,we);return 2==Re&&Object.keys(Ee).forEach((function(be){var Ae=Ee[be];"class"===be?Te.className=Array.isArray(Ae)?Ae.join(" "):Ae:"function"==typeof Ae||"value"==be||"$"==be[0]?Te[be]=Ae:"ref"===be?we&&(we[Ae]=Te):"style"===be?"string"==typeof Ae&&(Te.style.cssText=Ae):null!=Ae&&Te.setAttribute(be,Ae)})),Ae&&Ae.appendChild(Te),Te},Ae.getDocumentHead=function(be){return(be=be||document).head||be.getElementsByTagName("head")[0]||be.documentElement},Ae.createElement=function(be,Ae){return document.createElementNS?document.createElementNS(Ae||"http://www.w3.org/1999/xhtml",be):document.createElement(be)},Ae.removeChildren=function(be){be.innerHTML=""},Ae.createTextNode=function(be,Ae){return(Ae?Ae.ownerDocument:document).createTextNode(be)},Ae.createFragment=function(be){return(be?be.ownerDocument:document).createDocumentFragment()},Ae.hasCssClass=function(be,Ae){return-1!==(be.className+"").split(/\s+/g).indexOf(Ae)},Ae.addCssClass=function(be,we){Ae.hasCssClass(be,we)||(be.className+=" "+we)},Ae.removeCssClass=function(be,Ae){for(var we=be.className.split(/\s+/g);;){var xe=we.indexOf(Ae);if(-1==xe)break;we.splice(xe,1)}be.className=we.join(" ")},Ae.toggleCssClass=function(be,Ae){for(var we=be.className.split(/\s+/g),xe=!0;;){var Se=we.indexOf(Ae);if(-1==Se)break;xe=!1,we.splice(Se,1)}return xe&&we.push(Ae),be.className=we.join(" "),xe},Ae.setCssClass=function(be,we,xe){xe?Ae.addCssClass(be,we):Ae.removeCssClass(be,we)},Ae.hasCssString=function(be,Ae){var we,xe=0;if(we=(Ae=Ae||document).querySelectorAll("style"))for(;xe<we.length;)if(we[xe++].id===be)return!0},Ae.removeElementById=function(be,Ae){(Ae=Ae||document).getElementById(be)&&Ae.getElementById(be).remove()},[]);function l(){var be=ke;ke=null,be&&be.forEach((function(be){i(be[0],be[1])}))}function i(be,we,Se){if("undefined"!=typeof document){if(ke)if(Se)l();else if(!1===Se)return ke.push([be,we]);if(!xe){var Te=Se;if(Se=(Te=Se&&Se.getRootNode&&(Te=Se.getRootNode())&&Te!=Se?Te:document).ownerDocument||Te,we&&Ae.hasCssString(we,Te))return null;we&&(be+="\n/*# sourceURL=ace/css/"+we+" */");var Ee=Ae.createElement("style");Ee.appendChild(Se.createTextNode(be)),we&&(Ee.id=we),(Te=Te==Se?Ae.getDocumentHead(Se):Te).insertBefore(Ee,Te.firstChild)}}}Ae.useStrictCSP=function(be){0==(xe=be)?l():ke=ke||[]},Ae.importCssString=i,Ae.importCssStylsheet=function(be,we){Ae.buildDom(["link",{rel:"stylesheet",href:be}],Ae.getDocumentHead(we))},Ae.scrollbarWidth=function(be){var we=Ae.createElement("ace_inner"),xe=(we.style.width="100%",we.style.minWidth="0px",we.style.height="200px",we.style.display="block",Ae.createElement("ace_outer"));if((Se=xe.style).position="absolute",Se.left="-10000px",Se.overflow="hidden",Se.width="200px",Se.minWidth="0px",Se.height="150px",Se.display="block",xe.appendChild(we),!(be=be&&be.documentElement||document&&document.documentElement))return 0;be.appendChild(xe);var Se,ke=we.offsetWidth;return ke===(Se.overflow="scroll",Se=we.offsetWidth)&&(Se=xe.clientWidth),be.removeChild(xe),ke-Se},Ae.computedStyle=function(be,Ae){return window.getComputedStyle(be,"")||{}},Ae.setStyle=function(be,Ae,we){be[Ae]!==we&&(be[Ae]=we)},Ae.HAS_CSS_ANIMATION=!1,Ae.HAS_CSS_TRANSFORMS=!1,Ae.HI_DPI=!be.isWin||"undefined"!=typeof window&&1.5<=window.devicePixelRatio,be.isChromeOS&&(Ae.HI_DPI=!1),"undefined"!=typeof document&&(Se=document.createElement("div"),Ae.HI_DPI&&void 0!==Se.style.transform&&(Ae.HAS_CSS_TRANSFORMS=!0),be.isEdge||void 0===Se.style.animationName||(Ae.HAS_CSS_ANIMATION=!0),Se=null),Ae.HAS_CSS_TRANSFORMS?Ae.translate=function(be,Ae,we){be.style.transform="translate("+Math.round(Ae)+"px, "+Math.round(we)+"px)"}:Ae.translate=function(be,Ae,we){be.style.top=Math.round(we)+"px",be.style.left=Math.round(Ae)+"px"}})),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){var xe=be("./dom");Ae.get=function(be,Ae){var we=new XMLHttpRequest;we.open("GET",be,!0),we.onreadystatechange=function(){4===we.readyState&&Ae(we.responseText)},we.send(null)},Ae.loadScript=function(be,Ae){var we=xe.getDocumentHead(),Se=document.createElement("script");Se.src=be,we.appendChild(Se),Se.onload=Se.onreadystatechange=function(be,we){!we&&Se.readyState&&"loaded"!=Se.readyState&&"complete"!=Se.readyState||(Se=Se.onload=Se.onreadystatechange=null,we)||Ae()}},Ae.qualifyURL=function(be){var Ae=document.createElement("a");return Ae.href=be,Ae.href}})),ace.define("ace/lib/oop",["require","exports","module"],(function(be,Ae,we){Ae.inherits=function(be,Ae){be.super_=Ae,be.prototype=Object.create(Ae.prototype,{constructor:{value:be,enumerable:!1,writable:!0,configurable:!0}})},Ae.mixin=function(be,Ae){for(var we in Ae)be[we]=Ae[we];return be},Ae.implement=function(be,we){Ae.mixin(be,we)}})),ace.define("ace/lib/event_emitter",["require","exports","module"],(function(be,Ae,we){function r(){this.propagationStopped=!0}function s(){this.defaultPrevented=!0}var xe={};xe._emit=xe._dispatchEvent=function(be,Ae){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var we=this._eventRegistry[be]||[],xe=this._defaultHandlers[be];if(we.length||xe){(Ae="object"==typeof Ae&&Ae?Ae:{}).type||(Ae.type=be),Ae.stopPropagation||(Ae.stopPropagation=r),Ae.preventDefault||(Ae.preventDefault=s),we=we.slice();for(var Se=0;Se<we.length&&(we[Se](Ae,this),!Ae.propagationStopped);Se++);return xe&&!Ae.defaultPrevented?xe(Ae,this):void 0}},xe._signal=function(be,Ae){if(we=(this._eventRegistry||{})[be])for(var we=we.slice(),xe=0;xe<we.length;xe++)we[xe](Ae,this)},xe.once=function(be,Ae){var we=this;if(this.on(be,(function e(){we.off(be,e),Ae.apply(null,arguments)})),!Ae)return new Promise((function(be){Ae=be}))},xe.setDefaultHandler=function(be,Ae){var we,xe,Se=this._defaultHandlers;(Se=Se||(this._defaultHandlers={_disabled_:{}}))[be]&&(xe=Se[be],(we=Se._disabled_[be])||(Se._disabled_[be]=we=[]),we.push(xe),-1!=(xe=we.indexOf(Ae)))&&we.splice(xe,1),Se[be]=Ae},xe.removeDefaultHandler=function(be,Ae){var we,xe=this._defaultHandlers;xe&&(we=xe._disabled_[be],xe[be]==Ae?we&&this.setDefaultHandler(be,we.pop()):we&&-1!=(xe=we.indexOf(Ae))&&we.splice(xe,1))},xe.on=xe.addEventListener=function(be,Ae,we){this._eventRegistry=this._eventRegistry||{};var xe=this._eventRegistry[be];return-1==(xe=xe||(this._eventRegistry[be]=[])).indexOf(Ae)&&xe[we?"unshift":"push"](Ae),Ae},xe.off=xe.removeListener=xe.removeEventListener=function(be,Ae){this._eventRegistry=this._eventRegistry||{},(be=this._eventRegistry[be])&&-1!==(Ae=be.indexOf(Ae))&&be.splice(Ae,1)},xe.removeAllListeners=function(be){be||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[be]=void 0),this._defaultHandlers&&(this._defaultHandlers[be]=void 0)},Ae.EventEmitter=xe})),ace.define("ace/lib/report_error",["require","exports","module"],(function(be,Ae,we){Ae.reportError=function(be,Ae){var we=new Error(be);we.data=Ae,"object"==typeof xe&&xe.error&&xe.error(we),setTimeout((function(){throw we}))}})),ace.define("ace/lib/default_english_messages",["require","exports","module"],(function(be,Ae,we){Ae.defaultEnglishMessages={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages"}})),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],(function(be,Ae,we){var Se,ke,Te=be("./oop"),Ee=be("./event_emitter").EventEmitter,Re=be("./report_error").reportError,_e=be("./default_english_messages").defaultEnglishMessages,$e={setOptions:function(be){Object.keys(be).forEach((function(Ae){this.setOption(Ae,be[Ae])}),this)},getOptions:function(be){var Ae,we={};return be?Array.isArray(be)||(we=be,be=Object.keys(we)):(Ae=this.$options,be=Object.keys(Ae).filter((function(be){return!Ae[be].hidden}))),be.forEach((function(be){we[be]=this.getOption(be)}),this),we},setOption:function(be,Ae){var we;if(this["$"+be]!==Ae)return(we=this.$options[be])?we.forwardTo?this[we.forwardTo]&&this[we.forwardTo].setOption(be,Ae):(we.handlesSet||(this["$"+be]=Ae),void(we&&we.set&&we.set.call(this,Ae))):h('misspelled option "'+be+'"')},getOption:function(be){var Ae=this.$options[be];return Ae?Ae.forwardTo?this[Ae.forwardTo]&&this[Ae.forwardTo].getOption(be):Ae&&Ae.get?Ae.get.call(this):this["$"+be]:h('misspelled option "'+be+'"')}};function h(be){void 0!==xe&&xe.warn&&xe.warn.apply(xe,arguments)}function d(){this.$defaultOptions={},Se=_e,ke="dollarSigns"}d.prototype.defineOptions=function(be,Ae,we){return be.$options||(this.$defaultOptions[Ae]=be.$options={}),Object.keys(we).forEach((function(Ae){var xe=we[Ae];(xe="string"==typeof xe?{forwardTo:xe}:xe).name||(xe.name=Ae),"initialValue"in(be.$options[xe.name]=xe)&&(be["$"+xe.name]=xe.initialValue)})),Te.implement(be,$e),this},d.prototype.resetOptions=function(be){Object.keys(be.$options).forEach((function(Ae){var we=be.$options[Ae];"value"in we&&be.setOption(Ae,we.value)}))},d.prototype.setDefaultValue=function(be,Ae,we){if(!be){for(be in this.$defaultOptions)if(this.$defaultOptions[be][Ae])break;if(!this.$defaultOptions[be][Ae])return!1}var xe=this.$defaultOptions[be]||(this.$defaultOptions[be]={});xe[Ae]&&(xe.forwardTo?this.setDefaultValue(xe.forwardTo,Ae,we):xe[Ae].value=we)},d.prototype.setDefaultValues=function(be,Ae){Object.keys(Ae).forEach((function(we){this.setDefaultValue(be,we,Ae[we])}),this)},d.prototype.setMessages=function(be,Ae){Se=be,Ae&&Ae.placeholders&&(ke=Ae.placeholders)},d.prototype.nls=function(be,Ae,we){return Se[be]||(h("No message found for the key '"+be+"' in the provided messages, trying to find a translation for the default string '"+Ae+"'."),Se[Ae])||h("No message found for the default string '"+Ae+"' in the provided messages. Falling back to the default English message."),be=Se[be]||Se[Ae]||Ae,we&&("dollarSigns"===ke&&(be=be.replace(/\$(\$|[\d]+)/g,(function(be,Ae){return"$"==Ae?"$":we[Ae]}))),"curlyBrackets"===ke)?be.replace(/\{([^\}]+)\}/g,(function(be,Ae){return we[Ae]})):be},(be=d).prototype.warn=h,be.prototype.reportError=Re,Te.implement(be.prototype,Ee),Ae.AppConfig=be})),ace.define("ace/theme/textmate-css",["require","exports","module"],(function(be,Ae,we){we.exports='.ace-tm .ace_gutter {\n background: #f0f0f0;\n color: #333;\n}\n\n.ace-tm .ace_print-margin {\n width: 1px;\n background: #e8e8e8;\n}\n\n.ace-tm .ace_fold {\n background-color: #6B72E6;\n}\n\n.ace-tm {\n background-color: #FFFFFF;\n color: black;\n}\n\n.ace-tm .ace_cursor {\n color: black;\n}\n \n.ace-tm .ace_invisible {\n color: rgb(191, 191, 191);\n}\n\n.ace-tm .ace_storage,\n.ace-tm .ace_keyword {\n color: blue;\n}\n\n.ace-tm .ace_constant {\n color: rgb(197, 6, 11);\n}\n\n.ace-tm .ace_constant.ace_buildin {\n color: rgb(88, 72, 246);\n}\n\n.ace-tm .ace_constant.ace_language {\n color: rgb(88, 92, 246);\n}\n\n.ace-tm .ace_constant.ace_library {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_invalid {\n background-color: rgba(255, 0, 0, 0.1);\n color: red;\n}\n\n.ace-tm .ace_support.ace_function {\n color: rgb(60, 76, 114);\n}\n\n.ace-tm .ace_support.ace_constant {\n color: rgb(6, 150, 14);\n}\n\n.ace-tm .ace_support.ace_type,\n.ace-tm .ace_support.ace_class {\n color: rgb(109, 121, 222);\n}\n\n.ace-tm .ace_keyword.ace_operator {\n color: rgb(104, 118, 135);\n}\n\n.ace-tm .ace_string {\n color: rgb(3, 106, 7);\n}\n\n.ace-tm .ace_comment {\n color: rgb(76, 136, 107);\n}\n\n.ace-tm .ace_comment.ace_doc {\n color: rgb(0, 102, 255);\n}\n\n.ace-tm .ace_comment.ace_doc.ace_tag {\n color: rgb(128, 159, 191);\n}\n\n.ace-tm .ace_constant.ace_numeric {\n color: rgb(0, 0, 205);\n}\n\n.ace-tm .ace_variable {\n color: rgb(49, 132, 149);\n}\n\n.ace-tm .ace_xml-pe {\n color: rgb(104, 104, 91);\n}\n\n.ace-tm .ace_entity.ace_name.ace_function {\n color: #0000A2;\n}\n\n\n.ace-tm .ace_heading {\n color: rgb(12, 7, 255);\n}\n\n.ace-tm .ace_list {\n color:rgb(185, 6, 144);\n}\n\n.ace-tm .ace_meta.ace_tag {\n color:rgb(0, 22, 142);\n}\n\n.ace-tm .ace_string.ace_regex {\n color: rgb(255, 0, 0)\n}\n\n.ace-tm .ace_marker-layer .ace_selection {\n background: rgb(181, 213, 255);\n}\n.ace-tm.ace_multiselect .ace_selection.ace_start {\n box-shadow: 0 0 3px 0px white;\n}\n.ace-tm .ace_marker-layer .ace_step {\n background: rgb(252, 255, 0);\n}\n\n.ace-tm .ace_marker-layer .ace_stack {\n background: rgb(164, 229, 101);\n}\n\n.ace-tm .ace_marker-layer .ace_bracket {\n margin: -1px 0 0 -1px;\n border: 1px solid rgb(192, 192, 192);\n}\n\n.ace-tm .ace_marker-layer .ace_active-line {\n background: rgba(0, 0, 0, 0.07);\n}\n\n.ace-tm .ace_gutter-active-line {\n background-color : #dcdcdc;\n}\n\n.ace-tm .ace_marker-layer .ace_selected-word {\n background: rgb(250, 250, 255);\n border: 1px solid rgb(200, 200, 250);\n}\n\n.ace-tm .ace_indent-guide {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;\n}\n\n.ace-tm .ace_indent-guide-active {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;\n}\n'})),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],(function(be,Ae,we){Ae.isDark=!1,Ae.cssClass="ace-tm",Ae.cssText=be("./textmate-css"),Ae.$id="ace/theme/textmate",be("../lib/dom").importCssString(Ae.cssText,Ae.cssClass,!1)})),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],(function(be,Ae,we){var Se,ke=be("./lib/lang"),Te=be("./lib/net"),Ee=be("./lib/dom"),Re=be("./lib/app_config").AppConfig,_e=(we.exports=Ae=new Re,{packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null}),$e=(Ae.get=function(be){if(_e.hasOwnProperty(be))return _e[be];throw new Error("Unknown config key: "+be)},Ae.set=function(be,Ae){if(_e.hasOwnProperty(be))_e[be]=Ae;else if(0==this.setDefaultValue("",be,Ae))throw new Error("Unknown config key: "+be);"useStrictCSP"==be&&Ee.useStrictCSP(Ae)},Ae.all=function(){return ke.copyObject(_e)},Ae.$modes={},Ae.moduleUrl=function(be,Ae){var we,xe,Se;return _e.$moduleUrls[be]||(be=be.split("/"),we="snippets"==(Ae=Ae||be[be.length-2]||"")?"/":"-",xe=be[be.length-1],"worker"==Ae&&"-"==we&&(Se=new RegExp("^"+Ae+"[\\-_]|[\\-_]"+Ae+"$","g"),xe=xe.replace(Se,"")),(!xe||xe==Ae)&&1<be.length&&(xe=be[be.length-2]),null==(Se=_e[Ae+"Path"])?Se=_e.basePath:"/"==we&&(Ae=we=""),Se&&"/"!=Se.slice(-1)&&(Se+="/"),Se+Ae+we+xe+this.get("suffix"))},Ae.setModuleUrl=function(be,Ae){return _e.$moduleUrls[be]=Ae},Ae.setLoader=function(be){Se=be},Ae.dynamicModules=Object.create(null),Ae.$loading={},Ae.$loaded={},Ae.loadModule=function(we,ke){function n(we){if(we&&!Ae.$loading[_e])return ke&&ke(we);if(Ae.$loading[_e]||(Ae.$loading[_e]=[]),Ae.$loading[_e].push(ke),!(1<Ae.$loading[_e].length)){if(we=function(){var we,ke;ke=function(be,we){we&&(Ae.$loaded[_e]=we),Ae._emit("load.module",{name:_e,module:we});var xe=Ae.$loading[_e];Ae.$loading[_e]=null,xe.forEach((function(be){be&&be(we)}))},"ace/theme/textmate"===(we=_e)||"./theme/textmate"===we?ke(null,be("./theme/textmate")):Se?Se(we,ke):xe.error("loader is not configured")},!Ae.get("packaged"))return we();Te.loadScript(Ae.moduleUrl(_e,Re),we),$e()}}var Ee,Re,_e;if(Array.isArray(we)?(Re=we[0],_e=we[1]):"string"==typeof we&&(_e=we),Ae.dynamicModules[_e])Ae.dynamicModules[_e]().then((function(be){be.default?n(be.default):n(be)}));else{try{Ee=this.$require(_e)}catch(we){}n(Ee||Ae.$loaded[_e])}},Ae.$require=function(be){if("function"==typeof we.require)return we.require(be)},Ae.setModuleLoader=function(be,we){Ae.dynamicModules[be]=we},function(){_e.basePath||_e.workerPath||_e.modePath||_e.themePath||Object.keys(_e.$moduleUrls).length||(xe.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),$e=function(){})});Ae.version="1.35.0"})),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],(function(be,Ae,xe){be("./lib/fixoldbrowsers");var Se=be("./config"),ke=(Se.setLoader((function(Ae,we){be([Ae],(function(be){we(null,be)}))})),function(){return this||"undefined"!=typeof window&&window}());function t(Ae){if(ke&&ke.document){Se.set("packaged",Ae||be.packaged||xe.packaged||ke.define&&we.amdD.packaged);for(var Te,Ee={},Re="",_e=(Ae=document.currentScript||document._currentScript)&&Ae.ownerDocument||document,$e=(Ae&&Ae.src&&(Re=Ae.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||""),_e.getElementsByTagName("script")),Le=0;Le<$e.length;Le++){var Ne=$e[Le],Me=Ne.src||Ne.getAttribute("src");if(Me){for(var Be=Ne.attributes,We=0,Pe=Be.length;We<Pe;We++){var He=Be[We];0===He.name.indexOf("data-ace-")&&(Ee[He.name.replace(/^data-ace-/,"").replace(/-(.)/g,(function(be,Ae){return Ae.toUpperCase()}))]=He.value)}(Ne=Me.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/))&&(Re=Ne[1])}}for(Te in Re&&(Ee.base=Ee.base||Re,Ee.packaged=!0),Ee.basePath=Ee.base,Ee.workerPath=Ee.workerPath||Ee.base,Ee.modePath=Ee.modePath||Ee.base,Ee.themePath=Ee.themePath||Ee.base,delete Ee.base,Ee)void 0!==Ee[Te]&&Se.set(Te,Ee[Te])}}xe.exports=function(Ae){Se.init=t,Se.$require=be,Ae.require=be,Ae.define=we.amdD},t(!0)})),ace.define("ace/range",["require","exports","module"],(function(be,Ae,we){r.prototype.isEqual=function(be){return this.start.row===be.start.row&&this.end.row===be.end.row&&this.start.column===be.start.column&&this.end.column===be.end.column},r.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},r.prototype.contains=function(be,Ae){return 0==this.compare(be,Ae)},r.prototype.compareRange=function(be){var Ae=be.end;return be=be.start,1==(Ae=this.compare(Ae.row,Ae.column))?1==(Ae=this.compare(be.row,be.column))?2:0==Ae?1:0:-1==Ae?-2:-1==(Ae=this.compare(be.row,be.column))?-1:1==Ae?42:0},r.prototype.comparePoint=function(be){return this.compare(be.row,be.column)},r.prototype.containsRange=function(be){return 0==this.comparePoint(be.start)&&0==this.comparePoint(be.end)},r.prototype.intersects=function(be){return-1==(be=this.compareRange(be))||0==be||1==be},r.prototype.isEnd=function(be,Ae){return this.end.row==be&&this.end.column==Ae},r.prototype.isStart=function(be,Ae){return this.start.row==be&&this.start.column==Ae},r.prototype.setStart=function(be,Ae){"object"==typeof be?(this.start.column=be.column,this.start.row=be.row):(this.start.row=be,this.start.column=Ae)},r.prototype.setEnd=function(be,Ae){"object"==typeof be?(this.end.column=be.column,this.end.row=be.row):(this.end.row=be,this.end.column=Ae)},r.prototype.inside=function(be,Ae){return 0==this.compare(be,Ae)&&!this.isEnd(be,Ae)&&!this.isStart(be,Ae)},r.prototype.insideStart=function(be,Ae){return 0==this.compare(be,Ae)&&!this.isEnd(be,Ae)},r.prototype.insideEnd=function(be,Ae){return 0==this.compare(be,Ae)&&!this.isStart(be,Ae)},r.prototype.compare=function(be,Ae){return this.isMultiLine()||be!==this.start.row?be<this.start.row?-1:be>this.end.row?1:this.start.row===be?Ae>=this.start.column?0:-1:this.end.row!==be||Ae<=this.end.column?0:1:Ae<this.start.column?-1:Ae>this.end.column?1:0},r.prototype.compareStart=function(be,Ae){return this.start.row==be&&this.start.column==Ae?-1:this.compare(be,Ae)},r.prototype.compareEnd=function(be,Ae){return this.end.row==be&&this.end.column==Ae?1:this.compare(be,Ae)},r.prototype.compareInside=function(be,Ae){return this.end.row==be&&this.end.column==Ae?1:this.start.row==be&&this.start.column==Ae?-1:this.compare(be,Ae)},r.prototype.clipRows=function(be,Ae){var we,xe;return this.end.row>Ae?we={row:Ae+1,column:0}:this.end.row<be&&(we={row:be,column:0}),this.start.row>Ae?xe={row:Ae+1,column:0}:this.start.row<be&&(xe={row:be,column:0}),r.fromPoints(xe||this.start,we||this.end)},r.prototype.extend=function(be,Ae){var we,xe,Se=this.compare(be,Ae);return 0==Se?this:(-1==Se?we={row:be,column:Ae}:xe={row:be,column:Ae},r.fromPoints(we||this.start,xe||this.end))},r.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},r.prototype.isMultiLine=function(){return this.start.row!==this.end.row},r.prototype.clone=function(){return r.fromPoints(this.start,this.end)},r.prototype.collapseRows=function(){return 0==this.end.column?new r(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new r(this.start.row,0,this.end.row,0)},r.prototype.toScreenRange=function(be){var Ae=be.documentToScreenPosition(this.start);return be=be.documentToScreenPosition(this.end),new r(Ae.row,Ae.column,be.row,be.column)},r.prototype.moveBy=function(be,Ae){this.start.row+=be,this.start.column+=Ae,this.end.row+=be,this.end.column+=Ae};var xe=r;function r(be,Ae,we,xe){this.start={row:be,column:Ae},this.end={row:we,column:xe}}xe.fromPoints=function(be,Ae){return new xe(be.row,be.column,Ae.row,Ae.column)},xe.comparePoints=function(be,Ae){return be.row-Ae.row||be.column-Ae.column},Ae.Range=xe})),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],(function(be,Ae,we){be=be("./oop");for(var xe={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},Se={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},ke=0;ke<10;ke++)Se["Digit"+ke]=48+ke,Se["Numpad"+ke]=96+ke,xe.PRINTABLE_KEYS[48+ke]=""+ke,xe.FUNCTION_KEYS[96+ke]="Numpad"+ke;for(ke=65;ke<91;ke++){var Te=String.fromCharCode(ke+32);Se["Key"+Te.toUpperCase()]=ke,xe.PRINTABLE_KEYS[ke]=Te}for(ke=1;ke<13;ke++)Se["F"+ke]=111+ke,xe.FUNCTION_KEYS[111+ke]="F"+ke;var Ee,Re,_e={Shift:16,Control:17,Alt:18,Meta:224};for(Ee in _e)Se[Ee]=Se[Ee+"Left"]=Se[Ee+"Right"]=_e[Ee];for(Re in Ae.$codeToKeyCode=Se,xe.PRINTABLE_KEYS[173]="-",xe.FUNCTION_KEYS){var $e=xe.FUNCTION_KEYS[Re].toLowerCase();xe[$e]=parseInt(Re,10)}for(Re in xe.PRINTABLE_KEYS)$e=xe.PRINTABLE_KEYS[Re].toLowerCase(),xe[$e]=parseInt(Re,10);be.mixin(xe,xe.MODIFIER_KEYS),be.mixin(xe,xe.PRINTABLE_KEYS),be.mixin(xe,xe.FUNCTION_KEYS),xe.enter=xe.return,xe.escape=xe.esc,xe.del=xe.delete;for(var Le=["cmd","ctrl","alt","shift"],Ne=Math.pow(2,Le.length);Ne--;)xe.KEY_MODS[Ne]=Le.filter((function(be){return Ne&xe.KEY_MODS[be]})).join("-")+"-";xe.KEY_MODS[0]="",xe.KEY_MODS[-1]="input-",be.mixin(Ae,xe),(Ae.default=Ae).keyCodeToString=function(be){var Ae=xe[be];return(Ae="string"!=typeof Ae?String.fromCharCode(be):Ae).toLowerCase()}})),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(be,Ae,we){var xe,Se=be("./keys"),ke=be("./useragent"),Te=null,Ee=0;function o(){if(null==xe){xe=!1;try{document.createComment("").addEventListener("test",(function(){}),{get passive(){return xe={passive:!1},!0}})}catch(be){}}return xe}function l(be,Ae,we){this.elem=be,this.type=Ae,this.callback=we}l.prototype.destroy=function(){$e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var Re,_e=Ae.addListener=function(be,Ae,we,xe){be.addEventListener(Ae,we,o()),xe&&xe.$toDestroy.push(new l(be,Ae,we))},$e=Ae.removeListener=function(be,Ae,we){be.removeEventListener(Ae,we,o())};function p(be){return(be.ctrlKey?1:0)|(be.altKey?2:0)|(be.shiftKey?4:0)|(be.metaKey?8:0)}function m(){Te=Object.create(null)}Ae.stopEvent=function(be){return Ae.stopPropagation(be),Ae.preventDefault(be),!1},Ae.stopPropagation=function(be){be.stopPropagation&&be.stopPropagation()},Ae.preventDefault=function(be){be.preventDefault&&be.preventDefault()},Ae.getButton=function(be){return"dblclick"==be.type?0:"contextmenu"==be.type||ke.isMac&&be.ctrlKey&&!be.altKey&&!be.shiftKey?2:be.button},Ae.capture=function(be,Ae,we){var xe=be&&be.ownerDocument||document;function o(be){Ae&&Ae(be),we&&we(be),$e(xe,"mousemove",Ae),$e(xe,"mouseup",o),$e(xe,"dragstart",o)}return _e(xe,"mousemove",Ae),_e(xe,"mouseup",o),_e(xe,"dragstart",o),o},Ae.addMouseWheelListener=function(be,Ae,we){_e(be,"wheel",(function(be){var we=be.deltaX||0,xe=be.deltaY||0;switch(be.deltaMode){case be.DOM_DELTA_PIXEL:be.wheelX=.15*we,be.wheelY=.15*xe;break;case be.DOM_DELTA_LINE:be.wheelX=15*we,be.wheelY=15*xe;break;case be.DOM_DELTA_PAGE:be.wheelX=150*we,be.wheelY=150*xe}Ae(be)}),we)},Ae.addMultiMouseDownListener=function(be,we,xe,Se,Te){var Ee,Re,$e,Le=0,Ne={2:"dblclick",3:"tripleclick",4:"quadclick"};function h(be){var Te;if(0!==Ae.getButton(be)?Le=0:1<be.detail&&!(4<++Le)||(Le=1),ke.isIE&&(Te=5<Math.abs(be.clientX-Ee)||5<Math.abs(be.clientY-Re),$e&&!Te||(Le=1),$e&&clearTimeout($e),$e=setTimeout((function(){$e=null}),we[Le-1]||600),1==Le)&&(Ee=be.clientX,Re=be.clientY),be._clicks=Le,xe[Se]("mousedown",be),4<Le)Le=0;else if(1<Le)return xe[Se](Ne[Le],be)}(be=Array.isArray(be)?be:[be]).forEach((function(be){_e(be,"mousedown",h,Te)}))},Ae.getModifierString=function(be){return Se.KEY_MODS[p(be)]},Ae.addCommandKeyListener=function(be,we,xe){var Re=null;_e(be,"keydown",(function(be){Te[be.keyCode]=(Te[be.keyCode]||0)+1;var Ae=function(be,Ae,we){var xe,Re=p(Ae);if(!we&&Ae.code&&(we=Se.$codeToKeyCode[Ae.code]||we),!ke.isMac&&Te){if(Ae.getModifierState&&(Ae.getModifierState("OS")||Ae.getModifierState("Win"))&&(Re|=8),Te.altGr){if(!(3&~Re))return;Te.altGr=0}18!==we&&17!==we||(xe=Ae.location,17===we&&1===xe?1==Te[we]&&(Ee=Ae.timeStamp):18===we&&3===Re&&2===xe&&Ae.timeStamp-Ee<50&&(Te.altGr=!0))}if(we in Se.MODIFIER_KEYS&&(we=-1),Re||13!==we||3!==Ae.location||(be(Ae,Re,-we),!Ae.defaultPrevented)){if(ke.isChromeOS&&8&Re){if(be(Ae,Re,we),Ae.defaultPrevented)return;Re&=-9}return!!(Re||we in Se.FUNCTION_KEYS||we in Se.PRINTABLE_KEYS)&&be(Ae,Re,we)}}(we,be,be.keyCode);return Re=be.defaultPrevented,Ae}),xe),_e(be,"keypress",(function(be){Re&&(be.ctrlKey||be.altKey||be.shiftKey||be.metaKey)&&(Ae.stopEvent(be),Re=null)}),xe),_e(be,"keyup",(function(be){Te[be.keyCode]=null}),xe),Te||(m(),_e(window,"focus",m))},"object"==typeof window&&window.postMessage&&!ke.isOldIE&&(Re=1,Ae.nextTick=function(be,we){function i(Se){Se.data==xe&&(Ae.stopPropagation(Se),$e(we,"message",i),be())}we=we||window;var xe="zero-timeout-message-"+Re++;_e(we,"message",i),we.postMessage(xe,"*")}),Ae.$idleBlocked=!1,Ae.onIdle=function(be,we){return setTimeout((function e(){Ae.$idleBlocked?setTimeout(e,100):be()}),we)},Ae.$idleBlockId=null,Ae.blockIdle=function(be){Ae.$idleBlockId&&clearTimeout(Ae.$idleBlockId),Ae.$idleBlocked=!0,Ae.$idleBlockId=setTimeout((function(){Ae.$idleBlocked=!1}),be||100)},Ae.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),Ae.nextFrame?Ae.nextFrame=Ae.nextFrame.bind(window):Ae.nextFrame=function(be){setTimeout(be,17)}})),ace.define("ace/clipboard",["require","exports","module"],(function(be,Ae,we){var xe;we.exports={lineMode:!1,pasteCancelled:function(){return!!(xe&&xe>Date.now()-50)||(xe=!1)},cancel:function(){xe=Date.now()}}})),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],(function(be,Ae,we){var xe=be("../lib/event"),Se=be("../config").nls,ke=be("../lib/useragent"),Te=be("../lib/dom"),Ee=be("../lib/lang"),Re=be("../clipboard"),_e=ke.isChrome<18,$e=ke.isIE,Le=63<ke.isChrome,Ne=be("../lib/keys"),Me=Ne.KEY_MODS,Be=ke.isIOS,We=Be?/\s/:/\n/,Pe=ke.isMobile;Ae.TextInput=function(be,Ae){var we=Te.createElement("textarea"),He=(we.className="ace_text-input",we.setAttribute("wrap","off"),we.setAttribute("autocorrect","off"),we.setAttribute("autocapitalize","off"),we.setAttribute("spellcheck","false"),we.style.opacity="0",be.insertBefore(we,be.firstChild),!1),Ge=!1,Fe=!1,Oe=!1,Ve="",Ze=(Pe||(we.style.fontSize="1px"),!1),De=!1,Ke="",je=0,ze=0,Xe=0,Ye=Number.MAX_SAFE_INTEGER,Je=Number.MIN_SAFE_INTEGER,Ue=0;try{var Qe=document.activeElement===we}catch(be){}function A(be,we){for(var xe=we,Se=1;Se<=be-Ye&&Se<2*Ue+1;Se++)xe+=Ae.session.getLine(be-Se).length+1;return xe}function n(be){H(be,!0)}function i(be){H(be,!1)}function o(be){var Se=k(be);Re.pasteCancelled()||("string"==typeof Se?(Se&&Ae.onPaste(Se,be),ke.isIE&&setTimeout(qe),xe.preventDefault(be)):(we.value="",Ge=!0))}this.setNumberOfExtraLines=function(be){Ye=Number.MAX_SAFE_INTEGER,Je=Number.MIN_SAFE_INTEGER,Ue=be<0?0:be},this.setAriaOptions=function(be){var xe;be.activeDescendant?(we.setAttribute("aria-haspopup","true"),we.setAttribute("aria-autocomplete",be.inline?"both":"list"),we.setAttribute("aria-activedescendant",be.activeDescendant)):(we.setAttribute("aria-haspopup","false"),we.setAttribute("aria-autocomplete","both"),we.removeAttribute("aria-activedescendant")),be.role&&we.setAttribute("role",be.role),be.setLabel&&(we.setAttribute("aria-roledescription",Se("text-input.aria-roledescription","editor")),be="",Ae.$textInputAriaLabel&&(be+="".concat(Ae.$textInputAriaLabel,", ")),Ae.session&&(xe=Ae.session.selection.cursor.row,be+=Se("text-input.aria-label","Cursor at row $0",[xe+1])),we.setAttribute("aria-label",be))},this.setAriaOptions({role:"textbox"}),xe.addListener(we,"blur",(function(be){De||(Ae.onBlur(be),Qe=!1)}),Ae),xe.addListener(we,"focus",(function(be){if(!De){if(Qe=!0,ke.isEdge)try{if(!document.hasFocus())return}catch(be){}Ae.onFocus(be),ke.isEdge?setTimeout(qe):qe()}}),Ae),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:Ae.renderer.enableKeyboardAccessibility}),Ve||Le||"browser"==this.$focusScroll)return we.focus({preventScroll:!0});var be=we.style.top;we.style.position="fixed",we.style.top="0px";try{var xe=0!=we.getBoundingClientRect().top}catch(be){return}var Se=[];if(xe)for(var ke=we.parentElement;ke&&1==ke.nodeType;)Se.push(ke),ke.setAttribute("ace_nocontext","true"),ke=!ke.parentElement&&ke.getRootNode?ke.getRootNode().host:ke.parentElement;we.focus({preventScroll:!0}),xe&&Se.forEach((function(be){be.removeAttribute("ace_nocontext")})),setTimeout((function(){we.style.position="","0px"==we.style.top&&(we.style.top=be)}),0)},this.blur=function(){we.blur()},this.isFocused=function(){return Qe},Ae.on("beforeEndOperation",(function(){var be=Ae.curOp,xe=be&&be.command&&be.command.name;"insertstring"!=xe&&(xe=xe&&(be.docChanged||be.selectionChanged),Fe&&xe&&(Ke=we.value="",G()),qe())}));var qe=Be?function(be){var xe;!Qe||He&&!be||Oe||((xe="\n ab"+(be=be||"")+"cde fg\n")!=we.value&&(we.value=Ke=xe),xe=4+(be.length||(Ae.selection.isEmpty()?0:1)),4==je&&ze==xe||we.setSelectionRange(4,xe),je=4,ze=xe)}:function(){if(!Fe&&!Oe&&(Qe||nt)){Fe=!0;var be=0,xe=0,Se="";if(Ae.session){for(var ke,Te,Ee=(Te=Ae.selection).getRange(),Re=((Te=Te.cursor.row)===Je+1?Je=(Ye=Je+1)+2*Ue:Te===Ye-1?Ye=(Je=Ye-1)-2*Ue:(Te<Ye-1||Je+1<Te)&&(Ye=Ue<Te?Te-Ue:0,Je=Ue<Te?Te+Ue:2*Ue),[]),_e=Ye;_e<=Je;_e++)Re.push(Ae.session.getLine(_e));Se=Re.join("\n"),be=A(Ee.start.row,Ee.start.column),xe=A(Ee.end.row,Ee.end.column),Ee.start.row<Ye?(ke=Ae.session.getLine(Ye-1),be=Ee.start.row<Ye-1?0:be,xe+=ke.length+1,Se=ke+"\n"+Se):Ee.end.row>Je?(ke=Ae.session.getLine(Je+1),xe=Ee.end.row>Je+1?ke.length:Ee.end.column,xe+=Se.length+1,Se=Se+"\n"+ke):Pe&&0<Te&&(Se="\n"+Se,xe+=1,be+=1),400<Se.length&&(be<400&&xe<400?Se=Se.slice(0,400):(Se="\n",be==xe?be=xe=0:(be=0,xe=1))),(Ee=Se+"\n\n")!=Ke&&(we.value=Ke=Ee,je=ze=Ee.length)}if(nt&&(je=we.selectionStart,ze=we.selectionEnd),ze!=xe||je!=be||we.selectionEnd!=ze)try{we.setSelectionRange(be,xe),je=be,ze=xe}catch(be){}Fe=!1}},et=(this.resetSelection=qe,Qe&&Ae.onFocus(),function(be){return 0===be.selectionStart&&be.selectionEnd>=Ke.length&&be.value===Ke&&Ke&&be.selectionEnd!==ze}),tt=null,nt=(this.setInputHandler=function(be){tt=be},!(this.getInputHandler=function(){return tt})),x=function(be,xe){if(nt=nt&&!1,Ge)return qe(),be&&Ae.onPaste(be),Ge=!1,"";for(var Se=we.selectionStart,Te=we.selectionEnd,Ee=je,Re=Ke.length-ze,_e=be,$e=be.length-Se,Le=be.length-Te,Ne=0;0<Ee&&Ke[Ne]==be[Ne];)Ne++,Ee--;for(_e=_e.slice(Ne),Ne=1;0<Re&&Ke.length-Ne>je-1&&Ke[Ke.length-Ne]==be[be.length-Ne];)Ne++,Re--;$e-=Ne-1,Le-=Ne-1;var Me=_e.length-Ne+1;return Me<0&&(Ee=-Me,Me=0),_e=_e.slice(0,Me),xe||_e||$e||Ee||Re||Le?(Me=!(Oe=!0),ke.isAndroid&&". "==_e&&(_e=" ",Me=!0),_e&&!Ee&&!Re&&!$e&&!Le||Ze?Ae.onTextInput(_e):Ae.onTextInput(_e,{extendLeft:Ee,extendRight:Re,restoreStart:$e,restoreEnd:Le}),Oe=!1,Ke=be,je=Se,ze=Te,Xe=Le,Me?"\n":_e):""},P=function(be){if(Fe)return it();if(be&&be.inputType){if("historyUndo"==be.inputType)return Ae.execCommand("undo");if("historyRedo"==be.inputType)return Ae.execCommand("redo")}be=we.value;var xe=x(be,!0);(500<be.length||We.test(xe)||Pe&&je<1&&je==ze)&&qe()},k=function(be,Ae,we){var xe=be.clipboardData||window.clipboardData;if(xe&&!_e){var Se=$e||we?"Text":"text/plain";try{return Ae?!1!==xe.setData(Se,Ae):xe.getData(Se)}catch(be){if(!we)return k(be,Ae,!0)}}},H=function(be,Se){var ke=Ae.getCopyText();if(!ke)return xe.preventDefault(be);k(be,ke)?(Be&&(qe(ke),He=ke,setTimeout((function(){He=!1}),10)),Se?Ae.onCut():Ae.onCopy(),xe.preventDefault(be)):(He=!0,we.value=ke,we.select(),setTimeout((function(){He=!1,qe(),Se?Ae.onCut():Ae.onCopy()})))},it=(xe.addCommandKeyListener(we,(function(be,we,xe){if(!Fe)return Ae.onCommandKey(be,we,xe)}),Ae),xe.addListener(we,"select",(function(be){Fe||(He?He=!1:et(we)?(Ae.selectAll(),qe()):Pe&&we.selectionStart!=je&&qe())}),Ae),xe.addListener(we,"input",P,Ae),xe.addListener(we,"cut",n,Ae),xe.addListener(we,"copy",i,Ae),xe.addListener(we,"paste",o,Ae),"oncut"in we&&"oncopy"in we&&"onpaste"in we||xe.addListener(be,"keydown",(function(be){if((!ke.isMac||be.metaKey)&&be.ctrlKey)switch(be.keyCode){case 67:i(be);break;case 86:o(be);break;case 88:n(be)}}),Ae),function(){var be;if(Fe&&Ae.onCompositionUpdate&&!Ae.$readOnly)return Ze?E():void(Fe.useTextareaForIME?Ae.onCompositionUpdate(we.value):(be=we.value,x(be),Fe.markerRange&&(Fe.context&&(Fe.markerRange.start.column=Fe.selectionStart=Fe.context.compositionStartOffset),Fe.markerRange.end.column=Fe.markerRange.start.column+ze-Fe.selectionStart+Xe)))}),G=function(be){Ae.onCompositionEnd&&!Ae.$readOnly&&(Fe=!1,Ae.onCompositionEnd(),Ae.off("mousedown",E),be)&&P()};function E(){De=!0,we.blur(),we.focus(),De=!1}var ot,rt=Ee.delayedCall(it,50).schedule.bind(null,null);function $(){clearTimeout(ot),ot=setTimeout((function(){Ve&&(we.style.cssText=Ve,Ve=""),Ae.renderer.$isMousePressed=!1,Ae.renderer.$keepTextAreaAtCursor&&Ae.renderer.$moveTextAreaToCursor()}),0)}function _(be){Ae.textInput.onContextMenu(be),$()}if(xe.addListener(we,"compositionstart",(function(be){Fe||!Ae.onCompositionStart||Ae.$readOnly||(Fe={},Ze)||(be.data&&(Fe.useTextareaForIME=!1),setTimeout(it,0),Ae._signal("compositionStart"),Ae.on("mousedown",E),(be=Ae.getSelectionRange()).end.row=be.start.row,be.end.column=be.start.column,Fe.markerRange=be,Fe.selectionStart=je,Ae.onCompositionStart(Fe),Fe.useTextareaForIME?(Ke=we.value="",ze=je=0):(we.msGetInputContext&&(Fe.context=we.msGetInputContext()),we.getInputContext&&(Fe.context=we.getInputContext())))}),Ae),xe.addListener(we,"compositionupdate",it,Ae),xe.addListener(we,"keyup",(function(be){27==be.keyCode&&we.value.length<we.selectionStart&&(Fe||(Ke=we.value),je=ze=-1,qe()),rt()}),Ae),xe.addListener(we,"keydown",rt,Ae),xe.addListener(we,"compositionend",G,Ae),this.getElement=function(){return we},this.setCommandMode=function(be){Ze=be,we.readOnly=!1},this.setReadOnly=function(be){Ze||(we.readOnly=be)},this.setCopyWithEmptySelection=function(be){},this.onContextMenu=function(be){nt=!0,qe(),Ae._emit("nativecontextmenu",{target:Ae,domEvent:be}),this.moveToMouse(be,!0)},this.moveToMouse=function(be,Se){function n(be){Te.translate(we,be.clientX-_e-2,Math.min(be.clientY-Re-2,$e))}Ve=Ve||we.style.cssText,we.style.cssText=(Se?"z-index:100000;":"")+(ke.isIE?"opacity:0.1;":"")+"text-indent: -"+(je+ze)*Ae.renderer.characterWidth*.5+"px;",Se=Ae.container.getBoundingClientRect();var Ee=Te.computedStyle(Ae.container),Re=Se.top+(parseInt(Ee.borderTopWidth)||0),_e=Se.left+(parseInt(Se.borderLeftWidth)||0),$e=Se.bottom-Re-we.clientHeight-2;n(be),"mousedown"==be.type&&(Ae.renderer.$isMousePressed=!0,clearTimeout(ot),ke.isWin)&&xe.capture(Ae.container,n,$)},this.onContextMenuClose=$,xe.addListener(we,"mouseup",_,Ae),xe.addListener(we,"mousedown",(function(be){be.preventDefault(),$()}),Ae),xe.addListener(Ae.renderer.scroller,"contextmenu",_,Ae),xe.addListener(we,"contextmenu",_,Ae),Be){var st=Ae,at=we;function O(be){var Ae,we,xe,Se;document.activeElement!==at||ct||Fe||st.$mouseHandler.isMousePressed||He||(Ae=at.selectionStart,we=at.selectionEnd,xe=null,(Se=0)==Ae?xe=Ne.up:1==Ae?xe=Ne.home:ze<we&&"\n"==Ke[we]?xe=Ne.end:Ae<je&&" "==Ke[Ae-1]?(xe=Ne.left,Se=Me.option):Ae<je||Ae==je&&ze!=je&&Ae==we?xe=Ne.left:ze<we&&2<Ke.slice(0,we).split("\n").length?xe=Ne.down:ze<we&&" "==Ke[we-1]?(xe=Ne.right,Se=Me.option):(ze<we||we==ze&&ze!=je&&Ae==we)&&(xe=Ne.right),Ae!==we&&(Se|=Me.shift),xe&&(!st.onCommandKey({},Se,xe)&&st.commands&&(xe=Ne.keyCodeToString(xe),Se=st.commands.findKeyCommand(Se,xe))&&st.execCommand(Se),je=Ae,ze=we,qe("")))}var lt=null,ct=!1;at.addEventListener("keydown",(function(be){lt&&clearTimeout(lt),ct=!0}),!0),at.addEventListener("keyup",(function(be){lt=setTimeout((function(){ct=!1}),100)}),!0),document.addEventListener("selectionchange",O),st.on("destroy",(function(){document.removeEventListener("selectionchange",O)}))}this.destroy=function(){we.parentElement&&we.parentElement.removeChild(we)}},Ae.$setUserAgentForTests=function(be,Ae){Pe=be,Be=Ae}})),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],(function(be,Ae,we){var xe=be("../lib/useragent");function i(be){be.$clickSelection=null;var Ae=be.editor;Ae.setDefaultHandler("mousedown",this.onMouseDown.bind(be)),Ae.setDefaultHandler("dblclick",this.onDoubleClick.bind(be)),Ae.setDefaultHandler("tripleclick",this.onTripleClick.bind(be)),Ae.setDefaultHandler("quadclick",this.onQuadClick.bind(be)),Ae.setDefaultHandler("mousewheel",this.onMouseWheel.bind(be)),["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"].forEach((function(Ae){be[Ae]=this[Ae]}),this),be.selectByLines=this.extendSelectionBy.bind(be,"getLineRange"),be.selectByWords=this.extendSelectionBy.bind(be,"getWordRange")}function s(be,Ae){return(be.start.row==be.end.row?2*Ae.column-be.start.column-be.end.column:be.start.row!=be.end.row-1||be.start.column||be.end.column?2*Ae.row-be.start.row-be.end.row:Ae.column-4)<0?{cursor:be.start,anchor:be.end}:{cursor:be.end,anchor:be.start}}i.prototype.onMouseDown=function(be){var Ae=be.inSelection(),we=be.getDocumentPosition(),Se=(this.mousedownEvent=be,this.editor),ke=be.getButton();if(0!==ke)!Se.getSelectionRange().isEmpty()&&1!=ke||Se.selection.moveToPosition(we),2==ke&&(Se.textInput.onContextMenu(be.domEvent),xe.isMozilla||be.preventDefault());else{if(this.mousedownEvent.time=Date.now(),!Ae||Se.isFocused()||(Se.focus(),!this.$focusTimeout)||this.$clickSelection||Se.inMultiSelectMode)return this.captureMouse(be),this.startSelect(we,1<be.domEvent._clicks),be.preventDefault();this.setState("focusWait"),this.captureMouse(be)}},i.prototype.startSelect=function(be,Ae){be=be||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var we=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?we.selection.selectToPosition(be):Ae||we.selection.moveToPosition(be),Ae||this.select(),we.setStyle("ace_selecting"),this.setState("select"))},i.prototype.select=function(){var be,Ae=this.editor,we=Ae.renderer.screenToTextCoordinates(this.x,this.y);this.$clickSelection&&(be=-1==(be=this.$clickSelection.comparePoint(we))?this.$clickSelection.end:1==be?this.$clickSelection.start:(we=(be=s(this.$clickSelection,we)).cursor,be.anchor),Ae.selection.setSelectionAnchor(be.row,be.column)),Ae.selection.selectToPosition(we),Ae.renderer.scrollCursorIntoView()},i.prototype.extendSelectionBy=function(be){var Ae,we,xe,Se=this.editor,ke=Se.renderer.screenToTextCoordinates(this.x,this.y);be=Se.selection[be](ke.row,ke.column),this.$clickSelection&&(we=this.$clickSelection.comparePoint(be.start),Ae=this.$clickSelection.comparePoint(be.end),-1==we&&Ae<=0?(xe=this.$clickSelection.end,be.end.row==ke.row&&be.end.column==ke.column||(ke=be.start)):1==Ae&&0<=we?(xe=this.$clickSelection.start,be.start.row==ke.row&&be.start.column==ke.column||(ke=be.end)):xe=-1==we&&1==Ae?(ke=be.end,be.start):(ke=(we=s(this.$clickSelection,ke)).cursor,we.anchor),Se.selection.setSelectionAnchor(xe.row,xe.column)),Se.selection.selectToPosition(ke),Se.renderer.scrollCursorIntoView()},i.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},i.prototype.focusWait=function(){xe=this.mousedownEvent.x,be=this.mousedownEvent.y,we=this.x,Ae=this.y;var be,Ae,we=Math.sqrt(Math.pow(we-xe,2)+Math.pow(Ae-be,2)),xe=Date.now();(0<we||xe-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},i.prototype.onDoubleClick=function(be){be=be.getDocumentPosition();var Ae=this.editor,we=Ae.session.getBracketRange(be);we?(we.isEmpty()&&(we.start.column--,we.end.column++),this.setState("select")):(we=Ae.selection.getWordRange(be.row,be.column),this.setState("selectByWords")),this.$clickSelection=we,this.select()},i.prototype.onTripleClick=function(be){be=be.getDocumentPosition();var Ae=this.editor,we=(this.setState("selectByLines"),Ae.getSelectionRange());we.isMultiLine()&&we.contains(be.row,be.column)?(this.$clickSelection=Ae.selection.getLineRange(we.start.row),this.$clickSelection.end=Ae.selection.getLineRange(we.end.row).end):this.$clickSelection=Ae.selection.getLineRange(be.row),this.select()},i.prototype.onQuadClick=function(be){var Ae=this.editor;Ae.selectAll(),this.$clickSelection=Ae.getSelectionRange(),this.setState("selectAll")},i.prototype.onMouseWheel=function(be){var Ae,we,xe,Se,ke,Te,Ee;if(!be.getAccelKey())return be.getShiftKey()&&be.wheelY&&!be.wheelX&&(be.wheelX=be.wheelY,be.wheelY=0),Ae=this.editor,this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0}),we=this.$lastScroll,Se=(Ee=(xe=be.domEvent.timeStamp)-we.t)?be.wheelX/Ee:we.vx,ke=Ee?be.wheelY/Ee:we.vy,Ee<550&&(Se=(Se+we.vx)/2,ke=(ke+we.vy)/2),Ee=!1,1<=(Te=Math.abs(Se/ke))&&Ae.renderer.isScrollableBy(be.wheelX*be.speed,0)&&(Ee=!0),(Ee=!!(Te<=1&&Ae.renderer.isScrollableBy(0,be.wheelY*be.speed))||Ee)?we.allowed=xe:xe-we.allowed<550&&(Math.abs(Se)<=1.5*Math.abs(we.vx)&&Math.abs(ke)<=1.5*Math.abs(we.vy)?(Ee=!0,we.allowed=xe):we.allowed=0),we.t=xe,we.vx=Se,we.vy=ke,Ee?(Ae.renderer.scrollBy(be.wheelX*be.speed,be.wheelY*be.speed),be.stop()):void 0},(be=i).prototype.selectEnd=be.prototype.selectByLinesEnd,be.prototype.selectAllEnd=be.prototype.selectByLinesEnd,be.prototype.selectByWordsEnd=be.prototype.selectByLinesEnd,Ae.DefaultHandlers=be})),ace.define("ace/lib/scroll",["require","exports","module"],(function(be,Ae,we){Ae.preventParentScroll=function(be){be.stopPropagation();var Ae=be.currentTarget;Ae.scrollHeight>Ae.clientHeight||be.preventDefault()}})),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],(function(be,Ae,we){var xe,Se=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),ke=this&&this.__values||function(be){var Ae="function"==typeof Symbol&&Symbol.iterator,we=Ae&&be[Ae],xe=0;if(we)return we.call(be);if(be&&"number"==typeof be.length)return{next:function(){return{value:(be=be&&xe>=be.length?void 0:be)&&be[xe++],done:!be}}};throw new TypeError(Ae?"Object is not iterable.":"Symbol.iterator is not defined.")},Te=be("./lib/dom"),Ee=(be("./lib/event"),be("./range").Range),Re=be("./lib/scroll").preventParentScroll,_e="ace_tooltip";function c(be){this.isOpen=!1,this.$element=null,this.$parentNode=be}function h(){this.popups=[]}c.prototype.$init=function(){return this.$element=Te.createElement("div"),this.$element.className=_e,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},c.prototype.getElement=function(){return this.$element||this.$init()},c.prototype.setText=function(be){this.getElement().textContent=be},c.prototype.setHtml=function(be){this.getElement().innerHTML=be},c.prototype.setPosition=function(be,Ae){this.getElement().style.left=be+"px",this.getElement().style.top=Ae+"px"},c.prototype.setClassName=function(be){Te.addCssClass(this.getElement(),be)},c.prototype.setTheme=function(be){this.$element.className=_e+" "+(be.isDark?"ace_dark ":"")+(be.cssClass||"")},c.prototype.show=function(be,Ae,we){null!=be&&this.setText(be),null!=Ae&&null!=we&&this.setPosition(Ae,we),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},c.prototype.hide=function(be){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=_e,this.isOpen=!1)},c.prototype.getHeight=function(){return this.getElement().offsetHeight},c.prototype.getWidth=function(){return this.getElement().offsetWidth},c.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},be=c,h.prototype.addPopup=function(be){this.popups.push(be),this.updatePopups()},h.prototype.removePopup=function(be){-1!==(be=this.popups.indexOf(be))&&(this.popups.splice(be,1),this.updatePopups())},h.prototype.updatePopups=function(){this.popups.sort((function(be,Ae){return Ae.priority-be.priority}));var be,Ae,we,xe,Se=[];try{for(var Te=ke(this.popups),Ee=Te.next();!Ee.done;Ee=Te.next()){var Re=Ee.value,_e=!0;try{we=void 0;for(var $e=ke(Se),Le=$e.next();!Le.done;Le=$e.next()){var Ne=Le.value;if(this.doPopupsOverlap(Ne,Re)){_e=!1;break}}}catch(Ae){we={error:Ae}}finally{try{Le&&!Le.done&&(xe=$e.return)&&xe.call($e)}finally{if(we)throw we.error}}_e?Se.push(Re):Re.hide()}}catch(Ae){be={error:Ae}}finally{try{Ee&&!Ee.done&&(Ae=Te.return)&&Ae.call(Te)}finally{if(be)throw be.error}}},h.prototype.doPopupsOverlap=function(be,Ae){return be=be.getElement().getBoundingClientRect(),Ae=Ae.getElement().getBoundingClientRect(),be.left<Ae.right&&be.right>Ae.left&&be.top<Ae.bottom&&be.bottom>Ae.top};var $e,Le=new h;function p(be){void 0===be&&(be=document.body);var Ae=((be=$e.call(this,be)||this).timeout=void 0,be.lastT=0,be.idleTime=350,be.lastEvent=void 0,be.onMouseOut=be.onMouseOut.bind(be),be.onMouseMove=be.onMouseMove.bind(be),be.waitForHover=be.waitForHover.bind(be),be.hide=be.hide.bind(be),be.getElement());return Ae.style.whiteSpace="pre-wrap",Ae.style.pointerEvents="auto",Ae.addEventListener("mouseout",be.onMouseOut),Ae.tabIndex=-1,Ae.addEventListener("blur",function(){Ae.contains(document.activeElement)||this.hide()}.bind(be)),Ae.addEventListener("wheel",Re),be}Ae.popupManager=Le,Ae.Tooltip=be,Se(p,$e=be),p.prototype.addToEditor=function(be){be.on("mousemove",this.onMouseMove),be.on("mousedown",this.hide),be.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},p.prototype.removeFromEditor=function(be){be.off("mousemove",this.onMouseMove),be.off("mousedown",this.hide),be.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},p.prototype.onMouseMove=function(be,Ae){var we;this.lastEvent=be,this.lastT=Date.now(),Ae=Ae.$mouseHandler.isMousePressed,this.isOpen&&(we=this.lastEvent&&this.lastEvent.getDocumentPosition(),this.range&&this.range.contains(we.row,we.column)&&!Ae&&!this.isOutsideOfText(this.lastEvent)||this.hide()),this.timeout||Ae||(this.lastEvent=be,this.timeout=setTimeout(this.waitForHover,this.idleTime))},p.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var be=Date.now()-this.lastT;10<this.idleTime-be?this.timeout=setTimeout(this.waitForHover,this.idleTime-be):(this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor))},p.prototype.isOutsideOfText=function(be){var Ae=be.editor,we=be.getDocumentPosition(),xe=Ae.session.getLine(we.row);return we.column==xe.length&&(xe=Ae.renderer.pixelToScreenCoordinates(be.clientX,be.clientY),(be=Ae.session.documentToScreenPosition(we.row,we.column)).column!=xe.column||be.row!=xe.row)},p.prototype.setDataProvider=function(be){this.$gatherData=be},p.prototype.showForRange=function(be,Ae,we,xe){var Se,ke,Te;xe&&xe!=this.lastEvent||this.isOpen&&document.activeElement==this.getElement()||(xe=be.renderer,this.isOpen||(Le.addPopup(this),this.$registerCloseEvents(),this.setTheme(xe.theme)),this.isOpen=!0,this.addMarker(Ae,be.session),this.range=Ee.fromPoints(Ae.start,Ae.end),be=xe.textToScreenCoordinates(Ae.start.row,Ae.start.column),Ae=xe.scroller.getBoundingClientRect(),be.pageX<Ae.left&&(be.pageX=Ae.left),(Ae=this.getElement()).innerHTML="",Ae.appendChild(we),Ae.style.maxHeight="",Ae.style.display="block",we=Ae.clientHeight,Se=Ae.clientWidth,ke=window.innerHeight-be.pageY-xe.lineHeight,Te=!0,be.pageY-we<0&&be.pageY<ke&&(Te=!1),Ae.style.maxHeight=(Te?be.pageY:ke)-10+"px",Ae.style.top=Te?"":be.pageY+xe.lineHeight+"px",Ae.style.bottom=Te?window.innerHeight-be.pageY+"px":"",Ae.style.left=Math.min(be.pageX,window.innerWidth-Se-10)+"px")},p.prototype.addMarker=function(be,Ae){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=Ae,this.marker=Ae&&Ae.addMarker(be,"ace_highlight-marker","text")},p.prototype.hide=function(be){!be&&document.activeElement==this.getElement()||be&&be.target&&("keydown"!=be.type||be.ctrlKey||be.metaKey)&&this.$element.contains(be.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,Le.removePopup(this)))},p.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},p.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},p.prototype.onMouseOut=function(be){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,!this.isOpen||!be.relatedTarget||this.getElement().contains(be.relatedTarget)||be&&be.currentTarget.contains(be.relatedTarget)||be.relatedTarget.classList.contains("ace_content")||this.hide()},Se=p,Ae.HoverTooltip=Se})),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],(function(be,Ae,we){var xe,Se=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),ke=this&&this.__values||function(be){var Ae="function"==typeof Symbol&&Symbol.iterator,we=Ae&&be[Ae],xe=0;if(we)return we.call(be);if(be&&"number"==typeof be.length)return{next:function(){return{value:(be=be&&xe>=be.length?void 0:be)&&be[xe++],done:!be}}};throw new TypeError(Ae?"Object is not iterable.":"Symbol.iterator is not defined.")},Te=be("../lib/dom"),Ee=be("../lib/event"),Re=be("../tooltip").Tooltip,_e=be("../config").nls;Ae.GutterHandler=function(be){var Ae,we,xe=be.editor,Se=xe.renderer.$gutterLayer,ke=new Le(xe);function c(){Ae=Ae&&clearTimeout(Ae),ke.isOpen&&(ke.hideTooltip(),xe.off("mousewheel",c))}function h(be){ke.setPosition(be.x,be.y)}be.editor.setDefaultHandler("guttermousedown",(function(Ae){if(xe.isFocused()&&0==Ae.getButton()&&"foldWidgets"!=(we=Se.getRegion(Ae))){var we=Ae.getDocumentPosition().row,ke=xe.session.selection;if(Ae.getShiftKey())ke.selectTo(we,0);else{if(2==Ae.domEvent.detail)return xe.selectAll(),Ae.preventDefault();be.$clickSelection=xe.selection.getLineRange(we)}return be.setState("selectByLines"),be.captureMouse(Ae),Ae.preventDefault()}})),be.editor.setDefaultHandler("guttermousemove",(function(Ee){var Re=Ee.domEvent.target||Ee.domEvent.srcElement;if(Te.hasCssClass(Re,"ace_fold-widget"))return c();ke.isOpen&&be.$tooltipFollowsMouse&&h(Ee),we=Ee,Ae=Ae||setTimeout((function(){if(Ae=null,we&&!be.isMousePressed){var Te=we.getDocumentPosition().row;if(Te==xe.session.getLength()){var Ee=xe.renderer.pixelToScreenCoordinates(0,we.y).row,Re=we.$pos;if(Ee>xe.session.documentToScreenRow(Re.row,Re.column))return void c()}ke.showTooltip(Te),ke.isOpen&&(xe.on("mousewheel",c),!be.$tooltipFollowsMouse&&(Ee=we.getGutterRow(),Re=Se.$lines.get(Ee))?(Te=Re.element.querySelector(".ace_gutter_annotation").getBoundingClientRect(),(Ee=ke.getElement().style).left=Te.right+"px",Ee.top=Te.bottom+"px"):h(we))}else c()}),50)})),Ee.addListener(xe.renderer.$gutter,"mouseout",(function(be){we=null,ke.isOpen&&(Ae=Ae||setTimeout((function(){Ae=null,c()}),50))}),xe),xe.on("changeSession",c),xe.on("input",c)},Se(p,$e=Re),p.prototype.setPosition=function(be,Ae){var we=window.innerWidth||document.documentElement.clientWidth,xe=window.innerHeight||document.documentElement.clientHeight,Se=this.getWidth(),ke=this.getHeight();we<(be+=15)+Se&&(be-=be+Se-we),xe<(Ae+=15)+ke&&(Ae-=20+ke),Re.prototype.setPosition.call(this,be,Ae)},Object.defineProperty(p,"annotationLabels",{get:function(){return{error:{singular:_e("gutter-tooltip.aria-label.error.singular","error"),plural:_e("gutter-tooltip.aria-label.error.plural","errors")},warning:{singular:_e("gutter-tooltip.aria-label.warning.singular","warning"),plural:_e("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:_e("gutter-tooltip.aria-label.info.singular","information message"),plural:_e("gutter-tooltip.aria-label.info.plural","information messages")}}},enumerable:!1,configurable:!0}),p.prototype.showTooltip=function(be){var Ae=this.editor.renderer.$gutterLayer,we=Ae.$annotations[be],xe=we?{text:Array.from(we.text),type:Array.from(we.type)}:{text:[],type:[]},Se=Ae.session.getFoldLine(be);if(Se&&Ae.$showFoldedAnnotations){for(var ke,Te={error:[],warning:[],info:[]},Ee=be+1;Ee<=Se.end.row;Ee++)if(Ae.$annotations[Ee])for(var Re=0;Re<Ae.$annotations[Ee].text.length;Re++){var _e=Ae.$annotations[Ee].type[Re];Te[_e].push(Ae.$annotations[Ee].text[Re]),"error"===_e?ke="error_fold":"warning"===_e&&(ke="warning_fold")}"error_fold"!==ke&&"warning_fold"!==ke||(we="".concat(p.annotationsToSummaryString(Te)," in folded code."),xe.text.push(we),xe.type.push(ke))}if(0===xe.text.length)return this.hide();var $e={error:[],warning:[],info:[]},Le=Ae.$useSvgGutterIcons?"ace_icon_svg":"ace_icon";for(Ee=0;Ee<xe.text.length;Ee++){var Ne="<span class='ace_".concat(xe.type[Ee]," ").concat(Le,"' aria-label='").concat(p.annotationLabels[xe.type[Ee].replace("_fold","")].singular,"' role=img> </span> ").concat(xe.text[Ee]);$e[xe.type[Ee].replace("_fold","")].push(Ne)}be=[].concat($e.error,$e.warning,$e.info).join("<br>"),this.setHtml(be),this.$element.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},p.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},p.annotationsToSummaryString=function(be){var Ae,we,xe=[];try{for(var Se=ke(["error","warning","info"]),Te=Se.next();!Te.done;Te=Se.next()){var Ee,Re=Te.value;be[Re].length&&(Ee=1===be[Re].length?p.annotationLabels[Re].singular:p.annotationLabels[Re].plural,xe.push("".concat(be[Re].length," ").concat(Ee)))}}catch(be){Ae={error:be}}finally{try{Te&&!Te.done&&(we=Se.return)&&we.call(Se)}finally{if(Ae)throw Ae.error}}return xe.join(", ")};var $e,Le=p;function p(be){var Ae=$e.call(this,be.container)||this;return Ae.editor=be,Ae}Ae.GutterTooltip=Le})),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(be,Ae,we){var xe=be("../lib/event"),Se=be("../lib/useragent");function r(be,Ae){this.speed,this.wheelX,this.wheelY,this.domEvent=be,this.editor=Ae,this.x=this.clientX=be.clientX,this.y=this.clientY=be.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}r.prototype.stopPropagation=function(){xe.stopPropagation(this.domEvent),this.propagationStopped=!0},r.prototype.preventDefault=function(){xe.preventDefault(this.domEvent),this.defaultPrevented=!0},r.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},r.prototype.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},r.prototype.getGutterRow=function(){var be=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(be,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},r.prototype.inSelection=function(){var be,Ae;return null===this.$inSelection&&((be=this.editor.getSelectionRange()).isEmpty()?this.$inSelection=!1:(Ae=this.getDocumentPosition(),this.$inSelection=be.contains(Ae.row,Ae.column))),this.$inSelection},r.prototype.getButton=function(){return xe.getButton(this.domEvent)},r.prototype.getShiftKey=function(){return this.domEvent.shiftKey},r.prototype.getAccelKey=function(){return Se.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},Ae.MouseEvent=r})),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],(function(be,Ae,we){var xe=be("../lib/dom"),Se=be("../lib/event"),ke=be("../lib/useragent");function i(be){var Ae,we,Te,Ee,Re,_e,$e,Le,Ne,Me,Be,We=be.editor,Pe=xe.createElement("div"),He=(Pe.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",Pe.textContent=" ",["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"].forEach((function(Ae){be[Ae]=this[Ae]}),this),We.on("mousedown",this.onMouseDown.bind(be)),We.container),Ge=0;function f(){var be,Ae,xe,Se,ke,Ee,Re,$e,Le=_e;xe=_e=We.renderer.screenToTextCoordinates(we,Te),Ae=Le,Se=Date.now(),be=!Ae||xe.row!=Ae.row,Ae=!Ae||xe.column!=Ae.column,!Me||be||Ae?(We.moveCursorToPosition(xe),Me=Se,Be={x:we,y:Te}):5<k(Be.x,Be.y,we,Te)?Me=null:200<=Se-Me&&(We.renderer.scrollCursorIntoView(),Me=null),be=_e,Ae=Le,xe=Date.now(),Se=We.renderer.layerConfig.lineHeight,Le=We.renderer.layerConfig.characterWidth,ke=We.renderer.scroller.getBoundingClientRect(),ke={x:{left:we-ke.left,right:ke.right-we},y:{top:Te-ke.top,bottom:ke.bottom-Te}},Ee=Math.min(ke.x.left,ke.x.right),Re=Math.min(ke.y.top,ke.y.bottom),$e={row:be.row,column:be.column},Ee/Le<=2&&($e.column+=ke.x.left<ke.x.right?-3:2),Re/Se<=1&&($e.row+=ke.y.top<ke.y.bottom?-1:1),Ee=be.row!=$e.row,Le=be.column!=$e.column,Re=!Ae||be.row!=Ae.row,Ee||Le&&!Re?Ne?200<=xe-Ne&&We.renderer.scrollCursorIntoView($e):Ne=xe:Ne=null}function C(){Re=We.selection.toOrientedRange(),Ae=We.session.addMarker(Re,"ace_selection",We.getSelectionStyle()),We.clearSelection(),We.isFocused()&&We.renderer.$cursorLayer.setBlinking(!1),clearInterval(Ee),f(),Ee=setInterval(f,20),Ge=0,Se.addListener(document,"mousemove",I)}function y(){clearInterval(Ee),We.session.removeMarker(Ae),Ae=null,We.selection.fromOrientedRange(Re),We.isFocused()&&!Le&&We.$resetCursorStyle(),Ge=0,Me=Ne=_e=Re=null,Se.removeListener(document,"mousemove",I)}this.onDragStart=function(be){var Ae;if(this.cancelDrag||!He.draggable)return Ae=this,setTimeout((function(){Ae.startSelect(),Ae.captureMouse(be)}),0),be.preventDefault();Re=We.getSelectionRange();var we=be.dataTransfer;we.effectAllowed=We.getReadOnly()?"copy":"copyMove",We.container.appendChild(Pe),we.setDragImage&&we.setDragImage(Pe,0,0),setTimeout((function(){We.container.removeChild(Pe)})),we.clearData(),we.setData("Text",We.session.getTextRange()),Le=!0,this.setState("drag")},this.onDragEnd=function(be){He.draggable=!1,Le=!1,this.setState(null),We.getReadOnly()||(be=be.dataTransfer.dropEffect,$e||"move"!=be||We.session.remove(We.getSelectionRange()),We.$resetCursorStyle()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(be){if(!We.getReadOnly()&&b(be.dataTransfer))return we=be.clientX,Te=be.clientY,Ae||C(),Ge++,be.dataTransfer.dropEffect=$e=A(be),Se.preventDefault(be)},this.onDragOver=function(be){if(!We.getReadOnly()&&b(be.dataTransfer))return we=be.clientX,Te=be.clientY,Ae||(C(),Ge++),null!==Fe&&(Fe=null),be.dataTransfer.dropEffect=$e=A(be),Se.preventDefault(be)},this.onDragLeave=function(be){if(--Ge<=0&&Ae)return y(),$e=null,Se.preventDefault(be)},this.onDrop=function(be){if(_e){var Ae=be.dataTransfer;if(Le)switch($e){case"move":Re=Re.contains(_e.row,_e.column)?{start:_e,end:_e}:We.moveText(Re,_e);break;case"copy":Re=We.moveText(Re,_e,!0)}else Ae=Ae.getData("Text"),Re={start:_e,end:We.session.insert(_e,Ae)},We.focus(),$e=null;return y(),Se.preventDefault(be)}},Se.addListener(He,"dragstart",this.onDragStart.bind(be),We),Se.addListener(He,"dragend",this.onDragEnd.bind(be),We),Se.addListener(He,"dragenter",this.onDragEnter.bind(be),We),Se.addListener(He,"dragover",this.onDragOver.bind(be),We),Se.addListener(He,"dragleave",this.onDragLeave.bind(be),We),Se.addListener(He,"drop",this.onDrop.bind(be),We);var Fe=null;function I(){null==Fe&&(Fe=setTimeout((function(){null!=Fe&&Ae&&y()}),20))}function b(be){return!(be=be.types)||Array.prototype.some.call(be,(function(be){return"text/plain"==be||"Text"==be}))}function A(be){var Ae=["copy","copymove","all","uninitialized"],we=ke.isMac?be.altKey:be.ctrlKey,xe="uninitialized";try{xe=be.dataTransfer.effectAllowed.toLowerCase()}catch(be){}var Se="none";return we&&0<=Ae.indexOf(xe)?Se="copy":0<=["move","copymove","linkmove","all","uninitialized"].indexOf(xe)?Se="move":0<=Ae.indexOf(xe)&&(Se="copy"),Se}}function k(be,Ae,we,xe){return Math.sqrt(Math.pow(we-be,2)+Math.pow(xe-Ae,2))}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(be){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var be=this.editor,Ae=(be.container.draggable=!0,be.renderer.$cursorLayer.setBlinking(!1),be.setStyle("ace_dragging"),ke.isWin?"default":"move");be.renderer.setCursorStyle(Ae),this.setState("dragReady")},this.onMouseDrag=function(be){var Ae=this.editor.container;ke.isIE&&"dragReady"==this.state&&3<k(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&Ae.dragDrop(),"dragWait"===this.state&&0<k(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)&&(Ae.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))},this.onMouseDown=function(be){var Ae,we,xe;this.$dragEnabled&&(this.mousedownEvent=be,Ae=this.editor,we=be.inSelection(),xe=be.getButton(),1!==(be.domEvent.detail||1)||0!==xe||!we||be.editor.inMultiSelectMode&&(be.getAccelKey()||be.getShiftKey())||(this.mousedownEvent.time=Date.now(),"unselectable"in(xe=be.domEvent.target||be.domEvent.srcElement)&&(xe.unselectable="on"),Ae.getDragDelay()?(ke.isWebKit&&(this.cancelDrag=!0,Ae.container.draggable=!0),this.setState("dragWait")):this.startDrag(),this.captureMouse(be,this.onMouseDrag.bind(this)),be.defaultPrevented=!0))}}).call(i.prototype),Ae.DragdropHandler=i})),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],(function(be,Ae,we){var xe=be("./mouse_event").MouseEvent,Se=be("../lib/event"),ke=be("../lib/dom");Ae.addTouchListeners=function(be,Ae){var we,Te,Ee,Re,_e,$e,Le,Ne,Me,Be="scroll",We=0,Pe=0,He=0,Ge=0;function o(){function t(xe){var Se,Te=xe.target.getAttribute("action");"more"!=Te&&we?("paste"==Te?be.readText().then((function(be){Ae.execCommand(Te,be)})):Te&&("cut"!=Te&&"copy"!=Te||(be?be.writeText(Ae.getCopyText()):document.execCommand("copy")),Ae.execCommand(Te)),Me.firstChild.style.display="none",we=!1,"openCommandPalette"!=Te&&Ae.focus()):(we=!we,xe=Ae.getCopyText(),Se=Ae.session.getUndoManager().hasUndo(),Me.replaceChild(ke.buildDom(we?["span",!xe&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],xe&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],xe&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],be&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],Se&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],["span",{class:"ace_mobile-button",action:"find"},"Find"],["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),Me.firstChild))}var be=window.navigator&&window.navigator.clipboard,we=!1;Me=ke.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(be){Be="menu",be.stopPropagation(),be.preventDefault(),Ae.textInput.focus()},ontouchend:function(be){be.stopPropagation(),be.preventDefault(),t(be)},onclick:t},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],Ae.container)}function n(){Me||o();var be=Ae.selection.cursor,we=(be=Ae.renderer.textToScreenCoordinates(be.row,be.column),Ae.renderer.textToScreenCoordinates(0,0).pageX),xe=Ae.renderer.scrollLeft,Se=Ae.container.getBoundingClientRect();Me.style.top=be.pageY-Se.top-3+"px",be.pageX-Se.left<Se.width-70?(Me.style.left="",Me.style.right="10px"):(Me.style.right="",Me.style.left=we+xe-Se.left+"px"),Me.style.display="",Me.firstChild.style.display="none",Ae.on("input",s)}function s(be){Me&&(Me.style.display="none"),Ae.off("input",s)}function w(){_e=null,clearTimeout(_e);var be=Ae.selection.getRange(),we=be.contains(Le.row,Le.column);!be.isEmpty()&&we||(Ae.selection.moveToPosition(Le),Ae.selection.selectWord()),Be="wait",n()}Se.addListener(be,"contextmenu",(function(be){Ne&&Ae.textInput.getElement().focus()}),Ae),Se.addListener(be,"touchstart",(function(be){var Se=be.touches;if(_e||1<Se.length)clearTimeout(_e),_e=null,Ee=-1,Be="zoom";else{Ne=Ae.$mouseHandler.isMousePressed=!0;var ke=Ae.renderer.layerConfig.lineHeight,$e=Ae.renderer.layerConfig.lineHeight,Me=be.timeStamp,Fe=(Re=Me,Oe=Se[0]).clientX,Oe=Oe.clientY;if(Math.abs(we-Fe)+Math.abs(Te-Oe)>ke&&(Ee=-1),we=be.clientX=Fe,Te=be.clientY=Oe,He=Ge=0,Fe=new xe(be,Ae),Le=Fe.getDocumentPosition(),Me-Ee<500&&1==Se.length&&!We)Pe++,be.preventDefault(),be.button=0,_e=null,clearTimeout(_e),Ae.selection.moveToPosition(Le),(Oe=2<=Pe?Ae.selection.getLineRange(Le.row):Ae.session.getBracketRange(Le))&&!Oe.isEmpty()?Ae.selection.setRange(Oe):Ae.selection.selectWord(),Be="wait";else{Pe=0,Fe=Ae.selection.cursor,Se=Ae.selection.isEmpty()?Fe:Ae.selection.anchor,Oe=Ae.renderer.$cursorLayer.getPixelPosition(Fe,!0),Fe=Ae.renderer.$cursorLayer.getPixelPosition(Se,!0),Se=Ae.renderer.scroller.getBoundingClientRect();var Ve=Ae.renderer.layerConfig.offset,Ze=Ae.renderer.scrollLeft,c=function(be,Ae){return(be/=$e)*be+(Ae=Ae/ke-.75)*Ae};if(be.clientX<Se.left)return void(Be="zoom");Oe=c(be.clientX-Se.left-Oe.left+Ze,be.clientY-Se.top-Oe.top+Ve),c=c(be.clientX-Se.left-Fe.left+Ze,be.clientY-Se.top-Fe.top+Ve),Oe<3.5&&c<3.5&&(Be=c<Oe?"cursor":"anchor"),Be=c<3.5?"anchor":Oe<3.5?"cursor":"scroll",_e=setTimeout(w,450)}Ee=Me}}),Ae),Se.addListener(be,"touchend",(function(be){Ne=Ae.$mouseHandler.isMousePressed=!1,$e&&clearInterval($e),"zoom"==Be?(Be="",We=0):(_e?(Ae.selection.moveToPosition(Le),We=0,n):"scroll"==Be?(We+=60,$e=setInterval((function(){We--<=0&&(clearInterval($e),$e=null),Math.abs(He)<.01&&(He=0),Math.abs(Ge)<.01&&(Ge=0),We<20&&(He*=.9),We<20&&(Ge*=.9);var be=Ae.session.getScrollTop();Ae.renderer.scrollBy(10*He,10*Ge),be==Ae.session.getScrollTop()&&(We=0)}),10),s):n)(),clearTimeout(_e),_e=null}),Ae),Se.addListener(be,"touchmove",(function(be){if(_e&&(clearTimeout(_e),_e=null),!(1<(Se=be.touches).length||"zoom"==Be)){var Se=Se[0],ke=we-Se.clientX,Ee=Te-Se.clientY;if("wait"==Be){if(!(4<ke*ke+Ee*Ee))return be.preventDefault();Be="cursor"}we=Se.clientX,Te=Se.clientY,be.clientX=Se.clientX,be.clientY=Se.clientY;var $e=(Se=be.timeStamp)-Re;Re=Se,"scroll"==Be?((Se=new xe(be,Ae)).speed=1,Se.wheelX=ke,Se.wheelY=Ee,10*Math.abs(ke)<Math.abs(Ee)&&(ke=0),10*Math.abs(Ee)<Math.abs(ke)&&(Ee=0),0!=$e&&(He=ke/$e,Ge=Ee/$e),Ae._emit("mousewheel",Se),Se.propagationStopped||(He=Ge=0)):(ke=new xe(be,Ae).getDocumentPosition(),"cursor"==Be?Ae.selection.moveCursorToPosition(ke):"anchor"==Be&&Ae.selection.setSelectionAnchor(ke.row,ke.column),Ae.renderer.scrollCursorIntoView(ke),be.preventDefault())}}),Ae)}})),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],(function(be,Ae,we){var xe=be("../lib/event"),Se=be("../lib/useragent"),ke=be("./default_handlers").DefaultHandlers,Te=be("./default_gutter_handler").GutterHandler,Ee=be("./mouse_event").MouseEvent,Re=be("./dragdrop_handler").DragdropHandler,_e=be("./touch_handler").addTouchListeners,$e=(be=be("../config"),o.prototype.onMouseEvent=function(be,Ae){this.editor.session&&this.editor._emit(be,new Ee(Ae,this.editor))},o.prototype.onMouseMove=function(be,Ae){var we=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;we&&we.length&&this.editor._emit(be,new Ee(Ae,this.editor))},o.prototype.onMouseWheel=function(be,Ae){var we=new Ee(Ae,this.editor);we.speed=2*this.$scrollSpeed,we.wheelX=Ae.wheelX,we.wheelY=Ae.wheelY,this.editor._emit(be,we)},o.prototype.setState=function(be){this.state=be},o.prototype.captureMouse=function(be,Ae){function n(be){if(be){if(Se.isWebKit&&!be.which&&Te.releaseMouse)return Te.releaseMouse();Te.x=be.clientX,Te.y=be.clientY,Ae&&Ae(be),Te.mouseEvent=new Ee(be,Te.editor),Te.$mouseMoved=!0}}function i(be){we.off("beforeEndOperation",l),clearInterval(Re),we.session&&o(),Te[Te.state+"End"]&&Te[Te.state+"End"](be),Te.state="",Te.isMousePressed=ke.$isMousePressed=!1,ke.$keepTextAreaAtCursor&&ke.$moveTextAreaToCursor(),Te.$onCaptureMouseMove=Te.releaseMouse=null,be&&Te.onMouseEvent("mouseup",be),we.endOperation()}function o(){Te[Te.state]&&Te[Te.state](),Te.$mouseMoved=!1}this.x=be.x,this.y=be.y,this.isMousePressed=!0;var we=this.editor,ke=this.editor.renderer,Te=(ke.$isMousePressed=!0,this);if(Se.isOldIE&&"dblclick"==be.domEvent.type)return setTimeout((function(){i(be)}));var l=function(be){Te.releaseMouse&&we.curOp.command.name&&we.curOp.selectionChanged&&(Te[Te.state+"End"]&&Te[Te.state+"End"](),Te.state="",Te.releaseMouse())},Re=(we.on("beforeEndOperation",l),we.startOperation({command:{name:"mouse"}}),Te.$onCaptureMouseMove=n,Te.releaseMouse=xe.capture(this.editor.container,n,i),setInterval(o,20))},o.prototype.cancelContextMenu=function(){var be=function(Ae){Ae&&Ae.domEvent&&"contextmenu"!=Ae.domEvent.type||(this.editor.off("nativecontextmenu",be),Ae&&Ae.domEvent&&xe.stopEvent(Ae.domEvent))}.bind(this);setTimeout(be,10),this.editor.on("nativecontextmenu",be)},o.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},o);function o(be){function e(Ae){document.hasFocus&&document.hasFocus()&&(be.isFocused()||document.activeElement!=(be.textInput&&be.textInput.getElement()))||window.focus(),be.focus(),setTimeout((function(){be.isFocused()||be.focus()}))}this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var Ae=this,we=(this.editor=be,new ke(this),new Te(this),new Re(this),be.renderer.getMouseEventTarget()),Ee=(xe.addListener(we,"click",this.onMouseEvent.bind(this,"click"),be),xe.addListener(we,"mousemove",this.onMouseMove.bind(this,"mousemove"),be),xe.addMultiMouseDownListener([we,be.renderer.scrollBarV&&be.renderer.scrollBarV.inner,be.renderer.scrollBarH&&be.renderer.scrollBarH.inner,be.textInput&&be.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",be),xe.addMouseWheelListener(be.container,this.onMouseWheel.bind(this,"mousewheel"),be),_e(be.container,be),be.renderer.$gutter);xe.addListener(Ee,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),be),xe.addListener(Ee,"click",this.onMouseEvent.bind(this,"gutterclick"),be),xe.addListener(Ee,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),be),xe.addListener(Ee,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),be),xe.addListener(we,"mousedown",e,be),xe.addListener(Ee,"mousedown",e,be),Se.isIE&&be.renderer.scrollBarV&&(xe.addListener(be.renderer.scrollBarV.element,"mousedown",e,be),xe.addListener(be.renderer.scrollBarH.element,"mousedown",e,be)),be.on("mousemove",(function(we){var xe,Se;Ae.state||Ae.$dragDelay||!Ae.$dragEnabled||(we=be.renderer.screenToTextCoordinates(we.x,we.y),xe=be.session.selection.getRange(),Se=be.renderer,!xe.isEmpty()&&xe.insideStart(we.row,we.column)?Se.setCursorStyle("default"):Se.setCursorStyle(""))}),be)}$e.prototype.releaseMouse=null,be.defineOptions($e.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:Se.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),Ae.MouseHandler=$e})),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){var xe=be("../lib/dom");Ae.FoldHandler=function(be){be.on("click",(function(Ae){var we=Ae.getDocumentPosition(),Se=be.session;(we=Se.getFoldAt(we.row,we.column,1))&&(Ae.getAccelKey()?Se.removeFold(we):Se.expandFold(we),Ae.stop()),(we=Ae.domEvent&&Ae.domEvent.target)&&xe.hasCssClass(we,"ace_inline_button")&&xe.hasCssClass(we,"ace_toggle_wrap")&&(Se.setOption("wrap",!Se.getUseWrapMode()),be.renderer.scrollCursorIntoView())})),be.on("gutterclick",(function(Ae){var we,xe;"foldWidgets"==be.renderer.$gutterLayer.getRegion(Ae)&&(we=Ae.getDocumentPosition().row,(xe=be.session).foldWidgets&&xe.foldWidgets[we]&&be.session.onFoldWidgetClick(we,Ae),be.isFocused()||be.focus(),Ae.stop())})),be.on("gutterdblclick",(function(Ae){var we,xe,Se;"foldWidgets"==be.renderer.$gutterLayer.getRegion(Ae)&&(Se=Ae.getDocumentPosition().row,(xe=(xe=(we=be.session).getParentFoldRangeData(Se,!0)).range||xe.firstRange)&&(Se=xe.start.row,(Se=we.getFoldAt(Se,we.getLine(Se).length,1))?we.removeFold(Se):(we.addFold("...",xe),be.renderer.scrollCursorIntoView({row:xe.start.row,column:0}))),Ae.stop())}))}})),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],(function(be,Ae,we){var xe=be("../lib/keys"),Se=be("../lib/event");function i(be){this.$editor=be,this.$data={editor:be},this.$handlers=[],this.setDefaultHandler(be.commands)}i.prototype.setDefaultHandler=function(be){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=be,this.addKeyboardHandler(be,0)},i.prototype.setKeyboardHandler=function(be){var Ae=this.$handlers;if(Ae[Ae.length-1]!=be){for(;Ae[Ae.length-1]&&Ae[Ae.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(Ae[Ae.length-1]);this.addKeyboardHandler(be,1)}},i.prototype.addKeyboardHandler=function(be,Ae){var we;be&&("function"!=typeof be||be.handleKeyboard||(be.handleKeyboard=be),-1!=(we=this.$handlers.indexOf(be))&&this.$handlers.splice(we,1),null==Ae?this.$handlers.push(be):this.$handlers.splice(Ae,0,be),-1==we)&&be.attach&&be.attach(this.$editor)},i.prototype.removeKeyboardHandler=function(be){var Ae=this.$handlers.indexOf(be);return-1!=Ae&&(this.$handlers.splice(Ae,1),be.detach&&be.detach(this.$editor),!0)},i.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},i.prototype.getStatusText=function(){var be=this.$data,Ae=be.editor;return this.$handlers.map((function(we){return we.getStatusText&&we.getStatusText(Ae,be)||""})).filter(Boolean).join(" ")},i.prototype.$callKeyboardHandlers=function(be,Ae,we,xe){for(var ke,Te=!1,Ee=this.$editor.commands,Re=this.$handlers.length;Re--&&!((ke=this.$handlers[Re].handleKeyboard(this.$data,be,Ae,we,xe))&&ke.command&&((Te="null"==ke.command||Ee.exec(ke.command,this.$editor,ke.args,xe))&&xe&&-1!=be&&1!=ke.passEvent&&1!=ke.command.passEvent&&Se.stopEvent(xe),Te)););return Te||-1!=be||(ke={command:"insertstring"},Te=Ee.exec("insertstring",this.$editor,Ae)),Te&&this.$editor._signal&&this.$editor._signal("keyboardActivity",ke),Te},i.prototype.onCommandKey=function(be,Ae,we){var Se=xe.keyCodeToString(we);return this.$callKeyboardHandlers(Ae,Se,we,be)},i.prototype.onTextInput=function(be){return this.$callKeyboardHandlers(-1,be)},Ae.KeyBinding=i})),ace.define("ace/lib/bidiutil",["require","exports","module"],(function(be,Ae,we){var xe=0,Se=0,ke=!1,Te=!1,Ee=!1,Re=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],_e=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],$e=0,Le=1,Ne=2,Me=3,Be=4,We=5,Pe=6,He=7,Ge=8,Fe=9,Oe=10,Ve=11,Ze=12,De=13,Ke=14,je=15,ze=16,Xe=17,Ye=18,Je=[Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Pe,We,Pe,Ge,We,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,We,We,We,Pe,Ge,Be,Be,Ve,Ve,Ve,Be,Be,Be,Be,Be,Oe,Fe,Oe,Fe,Fe,Ne,Ne,Ne,Ne,Ne,Ne,Ne,Ne,Ne,Ne,Fe,Be,Be,Be,Be,Be,Be,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,Be,Be,Be,Be,Be,Be,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,$e,Be,Be,Be,Be,Ye,Ye,Ye,Ye,Ye,Ye,We,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Ye,Fe,Be,Ve,Ve,Ve,Ve,Be,Be,Be,Be,$e,Be,Be,Ye,Be,Be,Ve,Ve,Ne,Ne,Be,$e,Be,Be,Be,Ne,$e,Be,Be,Be,Be,Be],Ue=[Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ge,Ye,Ye,Ye,$e,Le,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Ge,We,De,Ke,je,ze,Xe,Fe,Ve,Ve,Ve,Ve,Ve,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Fe,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Be,Ge];function c(be,Ae,we,Je){var Ue,Qe,qe,et=xe?_e:Re,tt=0,nt=-1,it=null,ot=null,rt=[];if(!Je)for(it=0,Je=[];it<we;it++)Je[it]=F(be[it]);for(Se=xe,Ee=Te=ke=!1,ot=0;ot<we;ot++){if(qe=tt,rt[ot]=Ue=function(be,Ae,we,Se){var Re,_e,Je,Ue=Ae[Se];switch(Ue){case $e:case Le:ke=!1;case Be:case Me:return Ue;case Ne:return ke?Me:Ne;case He:return ke=!0,Le;case Ge:return Be;case Fe:return Se<1||Se+1>=Ae.length||(Re=we[Se-1])!=Ne&&Re!=Me||(Qe=Ae[Se+1])!=Ne&&Qe!=Me?Be:(Qe=ke?Me:Qe)==Re?Qe:Be;case Oe:return(Re=0<Se?we[Se-1]:We)==Ne&&Se+1<Ae.length&&Ae[Se+1]==Ne?Ne:Be;case Ve:if(0<Se&&we[Se-1]==Ne)return Ne;if(ke)return Be;for(Je=Se+1,_e=Ae.length;Je<_e&&Ae[Je]==Ve;)Je++;return Je<_e&&Ae[Je]==Ne?Ne:Be;case Ze:for(_e=Ae.length,Je=Se+1;Je<_e&&Ae[Je]==Ze;)Je++;if(Je<_e){var Qe=1425<=(Qe=be[Se])&&Qe<=2303||64286==Qe;if(Re=Ae[Je],Qe&&(Re==Le||Re==He))return Le}return Se<1||(Re=Ae[Se-1])==We?Be:we[Se-1];case We:return Te=!(ke=!1),xe;case Pe:return Ee=!0,Be;case De:case Ke:case ze:case Xe:case je:ke=!1;case Ye:return Be}}(be,Je,rt,ot),qe=240&(tt=et[qe][Ue]),tt&=15,Ae[ot]=Qe=et[tt][5],0<qe){if(16==qe)for(it=nt;it<ot;it++)Ae[it]=1;nt=-1}if(et[tt][6])-1==nt&&(nt=ot);else if(-1<nt){for(it=nt;it<ot;it++)Ae[it]=Qe;nt=-1}Je[ot]==We&&(Ae[ot]=0),Se|=Qe}if(Ee)for(it=0;it<we;it++)if(Je[it]==Pe){Ae[it]=xe;for(var st=it-1;0<=st&&Je[st]==Ge;st--)Ae[st]=xe}}function h(be,Ae,we){if(!(Se<be))if(1!=be||1!=xe||Te)for(var ke,Ee,Re,_e,$e=we.length,Le=0;Le<$e;){if(Ae[Le]>=be){for(ke=Le+1;ke<$e&&Ae[ke]>=be;)ke++;for(Ee=Le,Re=ke-1;Ee<Re;Ee++,Re--)_e=we[Ee],we[Ee]=we[Re],we[Re]=_e;Le=ke}Le++}else we.reverse()}function F(be){var Ae=be.charCodeAt(0),we=Ae>>8;return 0==we?191<Ae?$e:Je[Ae]:5==we?/[\u0591-\u05f4]/.test(be)?Le:$e:6==we?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(be)?Ze:/[\u0660-\u0669\u066b-\u066c]/.test(be)?Me:1642==Ae?Ve:/[\u06f0-\u06f9]/.test(be)?Ne:He:32==we&&Ae<=8287?Ue[255&Ae]:254==we&&65136<=Ae?He:Be}Ae.L=$e,Ae.R=Le,Ae.EN=Ne,Ae.ON_R=3,Ae.AN=4,Ae.R_H=5,Ae.B=6,Ae.RLE=7,Ae.DOT="·",Ae.doBidiReorder=function(be,we,Se){if(be.length<2)return{};var ke=be.split(""),Te=new Array(ke.length),Ee=new Array(ke.length),Re=[];xe=Se?1:0,c(ke,Re,ke.length,we);for(var _e=0;_e<Te.length;Te[_e]=_e,_e++);for(h(2,Re,Te),h(1,Re,Te),_e=0;_e<Te.length-1;_e++)we[_e]===Me?Re[_e]=Ae.AN:Re[_e]===Le&&(we[_e]>He&&we[_e]<De||we[_e]===Be||we[_e]===Ye)?Re[_e]=Ae.ON_R:0<_e&&"ل"===ke[_e-1]&&/\u0622|\u0623|\u0625|\u0627/.test(ke[_e])&&(Re[_e-1]=Re[_e]=Ae.R_H,_e++);for(ke[ke.length-1]===Ae.DOT&&(Re[ke.length-1]=Ae.B),"‫"===ke[0]&&(Re[0]=Ae.RLE),_e=0;_e<Te.length;_e++)Ee[_e]=Re[Te[_e]];return{logicalFromVisual:Te,bidiLevels:Ee}},Ae.hasBidiCharacters=function(be,Ae){for(var we=!1,xe=0;xe<be.length;xe++)Ae[xe]=F(be.charAt(xe)),we||Ae[xe]!=Le&&Ae[xe]!=He&&Ae[xe]!=Me||(we=!0);return we},Ae.getVisualFromLogicalIdx=function(be,Ae){for(var we=0;we<Ae.logicalFromVisual.length;we++)if(Ae.logicalFromVisual[we]==be)return we;return 0}})),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],(function(be,Ae,we){var xe=be("./lib/bidiutil"),Se=be("./lib/lang"),ke=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/;function o(be){this.session=be,this.bidiMap={},this.currentRow=null,this.bidiUtil=xe,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=ke.test(be.getValue())}o.prototype.isBidiRow=function(be,Ae,we){return!!this.seenBidi&&(be!==this.currentRow&&(this.currentRow=be,this.updateRowLine(Ae,we),this.updateBidiMap()),this.bidiMap.bidiLevels)},o.prototype.onChange=function(be){this.seenBidi?this.currentRow=null:"insert"==be.action&&ke.test(be.lines.join("\n"))&&(this.seenBidi=!0,this.currentRow=null)},o.prototype.getDocumentRow=function(){var be=0,Ae=this.session.$screenRowCache;return Ae.length&&0<=(Ae=this.session.$getRowCacheIndex(Ae,this.currentRow))?this.session.$docRowCache[Ae]:be},o.prototype.getSplitIndex=function(){var be=0,Ae=this.session.$screenRowCache;if(Ae.length)for(var we,xe=this.session.$getRowCacheIndex(Ae,this.currentRow);0<this.currentRow-be&&(we=this.session.$getRowCacheIndex(Ae,this.currentRow-be-1))===xe;)xe=we,be++;else be=this.currentRow;return be},o.prototype.updateRowLine=function(be,Ae){var we,ke=(be=void 0===be?this.getDocumentRow():be)===this.session.getLength()-1?this.EOF:this.EOL,Te=(this.wrapIndent=0,this.line=this.session.getLine(be),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,(!this.session.$useWrapMode||(be=this.session.$wrapData[be])&&(0<(Ae=void 0===Ae?this.getSplitIndex():Ae)&&be.length?(this.wrapIndent=be.indent,this.wrapOffset=this.wrapIndent*this.charWidths[xe.L],this.line=Ae<be.length?this.line.substring(be[Ae-1],be[Ae]):this.line.substring(be[be.length-1])):this.line=this.line.substring(0,be[Ae]),Ae==be.length))&&(this.line+=this.showInvisibles?ke:xe.DOT),this.session),Ee=0;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,(function(be,Ae){return"\t"===be||Te.isFullWidth(be.charCodeAt(0))?(we="\t"===be?Te.getScreenTabSize(Ae+Ee):2,Ee+=we-1,Se.stringRepeat(xe.DOT,we)):be})),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==xe.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},o.prototype.updateBidiMap=function(){var be=[];xe.hasBidiCharacters(this.line,be)||this.isRtlDir?this.bidiMap=xe.doBidiReorder(this.line,be,this.isRtlDir):this.bidiMap={}},o.prototype.markAsDirty=function(){this.currentRow=null},o.prototype.updateCharacterWidths=function(be){var Ae;this.characterWidth!==be.$characterSize.width&&(this.fontMetrics=be,Ae=this.characterWidth=be.$characterSize.width,be=be.$measureCharWidth("ה"),this.charWidths[xe.L]=this.charWidths[xe.EN]=this.charWidths[xe.ON_R]=Ae,this.charWidths[xe.R]=this.charWidths[xe.AN]=be,this.charWidths[xe.R_H]=.45*be,this.charWidths[xe.B]=this.charWidths[xe.RLE]=0,this.currentRow=null)},o.prototype.setShowInvisibles=function(be){this.showInvisibles=be,this.currentRow=null},o.prototype.setEolChar=function(be){this.EOL=be},o.prototype.setContentWidth=function(be){this.contentWidth=be},o.prototype.isRtlLine=function(be){return!!this.$isRtl||(null!=be?this.session.getLine(be).charAt(0)==this.RLE:this.isRtlDir)},o.prototype.setRtlDirection=function(be,Ae){for(var we=be.getCursorPosition(),xe=be.selection.getSelectionAnchor().row;xe<=we.row;xe++)Ae||be.session.getLine(xe).charAt(0)!==be.session.$bidiHandler.RLE?Ae&&be.session.getLine(xe).charAt(0)!==be.session.$bidiHandler.RLE&&be.session.doc.insert({column:0,row:xe},be.session.$bidiHandler.RLE):be.session.doc.removeInLine(xe,0,1)},o.prototype.getPosLeft=function(be){be-=this.wrapIndent;var Ae=this.line.charAt(0)===this.RLE?1:0,we=Ae<be?this.session.getOverwrite()?be:be-1:Ae,Se=xe.getVisualFromLogicalIdx(we,this.bidiMap),ke=this.bidiMap.bidiLevels,Te=0;!this.session.getOverwrite()&&be<=Ae&&ke[Se]%2!=0&&Se++;for(var Ee=0;Ee<Se;Ee++)Te+=this.charWidths[ke[Ee]];return!this.session.getOverwrite()&&Ae<be&&ke[Se]%2==0&&(Te+=this.charWidths[ke[Se]]),this.wrapIndent&&(Te+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(Te+=this.rtlLineOffset),Te},o.prototype.getSelections=function(be,Ae){var we,xe=this.bidiMap,Se=xe.bidiLevels,ke=[],Te=0,Ee=Math.min(be,Ae)-this.wrapIndent,Re=Math.max(be,Ae)-this.wrapIndent,_e=!1,$e=!1,Le=0;this.wrapIndent&&(Te+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var Ne,Me=0;Me<Se.length;Me++)Ne=xe.logicalFromVisual[Me],we=Se[Me],(_e=Ee<=Ne&&Ne<Re)&&!$e?Le=Te:!_e&&$e&&ke.push({left:Le,width:Te-Le}),Te+=this.charWidths[we],$e=_e;if(_e&&Me===Se.length&&ke.push({left:Le,width:Te-Le}),this.isRtlDir)for(var Be=0;Be<ke.length;Be++)ke[Be].left+=this.rtlLineOffset;return ke},o.prototype.offsetToCol=function(be){this.isRtlDir&&(be-=this.rtlLineOffset);var Ae=0,we=(be=Math.max(be,0),0),xe=0,Se=this.bidiMap.bidiLevels,ke=this.charWidths[Se[xe]];for(this.wrapIndent&&(be-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);we+ke/2<be;){if(we+=ke,xe===Se.length-1){ke=0;break}ke=this.charWidths[Se[++xe]]}return 0===(Ae=0<xe&&Se[xe-1]%2!=0&&Se[xe]%2==0?(be<we&&xe--,this.bidiMap.logicalFromVisual[xe]):0<xe&&Se[xe-1]%2==0&&Se[xe]%2!=0?1+(we<be?this.bidiMap.logicalFromVisual[xe]:this.bidiMap.logicalFromVisual[xe-1]):this.isRtlDir&&xe===Se.length-1&&0===ke&&Se[xe-1]%2==0||!this.isRtlDir&&0===xe&&Se[xe]%2!=0?1+this.bidiMap.logicalFromVisual[xe]:(0<xe&&Se[xe-1]%2!=0&&0!==ke&&xe--,this.bidiMap.logicalFromVisual[xe]))&&this.isRtlDir&&Ae++,Ae+this.wrapIndent},Ae.BidiHandler=o})),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],(function(be,Ae,we){var xe=be("./lib/oop"),Se=be("./lib/lang"),ke=be("./lib/event_emitter").EventEmitter,Te=be("./range").Range;function a(be){this.session=be,this.doc=be.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var Ae=this;this.cursor.on("change",(function(be){Ae.$cursorChanged=!0,Ae.$silent||Ae._emit("changeCursor"),Ae.$isEmpty||Ae.$silent||Ae._emit("changeSelection"),Ae.$keepDesiredColumnOnChange||be.old.column==be.value.column||(Ae.$desiredColumn=null)})),this.anchor.on("change",(function(){Ae.$anchorChanged=!0,Ae.$isEmpty||Ae.$silent||Ae._emit("changeSelection")}))}a.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},a.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},a.prototype.getCursor=function(){return this.lead.getPosition()},a.prototype.setAnchor=function(be,Ae){this.$isEmpty=!1,this.anchor.setPosition(be,Ae)},a.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},a.prototype.getSelectionLead=function(){return this.lead.getPosition()},a.prototype.isBackwards=function(){var be=this.anchor,Ae=this.lead;return be.row>Ae.row||be.row==Ae.row&&be.column>Ae.column},a.prototype.getRange=function(){var be=this.anchor,Ae=this.lead;return this.$isEmpty?Te.fromPoints(Ae,Ae):this.isBackwards()?Te.fromPoints(Ae,be):Te.fromPoints(be,Ae)},a.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},a.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},a.prototype.setRange=function(be,Ae){var we=Ae?be.end:be.start;Ae=Ae?be.start:be.end,this.$setSelection(we.row,we.column,Ae.row,Ae.column)},a.prototype.$setSelection=function(be,Ae,we,xe){var Se,ke;!this.$silent&&(Se=this.$isEmpty,ke=this.inMultiSelectMode,this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(be,Ae),this.cursor.setPosition(we,xe),this.$isEmpty=!Te.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),this.$cursorChanged||this.$anchorChanged||Se!=this.$isEmpty||ke)&&this._emit("changeSelection")},a.prototype.$moveSelection=function(be){var Ae=this.lead;this.$isEmpty&&this.setSelectionAnchor(Ae.row,Ae.column),be.call(this)},a.prototype.selectTo=function(be,Ae){this.$moveSelection((function(){this.moveCursorTo(be,Ae)}))},a.prototype.selectToPosition=function(be){this.$moveSelection((function(){this.moveCursorToPosition(be)}))},a.prototype.moveTo=function(be,Ae){this.clearSelection(),this.moveCursorTo(be,Ae)},a.prototype.moveToPosition=function(be){this.clearSelection(),this.moveCursorToPosition(be)},a.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},a.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},a.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},a.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},a.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},a.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},a.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},a.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},a.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},a.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},a.prototype.getWordRange=function(be,Ae){var we;return void 0===Ae&&(be=(we=be||this.lead).row,Ae=we.column),this.session.getWordRange(be,Ae)},a.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},a.prototype.selectAWord=function(){var be=this.getCursor();be=this.session.getAWordRange(be.row,be.column),this.setSelectionRange(be)},a.prototype.getLineRange=function(be,Ae){be="number"==typeof be?be:this.lead.row;var we=(we=this.session.getFoldLine(be))?(be=we.start.row,we.end.row):be;return!0===Ae?new Te(be,0,we,this.session.getLine(we).length):new Te(be,0,we+1,0)},a.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},a.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},a.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},a.prototype.wouldMoveIntoSoftTab=function(be,Ae,we){var xe=be.column,Se=be.column+Ae;return we<0&&(xe=be.column-Ae,Se=be.column),this.session.isTabStop(be)&&this.doc.getLine(be.row).slice(xe,Se).split(" ").length-1==Ae},a.prototype.moveCursorLeft=function(){var be,Ae=this.lead.getPosition();(be=this.session.getFoldAt(Ae.row,Ae.column,-1))?this.moveCursorTo(be.start.row,be.start.column):0===Ae.column?0<Ae.row&&this.moveCursorTo(Ae.row-1,this.doc.getLine(Ae.row-1).length):(be=this.session.getTabSize(),this.wouldMoveIntoSoftTab(Ae,be,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-be):this.moveCursorBy(0,-1))},a.prototype.moveCursorRight=function(){var be,Ae=this.lead.getPosition();(be=this.session.getFoldAt(Ae.row,Ae.column,1))?this.moveCursorTo(be.end.row,be.end.column):this.lead.column==this.doc.getLine(this.lead.row).length?this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0):(be=this.session.getTabSize(),Ae=this.lead,this.wouldMoveIntoSoftTab(Ae,be,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,be):this.moveCursorBy(0,1))},a.prototype.moveCursorLineStart=function(){var be=this.lead.row,Ae=this.lead.column,we=this.session.documentToScreenRow(be,Ae);we=this.session.screenToDocumentPosition(we,0),(be=this.session.getDisplayLine(be,null,we.row,we.column).match(/^\s*/))[0].length==Ae||this.session.$useEmacsStyleLineStart||(we.column+=be[0].length),this.moveCursorToPosition(we)},a.prototype.moveCursorLineEnd=function(){var be,Ae=this.lead;Ae=this.session.getDocumentLastRowColumnPosition(Ae.row,Ae.column),this.lead.column==Ae.column&&(be=this.session.getLine(Ae.row),Ae.column==be.length)&&0<(be=be.search(/\s+$/))&&(Ae.column=be),this.moveCursorTo(Ae.row,Ae.column)},a.prototype.moveCursorFileEnd=function(){var be=this.doc.getLength()-1,Ae=this.doc.getLine(be).length;this.moveCursorTo(be,Ae)},a.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},a.prototype.moveCursorLongWordRight=function(){var be=this.lead.row,Ae=this.lead.column,we=this.doc.getLine(be),xe=we.substring(Ae),Se=(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.getFoldAt(be,Ae,1));Se?this.moveCursorTo(Se.end.row,Se.end.column):(this.session.nonTokenRe.exec(xe)&&(Ae+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,xe=we.substring(Ae)),Ae>=we.length?(this.moveCursorTo(be,we.length),this.moveCursorRight(),be<this.doc.getLength()-1&&this.moveCursorWordRight()):(this.session.tokenRe.exec(xe)&&(Ae+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(be,Ae)))},a.prototype.moveCursorLongWordLeft=function(){var be,Ae=this.lead.row,we=this.lead.column;(be=this.session.getFoldAt(Ae,we,-1))?this.moveCursorTo(be.start.row,be.start.column):(null==(be=this.session.getFoldStringAt(Ae,we,-1))&&(be=this.doc.getLine(Ae).substring(0,we)),be=Se.stringReverse(be),this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(be)&&(we-=this.session.nonTokenRe.lastIndex,be=be.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),we<=0?(this.moveCursorTo(Ae,0),this.moveCursorLeft(),0<Ae&&this.moveCursorWordLeft()):(this.session.tokenRe.exec(be)&&(we-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(Ae,we)))},a.prototype.$shortWordEndIndex=function(be){var Ae,we=0,xe=/\s/,Se=this.session.tokenRe;if(Se.lastIndex=0,this.session.tokenRe.exec(be))we=this.session.tokenRe.lastIndex;else{for(;(Ae=be[we])&&xe.test(Ae);)we++;if(we<1)for(Se.lastIndex=0;(Ae=be[we])&&!Se.test(Ae);)if(Se.lastIndex=0,we++,xe.test(Ae)){if(2<we){we--;break}for(;(Ae=be[we])&&xe.test(Ae);)we++;if(2<we)break}}return Se.lastIndex=0,we},a.prototype.moveCursorShortWordRight=function(){var be=this.lead.row,Ae=this.lead.column,we=this.doc.getLine(be),xe=we.substring(Ae),Se=this.session.getFoldAt(be,Ae,1);if(Se)return this.moveCursorTo(Se.end.row,Se.end.column);if(Ae==we.length){for(var ke=this.doc.getLength();xe=this.doc.getLine(++be),be<ke&&/^\s*$/.test(xe););/^\s+/.test(xe)||(xe=""),Ae=0}Se=this.$shortWordEndIndex(xe),this.moveCursorTo(be,Ae+Se)},a.prototype.moveCursorShortWordLeft=function(){var be=this.lead.row,Ae=this.lead.column;if(xe=this.session.getFoldAt(be,Ae,-1))return this.moveCursorTo(xe.start.row,xe.start.column);var we=this.session.getLine(be).substring(0,Ae);if(0===Ae){for(;we=this.doc.getLine(--be),0<be&&/^\s*$/.test(we););Ae=we.length,/\s+$/.test(we)||(we="")}var xe=Se.stringReverse(we);return xe=this.$shortWordEndIndex(xe),this.moveCursorTo(be,Ae-xe)},a.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},a.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},a.prototype.moveCursorBy=function(be,Ae){var we,xe=this.session.documentToScreenPosition(this.lead.row,this.lead.column),Se=(0===Ae&&(0!==be&&(this.session.$bidiHandler.isBidiRow(xe.row,this.lead.row)?(we=this.session.$bidiHandler.getPosLeft(xe.column),xe.column=Math.round(we/this.session.$bidiHandler.charWidths[0])):we=xe.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?xe.column=this.$desiredColumn:this.$desiredColumn=xe.column),0!=be&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]&&(Se=this.session.lineWidgets[this.lead.row],be<0?be-=Se.rowsAbove||0:0<be&&(be+=Se.rowCount-(Se.rowsAbove||0))),this.session.screenToDocumentPosition(xe.row+be,xe.column,we));0!==be&&0===Ae&&Se.row===this.lead.row&&(Se.column,this.lead.column),this.moveCursorTo(Se.row,Se.column+Ae,0===Ae)},a.prototype.moveCursorToPosition=function(be){this.moveCursorTo(be.row,be.column)},a.prototype.moveCursorTo=function(be,Ae,we){var xe=((xe=this.session.getFoldAt(be,Ae,1))&&(be=xe.start.row,Ae=xe.start.column),this.$keepDesiredColumnOnChange=!0,this.session.getLine(be));/[\uDC00-\uDFFF]/.test(xe.charAt(Ae))&&xe.charAt(Ae-1)&&(this.lead.row==be&&this.lead.column==Ae+1?Ae-=1:Ae+=1),this.lead.setPosition(be,Ae),this.$keepDesiredColumnOnChange=!1,we||(this.$desiredColumn=null)},a.prototype.moveCursorToScreen=function(be,Ae,we){be=this.session.screenToDocumentPosition(be,Ae),this.moveCursorTo(be.row,be.column,we)},a.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},a.prototype.fromOrientedRange=function(be){this.setSelectionRange(be,be.cursor==be.start),this.$desiredColumn=be.desiredColumn||this.$desiredColumn},a.prototype.toOrientedRange=function(be){var Ae=this.getRange();return be?(be.start.column=Ae.start.column,be.start.row=Ae.start.row,be.end.column=Ae.end.column,be.end.row=Ae.end.row):be=Ae,be.cursor=this.isBackwards()?be.start:be.end,be.desiredColumn=this.$desiredColumn,be},a.prototype.getRangeOfMovements=function(be){var Ae=this.getCursor();try{be(this);var we=this.getCursor();return Te.fromPoints(Ae,we)}catch(be){return Te.fromPoints(Ae,Ae)}finally{this.moveCursorToPosition(Ae)}},a.prototype.toJSON=function(){var be;return this.rangeCount?be=this.ranges.map((function(be){var Ae=be.clone();return Ae.isBackwards=be.cursor==be.start,Ae})):(be=this.getRange()).isBackwards=this.isBackwards(),be},a.prototype.fromJSON=function(be){if(null==be.start){if(this.rangeList&&1<be.length){this.toSingleRange(be[0]);for(var Ae=be.length;Ae--;){var we=Te.fromPoints(be[Ae].start,be[Ae].end);be[Ae].isBackwards&&(we.cursor=we.start),this.addRange(we,!0)}return}be=be[0]}this.rangeList&&this.toSingleRange(be),this.setSelectionRange(be,be.isBackwards)},a.prototype.isEqual=function(be){if((be.length||this.rangeCount)&&be.length!=this.rangeCount)return!1;if(!be.length||!this.ranges)return this.getRange().isEqual(be);for(var Ae=this.ranges.length;Ae--;)if(!this.ranges[Ae].isEqual(be[Ae]))return!1;return!0},(be=a).prototype.setSelectionAnchor=be.prototype.setAnchor,be.prototype.getSelectionAnchor=be.prototype.getAnchor,be.prototype.setSelectionRange=be.prototype.setRange,xe.implement(be.prototype,ke),Ae.Selection=be})),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],(function(be,Ae,we){be=be("./lib/report_error").reportError;var xe=2e3,Se=(o.prototype.$setMaxTokenCount=function(be){xe=0|be},o.prototype.$applyToken=function(be){var Ae=this.splitRegex.exec(be).slice(1),we=this.token.apply(this,Ae);if("string"==typeof we)return[{type:we,value:be}];for(var xe=[],Se=0,ke=we.length;Se<ke;Se++)Ae[Se]&&(xe[xe.length]={type:we[Se],value:Ae[Se]});return xe},o.prototype.$arrayTokens=function(be){if(!be)return[];var Ae=this.splitRegex.exec(be);if(!Ae)return"text";for(var we=[],xe=this.tokenArray,Se=0,ke=xe.length;Se<ke;Se++)Ae[Se+1]&&(we[we.length]={type:xe[Se],value:Ae[Se+1]});return we},o.prototype.removeCapturingGroups=function(be){return be.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,(function(be,Ae){return Ae?"(?:":be}))},o.prototype.createSplitterRegexp=function(be,Ae){var we,xe,Se;return"$"!=(be="^"!=(be=-1!=be.indexOf("(?=")&&(we=0,xe=!1,Se={},be.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,(function(be,Ae,ke,Te,Ee,Re){return xe?xe="]"!=Ee:Ee?xe=!0:Te?(we==Se.stack&&(Se.end=Re+1,Se.stack=-1),we--):ke&&(we++,1!=ke.length)&&(Se.stack=we,Se.start=Re),be})),null!=Se.end)&&/^\)*$/.test(be.substr(Se.end))?be.substring(0,Se.start)+be.substr(Se.end):be).charAt(0)?"^"+be:be).charAt(be.length-1)&&(be+="$"),new RegExp(be,(Ae||"").replace("g",""))},o.prototype.getLineTokens=function(be,Ae){Ae&&"string"!=typeof Ae?"#tmp"===(Ae=(we=Ae.slice(0))[0])&&(we.shift(),Ae=we.shift()):we=[];for(var we,Se,ke=Ae||"start",Te=(Te=this.states[ke])||this.states[ke="start"],Ee=this.matchMappings[ke],Re=this.regExps[ke],_e=[],$e=Re.lastIndex=0,Le=0,Ne={type:null,value:""};Se=Re.exec(be);){var Me,Be=Ee.defaultToken,We=null,Pe=Se[0],He=Re.lastIndex;He-Pe.length>$e&&(Me=be.substring($e,He-Pe.length),Ne.type==Be?Ne.value+=Me:(Ne.type&&_e.push(Ne),Ne={type:Be,value:Me}));for(var Ge=0;Ge<Se.length-2;Ge++)if(void 0!==Se[Ge+1]){Be=(We=Te[Ee[Ge]]).onMatch?We.onMatch(Pe,ke,we,be):We.token,We.next&&(ke="string"==typeof We.next?We.next:We.next(ke,we),(Te=this.states[ke])||(this.reportError("state doesn't exist",ke),Te=this.states[ke="start"]),Ee=this.matchMappings[ke],(Re=this.regExps[ke]).lastIndex=$e=He),We.consumeLineEnd&&($e=He);break}if(Pe)if("string"==typeof Be)We&&!1===We.merge||Ne.type!==Be?(Ne.type&&_e.push(Ne),Ne={type:Be,value:Pe}):Ne.value+=Pe;else if(Be)for(Ne.type&&_e.push(Ne),Ne={type:null,value:""},Ge=0;Ge<Be.length;Ge++)_e.push(Be[Ge]);if($e==be.length)break;if($e=He,Le++>xe){for(Le>2*be.length&&this.reportError("infinite loop with in ace tokenizer",{startState:Ae,line:be});$e<be.length;)Ne.type&&_e.push(Ne),Ne={value:be.substring($e,$e+=500),type:"overflow"};ke="start",we=[];break}}return Ne.type&&_e.push(Ne),1<we.length&&we[0]!==ke&&we.unshift("#tmp",ke),{tokens:_e,state:we.length?we:ke}},o);function o(be){for(var Ae in this.splitRegex,this.states=be,this.regExps={},this.matchMappings={},this.states){for(var we=this.states[Ae],xe=[],Se=0,ke=this.matchMappings[Ae]={defaultToken:"text"},Te="g",Ee=[],Re=0;Re<we.length;Re++){var _e,$e,Le=we[Re];Le.defaultToken&&(ke.defaultToken=Le.defaultToken),Le.caseInsensitive&&-1===Te.indexOf("i")&&(Te+="i"),Le.unicode&&-1===Te.indexOf("u")&&(Te+="u"),null==Le.regex||(Le.regex instanceof RegExp&&(Le.regex=Le.regex.toString().slice(1,-1)),_e=Le.regex,$e=new RegExp("(?:("+_e+")|(.))").exec("a").length-2,Array.isArray(Le.token)?1==Le.token.length||1==$e?Le.token=Le.token[0]:$e-1!=Le.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:Le,groupCount:$e-1}),Le.token=Le.token[0]):(Le.tokenArray=Le.token,Le.token=null,Le.onMatch=this.$arrayTokens):"function"!=typeof Le.token||Le.onMatch||(Le.onMatch=1<$e?this.$applyToken:Le.token),1<$e&&(_e=/\\\d/.test(Le.regex)?Le.regex.replace(/\\([0-9]+)/g,(function(be,Ae){return"\\"+(parseInt(Ae,10)+Se+1)})):($e=1,this.removeCapturingGroups(Le.regex)),Le.splitRegex||"string"==typeof Le.token||Ee.push(Le)),ke[Se]=Re,Se+=$e,xe.push(_e),Le.onMatch)||(Le.onMatch=null)}xe.length||(ke[0]=0,xe.push("$")),Ee.forEach((function(be){be.splitRegex=this.createSplitterRegexp(be.regex,Te)}),this),this.regExps[Ae]=new RegExp("("+xe.join(")|(")+")|($)",Te)}}Se.prototype.reportError=be,Ae.Tokenizer=Se})),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],(function(be,Ae,we){var xe=be("../lib/deep_copy").deepCopy;(function(){function d(be,Ae){return"start"==be&&!Ae.length||Ae.unshift(this.nextState,be),this.nextState}function u(be,Ae){return Ae.shift(),Ae.shift()||"start"}this.addRules=function(be,Ae){if(Ae)for(var we in be){for(var xe=be[we],Se=0;Se<xe.length;Se++){var ke=xe[Se];(ke.next||ke.onMatch)&&("string"==typeof ke.next&&0!==ke.next.indexOf(Ae)&&(ke.next=Ae+ke.next),ke.nextState)&&0!==ke.nextState.indexOf(Ae)&&(ke.nextState=Ae+ke.nextState)}this.$rules[Ae+we]=xe}else for(var we in be)this.$rules[we]=be[we]},this.getRules=function(){return this.$rules},this.embedRules=function(be,Ae,we,Se,ke){if(be="function"==typeof be?(new be).getRules():be,Se)for(var Te=0;Te<Se.length;Te++)Se[Te]=Ae+Se[Te];else for(var Ee in Se=[],be)Se.push(Ae+Ee);if(this.addRules(be,Ae),we){var Re=Array.prototype[ke?"push":"unshift"];for(Te=0;Te<Se.length;Te++)Re.apply(this.$rules[Se[Te]],xe(we))}this.$embeds||(this.$embeds=[]),this.$embeds.push(Ae)},this.getEmbeds=function(){return this.$embeds},this.normalizeRules=function(){var be=0,Ae=this.$rules;Object.keys(Ae).forEach((function e(we){var xe=Ae[we];xe.processed=!0;for(var Se=0;Se<xe.length;Se++){var ke=xe[Se],Te=null,Ee=(Array.isArray(ke)&&(Te=ke,ke={}),!ke.regex&&ke.start&&(ke.regex=ke.start,ke.next||(ke.next=[]),ke.next.push({defaultToken:ke.token},{token:ke.token+".end",regex:ke.end||ke.start,next:"pop"}),ke.token=ke.token+".start",ke.push=!0),ke.next||ke.push);if(Ee&&Array.isArray(Ee)?((_e=ke.stateName)||("string"!=typeof(_e=ke.token)&&(_e=_e[0]||""),Ae[_e]&&(_e+=be++)),Ae[_e]=Ee,e(ke.next=_e)):"pop"==Ee&&(ke.next=u),ke.push&&(ke.nextState=ke.next||ke.push,ke.next=d,delete ke.push),ke.rules)for(var Re in ke.rules)Ae[Re]?Ae[Re].push&&Ae[Re].push.apply(Ae[Re],ke.rules[Re]):Ae[Re]=ke.rules[Re];var _e="string"==typeof ke?ke:ke.include;_e&&("$self"===_e&&(_e="start"),Te=Array.isArray(_e)?_e.map((function(be){return Ae[be]})):Ae[_e]),Te&&(Ee=[Se,1].concat(Te),ke.noEscape&&(Ee=Ee.filter((function(be){return!be.next}))),xe.splice.apply(xe,Ee),Se--),ke.keywordMap&&(ke.token=this.createKeywordMapper(ke.keywordMap,ke.defaultToken||"text",ke.caseInsensitive),delete ke.defaultToken)}}),this)},this.createKeywordMapper=function(be,Ae,we,xe){var Se=Object.create(null);return this.$keywordList=[],Object.keys(be).forEach((function(Ae){for(var ke=be[Ae].split(xe||"|"),Te=ke.length;Te--;){var Ee=ke[Te];this.$keywordList.push(Ee),we&&(Ee=Ee.toLowerCase()),Se[Ee]=Ae}}),this),be=null,we?function(be){return Se[be.toLowerCase()]||Ae}:function(be){return Se[be]||Ae}},this.getKeywords=function(){return this.$keywords}}).call((be=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}}).prototype),Ae.TextHighlightRules=be})),ace.define("ace/mode/behaviour",["require","exports","module"],(function(be,Ae,we){var i=function(){this.$behaviours={}};(function(){this.add=function(be,Ae,we){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[be]:this.$behaviours[be]={}}this.$behaviours[be][Ae]=we},this.addBehaviours=function(be){for(var Ae in be)for(var we in be[Ae])this.add(Ae,we,be[Ae][we])},this.remove=function(be){this.$behaviours&&this.$behaviours[be]&&delete this.$behaviours[be]},this.inherit=function(be,Ae){be=("function"==typeof be?new be:be).getBehaviours(Ae),this.addBehaviours(be)},this.getBehaviours=function(be){if(be){for(var Ae={},we=0;we<be.length;we++)this.$behaviours[be[we]]&&(Ae[be[we]]=this.$behaviours[be[we]]);return Ae}return this.$behaviours}}).call(i.prototype),Ae.Behaviour=i})),ace.define("ace/token_iterator",["require","exports","module","ace/range"],(function(be,Ae,we){var xe=be("./range").Range;function o(be,Ae,we){this.$session=be,this.$row=Ae,this.$rowTokens=be.getTokens(Ae),be=be.getTokenAt(Ae,we),this.$tokenIndex=be?be.index:-1}o.prototype.stepBackward=function(){for(--this.$tokenIndex;this.$tokenIndex<0;){if(--this.$row,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},o.prototype.stepForward=function(){var be;for(this.$tokenIndex+=1;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,be=be||this.$session.getLength(),this.$row>=be)return this.$row=be-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},o.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},o.prototype.getCurrentTokenRow=function(){return this.$row},o.prototype.getCurrentTokenColumn=function(){var be=this.$rowTokens,Ae=this.$tokenIndex,we=be[Ae].start;if(void 0===we)for(we=0;0<Ae;)we+=be[--Ae].value.length;return we},o.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},o.prototype.getCurrentTokenRange=function(){var be=this.$rowTokens[this.$tokenIndex],Ae=this.getCurrentTokenColumn();return new xe(this.$row,Ae,this.$row,Ae+be.value.length)},Ae.TokenIterator=o})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(be,Ae,we){function g(be){var Ae=-1;if(($e=be.multiSelect&&(Ae=be.selection.index,$e.rangeCount!=be.multiSelect.rangeCount)?{rangeCount:be.multiSelect.rangeCount}:$e)[Ae])return xe=$e[Ae];xe=$e[Ae]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}}function p(be,Ae,we,xe){var Se=be.end.row-be.start.row;return{text:we+Ae+xe,selection:[0,be.start.column+1,Se,be.end.column+(Se?0:1)]}}var xe,Se=be("../../lib/oop"),ke=be("../behaviour").Behaviour,Te=be("../../token_iterator").TokenIterator,Ee=be("../../lib/lang"),Re=["text","paren.rparen","rparen","paren","punctuation.operator"],_e=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],$e={},Le={'"':'"',"'":"'"},y=function(be){be=be||{},this.add("braces","insertion",(function(Ae,we,Se,ke,Te){var Re=Se.getCursorPosition(),_e=ke.doc.getLine(Re.row);if("{"==Te){g(Se);var $e=Se.getSelectionRange(),Le=ke.doc.getTextRange($e),Ne=ke.getTokenAt(Re.row,Re.column);if(""!==Le&&"{"!==Le&&Se.getWrapBehavioursEnabled())return p($e,Le,"{","}");if(Ne&&/(?:string)\.quasi|\.xml/.test(Ne.type)){if(!([/tag\-(?:open|name)/,/attribute\-name/].some((function(be){return be.test(Ne.type)}))||/(string)\.quasi/.test(Ne.type)&&"$"!==Ne.value[Re.column-Ne.start-1]))return y.recordAutoInsert(Se,ke,"}"),{text:"{}",selection:[1,1]}}else if(y.isSaneInsertion(Se,ke))return/[\]\}\)]/.test(_e[Re.column])||Se.inMultiSelectMode||be.braces?(y.recordAutoInsert(Se,ke,"}"),{text:"{}",selection:[1,1]}):(y.recordMaybeInsert(Se,ke,"{"),{text:"{",selection:[1,1]})}else if("}"==Te){g(Se);var Me=_e.substring(Re.column,Re.column+1);if("}"==Me&&null!==ke.$findOpeningBracket("}",{column:Re.column+1,row:Re.row})&&y.isAutoInsertedClosing(Re,_e,Te))return y.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else{if("\n"==Te||"\r\n"==Te){if(g(Se),$e="",y.isMaybeInsertedClosing(Re,_e)&&($e=Ee.stringRepeat("}",xe.maybeInsertedBrackets),y.clearMaybeInsertedClosing()),"}"===(Me=_e.substring(Re.column,Re.column+1))){if(!(Le=ke.findMatchingBracket({row:Re.row,column:Re.column+1},"}")))return null;var Be=this.$getIndent(ke.getLine(Le.row))}else{if(!$e)return void y.clearMaybeInsertedClosing();Be=this.$getIndent(_e)}return{text:"\n"+(Te=Be+ke.getTabString())+"\n"+Be+$e,selection:[1,Te.length,1,Te.length]}}y.clearMaybeInsertedClosing()}})),this.add("braces","deletion",(function(be,Ae,we,Se,ke){var Te=Se.doc.getTextRange(ke);if(!ke.isMultiLine()&&"{"==Te){if(g(we),"}"==Se.doc.getLine(ke.start.row).substring(ke.end.column,ke.end.column+1))return ke.end.column++,ke;xe.maybeInsertedBrackets--}})),this.add("parens","insertion",(function(be,Ae,we,xe,Se){if("("==Se)return g(we),ke=we.getSelectionRange(),""!==(Te=xe.doc.getTextRange(ke))&&we.getWrapBehavioursEnabled()?p(ke,Te,"(",")"):y.isSaneInsertion(we,xe)?(y.recordAutoInsert(we,xe,")"),{text:"()",selection:[1,1]}):void 0;if(")"==Se){g(we);var ke=we.getCursorPosition(),Te=xe.doc.getLine(ke.row);if(")"==(we=Te.substring(ke.column,ke.column+1))&&null!==xe.$findOpeningBracket(")",{column:ke.column+1,row:ke.row})&&y.isAutoInsertedClosing(ke,Te,Se))return y.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(be,Ae,we,xe,Se){var ke=xe.doc.getTextRange(Se);if(!Se.isMultiLine()&&"("==ke&&(g(we),")"==xe.doc.getLine(Se.start.row).substring(Se.start.column+1,Se.start.column+2)))return Se.end.column++,Se})),this.add("brackets","insertion",(function(be,Ae,we,xe,Se){if("["==Se)return g(we),ke=we.getSelectionRange(),""!==(Te=xe.doc.getTextRange(ke))&&we.getWrapBehavioursEnabled()?p(ke,Te,"[","]"):y.isSaneInsertion(we,xe)?(y.recordAutoInsert(we,xe,"]"),{text:"[]",selection:[1,1]}):void 0;if("]"==Se){g(we);var ke=we.getCursorPosition(),Te=xe.doc.getLine(ke.row);if("]"==(we=Te.substring(ke.column,ke.column+1))&&null!==xe.$findOpeningBracket("]",{column:ke.column+1,row:ke.row})&&y.isAutoInsertedClosing(ke,Te,Se))return y.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(be,Ae,we,xe,Se){var ke=xe.doc.getTextRange(Se);if(!Se.isMultiLine()&&"["==ke&&(g(we),"]"==xe.doc.getLine(Se.start.row).substring(Se.start.column+1,Se.start.column+2)))return Se.end.column++,Se})),this.add("string_dquotes","insertion",(function(be,Ae,we,xe,Se){var ke=xe.$mode.$quotes||Le;if(1==Se.length&&ke[Se]&&(!this.lineCommentStart||-1==this.lineCommentStart.indexOf(Se))){g(we);var Te=we.getSelectionRange();if(!(""===(Ee=xe.doc.getTextRange(Te))||1==Ee.length&&ke[Ee])&&we.getWrapBehavioursEnabled())return p(Te,Ee,Se,Se);if(!Ee){ke=we.getCursorPosition();var Ee=(Te=xe.doc.getLine(ke.row)).substring(ke.column-1,ke.column),Re=(we=Te.substring(ke.column,ke.column+1),xe.getTokenAt(ke.row,ke.column)),_e=xe.getTokenAt(ke.row,ke.column+1);if("\\"==Ee&&Re&&/escape/.test(Re.type))return null;Re=Re&&/string|escape/.test(Re.type);var $e,Ne=!_e||/string|escape/.test(_e.type);if(we==Se)($e=Re!==Ne)&&/string\.end/.test(_e.type)&&($e=!1);else{if(Re&&!Ne)return null;if(Re&&Ne)return null;if((_e=xe.$mode.tokenRe).lastIndex=0,Re=_e.test(Ee),_e.lastIndex=0,Ne=_e.test(we),!((xe=xe.$mode.$pairQuotesAfter)&&xe[Se]&&xe[Se].test(Ee))&&Re||Ne)return null;if(we&&!/[\s;,.})\]\\]/.test(we))return null;if(xe=Te[ke.column-2],Ee==Se&&(xe==Se||_e.test(xe)))return null;$e=!0}return{text:$e?Se+Se:"",selection:[1,1]}}}})),this.add("string_dquotes","deletion",(function(be,Ae,we,xe,Se){var ke=xe.$mode.$quotes||Le,Te=xe.doc.getTextRange(Se);if(!Se.isMultiLine()&&ke.hasOwnProperty(Te)&&(g(we),xe.doc.getLine(Se.start.row).substring(Se.start.column+1,Se.start.column+2)==Te))return Se.end.column++,Se})),!1!==be.closeDocComment&&this.add("doc comment end","insertion",(function(be,Ae,we,xe,Se){var ke;if("doc-start"===be&&("\n"===Se||"\r\n"===Se)&&we.selection.isEmpty())return be=we.getCursorPosition(),we=xe.doc.getLine(be.row),xe=xe.doc.getLine(be.row+1),ke=this.$getIndent(we),/\s*\*/.test(xe)?/^\s*\*/.test(we)?{text:Se+ke+"* ",selection:[1,3+ke.length,1,3+ke.length]}:{text:Se+ke+" * ",selection:[1,3+ke.length,1,3+ke.length]}:/\/\*\*/.test(we.substring(0,be.column))?{text:Se+ke+" * "+Se+" "+ke+"*/",selection:[1,4+ke.length,1,4+ke.length]}:void 0}))};y.isSaneInsertion=function(be,Ae){var we=be.getCursorPosition(),xe=new Te(Ae,we.row,we.column);if(!this.$matchTokenType(xe.getCurrentToken()||"text",Re)){if(/[)}\]]/.test(be.session.getLine(we.row)[we.column]))return!0;if(be=new Te(Ae,we.row,we.column+1),!this.$matchTokenType(be.getCurrentToken()||"text",Re))return!1}return xe.stepForward(),xe.getCurrentTokenRow()!==we.row||this.$matchTokenType(xe.getCurrentToken()||"text",_e)},y.$matchTokenType=function(be,Ae){return-1<Ae.indexOf(be.type||be)},y.recordAutoInsert=function(be,Ae,we){be=be.getCursorPosition(),Ae=Ae.doc.getLine(be.row),this.isAutoInsertedClosing(be,Ae,xe.autoInsertedLineEnd[0])||(xe.autoInsertedBrackets=0),xe.autoInsertedRow=be.row,xe.autoInsertedLineEnd=we+Ae.substr(be.column),xe.autoInsertedBrackets++},y.recordMaybeInsert=function(be,Ae,we){be=be.getCursorPosition(),Ae=Ae.doc.getLine(be.row),this.isMaybeInsertedClosing(be,Ae)||(xe.maybeInsertedBrackets=0),xe.maybeInsertedRow=be.row,xe.maybeInsertedLineStart=Ae.substr(0,be.column)+we,xe.maybeInsertedLineEnd=Ae.substr(be.column),xe.maybeInsertedBrackets++},y.isAutoInsertedClosing=function(be,Ae,we){return 0<xe.autoInsertedBrackets&&be.row===xe.autoInsertedRow&&we===xe.autoInsertedLineEnd[0]&&Ae.substr(be.column)===xe.autoInsertedLineEnd},y.isMaybeInsertedClosing=function(be,Ae){return 0<xe.maybeInsertedBrackets&&be.row===xe.maybeInsertedRow&&Ae.substr(be.column)===xe.maybeInsertedLineEnd&&Ae.substr(0,be.column)==xe.maybeInsertedLineStart},y.popAutoInsertedClosing=function(){xe.autoInsertedLineEnd=xe.autoInsertedLineEnd.substr(1),xe.autoInsertedBrackets--},y.clearMaybeInsertedClosing=function(){xe&&(xe.maybeInsertedBrackets=0,xe.maybeInsertedRow=-1)},Se.inherits(y,ke),Ae.CstyleBehaviour=y})),ace.define("ace/unicode",["require","exports","module"],(function(be,Ae,we){for(var xe=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],Se=0,ke=[],Te=0;Te<xe.length;Te+=2)ke.push(Se+=xe[Te]),xe[Te+1]&&ke.push(45,Se+=xe[Te+1]);Ae.wordChars=String.fromCharCode.apply(null,ke)})),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],(function(be,Ae,we){var xe=be("../config"),Se=be("../tokenizer").Tokenizer,ke=be("./text_highlight_rules").TextHighlightRules,Te=be("./behaviour/cstyle").CstyleBehaviour,Ee=be("../unicode"),Re=be("../lib/lang"),_e=be("../token_iterator").TokenIterator,$e=be("../range").Range;(function(){this.$defaultBehaviour=new Te,this.tokenRe=new RegExp("^["+Ee.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+Ee.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new Se(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(be,Ae,we,xe){var Se=Ae.doc,ke=!0,Te=!0,Ee=1/0,_e=Ae.getTabSize(),$e=!1;if(this.lineCommentStart){Ne=Array.isArray(this.lineCommentStart)?(Be=this.lineCommentStart.map(Re.escapeRegExp).join("|"),this.lineCommentStart[0]):(Be=Re.escapeRegExp(this.lineCommentStart),this.lineCommentStart),Be=new RegExp("^(\\s*)(?:"+Be+") ?"),$e=Ae.getUseSoftTabs();var h=function(be,Ae){var we,xe,ke=be.match(Be);ke&&(we=ke[1].length,xe=ke[0].length,p(be,we,xe)||" "!=ke[0][xe-1]||xe--,Se.removeInLine(Ae,we,xe))},Le=Ne+" ",u=function(be,Ae){ke&&!/\S/.test(be)||(p(be,Ee,Ee)?Se.insertInLine({row:Ae,column:Ee},Le):Se.insertInLine({row:Ae,column:Ee},Ne))},g=function(be,Ae){return Be.test(be)},p=function(be,Ae,we){for(var xe=0;Ae--&&" "==be.charAt(Ae);)xe++;if(xe%_e!=0)return!1;for(xe=0;" "==be.charAt(we++);)xe++;return 2<_e?xe%_e!=_e-1:xe%_e==0}}else{if(!this.blockComment)return!1;var Ne=this.blockComment.start,Me=this.blockComment.end,Be=new RegExp("^(\\s*)(?:"+Re.escapeRegExp(Ne)+")"),We=new RegExp("(?:"+Re.escapeRegExp(Me)+")\\s*$");u=function(be,Ae){g(be,Ae)||ke&&!/\S/.test(be)||(Se.insertInLine({row:Ae,column:be.length},Me),Se.insertInLine({row:Ae,column:Ee},Ne))},h=function(be,Ae){var we;(we=be.match(We))&&Se.removeInLine(Ae,be.length-we[0].length,be.length),(we=be.match(Be))&&Se.removeInLine(Ae,we[1].length,we[0].length)},g=function(be,we){if(Be.test(be))return!0;for(var xe=Ae.getTokens(we),Se=0;Se<xe.length;Se++)if("comment"===xe[Se].type)return!0}}function v(be){for(var Ae=we;Ae<=xe;Ae++)be(Se.getLine(Ae),Ae)}var Pe=1/0;v((function(be,Ae){var we=be.search(/\S/);-1!==we?(we<Ee&&(Ee=we),Te&&!g(be,Ae)&&(Te=!1)):Pe>be.length&&(Pe=be.length)})),Ee==1/0&&(Ee=Pe,Te=ke=!1),$e&&Ee%_e!=0&&(Ee=Math.floor(Ee/_e)*_e),v(Te?h:u)},this.toggleBlockComment=function(be,Ae,we,xe){var Se=this.blockComment;if(Se){!Se.start&&Se[0]&&(Se=Se[0]);var ke,Te,Ee=(Be=new _e(Ae,xe.row,xe.column)).getCurrentToken(),Re=(Ae.selection,Ae.selection.toOrientedRange());if(Ee&&/comment/.test(Ee.type)){for(;Ee&&/comment/.test(Ee.type);){if(-1!=(We=Ee.value.indexOf(Se.start))){var Le=Be.getCurrentTokenRow(),Ne=Be.getCurrentTokenColumn()+We,Me=new $e(Le,Ne,Le,Ne+Se.start.length);break}Ee=Be.stepBackward()}var Be,We;for(Ee=(Be=new _e(Ae,xe.row,xe.column)).getCurrentToken();Ee&&/comment/.test(Ee.type);){if(-1!=(We=Ee.value.indexOf(Se.end))){Le=Be.getCurrentTokenRow(),Ne=Be.getCurrentTokenColumn()+We;var Pe=new $e(Le,Ne,Le,Ne+Se.end.length);break}Ee=Be.stepForward()}Pe&&Ae.remove(Pe),Me&&(Ae.remove(Me),ke=Me.start.row,Te=-Se.start.length)}else Te=Se.start.length,ke=we.start.row,Ae.insert(we.end,Se.end),Ae.insert(we.start,Se.start);Re.start.row==ke&&(Re.start.column+=Te),Re.end.row==ke&&(Re.end.column+=Te),Ae.selection.fromOrientedRange(Re)}},this.getNextLineIndent=function(be,Ae,we){return this.$getIndent(Ae)},this.checkOutdent=function(be,Ae,we){return!1},this.autoOutdent=function(be,Ae,we){},this.$getIndent=function(be){return be.match(/^\s*/)[0]},this.createWorker=function(be){return null},this.createModeDelegates=function(be){for(var Ae in this.$embeds=[],this.$modes={},be){var we,Se,ke;be[Ae]&&(Se=(we=be[Ae]).prototype.$id,(ke=xe.$modes[Se])||(xe.$modes[Se]=ke=new we),xe.$modes[Ae]||(xe.$modes[Ae]=ke),this.$embeds.push(Ae),this.$modes[Ae]=ke)}var Te=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],Ee=this;for(Ae=0;Ae<Te.length;Ae++)!function(be){var Ae,we;Ae=Te[be],we=Ee[Ae],Ee[Te[be]]=function(){return this.$delegator(Ae,arguments,we)}}(Ae)},this.$delegator=function(be,Ae,we){var xe=Ae[0]||"start";if("string"!=typeof xe){if(Array.isArray(xe[2])){var Se=xe[2][xe[2].length-1];if(Te=this.$modes[Se])return Te[be].apply(Te,[xe[1]].concat([].slice.call(Ae,1)))}xe=xe[0]||"start"}for(var ke=0;ke<this.$embeds.length;ke++)if(this.$modes[this.$embeds[ke]]){var Te,Ee=xe.split(this.$embeds[ke]);if(!Ee[0]&&Ee[1])return Ae[0]=Ee[1],(Te=this.$modes[this.$embeds[ke]])[be].apply(Te,Ae)}return Se=we.apply(this,Ae),we?Se:void 0},this.transformAction=function(be,Ae,we,xe,Se){if(this.$behaviour){var ke,Te=this.$behaviour.getBehaviours();for(ke in Te)if(Te[ke][Ae]){var Ee=Te[ke][Ae].apply(this,arguments);if(Ee)return Ee}}},this.getKeywords=function(be){if(!this.completionKeywords){var Ae=this.$tokenizer.rules,we=[];for(Te in Ae)for(var xe=Ae[Te],Se=0,ke=xe.length;Se<ke;Se++)if("string"==typeof xe[Se].token)/keyword|support|storage/.test(xe[Se].token)&&we.push(xe[Se].regex);else if("object"==typeof xe[Se].token)for(var Te,Ee=0,Re=xe[Se].token.length;Ee<Re;Ee++)/keyword|support|storage/.test(xe[Se].token[Ee])&&(Te=xe[Se].regex.match(/\(.+?\)/g)[Ee],we.push(Te.substr(1,Te.length-2)));this.completionKeywords=we}return be?we.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(be,Ae,we,xe){return(this.$keywordList||this.$createKeywordList()).map((function(be){return{name:be,value:be,score:0,meta:"keyword"}}))},this.$id="ace/mode/text"}).call((be=function(){this.HighlightRules=ke}).prototype),Ae.Mode=be})),ace.define("ace/apply_delta",["require","exports","module"],(function(be,Ae,we){Ae.applyDelta=function(be,Ae,we){var xe=Ae.start.row,Se=Ae.start.column,ke=be[xe]||"";switch(Ae.action){case"insert":1===Ae.lines.length?be[xe]=ke.substring(0,Se)+Ae.lines[0]+ke.substring(Se):(Te=[xe,1].concat(Ae.lines),be.splice.apply(be,Te),be[xe]=ke.substring(0,Se)+be[xe],be[xe+Ae.lines.length-1]+=ke.substring(Se));break;case"remove":var Te=Ae.end.column,Ee=Ae.end.row;xe===Ee?be[xe]=ke.substring(0,Se)+ke.substring(Te):be.splice(xe,Ee-xe+1,ke.substring(0,Se)+be[Ee].substring(Te))}}})),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(be,Ae,we){var xe=be("./lib/oop"),Se=(be=be("./lib/event_emitter").EventEmitter,r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(be){be.start.row==be.end.row&&be.start.row!=this.row||be.start.row>this.row||(be=function(be,Ae,we){var xe=((Te="insert"==be.action)?1:-1)*(be.end.row-be.start.row),Se=(Te?1:-1)*(be.end.column-be.start.column),ke=be.start,Te=Te?ke:be.end;return a(Ae,ke,we)?{row:Ae.row,column:Ae.column}:a(Te,Ae,!we)?{row:Ae.row+xe,column:Ae.column+(Ae.row==Te.row?Se:0)}:{row:ke.row,column:ke.column}}(be,{row:this.row,column:this.column},this.$insertRight),this.setPosition(be.row,be.column,!0))},r.prototype.setPosition=function(be,Ae,we){we=we?{row:be,column:Ae}:this.$clipPositionToDocument(be,Ae),this.row==we.row&&this.column==we.column||(be={row:this.row,column:this.column},this.row=we.row,this.column=we.column,this._signal("change",{old:be,value:we}))},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(be){this.document=be||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(be,Ae){var we={};return be>=this.document.getLength()?(we.row=Math.max(0,this.document.getLength()-1),we.column=this.document.getLine(we.row).length):be<0?(we.row=0,we.column=0):(we.row=be,we.column=Math.min(this.document.getLine(we.row).length,Math.max(0,Ae))),Ae<0&&(we.column=0),we},r);function r(be,Ae,we){this.$onChange=this.onChange.bind(this),this.attach(be),"number"!=typeof Ae?this.setPosition(Ae.row,Ae.column):this.setPosition(Ae,we)}function a(be,Ae,we){return we=we?be.column<=Ae.column:be.column<Ae.column,be.row<Ae.row||be.row==Ae.row&&we}Se.prototype.$insertRight=!1,xe.implement(Se.prototype,be),Ae.Anchor=Se})),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],(function(be,Ae,we){var Se=be("./lib/oop"),ke=be("./apply_delta").applyDelta,Te=be("./lib/event_emitter").EventEmitter,Ee=be("./range").Range,Re=be("./anchor").Anchor;function l(be){this.$lines=[""],0===be.length?this.$lines=[""]:Array.isArray(be)?this.insertMergedLines({row:0,column:0},be):this.insert({row:0,column:0},be)}l.prototype.setValue=function(be){var Ae=this.getLength()-1;this.remove(new Ee(0,0,Ae,this.getLine(Ae).length)),this.insert({row:0,column:0},be||"")},l.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},l.prototype.createAnchor=function(be,Ae){return new Re(this,be,Ae)},l.prototype.$detectNewLine=function(be){be=be.match(/^.*?(\r\n|\r|\n)/m),this.$autoNewLine=be?be[1]:"\n",this._signal("changeNewLineMode")},l.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},l.prototype.setNewLineMode=function(be){this.$newLineMode!==be&&(this.$newLineMode=be,this._signal("changeNewLineMode"))},l.prototype.getNewLineMode=function(){return this.$newLineMode},l.prototype.isNewLine=function(be){return"\r\n"==be||"\r"==be||"\n"==be},l.prototype.getLine=function(be){return this.$lines[be]||""},l.prototype.getLines=function(be,Ae){return this.$lines.slice(be,Ae+1)},l.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},l.prototype.getLength=function(){return this.$lines.length},l.prototype.getTextRange=function(be){return this.getLinesForRange(be).join(this.getNewLineCharacter())},l.prototype.getLinesForRange=function(be){var Ae,we;return be.start.row===be.end.row?Ae=[this.getLine(be.start.row).substring(be.start.column,be.end.column)]:((Ae=this.getLines(be.start.row,be.end.row))[0]=(Ae[0]||"").substring(be.start.column),we=Ae.length-1,be.end.row-be.start.row==we&&(Ae[we]=Ae[we].substring(0,be.end.column))),Ae},l.prototype.insertLines=function(be,Ae){return xe.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(be,Ae)},l.prototype.removeLines=function(be,Ae){return xe.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(be,Ae)},l.prototype.insertNewLine=function(be){return xe.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(be,["",""])},l.prototype.insert=function(be,Ae){return this.getLength()<=1&&this.$detectNewLine(Ae),this.insertMergedLines(be,this.$split(Ae))},l.prototype.insertInLine=function(be,Ae){var we=this.clippedPos(be.row,be.column);return be=this.pos(be.row,be.column+Ae.length),this.applyDelta({start:we,end:be,action:"insert",lines:[Ae]},!0),this.clonePos(be)},l.prototype.clippedPos=function(be,Ae){var we=this.getLength();return void 0===be?be=we:be<0?be=0:we<=be&&(be=we-1,Ae=void 0),we=this.getLine(be),null==Ae&&(Ae=we.length),{row:be,column:Ae=Math.min(Math.max(Ae,0),we.length)}},l.prototype.clonePos=function(be){return{row:be.row,column:be.column}},l.prototype.pos=function(be,Ae){return{row:be,column:Ae}},l.prototype.$clipPosition=function(be){var Ae=this.getLength();return be.row>=Ae?(be.row=Math.max(0,Ae-1),be.column=this.getLine(Ae-1).length):(be.row=Math.max(0,be.row),be.column=Math.min(Math.max(be.column,0),this.getLine(be.row).length)),be},l.prototype.insertFullLines=function(be,Ae){var we=0;we=(be=Math.min(Math.max(be,0),this.getLength()))<this.getLength()?(Ae=Ae.concat([""]),0):(Ae=[""].concat(Ae),this.$lines[--be].length),this.insertMergedLines({row:be,column:we},Ae)},l.prototype.insertMergedLines=function(be,Ae){var we={row:(be=this.clippedPos(be.row,be.column)).row+Ae.length-1,column:(1==Ae.length?be.column:0)+Ae[Ae.length-1].length};return this.applyDelta({start:be,end:we,action:"insert",lines:Ae}),this.clonePos(we)},l.prototype.remove=function(be){var Ae=this.clippedPos(be.start.row,be.start.column);return be=this.clippedPos(be.end.row,be.end.column),this.applyDelta({start:Ae,end:be,action:"remove",lines:this.getLinesForRange({start:Ae,end:be})}),this.clonePos(Ae)},l.prototype.removeInLine=function(be,Ae,we){return Ae=this.clippedPos(be,Ae),be=this.clippedPos(be,we),this.applyDelta({start:Ae,end:be,action:"remove",lines:this.getLinesForRange({start:Ae,end:be})},!0),this.clonePos(Ae)},l.prototype.removeFullLines=function(be,Ae){be=Math.min(Math.max(0,be),this.getLength()-1);var we=(Ae=Math.min(Math.max(0,Ae),this.getLength()-1))==this.getLength()-1&&0<be,xe=Ae<this.getLength()-1,Se=we?be-1:be,ke=(we=we?this.getLine(Se).length:0,xe?Ae+1:Ae);return xe=xe?0:this.getLine(ke).length,Se=new Ee(Se,we,ke,xe),we=this.$lines.slice(be,Ae+1),this.applyDelta({start:Se.start,end:Se.end,action:"remove",lines:this.getLinesForRange(Se)}),we},l.prototype.removeNewLine=function(be){be<this.getLength()-1&&0<=be&&this.applyDelta({start:this.pos(be,this.getLine(be).length),end:this.pos(be+1,0),action:"remove",lines:["",""]})},l.prototype.replace=function(be,Ae){return be instanceof Ee||(be=Ee.fromPoints(be.start,be.end)),0===Ae.length&&be.isEmpty()?be.start:Ae==this.getTextRange(be)?be.end:(this.remove(be),Ae?this.insert(be.start,Ae):be.start)},l.prototype.applyDeltas=function(be){for(var Ae=0;Ae<be.length;Ae++)this.applyDelta(be[Ae])},l.prototype.revertDeltas=function(be){for(var Ae=be.length-1;0<=Ae;Ae--)this.revertDelta(be[Ae])},l.prototype.applyDelta=function(be,Ae){var we="insert"==be.action;(we?be.lines.length<=1&&!be.lines[0]:!Ee.comparePoints(be.start,be.end))||(we&&2e4<be.lines.length?this.$splitAndapplyLargeDelta(be,2e4):(ke(this.$lines,be,Ae),this._signal("change",be)))},l.prototype.$safeApplyDelta=function(be){var Ae=this.$lines.length;("remove"==be.action&&be.start.row<Ae&&be.end.row<Ae||"insert"==be.action&&be.start.row<=Ae)&&this.applyDelta(be)},l.prototype.$splitAndapplyLargeDelta=function(be,Ae){for(var we=be.lines,xe=we.length-Ae+1,Se=be.start.row,ke=be.start.column,Te=0,Ee=0;Te<xe;Te=Ee){Ee+=Ae-1;var Re=we.slice(Te,Ee);Re.push(""),this.applyDelta({start:this.pos(Se+Te,ke),end:this.pos(Se+Ee,ke=0),action:be.action,lines:Re},!0)}be.lines=we.slice(Te),be.start.row=Se+Te,be.start.column=ke,this.applyDelta(be,!0)},l.prototype.revertDelta=function(be){this.$safeApplyDelta({start:this.clonePos(be.start),end:this.clonePos(be.end),action:"insert"==be.action?"remove":"insert",lines:be.lines.slice()})},l.prototype.indexToPosition=function(be,Ae){for(var we=this.$lines||this.getAllLines(),xe=this.getNewLineCharacter().length,Se=Ae||0,ke=we.length;Se<ke;Se++)if((be-=we[Se].length+xe)<0)return{row:Se,column:be+we[Se].length+xe};return{row:ke-1,column:be+we[ke-1].length+xe}},l.prototype.positionToIndex=function(be,Ae){for(var we=this.$lines||this.getAllLines(),xe=this.getNewLineCharacter().length,Se=0,ke=Math.min(be.row,we.length),Te=Ae||0;Te<ke;++Te)Se+=we[Te].length+xe;return Se+be.column},l.prototype.$split=function(be){return be.split(/\r\n|\r|\n/)},(be=l).prototype.$autoNewLine="",be.prototype.$newLineMode="auto",Se.implement(be.prototype,Te),Ae.Document=be})),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],(function(be,Ae,we){var xe=be("./lib/oop"),Se=(be=be("./lib/event_emitter").EventEmitter,r.prototype.setTokenizer=function(be){this.tokenizer=be,this.lines=[],this.states=[],this.start(0)},r.prototype.setDocument=function(be){this.doc=be,this.lines=[],this.states=[],this.stop()},r.prototype.fireUpdateEvent=function(be,Ae){this._signal("update",{data:{first:be,last:Ae}})},r.prototype.start=function(be){this.currentLine=Math.min(be||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},r.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},r.prototype.$updateOnChange=function(be){var Ae=be.start.row,we=be.end.row-Ae;0==we?this.lines[Ae]=null:"remove"==be.action?(this.lines.splice(Ae,1+we,null),this.states.splice(Ae,1+we,null)):((be=Array(1+we)).unshift(Ae,1),this.lines.splice.apply(this.lines,be),this.states.splice.apply(this.states,be)),this.currentLine=Math.min(Ae,this.currentLine,this.doc.getLength()),this.stop()},r.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},r.prototype.getTokens=function(be){return this.lines[be]||this.$tokenizeRow(be)},r.prototype.getState=function(be){return this.currentLine==be&&this.$tokenizeRow(be),this.states[be]||"start"},r.prototype.$tokenizeRow=function(be){var Ae=this.doc.getLine(be),we=this.states[be-1];return Ae=this.tokenizer.getLineTokens(Ae,we,be),this.states[be]+""!=Ae.state+""?(this.states[be]=Ae.state,this.lines[be+1]=null,this.currentLine>be+1&&(this.currentLine=be+1)):this.currentLine==be&&(this.currentLine=be+1),this.lines[be]=Ae.tokens},r.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},r);function r(be,Ae){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=be;var we=this;this.$worker=function(){if(we.running){for(var be=new Date,Ae=we.currentLine,xe=-1,Se=we.doc,ke=Ae;we.lines[Ae];)Ae++;var Te=Se.getLength(),Ee=0;for(we.running=!1;Ae<Te;){for(we.$tokenizeRow(Ae),xe=Ae;Ae++,we.lines[Ae];);if(++Ee%5==0&&20<new Date-be){we.running=setTimeout(we.$worker,20);break}}we.currentLine=Ae,ke<=(xe=-1==xe?Ae:xe)&&we.fireUpdateEvent(ke,xe)}}}xe.implement(Se.prototype,be),Ae.BackgroundTokenizer=Se})),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],(function(be,Ae,we){var xe=be("./lib/lang"),Se=be("./range").Range;function i(be,Ae,we){void 0===we&&(we="text"),this.setRegexp(be),this.clazz=Ae,this.type=we}i.prototype.setRegexp=function(be){this.regExp+""!=be+""&&(this.regExp=be,this.cache=[])},i.prototype.update=function(be,Ae,we,ke){if(this.regExp)for(var Te=ke.firstRow,Ee=ke.lastRow,Re={},_e=Te;_e<=Ee;_e++){var $e=this.cache[_e];null==$e&&($e=($e=($e=xe.getMatchOffsets(we.getLine(_e),this.regExp)).length>this.MAX_RANGES?$e.slice(0,this.MAX_RANGES):$e).map((function(be){return new Se(_e,be.offset,_e,be.offset+be.length)})),this.cache[_e]=$e.length?$e:"");for(var Le=$e.length;Le--;){var Ne=$e[Le].toScreenRange(we),Me=Ne.toString();Re[Me]||(Re[Me]=!0,Ae.drawSingleLineMarker(be,Ne,this.clazz,ke))}}},(be=i).prototype.MAX_RANGES=500,Ae.SearchHighlight=be})),ace.define("ace/undomanager",["require","exports","module","ace/range"],(function(be,Ae,we){o.prototype.addSession=function(be){this.$session=be},o.prototype.add=function(be,Ae,we){this.$fromUndo||be!=this.$lastDelta&&(this.$keepRedoStack||(this.$redoStack.length=0),!1!==Ae&&this.lastDeltas||(this.lastDeltas=[],(Ae=this.$undoStack.length)>this.$undoDepth-1&&this.$undoStack.splice(0,Ae-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),be.id=this.$rev=++this.$maxRev),"remove"!=be.action&&"insert"!=be.action||(this.$lastDelta=be),this.lastDeltas.push(be))},o.prototype.addSelection=function(be,Ae){this.selections.push({value:be,rev:Ae||this.$rev})},o.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},o.prototype.markIgnored=function(be,Ae){null==Ae&&(Ae=this.$rev+1);for(var we=this.$undoStack,xe=we.length;xe--;){var Se=we[xe][0];if(Se.id<=be)break;Se.id<Ae&&(Se.ignore=!0)}this.lastDeltas=null},o.prototype.getSelection=function(be,Ae){for(var we=this.selections,xe=we.length;xe--;){var Se=we[xe];if(Se.rev<be)return Ae?we[xe+1]:Se}},o.prototype.getRevision=function(){return this.$rev},o.prototype.getDeltas=function(be,Ae){null==Ae&&(Ae=this.$rev+1);for(var we=this.$undoStack,xe=null,Se=0,ke=we.length;ke--;){var Te=we[ke][0];if(Te.id<Ae&&!xe&&(xe=ke+1),Te.id<=be){Se=ke+1;break}}return we.slice(Se,xe)},o.prototype.getChangedRanges=function(be,Ae){null==Ae&&this.$rev},o.prototype.getChangedLines=function(be,Ae){null==Ae&&this.$rev},o.prototype.undo=function(be,Ae){this.lastDeltas=null;var we,xe=this.$undoStack;if(function(be,Ae){for(var we=Ae;we--;){var xe=be[we];if(xe&&!xe[0].ignore){for(;we<Ae-1;){var Se=function(be,Ae){for(var we=be.length;we--;)for(var xe=0;xe<Ae.length;xe++)if(!a(be[we],Ae[xe])){for(;we<be.length;){for(;xe--;)a(Ae[xe],be[we]);xe=Ae.length,we++}return[be,Ae]}return be.selectionBefore=Ae.selectionBefore=be.selectionAfter=Ae.selectionAfter=null,[Ae,be]}(be[we],be[we+1]);be[we]=Se[0],be[we+1]=Se[1],we++}return 1}}}(xe,xe.length))return be=be||this.$session,this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0,we=null,(xe=xe.pop())&&(we=be.undoChanges(xe,Ae),this.$redoStack.push(xe),this.$syncRev()),this.$fromUndo=!1,we},o.prototype.redo=function(be,Ae){if(this.lastDeltas=null,be=be||this.$session,this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){for(var we=this.getDeltas(this.$redoStackBaseRev,this.$rev+1),xe=this.$redoStack,Te=we,Ee=0;Ee<Te.length;Ee++)for(var Re=Te[Ee],_e=0;_e<Re.length;_e++){$e=void 0,Le=void 0,Ne=void 0,Me=void 0,Be=void 0,We=void 0;var $e=xe,Le=Re[_e];Le=function(be){return{start:C(be.start),end:C(be.end),action:be.action,lines:be.lines.slice()}}(Le);for(var Ne=$e.length;Ne--;){for(var Me=$e[Ne],Be=0;Be<Me.length;Be++){var We=function(be,Ae){var we,xe,Te="insert"==be.action,Ee="insert"==Ae.action;if(Te&&Ee)ke(be.start,Ae.start)<0?y(Ae,be,1):y(be,Ae,1);else if(Te&&!Ee)0<=ke(be.start,Ae.end)?y(be,Ae,-1):(ke(be.start,Ae.start)<=0||y(be,Se.fromPoints(Ae.start,be.start),-1),y(Ae,be,1));else if(!Te&&Ee)0<=ke(Ae.start,be.end)?y(Ae,be,-1):(ke(Ae.start,be.start)<=0||y(Ae,Se.fromPoints(be.start,Ae.start),-1),y(be,Ae,1));else if(!Te&&!Ee)if(0<=ke(Ae.start,be.end))y(Ae,be,-1);else{if(!(ke(Ae.end,be.start)<=0))return ke(be.start,Ae.start)<0&&(be=I(we=be,Ae.start)),0<ke(be.end,Ae.end)&&(xe=I(be,Ae.end)),v(Ae.end,be.start,be.end,-1),xe&&!we&&(be.lines=xe.lines,be.start=xe.start,be.end=xe.end,xe=be),[Ae,we,xe].filter(Boolean);y(be,Ae,-1)}return[Ae,be]}(Me[Be],Le);Le=We[0],2!=We.length&&(We[2]?(Me.splice(Be+1,1,We[1],We[2]),Be++):We[1]||(Me.splice(Be,1),Be--))}Me.length||$e.splice(Ne,1)}}this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach((function(be){be[0].id=++this.$maxRev}),this)}var Pe=null;return(we=this.$redoStack.pop())&&(Pe=be.redoChanges(we,Ae),this.$undoStack.push(we),this.$syncRev()),this.$fromUndo=!1,Pe},o.prototype.$syncRev=function(){var be=(be=(be=this.$undoStack)[be.length-1])&&be[0].id||0;this.$redoStackBaseRev=be,this.$rev=be},o.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},o.prototype.canUndo=function(){return 0<this.$undoStack.length},o.prototype.canRedo=function(){return 0<this.$redoStack.length},o.prototype.bookmark=function(be){null==be&&(be=this.$rev),this.mark=be},o.prototype.isAtBookmark=function(){return this.$rev===this.mark},o.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},o.prototype.fromJSON=function(be){this.reset(),this.$undoStack=be.$undoStack,this.$redoStack=be.$redoStack},o.prototype.$prettyPrint=function(be){return be?r(be):r(this.$undoStack)+"\n---\n"+r(this.$redoStack)};var xe=o;function o(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}xe.prototype.hasUndo=xe.prototype.canUndo,xe.prototype.hasRedo=xe.prototype.canRedo,xe.prototype.isClean=xe.prototype.isAtBookmark,xe.prototype.markClean=xe.prototype.bookmark;var Se=be("./range").Range,ke=Se.comparePoints;function C(be){return{row:be.row,column:be.column}}function r(be){var Ae;return be=be||this,Array.isArray(be)?be.map(r).join("\n"):(Ae="",be.action?(Ae="insert"==be.action?"+":"-",Ae+="["+be.lines+"]"):be.value&&(Ae=Array.isArray(be.value)?be.value.map(s).join("\n"):s(be.value)),be.start&&(Ae+=s(be)),(be.id||be.rev)&&(Ae+="\t("+(be.id||be.rev)+")"),Ae)}function s(be){return be.start.row+":"+be.start.column+"=>"+be.end.row+":"+be.end.column}function a(be,Ae){var we="insert"==be.action,xe="insert"==Ae.action;if(we&&xe)if(0<=ke(Ae.start,be.end))y(Ae,be,-1);else{if(!(ke(Ae.start,be.start)<=0))return;y(be,Ae,1)}else if(we&&!xe)if(0<=ke(Ae.start,be.end))y(Ae,be,-1);else{if(!(ke(Ae.end,be.start)<=0))return;y(be,Ae,-1)}else if(!we&&xe)if(0<=ke(Ae.start,be.start))y(Ae,be,1);else{if(!(ke(Ae.start,be.start)<=0))return;y(be,Ae,1)}else if(!we&&!xe)if(0<=ke(Ae.start,be.start))y(Ae,be,1);else{if(!(ke(Ae.end,be.start)<=0))return;y(be,Ae,-1)}return 1}function y(be,Ae,we){v(be.start,Ae.start,Ae.end,we),v(be.end,Ae.start,Ae.end,we)}function v(be,Ae,we,xe){be.row==(1==xe?Ae:we).row&&(be.column+=xe*(we.column-Ae.column)),be.row+=xe*(we.row-Ae.row)}function I(be,Ae){var we=be.lines,xe=be.end,Se=(be.end=C(Ae),be.end.row-be.start.row),ke=we.splice(Se,we.length);return Se=Se?Ae.column:Ae.column-be.start.column,we.push(ke[0].substring(0,Se)),ke[0]=ke[0].substr(Se),{start:C(Ae),end:xe,lines:ke,action:be.action}}Se.comparePoints,Ae.UndoManager=xe})),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],(function(be,Ae,we){var xe=be("../range").Range;function o(be,Ae){this.foldData=be,Array.isArray(Ae)?this.folds=Ae:Ae=this.folds=[Ae],be=Ae[Ae.length-1],this.range=new xe(Ae[0].start.row,Ae[0].start.column,be.end.row,be.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach((function(be){be.setFoldLine(this)}),this)}o.prototype.shiftRow=function(be){this.start.row+=be,this.end.row+=be,this.folds.forEach((function(Ae){Ae.start.row+=be,Ae.end.row+=be}))},o.prototype.addFold=function(be){if(be.sameRow){if(be.start.row<this.startRow||be.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(be),this.folds.sort((function(be,Ae){return-be.range.compareEnd(Ae.start.row,Ae.start.column)})),0<this.range.compareEnd(be.start.row,be.start.column)?(this.end.row=be.end.row,this.end.column=be.end.column):this.range.compareStart(be.end.row,be.end.column)<0&&(this.start.row=be.start.row,this.start.column=be.start.column)}else if(be.start.row==this.end.row)this.folds.push(be),this.end.row=be.end.row,this.end.column=be.end.column;else{if(be.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(be),this.start.row=be.start.row,this.start.column=be.start.column}be.foldLine=this},o.prototype.containsRow=function(be){return be>=this.start.row&&be<=this.end.row},o.prototype.walk=function(be,Ae,we){var xe,Se,ke=0,Te=this.folds,Ee=!0;null==Ae&&(Ae=this.end.row,we=this.end.column);for(var Re=0;Re<Te.length;Re++){if(-1==(Se=(xe=Te[Re]).range.compareStart(Ae,we)))return void be(null,Ae,we,ke,Ee);if(!be(null,xe.start.row,xe.start.column,ke,Ee)&&be(xe.placeholder,xe.start.row,xe.start.column,ke)||0===Se)return;Ee=!xe.sameRow,ke=xe.end.column}be(null,Ae,we,ke,Ee)},o.prototype.getNextFoldTo=function(be,Ae){for(var we,xe,Se=0;Se<this.folds.length;Se++){if(-1==(xe=(we=this.folds[Se]).range.compareEnd(be,Ae)))return{fold:we,kind:"after"};if(0===xe)return{fold:we,kind:"inside"}}return null},o.prototype.addRemoveChars=function(be,Ae,we){var xe,Se=this.getNextFoldTo(be,Ae);if(Se)if(xe=Se.fold,"inside"==Se.kind&&xe.start.column!=Ae&&xe.start.row!=be)window.console&&window.console.log(be,Ae,xe);else if(xe.start.row==be){var ke,Te=(ke=this.folds).indexOf(xe);for(0===Te&&(this.start.column+=we);Te<ke.length;Te++){if((xe=ke[Te]).start.column+=we,!xe.sameRow)return;xe.end.column+=we}this.end.column+=we}},o.prototype.split=function(be,Ae){var we,xe;return(be=this.getNextFoldTo(be,Ae))&&"inside"!=be.kind?(Ae=be.fold,be=this.folds,we=this.foldData,Ae=be.indexOf(Ae),xe=be[Ae-1],this.end.row=xe.end.row,this.end.column=xe.end.column,xe=new o(we,be=be.splice(Ae,be.length-Ae)),we.splice(we.indexOf(this)+1,0,xe),xe):null},o.prototype.merge=function(be){for(var Ae=be.folds,we=0;we<Ae.length;we++)this.addFold(Ae[we]);var xe=this.foldData;xe.splice(xe.indexOf(be),1)},o.prototype.toString=function(){var be=[this.range.toString()+": ["];return this.folds.forEach((function(Ae){be.push(" "+Ae.toString())})),be.push("]"),be.join("\n")},o.prototype.idxToPosition=function(be){for(var Ae=0,we=0;we<this.folds.length;we++){var xe=this.folds[we];if((be-=xe.start.column-Ae)<0)return{row:xe.start.row,column:xe.start.column+be};if((be-=xe.placeholder.length)<0)return xe.start;Ae=xe.end.column}return{row:this.end.row,column:this.end.column+be}},Ae.FoldLine=o})),ace.define("ace/range_list",["require","exports","module","ace/range"],(function(be,Ae,we){var xe=be("./range").Range.comparePoints;function i(){this.ranges=[],this.$bias=1}i.prototype.pointIndex=function(be,Ae,we){for(var Se=this.ranges,ke=we||0;ke<Se.length;ke++){var Te=Se[ke],Ee=xe(be,Te.end);if(!(0<Ee))return Te=xe(be,Te.start),0===Ee?Ae&&0!==Te?-ke-2:ke:0<Te||0===Te&&!Ae?ke:-ke-1}return-ke-1},i.prototype.add=function(be){var Ae=!be.isEmpty(),we=this.pointIndex(be.start,Ae);return(Ae=this.pointIndex(be.end,Ae,we=we<0?-we-1:we))<0?Ae=-Ae-1:Ae++,this.ranges.splice(we,Ae-we,be)},i.prototype.addList=function(be){for(var Ae=[],we=be.length;we--;)Ae.push.apply(Ae,this.add(be[we]));return Ae},i.prototype.substractPoint=function(be){if(0<=(be=this.pointIndex(be)))return this.ranges.splice(be,1)},i.prototype.merge=function(){for(var be=[],Ae=this.ranges,we=(Ae=Ae.sort((function(be,Ae){return xe(be.start,Ae.start)})))[0],Se=1;Se<Ae.length;Se++){var ke=we,Te=(we=Ae[Se],xe(ke.end,we.start));Te<0||(0!=Te||ke.isEmpty()||we.isEmpty())&&(xe(ke.end,we.end)<0&&(ke.end.row=we.end.row,ke.end.column=we.end.column),Ae.splice(Se,1),be.push(we),we=ke,Se--)}return this.ranges=Ae,be},i.prototype.contains=function(be,Ae){return 0<=this.pointIndex({row:be,column:Ae})},i.prototype.containsPoint=function(be){return 0<=this.pointIndex(be)},i.prototype.rangeAtPoint=function(be){if(0<=(be=this.pointIndex(be)))return this.ranges[be]},i.prototype.clipRows=function(be,Ae){var we=this.ranges;if(we[0].start.row>Ae||we[we.length-1].start.row<be)return[];be=this.pointIndex({row:be,column:0});for(var xe=this.pointIndex({row:Ae,column:0},be=be<0?-be-1:be),Se=(xe<0&&(xe=-xe-1),[]),ke=be;ke<xe;ke++)Se.push(we[ke]);return Se},i.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},i.prototype.attach=function(be){this.session&&this.detach(),this.session=be,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},i.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},i.prototype.$onChange=function(be){for(var Ae=be.start,we=be.end,xe=Ae.row,Se=we.row,ke=this.ranges,Te=0,Ee=ke.length;Te<Ee&&!((Re=ke[Te]).end.row>=xe);Te++);var Re;if("insert"==be.action)for(var _e=Se-xe,$e=-Ae.column+we.column;Te<Ee&&!((Re=ke[Te]).start.row>xe);Te++)Re.start.row==xe&&Re.start.column>=Ae.column&&(Re.start.column==Ae.column&&this.$bias<=0||(Re.start.column+=$e,Re.start.row+=_e)),Re.end.row==xe&&Re.end.column>=Ae.column&&(Re.end.column==Ae.column&&this.$bias<0||(Re.end.column==Ae.column&&0<$e&&Te<Ee-1&&Re.end.column>Re.start.column&&Re.end.column==ke[Te+1].start.column&&(Re.end.column-=$e),Re.end.column+=$e,Re.end.row+=_e));else for(_e=xe-Se,$e=Ae.column-we.column;Te<Ee&&!((Re=ke[Te]).start.row>Se);Te++)Re.end.row<Se&&(xe<Re.end.row||xe==Re.end.row&&Ae.column<Re.end.column)?(Re.end.row=xe,Re.end.column=Ae.column):Re.end.row==Se?Re.end.column<=we.column?(_e||Re.end.column>Ae.column)&&(Re.end.column=Ae.column,Re.end.row=Ae.row):(Re.end.column+=$e,Re.end.row+=_e):Re.end.row>Se&&(Re.end.row+=_e),Re.start.row<Se&&(xe<Re.start.row||xe==Re.start.row&&Ae.column<Re.start.column)?(Re.start.row=xe,Re.start.column=Ae.column):Re.start.row==Se?Re.start.column<=we.column?(_e||Re.start.column>Ae.column)&&(Re.start.column=Ae.column,Re.start.row=Ae.row):(Re.start.column+=$e,Re.start.row+=_e):Re.start.row>Se&&(Re.start.row+=_e);if(0!=_e&&Te<Ee)for(;Te<Ee;Te++)(Re=ke[Te]).start.row+=_e,Re.end.row+=_e},(be=i).prototype.comparePoints=xe,Ae.RangeList=be})),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],(function(be,Ae,we){var xe,Se,ke=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)});function s(be,Ae){var we=Se.call(this)||this;return we.foldLine=null,we.placeholder=Ae,we.range=be,we.start=be.start,we.end=be.end,we.sameRow=be.start.row==be.end.row,we.subFolds=we.ranges=[],we}function d(be,Ae){be.row-=Ae.row,0==be.row&&(be.column-=Ae.column)}function a(be,Ae){0==be.row&&(be.column+=Ae.column),be.row+=Ae.row}be=be("../range_list").RangeList,ke(s,Se=be),s.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},s.prototype.setFoldLine=function(be){this.foldLine=be,this.subFolds.forEach((function(Ae){Ae.setFoldLine(be)}))},s.prototype.clone=function(){var be=new s(this.range.clone(),this.placeholder);return this.subFolds.forEach((function(Ae){be.subFolds.push(Ae.clone())})),be.collapseChildren=this.collapseChildren,be},s.prototype.addSubFold=function(be){if(!this.range.isEqual(be)){ke=be,Te=this.start,d(ke.start,Te),d(ke.end,Te);for(var Ae=be.start.row,we=be.start.column,xe=0,Se=-1;xe<this.subFolds.length&&1==(Se=this.subFolds[xe].range.compare(Ae,we));xe++);var ke=this.subFolds[xe],Te=0;if(0==Se){if(ke.range.containsRange(be))return ke.addSubFold(be);Te=1}Ae=be.range.end.row,we=be.range.end.column;var Ee=xe;for(Se=-1;Ee<this.subFolds.length&&1==(Se=this.subFolds[Ee].range.compare(Ae,we));Ee++);0==Se&&Ee++;for(var Re=this.subFolds.splice(xe,Ee-xe,be),_e=0==Se?Re.length-1:Re.length,$e=Te;$e<_e;$e++)be.addSubFold(Re[$e]);return be.setFoldLine(this.foldLine),be}},s.prototype.restoreRange=function(be){return Ae=this.start,a(be.start,Ae),void a(be.end,Ae);var Ae},ke=s,Ae.Fold=ke})),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],(function(be,Ae,we){var xe=be("../range").Range,Se=be("./fold_line").FoldLine,ke=be("./fold").Fold,Te=be("../token_iterator").TokenIterator,Ee=be("../mouse/mouse_event").MouseEvent;Ae.Folding=function(){this.getFoldAt=function(be,Ae,we){var xe=this.getFoldLine(be);if(!xe)return null;for(var Se=xe.folds,ke=0;ke<Se.length;ke++){var Te=Se[ke].range;if(Te.contains(be,Ae)&&(1!=we||!Te.isEnd(be,Ae)||Te.isEmpty())&&(-1!=we||!Te.isStart(be,Ae)||Te.isEmpty()))return Se[ke]}},this.getFoldsInRange=function(be){var Ae=be.start,we=be.end,xe=this.$foldData,Se=[];Ae.column+=1,--we.column;for(var ke=0;ke<xe.length;ke++){var Te=xe[ke].range.compareRange(be);if(2!=Te){if(-2==Te)break;for(var Ee=xe[ke].folds,Re=0;Re<Ee.length;Re++){var _e=Ee[Re];if(-2==(Te=_e.range.compareRange(be)))break;if(2!=Te){if(42==Te)break;Se.push(_e)}}}}return--Ae.column,we.column+=1,Se},this.getFoldsInRangeList=function(be){var Ae;return Array.isArray(be)?(Ae=[],be.forEach((function(be){Ae=Ae.concat(this.getFoldsInRange(be))}),this)):Ae=this.getFoldsInRange(be),Ae},this.getAllFolds=function(){for(var be=[],Ae=this.$foldData,we=0;we<Ae.length;we++)for(var xe=0;xe<Ae[we].folds.length;xe++)be.push(Ae[we].folds[xe]);return be},this.getFoldStringAt=function(be,Ae,we,xe){if(!(xe=xe||this.getFoldLine(be)))return null;for(var Se,ke={end:{column:0}},Te=0;Te<xe.folds.length;Te++){var Ee,Re=(Ee=xe.folds[Te]).range.compareEnd(be,Ae);if(-1==Re){Se=this.getLine(Ee.start.row).substring(ke.end.column,Ee.start.column);break}if(0===Re)return null;ke=Ee}return Se=Se||this.getLine(Ee.start.row).substring(ke.end.column),-1==we?Se.substring(0,Ae-ke.end.column):1==we?Se.substring(Ae-ke.end.column):Se},this.getFoldLine=function(be,Ae){var we=this.$foldData,xe=0;for(-1==(xe=Ae?we.indexOf(Ae):xe)&&(xe=0);xe<we.length;xe++){var Se=we[xe];if(Se.start.row<=be&&Se.end.row>=be)return Se;if(Se.end.row>be)return null}return null},this.getNextFoldLine=function(be,Ae){var we=this.$foldData,xe=0;for(-1==(xe=Ae?we.indexOf(Ae):xe)&&(xe=0);xe<we.length;xe++){var Se=we[xe];if(Se.end.row>=be)return Se}return null},this.getFoldedRowCount=function(be,Ae){for(var we=this.$foldData,xe=Ae-be+1,Se=0;Se<we.length;Se++){var ke=(Te=we[Se]).end.row,Te=Te.start.row;if(Ae<=ke){Te<Ae&&(be<=Te?xe-=Ae-Te:xe=0);break}be<=ke&&(xe-=be<=Te?ke-Te:ke-be+1)}return xe},this.$addFoldLine=function(be){return this.$foldData.push(be),this.$foldData.sort((function(be,Ae){return be.start.row-Ae.start.row})),be},this.addFold=function(be,Ae){var we,xe=this.$foldData,Te=!1,Ee=(be instanceof ke?we=be:(we=new ke(Ae,be)).collapseChildren=Ae.collapseChildren,this.$clipRangeToDocument(we.range),we.start.row),Re=(be=we.start.column,we.end.row),_e=(Ae=we.end.column,this.getFoldAt(Ee,be,1)),$e=this.getFoldAt(Re,Ae,-1);if(_e&&$e==_e)return _e.addSubFold(we);_e&&!_e.range.isStart(Ee,be)&&this.removeFold(_e),$e&&!$e.range.isEnd(Re,Ae)&&this.removeFold($e),0<(be=this.getFoldsInRange(we.range)).length&&(this.removeFolds(be),we.collapseChildren||be.forEach((function(be){we.addSubFold(be)})));for(var Le=0;Le<xe.length;Le++){var Ne=xe[Le];if(Re==Ne.start.row){Ne.addFold(we),Te=!0;break}if(Ee==Ne.end.row){if(Ne.addFold(we),Te=!0,!we.sameRow){var Me=xe[Le+1];if(Me&&Me.start.row==Re){Ne.merge(Me);break}}break}if(Re<=Ne.start.row)break}return Te||(Ne=this.$addFoldLine(new Se(this.$foldData,we))),this.$useWrapMode?this.$updateWrapData(Ne.start.row,Ne.start.row):this.$updateRowLengthCache(Ne.start.row,Ne.start.row),this.$modified=!0,this._signal("changeFold",{data:we,action:"add"}),we},this.addFolds=function(be){be.forEach((function(be){this.addFold(be)}),this)},this.removeFold=function(be){var Ae=be.foldLine,we=Ae.start.row,xe=Ae.end.row,Se=this.$foldData,ke=Ae.folds;1==ke.length?Se.splice(Se.indexOf(Ae),1):Ae.range.isEnd(be.end.row,be.end.column)?(ke.pop(),Ae.end.row=ke[ke.length-1].end.row,Ae.end.column=ke[ke.length-1].end.column):Ae.range.isStart(be.start.row,be.start.column)?(ke.shift(),Ae.start.row=ke[0].start.row,Ae.start.column=ke[0].start.column):be.sameRow?ke.splice(ke.indexOf(be),1):((ke=(Se=Ae.split(be.start.row,be.start.column)).folds).shift(),Se.start.row=ke[0].start.row,Se.start.column=ke[0].start.column),this.$updating||(this.$useWrapMode?this.$updateWrapData(we,xe):this.$updateRowLengthCache(we,xe)),this.$modified=!0,this._signal("changeFold",{data:be,action:"remove"})},this.removeFolds=function(be){for(var Ae=[],we=0;we<be.length;we++)Ae.push(be[we]);Ae.forEach((function(be){this.removeFold(be)}),this),this.$modified=!0},this.expandFold=function(be){this.removeFold(be),be.subFolds.forEach((function(Ae){be.restoreRange(Ae),this.addFold(Ae)}),this),0<be.collapseChildren&&this.foldAll(be.start.row+1,be.end.row,be.collapseChildren-1),be.subFolds=[]},this.expandFolds=function(be){be.forEach((function(be){this.expandFold(be)}),this)},this.unfold=function(be,Ae){var we,Se;if(null==be)we=new xe(0,0,this.getLength(),0),null==Ae&&(Ae=!0);else if("number"==typeof be)we=new xe(be,0,be,this.getLine(be).length);else if("row"in be)we=xe.fromPoints(be,be);else{if(Array.isArray(be))return Se=[],be.forEach((function(be){Se=Se.concat(this.unfold(be))}),this),Se;we=be}for(be=Se=this.getFoldsInRangeList(we);1==Se.length&&xe.comparePoints(Se[0].start,we.start)<0&&0<xe.comparePoints(Se[0].end,we.end);)this.expandFolds(Se),Se=this.getFoldsInRangeList(we);if(0!=Ae?this.removeFolds(Se):this.expandFolds(Se),be.length)return be},this.isRowFolded=function(be,Ae){return!!this.getFoldLine(be,Ae)},this.getRowFoldEnd=function(be,Ae){return(Ae=this.getFoldLine(be,Ae))?Ae.end.row:be},this.getRowFoldStart=function(be,Ae){return(Ae=this.getFoldLine(be,Ae))?Ae.start.row:be},this.getFoldDisplayLine=function(be,Ae,we,xe,Se){null==xe&&(xe=be.start.row),null==Se&&(Se=0),null==Ae&&(Ae=be.end.row),null==we&&(we=this.getLine(Ae).length);var ke=this.doc,Te="";return be.walk((function(be,Ae,we,Ee){if(!(Ae<xe)){if(Ae==xe){if(we<Se)return;Ee=Math.max(Se,Ee)}Te+=null!=be?be:ke.getLine(Ae).substring(Ee,we)}}),Ae,we),Te},this.getDisplayLine=function(be,Ae,we,xe){var Se=this.getFoldLine(be);return Se?this.getFoldDisplayLine(Se,be,Ae,we,xe):(Se=this.doc.getLine(be)).substring(xe||0,Ae||Se.length)},this.$cloneFoldData=function(){var be=[];return be=this.$foldData.map((function(Ae){return Ae=Ae.folds.map((function(be){return be.clone()})),new Se(be,Ae)}))},this.toggleFold=function(be){var Ae=this.selection.getRange();if(Ae.isEmpty()){var we,xe=Ae.start;if(we=this.getFoldAt(xe.row,xe.column))return void this.expandFold(we);(Se=this.findMatchingBracket(xe))?1==Ae.comparePoint(Se)?Ae.end=Se:(Ae.start=Se,Ae.start.column++,Ae.end.column--):(Se=this.findMatchingBracket({row:xe.row,column:xe.column+1}))?(1==Ae.comparePoint(Se)?Ae.end=Se:Ae.start=Se,Ae.start.column++):Ae=this.getCommentFoldRange(xe.row,xe.column)||Ae}else{var Se=this.getFoldsInRange(Ae);if(be&&Se.length)return void this.expandFolds(Se);1==Se.length&&(we=Se[0])}if((we=we||this.getFoldAt(Ae.start.row,Ae.start.column))&&we.range.toString()==Ae.toString())this.expandFold(we);else{if(xe="...",!Ae.isMultiLine()){if((xe=this.getTextRange(Ae)).length<4)return;xe=xe.trim().substring(0,2)+".."}this.addFold(xe,Ae)}},this.getCommentFoldRange=function(be,Ae,we){var Se=(Re=new Te(this,be,Ae)).getCurrentToken(),ke=Se&&Se.type;if(Se&&/^comment|string/.test(ke)){"comment"==(ke=ke.match(/comment|string/)[0])&&(ke+="|doc-start|\\.doc");var Ee=new RegExp(ke);if(ke=new xe,1!=we){for(;(Se=Re.stepBackward())&&Ee.test(Se.type););Se=Re.stepForward()}ke.start.row=Re.getCurrentTokenRow(),ke.start.column=Re.getCurrentTokenColumn()+Se.value.length;var Re=new Te(this,be,Ae),_e=this.getState(Re.$row);if(-1!=we){var $e=-1;do{if(Se=Re.stepForward(),-1==$e){var Le=this.getState(Re.$row);_e.toString()!==Le.toString()&&($e=Re.$row)}else if(Re.$row>$e)break}while(Se&&Ee.test(Se.type));Se=Re.stepBackward()}else Se=Re.getCurrentToken();return ke.end.row=Re.getCurrentTokenRow(),ke.end.column=Re.getCurrentTokenColumn(),ke}},this.foldAll=function(be,Ae,we,xe){null==we&&(we=1e5);var Se=this.foldWidgets;if(Se){Ae=Ae||this.getLength();for(var ke,Te=be=be||0;Te<Ae;Te++)null==Se[Te]&&(Se[Te]=this.getFoldWidget(Te)),"start"!=Se[Te]||xe&&!xe(Te)||(ke=this.getFoldWidgetRange(Te))&&ke.isMultiLine()&&ke.end.row<=Ae&&ke.start.row>=be&&(Te=ke.end.row,ke.collapseChildren=we,this.addFold("...",ke))}},this.foldToLevel=function(be){for(this.foldAll();0<be--;)this.unfold(null,!1)},this.foldAllComments=function(){var be=this;this.foldAll(null,null,null,(function(Ae){for(var we=be.getTokens(Ae),xe=0;xe<we.length;xe++){var Se=we[xe];if("text"!=Se.type||!/^\s+$/.test(Se.value))return!!/comment/.test(Se.type)}}))},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(be){if(!this.$foldStyles[be])throw new Error("invalid fold style: "+be+"["+Object.keys(this.$foldStyles).join(", ")+"]");this.$foldStyle!=be&&("manual"==(this.$foldStyle=be)&&this.unfold(),be=this.$foldMode,this.$setFolding(null),this.$setFolding(be))},this.$setFolding=function(be){this.$foldMode!=be&&(this.$foldMode=be,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),be&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=be.getFoldWidget.bind(be,this,this.$foldStyle),this.getFoldWidgetRange=be.getFoldWidgetRange.bind(be,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(be,Ae){var we=this.foldWidgets;if(!we||Ae&&we[be])return{};for(var xe=be-1;0<=xe;){var Se=we[xe];if("start"==(Se=null==Se?we[xe]=this.getFoldWidget(xe):Se)){var ke=this.getFoldWidgetRange(xe),Te=Te||ke;if(ke&&ke.end.row>=be)break}xe--}return{range:-1!==xe&&ke,firstRange:Te}},this.onFoldWidgetClick=function(be,Ae){var we={children:(Ae=Ae instanceof Ee?Ae.domEvent:Ae).shiftKey,all:Ae.ctrlKey||Ae.metaKey,siblings:Ae.altKey};this.$toggleFoldWidget(be,we)||(be=Ae.target||Ae.srcElement)&&/ace_fold-widget/.test(be.className)&&(be.className+=" ace_invalid")},this.$toggleFoldWidget=function(be,Ae){var we,xe,Se,ke;if(this.getFoldWidget)return we=this.getFoldWidget(be),xe=this.getLine(be),(xe=this.getFoldAt(be,-1==(we="end"===we?-1:1)?0:xe.length,we))?(Ae.children||Ae.all?this.removeFold(xe):this.expandFold(xe),xe):(we=this.getFoldWidgetRange(be,!0))&&!we.isMultiLine()&&(xe=this.getFoldAt(we.start.row,we.start.column,1))&&we.isEqual(xe.range)?(this.removeFold(xe),xe):(Ae.siblings?((xe=this.getParentFoldRangeData(be)).range&&(Se=xe.range.start.row+1,ke=xe.range.end.row),this.foldAll(Se,ke,Ae.all?1e4:0)):Ae.children?(ke=we?we.end.row:this.getLength(),this.foldAll(be+1,ke,Ae.all?1e4:0)):we&&(Ae.all&&(we.collapseChildren=1e4),this.addFold("...",we)),we)},this.toggleFoldWidget=function(be){var Ae,we=this.selection.getCursor().row;we=this.getRowFoldStart(we),!this.$toggleFoldWidget(we,{})&&(Ae=(Ae=this.getParentFoldRangeData(we,!0)).range||Ae.firstRange)&&(we=Ae.start.row,(we=this.getFoldAt(we,this.getLine(we).length,1))?this.removeFold(we):this.addFold("...",Ae))},this.updateFoldWidgets=function(be){var Ae=be.start.row,we=be.end.row-Ae;0==we?this.foldWidgets[Ae]=null:"remove"==be.action?this.foldWidgets.splice(Ae,1+we,null):((be=Array(1+we)).unshift(Ae,1),this.foldWidgets.splice.apply(this.foldWidgets,be))},this.tokenizerUpdateFoldWidgets=function(be){(be=be.data).first!=be.last&&this.foldWidgets.length>be.first&&this.foldWidgets.splice(be.first,this.foldWidgets.length)}}})),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],(function(be,Ae,we){var xe=be("../token_iterator").TokenIterator,Se=be("../range").Range;Ae.BracketMatch=function(){this.findMatchingBracket=function(be,Ae){return 0!=be.column&&""!=(Ae=Ae||this.getLine(be.row).charAt(be.column-1))&&(Ae=Ae.match(/([\(\[\{])|([\)\]\}])/))?Ae[1]?this.$findClosingBracket(Ae[1],be):this.$findOpeningBracket(Ae[2],be):null},this.getBracketRange=function(be){var Ae,we,xe=this.getLine(be.row),ke=!0,Te=xe.charAt(be.column-1),Ee=Te&&Te.match(/([\(\[\{])|([\)\]\}])/);if(Ee||(Te=xe.charAt(be.column),be={row:be.row,column:be.column+1},Ee=Te&&Te.match(/([\(\[\{])|([\)\]\}])/),ke=!1),!Ee)return null;if(Ee[1]){if(!(we=this.$findClosingBracket(Ee[1],be)))return null;Ae=Se.fromPoints(be,we),ke||(Ae.end.column++,Ae.start.column--),Ae.cursor=Ae.end}else{if(!(we=this.$findOpeningBracket(Ee[2],be)))return null;Ae=Se.fromPoints(we,be),ke||(Ae.start.column++,Ae.end.column--),Ae.cursor=Ae.start}return Ae},this.getMatchingBracketRanges=function(be,Ae){var we=this.getLine(be.row),xe=/([\(\[\{])|([\)\]\}])/,ke=!Ae&&we.charAt(be.column-1),Te=ke&&ke.match(xe);return Te||(ke=(void 0===Ae||Ae)&&we.charAt(be.column),be={row:be.row,column:be.column+1},Te=ke&&ke.match(xe)),Te?(Ae=new Se(be.row,be.column-1,be.row,be.column),(we=Te[1]?this.$findClosingBracket(Te[1],be):this.$findOpeningBracket(Te[2],be))?[Ae,new Se(we.row,we.column,we.row,we.column+1)]:[Ae]):null},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(be,Ae,we){var Se=this.$brackets[be],ke=1,Te=new xe(this,Ae.row,Ae.column),Ee=Te.getCurrentToken();if(Ee=Ee||Te.stepForward()){we=we||new RegExp("(\\.?"+Ee.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+");for(var Re=Ae.column-Te.getCurrentTokenColumn()-2,_e=Ee.value;;){for(;0<=Re;){var $e=_e.charAt(Re);if($e==Se){if(0==--ke)return{row:Te.getCurrentTokenRow(),column:Re+Te.getCurrentTokenColumn()}}else $e==be&&(ke+=1);--Re}for(;(Ee=Te.stepBackward())&&!we.test(Ee.type););if(null==Ee)break;Re=(_e=Ee.value).length-1}return null}},this.$findClosingBracket=function(be,Ae,we){var Se=this.$brackets[be],ke=1,Te=new xe(this,Ae.row,Ae.column),Ee=Te.getCurrentToken();if(Ee=Ee||Te.stepForward()){we=we||new RegExp("(\\.?"+Ee.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+");for(var Re=Ae.column-Te.getCurrentTokenColumn();;){for(var _e=Ee.value,$e=_e.length;Re<$e;){var Le=_e.charAt(Re);if(Le==Se){if(0==--ke)return{row:Te.getCurrentTokenRow(),column:Re+Te.getCurrentTokenColumn()}}else Le==be&&(ke+=1);Re+=1}for(;(Ee=Te.stepForward())&&!we.test(Ee.type););if(null==Ee)break;Re=0}return null}},this.getMatchingTags=function(be){be=new xe(this,be.row,be.column);var Ae=this.$findTagName(be);if(Ae)return"<"===be.stepBackward().value?this.$findClosingTag(be,Ae):this.$findOpeningTag(be,Ae)},this.$findTagName=function(be){var Ae=be.getCurrentToken(),we=!1,xe=!1;if(Ae&&-1===Ae.type.indexOf("tag-name"))for(;(Ae=xe?be.stepBackward():be.stepForward())&&("/>"===Ae.value?xe=!0:-1!==Ae.type.indexOf("tag-name")&&(we=!0)),Ae&&!we;);return Ae},this.$findClosingTag=function(be,Ae){var we=Ae.value,xe=Ae.value,ke=0,Te=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1),Ee=(Ae=be.stepForward(),new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+Ae.value.length)),Re=!1;do{var _e,$e=Ae;if(-1===$e.type.indexOf("tag-close")||Re||(_e=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1),Re=!0),Ae=be.stepForward())if(">"!==Ae.value||Re||(_e=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1),Re=!0),-1!==Ae.type.indexOf("tag-name")){if(xe===(we=Ae.value))if("<"===$e.value)ke++;else if("</"===$e.value&&--ke<0){be.stepBackward();var Le=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+2),Ne=(Ae=be.stepForward(),new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+Ae.value.length));if(!(Ae=-1===Ae.type.indexOf("tag-close")?be.stepForward():Ae)||">"!==Ae.value)return;var Me=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1)}}else xe===we&&"/>"===Ae.value&&--ke<0&&(Me=Ne=Le=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+2),_e=new Se(Ee.end.row,Ee.end.column,Ee.end.row,Ee.end.column+1))}while(Ae&&0<=ke);if(Te&&_e&&Le&&Me&&Ee&&Ne)return{openTag:new Se(Te.start.row,Te.start.column,_e.end.row,_e.end.column),closeTag:new Se(Le.start.row,Le.start.column,Me.end.row,Me.end.column),openTagName:Ee,closeTagName:Ne}},this.$findOpeningTag=function(be,Ae){var we,xe=be.getCurrentToken(),ke=Ae.value,Te=0,Ee=be.getCurrentTokenRow(),Re=be.getCurrentTokenColumn(),_e=new Se(Ee,Re,Ee,Re+2),$e=(be.stepForward(),new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+Ae.value.length));if((Ae=-1===Ae.type.indexOf("tag-close")?be.stepForward():Ae)&&">"===Ae.value){var Le=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1);be.stepBackward(),be.stepBackward();do{if(Ae=xe,Ee=be.getCurrentTokenRow(),we=(Re=be.getCurrentTokenColumn())+Ae.value.length,xe=be.stepBackward(),Ae)if(-1!==Ae.type.indexOf("tag-name")){if(ke===Ae.value)if("<"===xe.value){if(0<++Te){for(var Ne=new Se(Ee,Re,Ee,we),Me=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1);(Ae=be.stepForward())&&">"!==Ae.value;);var Be=new Se(be.getCurrentTokenRow(),be.getCurrentTokenColumn(),be.getCurrentTokenRow(),be.getCurrentTokenColumn()+1)}}else"</"===xe.value&&Te--}else if("/>"===Ae.value){for(var We=0,Pe=xe;Pe;){if(-1!==Pe.type.indexOf("tag-name")&&Pe.value===ke){Te--;break}if("<"===Pe.value)break;Pe=be.stepBackward(),We++}for(var He=0;He<We;He++)be.stepForward()}}while(xe&&Te<=0);return Me&&Be&&_e&&Le&&Ne&&$e?{openTag:new Se(Me.start.row,Me.start.column,Be.end.row,Be.end.column),closeTag:new Se(_e.start.row,_e.start.column,Le.end.row,Le.end.column),openTagName:Ne,closeTagName:$e}:void 0}}}})),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],(function(be,Ae,we){var Se=be("./lib/oop"),ke=be("./lib/lang"),Te=be("./bidihandler").BidiHandler,Ee=be("./config"),Re=be("./lib/event_emitter").EventEmitter,_e=be("./selection").Selection,$e=be("./mode/text").Mode,Le=be("./range").Range,Ne=be("./document").Document,Me=be("./background_tokenizer").BackgroundTokenizer,Be=be("./search_highlight").SearchHighlight,We=be("./undomanager").UndoManager,Pe=(f.prototype.setDocument=function(be){this.doc&&this.doc.off("change",this.$onChange),(this.doc=be).on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},f.prototype.getDocument=function(){return this.doc},f.prototype.$resetRowCache=function(be){var Ae;be?(Ae=this.$docRowCache.length,(be=this.$getRowCacheIndex(this.$docRowCache,be)+1)<Ae&&(this.$docRowCache.splice(be,Ae),this.$screenRowCache.splice(be,Ae))):(this.$docRowCache=[],this.$screenRowCache=[])},f.prototype.$getRowCacheIndex=function(be,Ae){for(var we=0,xe=be.length-1;we<=xe;){var Se=we+xe>>1,ke=be[Se];if(ke<Ae)we=1+Se;else{if(!(Ae<ke))return Se;xe=Se-1}}return we-1},f.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},f.prototype.onChangeFold=function(be){be=be.data,this.$resetRowCache(be.start.row)},f.prototype.onChange=function(be){this.$modified=!0,this.$bidiHandler.onChange(be),this.$resetRowCache(be.start.row);var Ae=this.$updateInternalDataOnChange(be);!this.$fromUndo&&this.$undoManager&&(Ae&&Ae.length&&(this.$undoManager.add({action:"removeFolds",folds:Ae},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(be,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(be),this._signal("change",be)},f.prototype.setValue=function(be){this.doc.setValue(be),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},f.fromJSON=function(be){"string"==typeof be&&(be=JSON.parse(be));var Ae=new We,we=(Ae.$undoStack=be.history.undo,Ae.$redoStack=be.history.redo,Ae.mark=be.history.mark,Ae.$rev=be.history.rev,new f(be.value));return be.folds.forEach((function(be){we.addFold("...",Le.fromPoints(be.start,be.end))})),we.setAnnotations(be.annotations),we.setBreakpoints(be.breakpoints),we.setMode(be.mode),we.setScrollLeft(be.scrollLeft),we.setScrollTop(be.scrollTop),we.setUndoManager(Ae),we.selection.fromJSON(be.selection),we},f.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map((function(be){return be.range})),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},f.prototype.toString=function(){return this.doc.getValue()},f.prototype.getSelection=function(){return this.selection},f.prototype.getState=function(be){return this.bgTokenizer.getState(be)},f.prototype.getTokens=function(be){return this.bgTokenizer.getTokens(be)},f.prototype.getTokenAt=function(be,Ae){var we=this.bgTokenizer.getTokens(be),xe=0;if(null==Ae){var Se=we.length-1;xe=this.getLine(be).length}else for(Se=0;Se<we.length&&!(Ae<=(xe+=we[Se].value.length));Se++);return(be=we[Se])?(be.index=Se,be.start=xe-be.value.length,be):null},f.prototype.setUndoManager=function(be){var Ae;this.$undoManager=be,this.$informUndoManager&&this.$informUndoManager.cancel(),be?(be.addSession(Ae=this),this.$syncInformUndoManager=function(){Ae.$informUndoManager.cancel(),Ae.mergeUndoDeltas=!1},this.$informUndoManager=ke.delayedCall(this.$syncInformUndoManager)):this.$syncInformUndoManager=function(){}},f.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},f.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},f.prototype.getTabString=function(){return this.getUseSoftTabs()?ke.stringRepeat(" ",this.getTabSize()):"\t"},f.prototype.setUseSoftTabs=function(be){this.setOption("useSoftTabs",be)},f.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},f.prototype.setTabSize=function(be){this.setOption("tabSize",be)},f.prototype.getTabSize=function(){return this.$tabSize},f.prototype.isTabStop=function(be){return this.$useSoftTabs&&be.column%this.$tabSize==0},f.prototype.setNavigateWithinSoftTabs=function(be){this.setOption("navigateWithinSoftTabs",be)},f.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},f.prototype.setOverwrite=function(be){this.setOption("overwrite",be)},f.prototype.getOverwrite=function(){return this.$overwrite},f.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},f.prototype.addGutterDecoration=function(be,Ae){this.$decorations[be]||(this.$decorations[be]=""),this.$decorations[be]+=" "+Ae,this._signal("changeBreakpoint",{})},f.prototype.removeGutterDecoration=function(be,Ae){this.$decorations[be]=(this.$decorations[be]||"").replace(" "+Ae,""),this._signal("changeBreakpoint",{})},f.prototype.getBreakpoints=function(){return this.$breakpoints},f.prototype.setBreakpoints=function(be){this.$breakpoints=[];for(var Ae=0;Ae<be.length;Ae++)this.$breakpoints[be[Ae]]="ace_breakpoint";this._signal("changeBreakpoint",{})},f.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},f.prototype.setBreakpoint=function(be,Ae){(Ae=void 0===Ae?"ace_breakpoint":Ae)?this.$breakpoints[be]=Ae:delete this.$breakpoints[be],this._signal("changeBreakpoint",{})},f.prototype.clearBreakpoint=function(be){delete this.$breakpoints[be],this._signal("changeBreakpoint",{})},f.prototype.addMarker=function(be,Ae,we,xe){var Se=this.$markerId++;return be={range:be,type:we||"line",renderer:"function"==typeof we?we:null,clazz:Ae,inFront:!!xe,id:Se},xe?(this.$frontMarkers[Se]=be,this._signal("changeFrontMarker")):(this.$backMarkers[Se]=be,this._signal("changeBackMarker")),Se},f.prototype.addDynamicMarker=function(be,Ae){var we;if(be.update)return we=this.$markerId++,be.id=we,be.inFront=!!Ae,Ae?(this.$frontMarkers[we]=be,this._signal("changeFrontMarker")):(this.$backMarkers[we]=be,this._signal("changeBackMarker")),be},f.prototype.removeMarker=function(be){var Ae=this.$frontMarkers[be]||this.$backMarkers[be];Ae&&(delete(Ae.inFront?this.$frontMarkers:this.$backMarkers)[be],this._signal(Ae.inFront?"changeFrontMarker":"changeBackMarker"))},f.prototype.getMarkers=function(be){return be?this.$frontMarkers:this.$backMarkers},f.prototype.highlight=function(be){var Ae;this.$searchHighlight||(Ae=new Be(null,"ace_selected-word","text"),this.$searchHighlight=this.addDynamicMarker(Ae)),this.$searchHighlight.setRegexp(be)},f.prototype.highlightLines=function(be,Ae,we,xe){return"number"!=typeof Ae&&(we=Ae,Ae=be),we=we||"ace_step",(be=new Le(be,0,Ae,1/0)).id=this.addMarker(be,we,"fullLine",xe),be},f.prototype.setAnnotations=function(be){this.$annotations=be,this._signal("changeAnnotation",{})},f.prototype.getAnnotations=function(){return this.$annotations||[]},f.prototype.clearAnnotations=function(){this.setAnnotations([])},f.prototype.$detectNewLine=function(be){be=be.match(/^.*?(\r?\n)/m),this.$autoNewLine=be?be[1]:"\n"},f.prototype.getWordRange=function(be,Ae){var we,xe=this.getLine(be),Se=!1,ke=(we=(Se=(Se=0<Ae?!!xe.charAt(Ae-1).match(this.tokenRe):Se)||!!xe.charAt(Ae).match(this.tokenRe))?this.tokenRe:/^\s+$/.test(xe.slice(Ae-1,Ae+1))?/\s/:this.nonTokenRe,Ae);if(0<ke){for(;0<=--ke&&xe.charAt(ke).match(we););ke++}for(var Te=Ae;Te<xe.length&&xe.charAt(Te).match(we);)Te++;return new Le(be,ke,be,Te)},f.prototype.getAWordRange=function(be,Ae){for(var we=this.getWordRange(be,Ae),xe=this.getLine(we.end.row);xe.charAt(we.end.column).match(/[ \t]/);)we.end.column+=1;return we},f.prototype.setNewLineMode=function(be){this.doc.setNewLineMode(be)},f.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},f.prototype.setUseWorker=function(be){this.setOption("useWorker",be)},f.prototype.getUseWorker=function(){return this.$useWorker},f.prototype.onReloadTokenizer=function(be){var Ae=be.data;this.bgTokenizer.start(Ae.first),this._signal("tokenizerUpdate",be)},f.prototype.setMode=function(be,Ae){if(be&&"object"==typeof be){if(be.getTokenizer)return this.$onChangeMode(be);var we=be,xe=we.path}else xe=be||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new $e),this.$modes[xe]&&!we?(this.$onChangeMode(this.$modes[xe]),Ae&&Ae()):(this.$modeId=xe,Ee.loadModule(["mode",xe],function(be){if(this.$modeId!==xe)return Ae&&Ae();this.$modes[xe]&&!we?this.$onChangeMode(this.$modes[xe]):be&&be.Mode&&(be=new be.Mode(we),we||((this.$modes[xe]=be).$id=xe),this.$onChangeMode(be)),Ae&&Ae()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0))},f.prototype.$onChangeMode=function(be,Ae){var we,xe,Se;Ae||(this.$modeId=be.$id),this.$mode===be||(we=this.$mode,this.$mode=be,this.$stopWorker(),this.$useWorker&&this.$startWorker(),void 0!==(xe=be.getTokenizer()).on&&(Se=this.onReloadTokenizer.bind(this),xe.on("update",Se)),this.bgTokenizer.setTokenizer(xe),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=be.tokenRe,this.nonTokenRe=be.nonTokenRe,Ae)||(be.attachToSession&&be.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(be.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:we,mode:be}))},f.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},f.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(be){Ee.warn("Could not load worker",be),this.$worker=null}},f.prototype.getMode=function(){return this.$mode},f.prototype.setScrollTop=function(be){this.$scrollTop===be||isNaN(be)||(this.$scrollTop=be,this._signal("changeScrollTop",be))},f.prototype.getScrollTop=function(){return this.$scrollTop},f.prototype.setScrollLeft=function(be){this.$scrollLeft===be||isNaN(be)||(this.$scrollLeft=be,this._signal("changeScrollLeft",be))},f.prototype.getScrollLeft=function(){return this.$scrollLeft},f.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},f.prototype.getLineWidgetMaxWidth=function(){var be;return null!=this.lineWidgetsWidth?this.lineWidgetsWidth:(be=0,this.lineWidgets.forEach((function(Ae){Ae&&Ae.screenWidth>be&&(be=Ae.screenWidth)})),this.lineWidgetWidth=be)},f.prototype.$computeWidth=function(be){if(this.$modified||be){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var Ae=this.doc.getAllLines(),we=this.$rowLengthCache,xe=0,Se=0,ke=this.$foldData[Se],Te=ke?ke.start.row:1/0,Ee=Ae.length,Re=0;Re<Ee;Re++){if(Te<Re){if(Ee<=(Re=ke.end.row+1))break;Te=(ke=this.$foldData[Se++])?ke.start.row:1/0}null==we[Re]&&(we[Re]=this.$getStringScreenWidth(Ae[Re])[0]),we[Re]>xe&&(xe=we[Re])}this.screenWidth=xe}},f.prototype.getLine=function(be){return this.doc.getLine(be)},f.prototype.getLines=function(be,Ae){return this.doc.getLines(be,Ae)},f.prototype.getLength=function(){return this.doc.getLength()},f.prototype.getTextRange=function(be){return this.doc.getTextRange(be||this.selection.getRange())},f.prototype.insert=function(be,Ae){return this.doc.insert(be,Ae)},f.prototype.remove=function(be){return this.doc.remove(be)},f.prototype.removeFullLines=function(be,Ae){return this.doc.removeFullLines(be,Ae)},f.prototype.undoChanges=function(be,Ae){if(be.length){this.$fromUndo=!0;for(var we=be.length-1;-1!=we;we--){var xe=be[we];"insert"==xe.action||"remove"==xe.action?this.doc.revertDelta(xe):xe.folds&&this.addFolds(xe.folds)}!Ae&&this.$undoSelect&&(be.selectionBefore?this.selection.fromJSON(be.selectionBefore):this.selection.setRange(this.$getUndoSelection(be,!0))),this.$fromUndo=!1}},f.prototype.redoChanges=function(be,Ae){if(be.length){this.$fromUndo=!0;for(var we=0;we<be.length;we++){var xe=be[we];"insert"!=xe.action&&"remove"!=xe.action||this.doc.$safeApplyDelta(xe)}!Ae&&this.$undoSelect&&(be.selectionAfter?this.selection.fromJSON(be.selectionAfter):this.selection.setRange(this.$getUndoSelection(be,!1))),this.$fromUndo=!1}},f.prototype.setUndoSelect=function(be){this.$undoSelect=be},f.prototype.$getUndoSelection=function(be,Ae){function n(be){return Ae?"insert"!==be.action:"insert"===be.action}for(var we,xe,Se=0;Se<be.length;Se++){var ke=be[Se];ke.start&&(we?n(ke)?(xe=ke.start,-1==we.compare(xe.row,xe.column)&&we.setStart(xe),xe=ke.end,1==we.compare(xe.row,xe.column)&&we.setEnd(xe)):(xe=ke.start,-1==we.compare(xe.row,xe.column)&&(we=Le.fromPoints(ke.start,ke.start))):we=n(ke)?Le.fromPoints(ke.start,ke.end):Le.fromPoints(ke.start,ke.start))}return we},f.prototype.replace=function(be,Ae){return this.doc.replace(be,Ae)},f.prototype.moveText=function(be,Ae,we){var xe,Se,ke,Te=this.getTextRange(be),Ee=this.getFoldsInRange(be);return Ae=Le.fromPoints(Ae,Ae),we||(this.remove(be),Se=be.start.row-be.end.row,(ke=Se?-be.end.column:be.start.column-be.end.column)&&(Ae.start.row==be.end.row&&Ae.start.column>be.end.column&&(Ae.start.column+=ke),Ae.end.row==be.end.row)&&Ae.end.column>be.end.column&&(Ae.end.column+=ke),Se&&Ae.start.row>=be.end.row&&(Ae.start.row+=Se,Ae.end.row+=Se)),Ae.end=this.insert(Ae.start,Te),Ee.length&&(xe=be.start,we=Ae.start,Se=we.row-xe.row,ke=we.column-xe.column,this.addFolds(Ee.map((function(be){return(be=be.clone()).start.row==xe.row&&(be.start.column+=ke),be.end.row==xe.row&&(be.end.column+=ke),be.start.row+=Se,be.end.row+=Se,be})))),Ae},f.prototype.indentRows=function(be,Ae,we){we=we.replace(/\t/g,this.getTabString());for(var xe=be;xe<=Ae;xe++)this.doc.insertInLine({row:xe,column:0},we)},f.prototype.outdentRows=function(be){for(var Ae=be.collapseRows(),we=new Le(0,0,0,0),xe=this.getTabSize(),Se=Ae.start.row;Se<=Ae.end.row;++Se){var ke=this.getLine(Se);we.start.row=Se,we.end.row=Se;for(var Te=0;Te<xe&&" "==ke.charAt(Te);++Te);Te<xe&&"\t"==ke.charAt(Te)?(we.start.column=Te,we.end.column=Te+1):(we.start.column=0,we.end.column=Te),this.remove(we)}},f.prototype.$moveLines=function(be,Ae,we){if(be=this.getRowFoldStart(be),Ae=this.getRowFoldEnd(Ae),we<0){if((Se=this.getRowFoldStart(be+we))<0)return 0;var xe=Se-be}else if(0<we){if((Se=this.getRowFoldEnd(Ae+we))>this.doc.getLength()-1)return 0;xe=Se-Ae}else be=this.$clipRowToDocument(be),xe=(Ae=this.$clipRowToDocument(Ae))-be+1;var Se=new Le(be,0,Ae,Number.MAX_VALUE);return Se=this.getFoldsInRange(Se).map((function(be){return(be=be.clone()).start.row+=xe,be.end.row+=xe,be})),we=0==we?this.doc.getLines(be,Ae):this.doc.removeFullLines(be,Ae),this.doc.insertFullLines(be+xe,we),Se.length&&this.addFolds(Se),xe},f.prototype.moveLinesUp=function(be,Ae){return this.$moveLines(be,Ae,-1)},f.prototype.moveLinesDown=function(be,Ae){return this.$moveLines(be,Ae,1)},f.prototype.duplicateLines=function(be,Ae){return this.$moveLines(be,Ae,0)},f.prototype.$clipRowToDocument=function(be){return Math.max(0,Math.min(be,this.doc.getLength()-1))},f.prototype.$clipColumnToRow=function(be,Ae){return Ae<0?0:Math.min(this.doc.getLine(be).length,Ae)},f.prototype.$clipPositionToDocument=function(be,Ae){var we;return Ae=Math.max(0,Ae),Ae=be<0?be=0:(we=this.doc.getLength())<=be?this.doc.getLine(be=we-1).length:Math.min(this.doc.getLine(be).length,Ae),{row:be,column:Ae}},f.prototype.$clipRangeToDocument=function(be){be.start.row<0?(be.start.row=0,be.start.column=0):be.start.column=this.$clipColumnToRow(be.start.row,be.start.column);var Ae=this.doc.getLength()-1;return be.end.row>Ae?(be.end.row=Ae,be.end.column=this.doc.getLine(Ae).length):be.end.column=this.$clipColumnToRow(be.end.row,be.end.column),be},f.prototype.setUseWrapMode=function(be){be!=this.$useWrapMode&&(this.$useWrapMode=be,this.$modified=!0,this.$resetRowCache(0),be&&(be=this.getLength(),this.$wrapData=Array(be),this.$updateWrapData(0,be-1)),this._signal("changeWrapMode"))},f.prototype.getUseWrapMode=function(){return this.$useWrapMode},f.prototype.setWrapLimitRange=function(be,Ae){this.$wrapLimitRange.min===be&&this.$wrapLimitRange.max===Ae||(this.$wrapLimitRange={min:be,max:Ae},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},f.prototype.adjustWrapLimit=function(be,Ae){var we=this.$wrapLimitRange;return we.max<0&&(we={min:Ae,max:Ae}),(Ae=this.$constrainWrapLimit(be,we.min,we.max))!=this.$wrapLimit&&1<Ae&&(this.$wrapLimit=Ae,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},f.prototype.$constrainWrapLimit=function(be,Ae,we){return Ae&&(be=Math.max(Ae,be)),we?Math.min(we,be):be},f.prototype.getWrapLimit=function(){return this.$wrapLimit},f.prototype.setWrapLimit=function(be){this.setWrapLimitRange(be,be)},f.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},f.prototype.$updateInternalDataOnChange=function(be){var Ae,we=this.$useWrapMode,Se=be.action,ke=be.start,Te=be.end,Ee=ke.row,Re=Te.row,_e=Re-Ee,$e=null;if(this.$updating=!0,0!=_e)if("remove"===Se){this[we?"$wrapData":"$rowLengthCache"].splice(Ee,_e);var Le=this.$foldData;$e=this.getFoldsInRange(be),this.removeFolds($e);var Ne=0;for((Ae=this.getFoldLine(Te.row))&&(Ae.addRemoveChars(Te.row,Te.column,ke.column-Te.column),Ae.shiftRow(-_e),(Me=this.getFoldLine(Ee))&&Me!==Ae&&(Me.merge(Ae),Ae=Me),Ne=Le.indexOf(Ae)+1);Ne<Le.length;Ne++)(Ae=Le[Ne]).start.row>=Te.row&&Ae.shiftRow(-_e);Re=Ee}else{var Me=Array(_e),Be=(Me.unshift(Ee,0),we?this.$wrapData:this.$rowLengthCache);for(Be.splice.apply(Be,Me),Le=this.$foldData,Ne=0,(Ae=this.getFoldLine(Ee))&&(0==(Be=Ae.range.compareInside(ke.row,ke.column))?(Ae=Ae.split(ke.row,ke.column))&&(Ae.shiftRow(_e),Ae.addRemoveChars(Re,0,Te.column-ke.column)):-1==Be&&(Ae.addRemoveChars(Ee,0,Te.column-ke.column),Ae.shiftRow(_e)),Ne=Le.indexOf(Ae)+1);Ne<Le.length;Ne++)(Ae=Le[Ne]).start.row>=Ee&&Ae.shiftRow(_e)}else _e=Math.abs(be.start.column-be.end.column),"remove"===Se&&($e=this.getFoldsInRange(be),this.removeFolds($e),_e=-_e),(Ae=this.getFoldLine(Ee))&&Ae.addRemoveChars(Ee,ke.column,_e);return we&&this.$wrapData.length!=this.doc.getLength()&&xe.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,we?this.$updateWrapData(Ee,Re):this.$updateRowLengthCache(Ee,Re),$e},f.prototype.$updateRowLengthCache=function(be,Ae){this.$rowLengthCache[be]=null,this.$rowLengthCache[Ae]=null},f.prototype.$updateWrapData=function(be,Ae){var we,xe,Se=this.doc.getAllLines(),ke=this.getTabSize(),Te=this.$wrapData,Ee=this.$wrapLimit,Re=be;for(Ae=Math.min(Ae,Se.length-1);Re<=Ae;)(xe=this.getFoldLine(Re,xe))?(we=[],xe.walk(function(be,Ae,xe,ke){var Te;if(null!=be){(Te=this.$getDisplayTokens(be,we.length))[0]=Fe;for(var Ee=1;Ee<Te.length;Ee++)Te[Ee]=Oe}else Te=this.$getDisplayTokens(Se[Ae].substring(ke,xe),we.length);we=we.concat(Te)}.bind(this),xe.end.row,Se[xe.end.row].length+1),Te[xe.start.row]=this.$computeWrapSplits(we,Ee,ke),Re=xe.end.row+1):(we=this.$getDisplayTokens(Se[Re]),Te[Re]=this.$computeWrapSplits(we,Ee,ke),Re++)},f.prototype.$computeWrapSplits=function(be,Ae,we){if(0==be.length)return[];var xe=[],Se=be.length,ke=0,Te=0,Ee=this.$wrapAsCode,Re=this.$indentedSoftWrap,_e=Ae<=Math.max(2*we,8)||!1===Re?0:Math.floor(Ae/2);function n(Ae){for(var Se=Ae-ke,Le=ke;Le<Ae;Le++){var Ne=be[Le];12!==Ne&&2!==Ne||--Se}xe.length||($e=function(){var Ae=0;if(0===_e)return Ae;if(Re)for(var xe=0;xe<be.length;xe++){var Se=be[xe];if(Se==Ze)Ae+=1;else if(Se==De)Ae+=we;else if(Se!=Ke)break}return Ee&&!1!==Re&&(Ae+=we),Math.min(Ae,_e)}(),xe.indent=$e),Te+=Se,xe.push(Te),ke=Ae}for(var $e=0;Ae-$e<Se-ke;){var Le=ke+Ae-$e;if(be[Le-1]>=Ze&&be[Le]>=Ze)n(Le);else if(be[Le]==Fe||be[Le]==Oe){for(;Le!=ke-1&&be[Le]!=Fe;Le--);if(ke<Le);else{for(Le=ke+Ae;Le<be.length&&be[Le]==Oe;Le++);if(Le==be.length)break}n(Le)}else{for(var Ne=Math.max(Le-(Ae-(Ae>>2)),ke-1);Ne<Le&&be[Le]<Fe;)Le--;if(Ee){for(;Ne<Le&&be[Le]<Fe;)Le--;for(;Ne<Le&&be[Le]==Ve;)Le--}else for(;Ne<Le&&be[Le]<Ze;)Le--;Ne<Le?n(++Le):(be[Le=ke+Ae]==Ge&&Le--,n(Le-$e))}}return xe},f.prototype.$getDisplayTokens=function(be,Ae){var we,xe=[];Ae=Ae||0;for(var Se=0;Se<be.length;Se++){var ke=be.charCodeAt(Se);if(9==ke){we=this.getScreenTabSize(xe.length+Ae),xe.push(De);for(var Te=1;Te<we;Te++)xe.push(Ke)}else 32==ke?xe.push(Ze):39<ke&&ke<48||57<ke&&ke<64?xe.push(Ve):4352<=ke&&x(ke)?xe.push(He,Ge):xe.push(He)}return xe},f.prototype.$getStringScreenWidth=function(be,Ae,we){if(0==Ae)return[0,0];var xe,Se;for(null==Ae&&(Ae=1/0),we=we||0,Se=0;Se<be.length&&(9==(xe=be.charCodeAt(Se))?we+=this.getScreenTabSize(we):4352<=xe&&x(xe)?we+=2:we+=1,!(Ae<we));Se++);return[we,Se]},f.prototype.getRowLength=function(be){var Ae=1;return this.lineWidgets&&(Ae+=this.lineWidgets[be]&&this.lineWidgets[be].rowCount||0),this.$useWrapMode&&this.$wrapData[be]?this.$wrapData[be].length+Ae:Ae},f.prototype.getRowLineCount=function(be){return this.$useWrapMode&&this.$wrapData[be]?this.$wrapData[be].length+1:1},f.prototype.getRowWrapIndent=function(be){var Ae;return this.$useWrapMode&&(be=this.screenToDocumentPosition(be,Number.MAX_VALUE),(Ae=this.$wrapData[be.row]).length)&&Ae[0]<be.column?Ae.indent:0},f.prototype.getScreenLastRowColumn=function(be){return be=this.screenToDocumentPosition(be,Number.MAX_VALUE),this.documentToScreenColumn(be.row,be.column)},f.prototype.getDocumentLastRowColumn=function(be,Ae){return be=this.documentToScreenRow(be,Ae),this.getScreenLastRowColumn(be)},f.prototype.getDocumentLastRowColumnPosition=function(be,Ae){return be=this.documentToScreenRow(be,Ae),this.screenToDocumentPosition(be,Number.MAX_VALUE/10)},f.prototype.getRowSplitData=function(be){if(this.$useWrapMode)return this.$wrapData[be]},f.prototype.getScreenTabSize=function(be){return this.$tabSize-(be%this.$tabSize|0)},f.prototype.screenToDocumentRow=function(be,Ae){return this.screenToDocumentPosition(be,Ae).row},f.prototype.screenToDocumentColumn=function(be,Ae){return this.screenToDocumentPosition(be,Ae).column},f.prototype.screenToDocumentPosition=function(be,Ae,we){if(be<0)return{row:0,column:0};for(var xe,Se,ke,Te=0,Ee=0,Re=0,_e=0,$e=this.$screenRowCache,Le=this.$getRowCacheIndex($e,be),Ne=$e.length,Me=(ke=Ne&&0<=Le?(Re=$e[Le],Te=this.$docRowCache[Le],be>$e[Ne-1]):!Ne,this.getLength()-1),Be=this.getNextFoldLine(Te),We=Be?Be.start.row:1/0;Re<=be&&!(be<Re+(_e=this.getRowLength(Te))||Me<=Te);)Re+=_e,We<++Te&&(Te=Be.end.row+1,We=(Be=this.getNextFoldLine(Te,Be))?Be.start.row:1/0),ke&&(this.$docRowCache.push(Te),this.$screenRowCache.push(Re));if(Be&&Be.start.row<=Te)xe=this.getFoldDisplayLine(Be),Te=Be.start.row;else{if(Re+_e<=be||Me<Te)return{row:Me,column:this.getLine(Me).length};xe=this.getLine(Te),Be=null}return Le=0,$e=Math.floor(be-Re),this.$useWrapMode&&(Ne=this.$wrapData[Te])&&(Se=Ne[$e],0<$e)&&Ne.length&&(Le=Ne.indent,Ee=Ne[$e-1]||Ne[Ne.length-1],xe=xe.substring(Ee)),void 0!==we&&this.$bidiHandler.isBidiRow(Re+$e,Te,$e)&&(Ae=this.$bidiHandler.offsetToCol(we)),Ee+=this.$getStringScreenWidth(xe,Ae-Le)[1],this.$useWrapMode&&Se<=Ee&&(Ee=Se-1),Be?Be.idxToPosition(Ee):{row:Te,column:Ee}},f.prototype.documentToScreenPosition=function(be,Ae){var we=(be=(xe=void 0===Ae?this.$clipPositionToDocument(be.row,be.column):this.$clipPositionToDocument(be,Ae)).row,Ae=xe.column,0),xe=null;(Ee=this.getFoldAt(be,Ae,1))&&(be=Ee.start.row,Ae=Ee.start.column);for(var Se,ke,Te=0,Ee=this.$docRowCache,Re=this.$getRowCacheIndex(Ee,be),_e=Ee.length,$e=(ke=_e&&0<=Re?(Te=Ee[Re],we=this.$screenRowCache[Re],be>Ee[_e-1]):!_e,this.getNextFoldLine(Te)),Le=$e?$e.start.row:1/0;Te<be;){if(Le<=Te){if(be<(Se=$e.end.row+1))break;Le=($e=this.getNextFoldLine(Se,$e))?$e.start.row:1/0}else Se=Te+1;we+=this.getRowLength(Te),Te=Se,ke&&(this.$docRowCache.push(Te),this.$screenRowCache.push(we))}var Ne="";if(xe=$e&&Le<=Te?(Ne=this.getFoldDisplayLine($e,be,Ae),$e.start.row):(Ne=this.getLine(be).substring(0,Ae),be),Re=0,this.$useWrapMode){var Me=this.$wrapData[xe];if(Me){for(var Be=0;Ne.length>=Me[Be];)we++,Be++;Ne=Ne.substring(Me[Be-1]||0,Ne.length),Re=0<Be?Me.indent:0}}return this.lineWidgets&&this.lineWidgets[Te]&&this.lineWidgets[Te].rowsAbove&&(we+=this.lineWidgets[Te].rowsAbove),{row:we,column:Re+this.$getStringScreenWidth(Ne)[0]}},f.prototype.documentToScreenColumn=function(be,Ae){return this.documentToScreenPosition(be,Ae).column},f.prototype.documentToScreenRow=function(be,Ae){return this.documentToScreenPosition(be,Ae).row},f.prototype.getScreenLength=function(){var be=0,Ae=null;if(this.$useWrapMode)for(var we=this.$wrapData.length,xe=0,Se=0,ke=(Ae=this.$foldData[Se++])?Ae.start.row:1/0;xe<we;){var Te=this.$wrapData[xe];be+=Te?Te.length+1:1,ke<++xe&&(xe=Ae.end.row+1,ke=(Ae=this.$foldData[Se++])?Ae.start.row:1/0)}else{be=this.getLength();var Ee=this.$foldData;for(Se=0;Se<Ee.length;Se++)be-=(Ae=Ee[Se]).end.row-Ae.start.row}return this.lineWidgets&&(be+=this.$getWidgetScreenLength()),be},f.prototype.$setFontMetrics=function(be){this.$enableVarChar&&(this.$getStringScreenWidth=function(Ae,we,xe){if(0===we)return[0,0];var Se,ke;for(we=we||1/0,xe=xe||0,ke=0;ke<Ae.length&&!(we<(xe+="\t"===(Se=Ae.charAt(ke))?this.getScreenTabSize(xe):be.getCharacterWidth(Se)));ke++);return[xe,ke]})},f.prototype.getPrecedingCharacter=function(){var be=this.selection.getCursor();return 0===be.column?0===be.row?"":this.doc.getNewLineCharacter():this.getLine(be.row)[be.column-1]},f.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection.detach()},f);function f(be,Ae){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++f.$uid,this.$foldData.toString=function(){return this.join("\n")},this.bgTokenizer=new Me((new $e).getTokenizer(),this);var we=this;this.bgTokenizer.on("update",(function(be){we._signal("tokenizerUpdate",be)})),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof be&&be.getLine||(be=new Ne(be)),this.setDocument(be),this.selection=new _e(this),this.$bidiHandler=new Te(this),Ee.resetOptions(this),this.setMode(Ae),Ee._signal("session",this),this.destroyed=!1}Pe.$uid=0,Pe.prototype.$modes=Ee.$modes,Pe.prototype.getValue=Pe.prototype.toString,Pe.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},Pe.prototype.$overwrite=!1,Pe.prototype.$mode=null,Pe.prototype.$modeId=null,Pe.prototype.$scrollTop=0,Pe.prototype.$scrollLeft=0,Pe.prototype.$wrapLimit=80,Pe.prototype.$useWrapMode=!1,Pe.prototype.$wrapLimitRange={min:null,max:null},Pe.prototype.lineWidgets=null,Pe.prototype.isFullWidth=x,Se.implement(Pe.prototype,Re);var He=1,Ge=2,Fe=3,Oe=4,Ve=9,Ze=10,De=11,Ke=12;function x(be){return!(be<4352)&&(4352<=be&&be<=4447||4515<=be&&be<=4519||4602<=be&&be<=4607||9001<=be&&be<=9002||11904<=be&&be<=11929||11931<=be&&be<=12019||12032<=be&&be<=12245||12272<=be&&be<=12283||12288<=be&&be<=12350||12353<=be&&be<=12438||12441<=be&&be<=12543||12549<=be&&be<=12589||12593<=be&&be<=12686||12688<=be&&be<=12730||12736<=be&&be<=12771||12784<=be&&be<=12830||12832<=be&&be<=12871||12880<=be&&be<=13054||13056<=be&&be<=19903||19968<=be&&be<=42124||42128<=be&&be<=42182||43360<=be&&be<=43388||44032<=be&&be<=55203||55216<=be&&be<=55238||55243<=be&&be<=55291||63744<=be&&be<=64255||65040<=be&&be<=65049||65072<=be&&be<=65106||65108<=be&&be<=65126||65128<=be&&be<=65131||65281<=be&&be<=65376||65504<=be&&be<=65510)}be("./edit_session/folding").Folding.call(Pe.prototype),be("./edit_session/bracket_match").BracketMatch.call(Pe.prototype),Ee.defineOptions(Pe.prototype,"session",{wrap:{set:function(be){be&&"off"!=be?"free"==be?be=!0:"printMargin"==be?be=-1:"string"==typeof be&&(be=parseInt(be,10)||!1):be=!1,this.$wrap!=be&&((this.$wrap=be)?(this.setWrapLimitRange(be="number"==typeof be?be:null,be),this.setUseWrapMode(!0)):this.setUseWrapMode(!1))},get:function(){return this.getUseWrapMode()?-1==this.$wrap?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(be){(be="auto"==be?"text"!=this.$mode.type:"text"!=be)!=this.$wrapAsCode&&(this.$wrapAsCode=be,this.$useWrapMode)&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(be){this.$useWorker=be,this.$stopWorker(),be&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(be){0<(be=parseInt(be))&&this.$tabSize!==be&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=be,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(be){this.setFoldStyle(be)},handlesSet:!0},overwrite:{set:function(be){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(be){this.doc.setNewLineMode(be)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(be){this.setMode(be)},get:function(){return this.$modeId},handlesSet:!0}}),Ae.EditSession=Pe})),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],(function(be,Ae,we){var xe=be("./lib/lang"),Se=be("./lib/oop"),ke=be("./range").Range;function o(){this.$options={}}o.prototype.set=function(be){return Se.mixin(this.$options,be),this},o.prototype.getOptions=function(){return xe.copyObject(this.$options)},o.prototype.setOptions=function(be){this.$options=be},o.prototype.find=function(be){var Ae,we=this.$options;return!!(be=this.$matchIterator(be,we))&&(Ae=null,be.forEach((function(be,xe,Se,Te){return Ae=new ke(be,xe,Se,Te),!(xe==Te&&we.start&&we.start.start&&0!=we.skipCurrent&&Ae.isEqual(we.start)&&(Ae=null,1))})),Ae)},o.prototype.findAll=function(be){var Ae=this.$options;if(!Ae.needle)return[];this.$assembleRegExp(Ae);var we=Ae.range,Se=we?be.getLines(we.start.row,we.end.row):be.doc.getAllLines(),Te=[],Ee=Ae.re;if(Ae.$isMultiLine){var Re,_e=Ee.length,$e=Se.length-_e;e:for(var Le=Ee.offset||0;Le<=$e;Le++){for(var Ne=0;Ne<_e;Ne++)if(-1==Se[Le+Ne].search(Ee[Ne]))continue e;var Me=Se[Le],Be=Se[Le+_e-1];Me=Me.length-Me.match(Ee[0])[0].length,Be=Be.match(Ee[_e-1])[0].length,Re&&Re.end.row===Le&&Re.end.column>Me||(Te.push(Re=new ke(Le,Me,Le+_e-1,Be)),2<_e&&(Le=Le+_e-2))}}else for(var We=0;We<Se.length;We++){var Pe=xe.getMatchOffsets(Se[We],Ee);for(Ne=0;Ne<Pe.length;Ne++){var He=Pe[Ne];Te.push(new ke(We,He.offset,We,He.offset+He.length))}}if(we){var Ge=we.start.column,Fe=we.end.column;for(We=0,Ne=Te.length-1;We<Ne&&Te[We].start.column<Ge&&0==Te[We].start.row;)We++;for(var Oe=we.end.row-we.start.row;We<Ne&&Te[Ne].end.column>Fe&&Te[Ne].end.row==Oe;)Ne--;for(Te=Te.slice(We,Ne+1),We=0,Ne=Te.length;We<Ne;We++)Te[We].start.row+=we.start.row,Te[We].end.row+=we.start.row}return Te},o.prototype.replace=function(be,Ae){var we=this.$options,xe=this.$assembleRegExp(we);if(we.$isMultiLine)return Ae;if(xe){var Se=xe.exec(be);if(!Se||Se[0].length!=be.length)return null;if(we.regExp||(Ae=Ae.replace(/\$/g,"$$$$")),Ae=be.replace(xe,Ae),we.preserveCase){Ae=Ae.split("");for(var ke=Math.min(be.length,be.length);ke--;){var Te=be[ke];Te&&Te.toLowerCase()!=Te?Ae[ke]=Ae[ke].toUpperCase():Ae[ke]=Ae[ke].toLowerCase()}Ae=Ae.join("")}return Ae}},o.prototype.$assembleRegExp=function(be,Ae){if(be.needle instanceof RegExp)return be.re=be.needle;var we=be.needle;if(!be.needle)return be.re=!1;be.regExp||(we=xe.escapeRegExp(we));var Se,ke,Te,Ee,Re,_e=be.caseSensitive?"gm":"gmi";try{new RegExp(we,"u"),be.$supportsUnicodeFlag=!0,_e+="u"}catch(Ae){be.$supportsUnicodeFlag=!1}function c(be,Ae){return void 0===Ae&&(Ae=!0),(Te&&ke.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w")).test(be)||ke.regExp?Te&&ke.$supportsUnicodeFlag?Ae?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}if(be.wholeWord&&(Se=we,ke=be,Te=xe.supportsLookbehind(),Re=(Ee=Array.from(Se))[0],Ee=Ee[Ee.length-1],we=c(Re)+Se+c(Ee,!1)),be.$isMultiLine=!Ae&&/[\n\r]/.test(we),be.$isMultiLine)return be.re=this.$assembleMultilineRegExp(we,_e);try{var $e=new RegExp(we,_e)}catch(Ae){$e=!1}return be.re=$e},o.prototype.$assembleMultilineRegExp=function(be,Ae){for(var we=be.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),xe=[],Se=0;Se<we.length;Se++)try{xe.push(new RegExp(we[Se],Ae))}catch(be){return!1}return xe},o.prototype.$matchIterator=function(be,Ae){var we,Se,ke,Te,Ee,Re,_e,$e,Le,Ne=this.$assembleRegExp(Ae);return!!Ne&&(we=1==Ae.backwards,Se=0!=Ae.skipCurrent,ke=Ne.unicode,Te=Ae.range,(Ee=(Ee=Ae.start)||(Te?Te[we?"end":"start"]:be.selection.getRange())).start&&(Ee=Ee[Se!=we?"end":"start"]),Re=Te?Te.start.row:0,_e=Te?Te.end.row:be.getLength()-1,Le=Ae.$isMultiLine?($e=Ne.length,function(Ae,xe,Se){var ke=we?Ae-$e+1:Ae;if(!(ke<0||ke+$e>be.getLength())){var Te=be.getLine(ke);if(Ae=Te.search(Ne[0]),!(!we&&Ae<xe||-1===Ae)){for(var Ee=1;Ee<$e;Ee++)if(-1==(Te=be.getLine(ke+Ee)).search(Ne[Ee]))return;var Re=Te.match(Ne[$e-1])[0].length;if(!(we&&xe<Re))return!!Se(ke,Ae,ke+$e-1,Re)||void 0}}}):we?function(Ae,we,Se){var Te,Ee=be.getLine(Ae),Re=[];for(Ne.lastIndex=0;Te=Ne.exec(Ee);){var _e=Te[0].length,$e=Te.index;if(!_e){if($e>=Ee.length)break;Ne.lastIndex=$e+=xe.skipEmptyMatch(Ee,$e,ke)}if(Te.index+_e>we)break;Re.push(Te.index,_e)}for(var Le=Re.length-1;0<=Le;Le-=2){var Me=Re[Le-1];if(Se(Ae,Me,Ae,Me+(_e=Re[Le])))return!0}}:function(Ae,we,Se){var Te=be.getLine(Ae);for(Ne.lastIndex=we;Ee=Ne.exec(Te);){var Ee,Re=Ee[0].length;if(Se(Ae,Ee=Ee.index,Ae,Ee+Re))return!0;if(!Re&&(Ne.lastIndex=Ee+=xe.skipEmptyMatch(Te,Ee,ke),Ee>=Te.length))return!1}},{forEach:we?function(be){var we=Ee.row;if(!Le(we,Ee.column,be)){for(we--;Re<=we;we--)if(Le(we,Number.MAX_VALUE,be))return;if(0!=Ae.wrap)for(we=_e,Re=Ee.row;Re<=we;we--)if(Le(we,Number.MAX_VALUE,be))return}}:function(be){var we=Ee.row;if(!Le(we,Ee.column,be)){for(we+=1;we<=_e;we++)if(Le(we,0,be))return;if(0!=Ae.wrap)for(we=Re,_e=Ee.row;we<=_e;we++)if(Le(we,0,be))return}}})},Ae.Search=o})),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],(function(be,Ae,we){var Se,ke,Te=this&&this.__extends||(Se=function(be,Ae){return(Se=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}Se(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),Ee=be("../lib/keys"),Re=be("../lib/useragent"),_e=Ee.KEY_MODS,$e=(c.prototype.$init=function(be,Ae,we){this.platform=Ae||(Re.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(be),this.$singleCommand=we},c.prototype.addCommand=function(be){this.commands[be.name]&&this.removeCommand(be),(this.commands[be.name]=be).bindKey&&this._buildKeyHash(be)},c.prototype.removeCommand=function(be,Ae){var we,xe=be&&("string"==typeof be?be:be.name),Se=(be=this.commands[xe],Ae||delete this.commands[xe],this.commandKeyBinding);for(we in Se){var ke,Te=Se[we];Te==be?delete Se[we]:Array.isArray(Te)&&-1!=(ke=Te.indexOf(be))&&(Te.splice(ke,1),1==Te.length)&&(Se[we]=Te[0])}},c.prototype.bindKey=function(be,Ae,we){if("object"==typeof be&&be&&(null==we&&(we=be.position),be=be[this.platform]),be)return"function"==typeof Ae?this.addCommand({exec:Ae,bindKey:be,name:Ae.name||be}):void be.split("|").forEach((function(be){var xe="",Se=(-1!=be.indexOf(" ")&&(be=(Se=be.split(/\s+/)).pop(),Se.forEach((function(be){be=this.parseKeys(be),be=_e[be.hashId]+be.key,xe+=(xe?" ":"")+be,this._addCommandToBinding(xe,"chainKeys")}),this),xe+=" "),this.parseKeys(be));be=_e[Se.hashId]+Se.key,this._addCommandToBinding(xe+be,Ae,we)}),this)},c.prototype._addCommandToBinding=function(be,Ae,we){var xe=this.commandKeyBinding;if(Ae)if(!xe[be]||this.$singleCommand)xe[be]=Ae;else{Array.isArray(xe[be])?-1!=(ke=xe[be].indexOf(Ae))&&xe[be].splice(ke,1):xe[be]=[xe[be]],"number"!=typeof we&&(we=h(Ae));for(var Se=xe[be],ke=0;ke<Se.length&&!(we<h(Se[ke]));ke++);Se.splice(ke,0,Ae)}else delete xe[be]},c.prototype.addCommands=function(be){be&&Object.keys(be).forEach((function(Ae){var we=be[Ae];if(we){if("string"==typeof we)return this.bindKey(we,Ae);"object"==typeof(we="function"==typeof we?{exec:we}:we)&&(we.name||(we.name=Ae),this.addCommand(we))}}),this)},c.prototype.removeCommands=function(be){Object.keys(be).forEach((function(Ae){this.removeCommand(be[Ae])}),this)},c.prototype.bindKeys=function(be){Object.keys(be).forEach((function(Ae){this.bindKey(Ae,be[Ae])}),this)},c.prototype._buildKeyHash=function(be){this.bindKey(be.bindKey,be)},c.prototype.parseKeys=function(be){var Ae=be.toLowerCase().split(/[\-\+]([\-\+])?/).filter((function(be){return be})),we=Ae.pop(),Se=Ee[we];if(Ee.FUNCTION_KEYS[Se])we=Ee.FUNCTION_KEYS[Se].toLowerCase();else{if(!Ae.length)return{key:we,hashId:-1};if(1==Ae.length&&"shift"==Ae[0])return{key:we.toUpperCase(),hashId:-1}}for(var ke=0,Te=Ae.length;Te--;){var Re=Ee.KEY_MODS[Ae[Te]];if(null==Re)return void 0!==xe&&xe.error("invalid modifier "+Ae[Te]+" in "+be),!1;ke|=Re}return{key:we,hashId:ke}},c.prototype.findKeyCommand=function(be,Ae){return be=_e[be]+Ae,this.commandKeyBinding[be]},c.prototype.handleKeyboard=function(be,Ae,we,xe){var Se,ke;if(!(xe<0))return Se=_e[Ae]+we,ke=this.commandKeyBinding[Se],be.$keyChain&&(be.$keyChain+=" "+Se,ke=this.commandKeyBinding[be.$keyChain]||ke),!ke||"chainKeys"!=ke&&"chainKeys"!=ke[ke.length-1]?(be.$keyChain&&(Ae&&4!=Ae||1!=we.length?(-1==Ae||0<xe)&&(be.$keyChain=""):be.$keyChain=be.$keyChain.slice(0,-Se.length-1)),{command:ke}):(be.$keyChain=be.$keyChain||Se,{command:"null"})},c.prototype.getStatusText=function(be,Ae){return Ae.$keyChain||""},c);function c(be,Ae){this.$init(be,Ae,!1)}function h(be){return"object"==typeof be&&be.bindKey&&be.bindKey.position||(be.isDefault?-100:0)}function u(be,Ae){return(be=ke.call(this,be,Ae)||this).$singleCommand=!0,be}Te(u,ke=$e),(be=u).call=function(be,Ae,we){$e.prototype.$init.call(be,Ae,we,!0)},$e.call=function(be,Ae,we){$e.prototype.$init.call(be,Ae,we,!1)},Ae.HashHandler=be,Ae.MultiHashHandler=$e})),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],(function(be,Ae,we){var xe,Se,ke=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),Te=be("../lib/oop"),Ee=be("../keyboard/hash_handler").MultiHashHandler;function l(be,Ae){return(Ae=Se.call(this,Ae,be)||this).byName=Ae.commands,Ae.setDefaultHandler("exec",(function(be){return be.args?be.command.exec(be.editor,be.args,be.event,!1):be.command.exec(be.editor,{},be.event,!0)})),Ae}be=be("../lib/event_emitter").EventEmitter,ke(l,Se=Ee),l.prototype.exec=function(be,Ae,we){if(Array.isArray(be)){for(var xe=be.length;xe--;)if(this.exec(be[xe],Ae,we))return!0;return!1}var Se;return!!(be="string"==typeof be?this.commands[be]:be)&&!(Ae&&Ae.$readOnly&&!be.readOnly||0!=this.$checkCommandState&&be.isAvailable&&!be.isAvailable(Ae)||((Se={editor:Ae,command:be,args:we}).returnValue=this._emit("exec",Se),this._signal("afterExec",Se),!1===Se.returnValue))},l.prototype.toggleRecording=function(be){if(!this.$inReplay)return be&&be._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(be){this.macro.push([be.command,be.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},l.prototype.replay=function(be){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(be);try{this.$inReplay=!0,this.macro.forEach((function(Ae){"string"==typeof Ae?this.exec(Ae,be):this.exec(Ae[0],be,Ae[1])}),this)}finally{this.$inReplay=!1}}},l.prototype.trimMacro=function(be){return be.map((function(be){return"string"!=typeof be[0]&&(be[0]=be[0].name),be[1]?be:be[0]}))},ke=l,Te.implement(ke.prototype,be),Ae.CommandManager=ke})),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],(function(be,Ae,we){var Se=be("../lib/lang"),ke=be("../config"),Te=be("../range").Range;function o(be,Ae){return{win:be,mac:Ae}}Ae.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:o("Ctrl-,","Command-,"),exec:function(be){ke.loadModule("ace/ext/settings_menu",(function(Ae){Ae.init(be),be.showSettingsMenu()}))},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:o("Alt-E","F4"),exec:function(be){ke.loadModule("ace/ext/error_marker",(function(Ae){Ae.showErrorMarker(be,1)}))},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(be){ke.loadModule("ace/ext/error_marker",(function(Ae){Ae.showErrorMarker(be,-1)}))},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(be){be.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(be){be.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(be,Ae){"number"!=typeof Ae||isNaN(Ae)||be.gotoLine(Ae),be.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(be){be.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(be){be.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:o("F2","F2"),exec:function(be){be.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:o("Alt-F2","Alt-F2"),exec:function(be){be.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(be){be.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(be){be.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(be){be.session.foldAll(),be.session.unfold(be.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(be){be.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(be){be.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(be){be.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(be){be.selection.isEmpty()?be.selection.selectWord():be.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(be){be.selection.isEmpty()?be.selection.selectWord():be.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(be){ke.loadModule("ace/ext/searchbox",(function(Ae){Ae.Search(be)}))},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(be){be.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(be){be.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(be){be.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(be){be.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(be,Ae){be.navigateUp(Ae.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(be){be.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(be){be.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(be){be.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(be,Ae){be.navigateDown(Ae.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(be){be.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(be){be.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(be){be.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(be){be.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(be){be.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(be,Ae){be.navigateLeft(Ae.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(be){be.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(be){be.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(be){be.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(be){be.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(be){be.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(be,Ae){be.navigateRight(Ae.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(be){be.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(be){be.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(be){be.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(be){be.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(be){be.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(be){be.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(be){be.renderer.scrollBy(0,-2*be.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(be){be.renderer.scrollBy(0,2*be.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(be){be.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(be){be.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(be){be.commands.toggleRecording(be)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(be){be.commands.replay(be)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(be){be.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(be){be.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(be){be.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(be){},readOnly:!0},{name:"cut",description:"Cut",exec:function(be){var Ae=be.$copyWithEmptySelection&&be.selection.isEmpty()?be.selection.getLineRange():be.selection.getRange();be._emit("cut",Ae),Ae.isEmpty()||be.session.remove(Ae),be.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(be,Ae){be.$handlePaste(Ae)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(be){be.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(be){be.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(be){be.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(be){be.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(be){be.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(be){be.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(be){be.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(be){ke.loadModule("ace/ext/searchbox",(function(Ae){Ae.Search(be,!0)}))}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(be){be.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(be){be.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(be){be.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(be){be.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(be){be.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(be){be.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(be){be.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(be){be.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(be){if(!be.selection.isEmpty())return!1;be.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(be){be.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(be){be.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(be){var Ae=be.selection.getRange();Ae.start.column=0,be.session.remove(Ae)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(be){var Ae=be.selection.getRange();Ae.end.column=Number.MAX_VALUE,be.session.remove(Ae)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(be){be.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(be){be.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(be){be.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(be){be.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(be){be.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(be){be.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(be,Ae){be.insert(Ae)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(be,Ae){be.insert(Se.stringRepeat(Ae.text||"",Ae.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(be){be.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(be){be.transposeLetters()},multiSelectAction:function(be){be.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(be){be.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(be){be.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:o(null,null),exec:function(be){be.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(be){var Ae=be.selection.getRange();Ae.start.column=Ae.end.column=0,Ae.end.row++,be.selection.setRange(Ae,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:o("Ctrl+F3","F3"),exec:function(be){be.openLink()}},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(be){for(var Ae=(xe=be.selection.isBackwards())?be.selection.getSelectionLead():be.selection.getSelectionAnchor(),we=xe?be.selection.getSelectionAnchor():be.selection.getSelectionLead(),xe=be.session.doc.getLine(Ae.row).length,ke=be.session.doc.getTextRange(be.selection.getRange()).replace(/\n\s*/," ").length,Ee=be.session.doc.getLine(Ae.row),Re=Ae.row+1;Re<=we.row+1;Re++){var _e=Se.stringTrimLeft(Se.stringTrimRight(be.session.doc.getLine(Re)));Ee+=_e=0!==_e.length?" "+_e:_e}we.row+1<be.session.doc.getLength()-1&&(Ee+=be.session.doc.getNewLineCharacter()),be.clearSelection(),be.session.doc.replace(new Te(Ae.row,0,we.row+2,0),Ee),0<ke?(be.selection.moveCursorTo(Ae.row,Ae.column),be.selection.selectTo(Ae.row,Ae.column+ke)):(xe=be.session.doc.getLine(Ae.row).length>xe?xe+1:xe,be.selection.moveCursorTo(Ae.row,xe))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(be){var Ae=be.session.doc.getLength()-1,we=be.session.doc.getLine(Ae).length,xe=be.selection.rangeList.ranges,Se=[];xe.length<1&&(xe=[be.selection.getRange()]);for(var ke=0;ke<xe.length;ke++)ke!=xe.length-1||xe[ke].end.row===Ae&&xe[ke].end.column===we||Se.push(new Te(xe[ke].end.row,xe[ke].end.column,Ae,we)),0===ke?0===xe[ke].start.row&&0===xe[ke].start.column||Se.push(new Te(0,0,xe[ke].start.row,xe[ke].start.column)):Se.push(new Te(xe[ke-1].end.row,xe[ke-1].end.column,xe[ke].start.row,xe[ke].start.column));for(be.exitMultiSelectMode(),be.clearSelection(),ke=0;ke<Se.length;ke++)be.selection.addRange(Se[ke],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(be){be.selection.clearSelection(),be.navigateLineEnd(),be.insert("\n")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(be){be.selection.clearSelection();var Ae=be.getCursorPosition();be.selection.moveTo(Ae.row-1,Number.MAX_VALUE),be.insert("\n"),0===Ae.row&&be.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(be){xe.warn("This is an obsolete command. Please use `openCommandPalette` instead."),be.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:o("F1","F1"),exec:function(be){be.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:o(null,null),exec:function(be){be.prompt({$type:"modes"})},readOnly:!0}];for(var Ee=1;Ee<9;Ee++)Ae.commands.push({name:"foldToLevel"+Ee,description:"Fold To Level "+Ee,level:Ee,exec:function(be){be.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})})),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){var xe=be("./lib/dom");function i(be){this.session=be,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}i.prototype.getRowLength=function(be){var Ae=this.lineWidgets&&this.lineWidgets[be]&&this.lineWidgets[be].rowCount||0;return this.$useWrapMode&&this.$wrapData[be]?this.$wrapData[be].length+1+Ae:1+Ae},i.prototype.$getWidgetScreenLength=function(){var be=0;return this.lineWidgets.forEach((function(Ae){Ae&&Ae.rowCount&&!Ae.hidden&&(be+=Ae.rowCount)})),be},i.prototype.$onChangeEditor=function(be){this.attach(be.editor)},i.prototype.attach=function(be){be&&be.widgetManager&&be.widgetManager!=this&&be.widgetManager.detach(),this.editor!=be&&(this.detach(),this.editor=be)&&(be.widgetManager=this,be.renderer.on("beforeRender",this.measureWidgets),be.renderer.on("afterRender",this.renderWidgets))},i.prototype.detach=function(be){var Ae=this.editor;Ae&&(this.editor=null,Ae.widgetManager=null,Ae.renderer.off("beforeRender",this.measureWidgets),Ae.renderer.off("afterRender",this.renderWidgets),Ae=this.session.lineWidgets)&&Ae.forEach((function(be){be&&be.el&&be.el.parentNode&&(be._inDocument=!1,be.el.parentNode.removeChild(be.el))}))},i.prototype.updateOnFold=function(be,Ae){var we=Ae.lineWidgets;if(we&&be.action){for(var xe=(Ae=be.data).start.row,Se=Ae.end.row,ke="add"==be.action,Te=xe+1;Te<Se;Te++)we[Te]&&(we[Te].hidden=ke);we[Se]&&(ke?we[xe]?we[Se].hidden=ke:we[xe]=we[Se]:(we[xe]==we[Se]&&(we[xe]=void 0),we[Se].hidden=ke))}},i.prototype.updateOnChange=function(be){var Ae,we,xe,Se=this.session.lineWidgets;Se&&(Ae=be.start.row,0!=(we=be.end.row-Ae))&&("remove"==be.action?(xe=Se.splice(Ae+1,we),!Se[Ae]&&xe[xe.length-1]&&(Se[Ae]=xe.pop()),xe.forEach((function(be){be&&this.removeLineWidget(be)}),this)):(xe=new Array(we),Se[Ae]&&null!=Se[Ae].column&&be.start.column>Se[Ae].column&&Ae++,xe.unshift(Ae,0),Se.splice.apply(Se,xe)),this.$updateRows())},i.prototype.$updateRows=function(){var be,Ae=this.session.lineWidgets;Ae&&(be=!0,Ae.forEach((function(Ae,we){if(Ae)for(be=!1,Ae.row=we;Ae.$oldWidget;)Ae.$oldWidget.row=we,Ae=Ae.$oldWidget})),be)&&(this.session.lineWidgets=null)},i.prototype.$registerLineWidget=function(be){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var Ae=this.session.lineWidgets[be.row];return Ae&&(be.$oldWidget=Ae).el&&Ae.el.parentNode&&(Ae.el.parentNode.removeChild(Ae.el),Ae._inDocument=!1),this.session.lineWidgets[be.row]=be},i.prototype.addLineWidget=function(be){var Ae,we,Se;return this.$registerLineWidget(be),be.session=this.session,this.editor&&(Ae=this.editor.renderer,be.html&&!be.el&&(be.el=xe.createElement("div"),be.el.innerHTML=be.html),be.text&&!be.el&&(be.el=xe.createElement("div"),be.el.textContent=be.text),be.el&&(xe.addCssClass(be.el,"ace_lineWidgetContainer"),be.className&&xe.addCssClass(be.el,be.className),be.el.style.position="absolute",be.el.style.zIndex="5",Ae.container.appendChild(be.el),be._inDocument=!0,be.coverGutter||(be.el.style.zIndex="3"),null==be.pixelHeight)&&(be.pixelHeight=be.el.offsetHeight),null==be.rowCount&&(be.rowCount=be.pixelHeight/Ae.layerConfig.lineHeight),we=this.session.getFoldAt(be.row,0),(be.$fold=we)&&(Se=this.session.lineWidgets,be.row!=we.end.row||Se[we.start.row]?be.hidden=!0:Se[we.start.row]=be),this.session._emit("changeFold",{data:{start:{row:be.row}}}),this.$updateRows(),this.renderWidgets(null,Ae),this.onWidgetChanged(be)),be},i.prototype.removeLineWidget=function(be){if(be._inDocument=!1,be.session=null,be.el&&be.el.parentNode&&be.el.parentNode.removeChild(be.el),be.editor&&be.editor.destroy)try{be.editor.destroy()}catch(be){}if(this.session.lineWidgets){var Ae=this.session.lineWidgets[be.row];if(Ae==be)this.session.lineWidgets[be.row]=be.$oldWidget,be.$oldWidget&&this.onWidgetChanged(be.$oldWidget);else for(;Ae;){if(Ae.$oldWidget==be){Ae.$oldWidget=be.$oldWidget;break}Ae=Ae.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:be.row}}}),this.$updateRows()},i.prototype.getWidgetsAtRow=function(be){for(var Ae=this.session.lineWidgets,we=Ae&&Ae[be],xe=[];we;)xe.push(we),we=we.$oldWidget;return xe},i.prototype.onWidgetChanged=function(be){this.session._changedWidgets.push(be),this.editor&&this.editor.renderer.updateFull()},i.prototype.measureWidgets=function(be,Ae){var we=this.session._changedWidgets,xe=Ae.layerConfig;if(we&&we.length){for(var Se=1/0,ke=0;ke<we.length;ke++){var Te=we[ke];if(Te&&Te.el&&Te.session==this.session){if(!Te._inDocument){if(this.session.lineWidgets[Te.row]!=Te)continue;Te._inDocument=!0,Ae.container.appendChild(Te.el)}Te.h=Te.el.offsetHeight,Te.fixedWidth||(Te.w=Te.el.offsetWidth,Te.screenWidth=Math.ceil(Te.w/xe.characterWidth));var Ee=Te.h/xe.lineHeight;Te.coverLine&&(Ee-=this.session.getRowLineCount(Te.row))<0&&(Ee=0),Te.rowCount!=Ee&&(Te.rowCount=Ee,Te.row<Se)&&(Se=Te.row)}}Se!=1/0&&(this.session._emit("changeFold",{data:{start:{row:Se}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},i.prototype.renderWidgets=function(be,Ae){var we=Ae.layerConfig,xe=this.session.lineWidgets;if(xe){for(var Se=Math.min(this.firstRow,we.firstRow),ke=Math.max(this.lastRow,we.lastRow,xe.length);0<Se&&!xe[Se];)Se--;this.firstRow=we.firstRow,this.lastRow=we.lastRow,Ae.$cursorLayer.config=we;for(var Te=Se;Te<=ke;Te++){var Ee,Re=xe[Te];Re&&Re.el&&(Re.hidden?Re.el.style.top=-100-(Re.pixelHeight||0)+"px":(Re._inDocument||(Re._inDocument=!0,Ae.container.appendChild(Re.el)),Ee=Ae.$cursorLayer.getPixelPosition({row:Te,column:0},!0).top,Re.coverLine||(Ee+=we.lineHeight*this.session.getRowLineCount(Re.row)),Re.el.style.top=Ee-we.offset+"px",Ee=Re.coverGutter?0:Ae.gutterWidth,Re.fixedWidth||(Ee-=Ae.scrollLeft),Re.el.style.left=Ee+"px",Re.fullWidth&&Re.screenWidth&&(Re.el.style.minWidth=we.width+2*we.padding+"px"),Re.fixedWidth?Re.el.style.right=Ae.scrollBar.getWidth()+"px":Re.el.style.right=""))}}},Ae.LineWidgets=i})),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],(function(be,Ae,we){var xe=be("../lib/keys"),Se=be("../mouse/default_gutter_handler").GutterTooltip;function r(be){this.editor=be,this.gutterLayer=be.renderer.$gutterLayer,this.element=be.renderer.$gutter,this.lines=be.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new Se(this.editor)}r.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},r.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},r.prototype.$onGutterKeyDown=function(be){var Ae;this.annotationTooltip.isOpen?(be.preventDefault(),be.keyCode===xe.escape&&this.annotationTooltip.hideTooltip()):be.target===this.element?be.keyCode==xe.enter&&(be.preventDefault(),Ae=this.editor.getCursorPosition().row,this.editor.isRowVisible(Ae)||this.editor.scrollToLine(Ae,!0,!0),setTimeout(function(){var be=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),Ae=this.$findNearestFoldWidget(be),we=this.$findNearestAnnotation(be);null===Ae&&null===we||(null===Ae&&null!==we||(null===Ae||null!==we)&&Math.abs(we-be)<Math.abs(Ae-be)?(this.activeRowIndex=we,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex)):(this.activeRowIndex=Ae,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex)))}.bind(this),10)):(this.$handleGutterKeyboardInteraction(be),setTimeout(function(){this.editor._signal("gutterkeydown",new ke(be,this))}.bind(this),10))},r.prototype.$handleGutterKeyboardInteraction=function(be){if(be.keyCode===xe.tab)be.preventDefault();else if(be.keyCode===xe.escape)be.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;else if(be.keyCode===xe.up)switch(be.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp()}else if(be.keyCode===xe.down)switch(be.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown()}else if(be.keyCode===xe.left)be.preventDefault(),this.$switchLane("annotation");else if(be.keyCode===xe.right)be.preventDefault(),this.$switchLane("fold");else if(be.keyCode===xe.enter||be.keyCode===xe.space)switch(be.preventDefault(),this.activeLane){case"fold":if("start"===this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]){var Ae=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),be),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==Ae&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(Ae),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}if("end"===this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)])break;return;case"annotation":var we=this.lines.cells[this.activeRowIndex].element.childNodes[2].getBoundingClientRect(),Se=this.annotationTooltip.getElement().style;Se.left=we.right+"px",Se.top=we.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex))}},r.prototype.$blurGutter=function(){if(null!==this.activeRowIndex)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex)}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},r.prototype.$isFoldWidgetVisible=function(be){var Ae=this.editor.isRowFullyVisible(this.$rowIndexToRow(be));return be="none"!==this.$getFoldWidget(be).style.display,Ae&&be},r.prototype.$isAnnotationVisible=function(be){var Ae=this.editor.isRowFullyVisible(this.$rowIndexToRow(be));return be="none"!==this.$getAnnotation(be).style.display,Ae&&be},r.prototype.$getFoldWidget=function(be){return this.lines.get(be).element.childNodes[1]},r.prototype.$getAnnotation=function(be){return this.lines.get(be).element.childNodes[2]},r.prototype.$findNearestFoldWidget=function(be){if(this.$isFoldWidgetVisible(be))return be;for(var Ae=0;0<be-Ae||be+Ae<this.lines.getLength()-1;){if(0<=be-++Ae&&this.$isFoldWidgetVisible(be-Ae))return be-Ae;if(be+Ae<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(be+Ae))return be+Ae}return null},r.prototype.$findNearestAnnotation=function(be){if(this.$isAnnotationVisible(be))return be;for(var Ae=0;0<be-Ae||be+Ae<this.lines.getLength()-1;){if(0<=be-++Ae&&this.$isAnnotationVisible(be-Ae))return be-Ae;if(be+Ae<=this.lines.getLength()-1&&this.$isAnnotationVisible(be+Ae))return be+Ae}return null},r.prototype.$focusFoldWidget=function(be){null!=be&&((be=this.$getFoldWidget(be)).classList.add(this.editor.renderer.keyboardFocusClassName),be.focus())},r.prototype.$focusAnnotation=function(be){null!=be&&((be=this.$getAnnotation(be)).classList.add(this.editor.renderer.keyboardFocusClassName),be.focus())},r.prototype.$blurFoldWidget=function(be){(be=this.$getFoldWidget(be)).classList.remove(this.editor.renderer.keyboardFocusClassName),be.blur()},r.prototype.$blurAnnotation=function(be){(be=this.$getAnnotation(be)).classList.remove(this.editor.renderer.keyboardFocusClassName),be.blur()},r.prototype.$moveFoldWidgetUp=function(){for(var be=this.activeRowIndex;0<be;)if(this.$isFoldWidgetVisible(--be))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=be,void this.$focusFoldWidget(this.activeRowIndex)},r.prototype.$moveFoldWidgetDown=function(){for(var be=this.activeRowIndex;be<this.lines.getLength()-1;)if(this.$isFoldWidgetVisible(++be))return this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=be,void this.$focusFoldWidget(this.activeRowIndex)},r.prototype.$moveAnnotationUp=function(){for(var be=this.activeRowIndex;0<be;)if(this.$isAnnotationVisible(--be))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=be,void this.$focusAnnotation(this.activeRowIndex)},r.prototype.$moveAnnotationDown=function(){for(var be=this.activeRowIndex;be<this.lines.getLength()-1;)if(this.$isAnnotationVisible(++be))return this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=be,void this.$focusAnnotation(this.activeRowIndex)},r.prototype.$switchLane=function(be){switch(be){case"annotation":"annotation"!==this.activeLane&&null!=(Ae=this.$findNearestAnnotation(this.activeRowIndex))&&(this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=Ae,this.$focusAnnotation(this.activeRowIndex));break;case"fold":var Ae;"fold"!==this.activeLane&&null!=(Ae=this.$findNearestFoldWidget(this.activeRowIndex))&&(this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=Ae,this.$focusFoldWidget(this.activeRowIndex))}},r.prototype.$rowIndexToRow=function(be){return(be=this.lines.get(be))?be.row:null},r.prototype.$rowToRowIndex=function(be){for(var Ae=0;Ae<this.lines.getLength();Ae++)if(this.lines.get(Ae).row==be)return Ae;return null},Ae.GutterKeyboardHandler=r,a.prototype.getKey=function(){return xe.keyCodeToString(this.domEvent.keyCode)},a.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},a.prototype.isInAnnotationLane=function(){return"annotation"===this.gutterKeyboardHandler.activeLane},a.prototype.isInFoldLane=function(){return"fold"===this.gutterKeyboardHandler.activeLane};var ke=a;function a(be,Ae){this.gutterKeyboardHandler=Ae,this.domEvent=be}Ae.GutterKeyboardEvent=ke})),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/line_widgets","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys"],(function(be,Ae,we){var xe=this&&this.__values||function(be){var Ae="function"==typeof Symbol&&Symbol.iterator,we=Ae&&be[Ae],xe=0;if(we)return we.call(be);if(be&&"number"==typeof be.length)return{next:function(){return{value:(be=be&&xe>=be.length?void 0:be)&&be[xe++],done:!be}}};throw new TypeError(Ae?"Object is not iterable.":"Symbol.iterator is not defined.")},Se=be("./lib/oop"),ke=be("./lib/dom"),Te=be("./lib/lang"),Ee=be("./lib/useragent"),Re=be("./keyboard/textinput").TextInput,_e=be("./mouse/mouse_handler").MouseHandler,$e=be("./mouse/fold_handler").FoldHandler,Le=be("./keyboard/keybinding").KeyBinding,Ne=be("./edit_session").EditSession,Me=be("./search").Search,Be=be("./range").Range,We=be("./lib/event_emitter").EventEmitter,Pe=be("./commands/command_manager").CommandManager,He=be("./commands/default_commands").commands,Ge=be("./config"),Fe=be("./token_iterator").TokenIterator,Oe=be("./line_widgets").LineWidgets,Ve=be("./keyboard/gutter_handler").GutterKeyboardHandler,Ze=be("./config").nls,De=be("./clipboard"),Ke=be("./lib/keys");function x(be,Ae,we){this.session,this.$toDestroy=[];var xe=be.getContainerElement();this.container=xe,this.renderer=be,this.id="editor"+ ++x.$uid,this.commands=new Pe(Ee.isMac?"mac":"win",He),"object"==typeof document&&(this.textInput=new Re(be.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new _e(this),new $e(this)),this.keyBinding=new Le(this),this.$search=(new Me).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=Te.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",(function(be,Ae){Ae._$emitInputEvent.schedule(31)})),this.setSession(Ae||we&&we.session||new Ne("")),Ge.resetOptions(this),we&&this.setOptions(we),Ge._signal("editor",this)}x.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=Te.delayedCall(this.endOperation.bind(this,!0)),this.on("change",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}.bind(this),!0)},x.prototype.startOperation=function(be){if(this.curOp){if(!be||this.curOp.command)return;this.prevOp=this.curOp}be||(this.previousCommand=null,be={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:be.command||{},args:be.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},x.prototype.endOperation=function(be){if(this.curOp&&this.session){if(be&&!1===be.returnValue||!this.session)return this.curOp=null;if((1!=be||!this.curOp.command||"mouse"!=this.curOp.command.name)&&(this._signal("beforeEndOperation"),this.curOp)){var Ae=(be=this.curOp.command)&&be.scrollIntoView;if(Ae){switch(Ae){case"center-animate":Ae="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var we=this.selection.getRange(),xe=this.renderer.layerConfig;(we.start.row>=xe.lastRow||we.end.row<=xe.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==Ae&&this.renderer.animateScrolling(this.curOp.scrollTop)}be=this.selection.toJSON(),this.curOp.selectionAfter=be,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(be),this.prevOp=this.curOp,this.curOp=null}}},x.prototype.$historyTracker=function(be){var Ae,we,xe,Se;this.$mergeUndoDeltas&&(Ae=this.prevOp,we=this.$mergeableCommands,xe=Ae.command&&be.command.name==Ae.command.name,"insertstring"==be.command.name?(Se=be.args,void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),xe=xe&&this.mergeNextCommand&&(!/\s/.test(Se)||/\s/.test(Ae.args)),this.mergeNextCommand=!0):xe=xe&&-1!==we.indexOf(be.command.name),(xe=!("always"!=this.$mergeUndoDeltas&&2e3<Date.now()-this.sequenceStartTime)&&xe)?this.session.mergeUndoDeltas=!0:-1!==we.indexOf(be.command.name)&&(this.sequenceStartTime=Date.now()))},x.prototype.setKeyboardHandler=function(be,Ae){var we;be&&"string"==typeof be&&"ace"!=be?(this.$keybindingId=be,we=this,Ge.loadModule(["keybinding",be],(function(xe){we.$keybindingId==be&&we.keyBinding.setKeyboardHandler(xe&&xe.handler),Ae&&Ae()}))):(this.$keybindingId=null,this.keyBinding.setKeyboardHandler(be),Ae&&Ae())},x.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},x.prototype.setSession=function(be){var Ae,we;this.session!=be&&(this.curOp&&this.endOperation(),this.curOp={},(Ae=this.session)&&(this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),(we=this.session.getSelection()).off("changeCursor",this.$onCursorChange),we.off("changeSelection",this.$onSelectionChange)),(this.session=be)?(this.$onDocumentChange=this.onDocumentChange.bind(this),be.on("change",this.$onDocumentChange),this.renderer.setSession(be),this.$onChangeMode=this.onChangeMode.bind(this),be.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),be.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),be.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),be.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),be.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),be.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=be.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(be)),this._signal("changeSession",{session:be,oldSession:Ae}),this.curOp=null,Ae&&Ae._signal("changeEditor",{oldEditor:this}),be&&be._signal("changeEditor",{editor:this}),be)&&!be.destroyed&&be.bgTokenizer.scheduleStart()},x.prototype.getSession=function(){return this.session},x.prototype.setValue=function(be,Ae){return this.session.doc.setValue(be),Ae?1==Ae?this.navigateFileEnd():-1==Ae&&this.navigateFileStart():this.selectAll(),be},x.prototype.getValue=function(){return this.session.getValue()},x.prototype.getSelection=function(){return this.selection},x.prototype.resize=function(be){this.renderer.onResize(be)},x.prototype.setTheme=function(be,Ae){this.renderer.setTheme(be,Ae)},x.prototype.getTheme=function(){return this.renderer.getTheme()},x.prototype.setStyle=function(be){this.renderer.setStyle(be)},x.prototype.unsetStyle=function(be){this.renderer.unsetStyle(be)},x.prototype.getFontSize=function(){return this.getOption("fontSize")||ke.computedStyle(this.container).fontSize},x.prototype.setFontSize=function(be){this.setOption("fontSize",be)},x.prototype.$highlightBrackets=function(){var be;this.$highlightPending||((be=this).$highlightPending=!0,setTimeout((function(){be.$highlightPending=!1;var Ae,we,xe,Se,ke=be.session;ke&&!ke.destroyed&&(ke.$bracketHighlight&&(ke.$bracketHighlight.markerIds.forEach((function(be){ke.removeMarker(be)})),ke.$bracketHighlight=null),Ae=be.getCursorPosition(),we=(we=be.getKeyboardHandler())&&we.$getDirectionForHighlight&&we.$getDirectionForHighlight(be),(we=ke.getMatchingBracketRanges(Ae,we))||(xe=new Fe(ke,Ae.row,Ae.column).getCurrentToken())&&/\b(?:tag-open|tag-name)/.test(xe.type)&&(xe=ke.getMatchingTags(Ae))&&(we=[xe.openTagName.isEmpty()?xe.openTag:xe.openTagName,xe.closeTagName.isEmpty()?xe.closeTag:xe.closeTagName]),(we=!we&&ke.$mode.getMatching?ke.$mode.getMatching(be.session):we)&&(Se="ace_bracket",Array.isArray(we)?1==we.length&&(Se="ace_error_bracket"):we=[we],2==we.length&&(0==Be.comparePoints(we[0].end,we[1].start)?we=[Be.fromPoints(we[0].start,we[1].end)]:0==Be.comparePoints(we[0].start,we[1].end)&&(we=[Be.fromPoints(we[1].start,we[0].end)])),ke.$bracketHighlight={ranges:we,markerIds:we.map((function(be){return ke.addMarker(be,Se,"text")}))}),be.getHighlightIndentGuides())&&be.renderer.$textLayer.$highlightIndentGuide()}),50))},x.prototype.focus=function(){this.textInput.focus()},x.prototype.isFocused=function(){return this.textInput.isFocused()},x.prototype.blur=function(){this.textInput.blur()},x.prototype.onFocus=function(be){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",be))},x.prototype.onBlur=function(be){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",be))},x.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},x.prototype.onDocumentChange=function(be){var Ae=this.session.$useWrapMode,we=be.start.row==be.end.row?be.end.row:1/0;this.renderer.updateLines(be.start.row,we,Ae),this._signal("change",be),this.$cursorChange()},x.prototype.onTokenizerUpdate=function(be){be=be.data,this.renderer.updateLines(be.first,be.last)},x.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},x.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},x.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},x.prototype.$updateHighlightActiveLine=function(){var be,Ae,we=this.getSession();this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(be=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(be=!1),!this.renderer.$maxLines||1!==this.session.getLength()||1<this.renderer.$minLines||(be=!1)),we.$highlightLineMarker&&!be?(we.removeMarker(we.$highlightLineMarker.id),we.$highlightLineMarker=null):!we.$highlightLineMarker&&be?((Ae=new Be(be.row,be.column,be.row,1/0)).id=we.addMarker(Ae,"ace_active-line","screenLine"),we.$highlightLineMarker=Ae):be&&(we.$highlightLineMarker.start.row=be.row,we.$highlightLineMarker.end.row=be.row,we.$highlightLineMarker.start.column=be.column,we._signal("changeBackMarker"))},x.prototype.onSelectionChange=function(be){var Ae,we,xe=((xe=this.session).$selectionMarker&&xe.removeMarker(xe.$selectionMarker),xe.$selectionMarker=null,this.selection.isEmpty()?this.$updateHighlightActiveLine():(Ae=this.selection.getRange(),we=this.getSelectionStyle(),xe.$selectionMarker=xe.addMarker(Ae,"ace_selection",we)),this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp());this.session.highlight(xe),this._signal("changeSelection")},x.prototype.$getSelectionHighLightRegexp=function(){var be=this.session;if(!(Ae=this.getSelectionRange()).isEmpty()&&!Ae.isMultiLine()){var Ae,we=Ae.start.column,xe=Ae.end.column;if(!(5e3<(Ae=(be=be.getLine(Ae.start.row)).substring(we,xe)).length)&&/[\w\d]/.test(Ae)&&(Ae=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Ae}),be=be.substring(we-1,xe+1),Ae.test(be)))return Ae}},x.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},x.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},x.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},x.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},x.prototype.onChangeMode=function(be){this.renderer.updateText(),this._emit("changeMode",be)},x.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},x.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},x.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},x.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},x.prototype.getCopyText=function(){var be=this.getSelectedText(),Ae=this.session.doc.getNewLineCharacter(),we=!1;if(!be&&this.$copyWithEmptySelection){we=!0;for(var xe=this.selection.getAllRanges(),Se=0;Se<xe.length;Se++){var ke=xe[Se];Se&&xe[Se-1].start.row==ke.start.row||(be+=this.session.getLine(ke.start.row)+Ae)}}var Te={text:be};return this._signal("copy",Te),De.lineMode=!!we&&Te.text,Te.text},x.prototype.onCopy=function(){this.commands.exec("copy",this)},x.prototype.onCut=function(){this.commands.exec("cut",this)},x.prototype.onPaste=function(be,Ae){this.commands.exec("paste",this,{text:be,event:Ae})},x.prototype.$handlePaste=function(be){this._signal("paste",be="string"==typeof be?{text:be}:be);var Ae=be.text,we=(be=Ae===De.lineMode,this.session);if(!this.inMultiSelectMode||this.inVirtualSelectionMode)be?we.insert({row:this.selection.lead.row,column:0},Ae):this.insert(Ae);else if(be)this.selection.rangeList.ranges.forEach((function(be){we.insert({row:be.start.row,column:0},Ae)}));else{var xe=Ae.split(/\r\n|\r|\n/),Se=this.selection.rangeList.ranges;if(be=!(2!=xe.length||xe[0]&&xe[1]),xe.length!=Se.length||be)return this.commands.exec("insertstring",this,Ae);for(var ke=Se.length;ke--;){var Te=Se[ke];Te.isEmpty()||we.remove(Te),we.insert(Te.start,xe[ke])}}},x.prototype.execCommand=function(be,Ae){return this.commands.exec(be,this,Ae)},x.prototype.insert=function(be,Ae){var we,xe=this.session,Se=xe.getMode(),ke=this.getCursorPosition(),Te=(this.getBehavioursEnabled()&&!Ae&&(we=Se.transformAction(xe.getState(ke.row),"insertion",this,xe,be))&&(be===we.text||this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1),be=we.text),"\t"==be&&(be=this.session.getTabString()),this.selection.isEmpty()?this.session.getOverwrite()&&-1==be.indexOf("\n")&&((Te=Be.fromPoints(ke,ke)).end.column+=be.length,this.session.remove(Te)):(Te=this.getSelectionRange(),ke=this.session.remove(Te),this.clearSelection()),"\n"!=be&&"\r\n"!=be||(Ee=xe.getLine(ke.row),ke.column>Ee.search(/\S|$/)&&(Ae=Ee.substr(ke.column).search(/\S|$/),xe.doc.removeInLine(ke.row,ke.column,ke.column+Ae))),this.clearSelection(),ke.column),Ee=(Ae=xe.getState(ke.row),xe.getLine(ke.row)),Re=Se.checkOutdent(Ae,Ee,be);xe.insert(ke,be),we&&we.selection&&(2==we.selection.length?this.selection.setSelectionRange(new Be(ke.row,Te+we.selection[0],ke.row,Te+we.selection[1])):this.selection.setSelectionRange(new Be(ke.row+we.selection[0],we.selection[1],ke.row+we.selection[2],we.selection[3]))),this.$enableAutoIndent&&(xe.getDocument().isNewLine(be)&&(Te=Se.getNextLineIndent(Ae,Ee.slice(0,ke.column),xe.getTabString()),xe.insert({row:ke.row+1,column:0},Te)),Re)&&Se.autoOutdent(Ae,xe,ke.row)},x.prototype.autoIndent=function(){for(var be=this.session,Ae=be.getMode(),we=this.selection.isEmpty()?[new Be(0,0,be.doc.getLength()-1,0)]:this.selection.getAllRanges(),xe="",Se="",ke=be.getTabString(),Te=0;Te<we.length;Te++)for(var Ee=we[Te].start.row,Re=we[Te].end.row,_e=Ee;_e<=Re;_e++){0<_e&&(xe=be.getState(_e-1),$e=be.getLine(_e-1),Se=Ae.getNextLineIndent(xe,$e,ke));var $e=be.getLine(_e),Le=Ae.$getIndent($e);Se!==Le&&(0<Le.length&&(Le=new Be(_e,0,_e,Le.length),be.remove(Le)),0<Se.length)&&be.insert({row:_e,column:0},Se),Ae.autoOutdent(xe,be,_e)}},x.prototype.onTextInput=function(be,Ae){if(!Ae)return this.keyBinding.onTextInput(be);this.startOperation({command:{name:"insertstring"}}),be=this.applyComposition.bind(this,be,Ae),this.selection.rangeCount?this.forEachSelection(be):be(),this.endOperation()},x.prototype.applyComposition=function(be,Ae){var we;(Ae.extendLeft||Ae.extendRight)&&((we=this.selection.getRange()).start.column-=Ae.extendLeft,we.end.column+=Ae.extendRight,we.start.column<0&&(we.start.row--,we.start.column+=this.session.getLine(we.start.row).length+1),this.selection.setRange(we),be||we.isEmpty()||this.remove()),!be&&this.selection.isEmpty()||this.insert(be,!0),(Ae.restoreStart||Ae.restoreEnd)&&((we=this.selection.getRange()).start.column-=Ae.restoreStart,we.end.column-=Ae.restoreEnd,this.selection.setRange(we))},x.prototype.onCommandKey=function(be,Ae,we){return this.keyBinding.onCommandKey(be,Ae,we)},x.prototype.setOverwrite=function(be){this.session.setOverwrite(be)},x.prototype.getOverwrite=function(){return this.session.getOverwrite()},x.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},x.prototype.setScrollSpeed=function(be){this.setOption("scrollSpeed",be)},x.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},x.prototype.setDragDelay=function(be){this.setOption("dragDelay",be)},x.prototype.getDragDelay=function(){return this.getOption("dragDelay")},x.prototype.setSelectionStyle=function(be){this.setOption("selectionStyle",be)},x.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},x.prototype.setHighlightActiveLine=function(be){this.setOption("highlightActiveLine",be)},x.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},x.prototype.setHighlightGutterLine=function(be){this.setOption("highlightGutterLine",be)},x.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},x.prototype.setHighlightSelectedWord=function(be){this.setOption("highlightSelectedWord",be)},x.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},x.prototype.setAnimatedScroll=function(be){this.renderer.setAnimatedScroll(be)},x.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},x.prototype.setShowInvisibles=function(be){this.renderer.setShowInvisibles(be)},x.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},x.prototype.setDisplayIndentGuides=function(be){this.renderer.setDisplayIndentGuides(be)},x.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},x.prototype.setHighlightIndentGuides=function(be){this.renderer.setHighlightIndentGuides(be)},x.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},x.prototype.setShowPrintMargin=function(be){this.renderer.setShowPrintMargin(be)},x.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},x.prototype.setPrintMarginColumn=function(be){this.renderer.setPrintMarginColumn(be)},x.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},x.prototype.setReadOnly=function(be){this.setOption("readOnly",be)},x.prototype.getReadOnly=function(){return this.getOption("readOnly")},x.prototype.setBehavioursEnabled=function(be){this.setOption("behavioursEnabled",be)},x.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},x.prototype.setWrapBehavioursEnabled=function(be){this.setOption("wrapBehavioursEnabled",be)},x.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},x.prototype.setShowFoldWidgets=function(be){this.setOption("showFoldWidgets",be)},x.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},x.prototype.setFadeFoldWidgets=function(be){this.setOption("fadeFoldWidgets",be)},x.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},x.prototype.remove=function(be){var Ae,we,xe;this.selection.isEmpty()&&("left"==be?this.selection.selectLeft():this.selection.selectRight()),be=this.getSelectionRange(),this.getBehavioursEnabled()&&(we=(Ae=this.session).getState(be.start.row),we=Ae.getMode().transformAction(we,"deletion",this,Ae,be),0===be.end.column&&"\n"==(xe=Ae.getTextRange(be))[xe.length-1]&&(xe=Ae.getLine(be.end.row),/^\s+$/.test(xe))&&(be.end.column=xe.length),we)&&(be=we),this.session.remove(be),this.clearSelection()},x.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},x.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},x.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},x.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var be=this.getSelectionRange();be.start.column==be.end.column&&be.start.row==be.end.row&&(be.end.column=0,be.end.row++),this.session.remove(be),this.clearSelection()},x.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var be=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(be)},x.prototype.setGhostText=function(be,Ae){this.session.widgetManager||(this.session.widgetManager=new Oe(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(be,Ae)},x.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},x.prototype.transposeLetters=function(){var be,Ae,we,xe;this.selection.isEmpty()&&0!==(Ae=(be=this.getCursorPosition()).column)&&(xe=Ae<(xe=this.session.getLine(be.row)).length?(we=xe.charAt(Ae)+xe.charAt(Ae-1),new Be(be.row,Ae-1,be.row,Ae+1)):(we=xe.charAt(Ae-1)+xe.charAt(Ae-2),new Be(be.row,Ae-2,be.row,Ae)),this.session.replace(xe,we),this.session.selection.moveToPosition(xe.end))},x.prototype.toLowerCase=function(){var be=this.getSelectionRange(),Ae=(this.selection.isEmpty()&&this.selection.selectWord(),this.getSelectionRange()),we=this.session.getTextRange(Ae);this.session.replace(Ae,we.toLowerCase()),this.selection.setSelectionRange(be)},x.prototype.toUpperCase=function(){var be=this.getSelectionRange(),Ae=(this.selection.isEmpty()&&this.selection.selectWord(),this.getSelectionRange()),we=this.session.getTextRange(Ae);this.session.replace(Ae,we.toUpperCase()),this.selection.setSelectionRange(be)},x.prototype.indent=function(){var be=this.session,Ae=this.getSelectionRange();if(!(Ae.start.row<Ae.end.row)){if(Ae.start.column<Ae.end.column){var we,xe=be.getTextRange(Ae);if(!/^\s+$/.test(xe))return we=this.$getSelectedRows(),void be.indentRows(we.first,we.last,"\t")}var Se=be.getLine(Ae.start.row),ke=(xe=Ae.start,be.getTabSize());if(xe=be.documentToScreenColumn(xe.row,xe.column),this.session.getUseSoftTabs())var Ee=ke-xe%ke,Re=Te.stringRepeat(" ",Ee);else{for(Ee=xe%ke;" "==Se[Ae.start.column-1]&&Ee;)Ae.start.column--,Ee--;this.selection.setSelectionRange(Ae),Re="\t"}return this.insert(Re)}we=this.$getSelectedRows(),be.indentRows(we.first,we.last,"\t")},x.prototype.blockIndent=function(){var be=this.$getSelectedRows();this.session.indentRows(be.first,be.last,"\t")},x.prototype.blockOutdent=function(){var be=this.session.getSelection();this.session.outdentRows(be.getRange())},x.prototype.sortLines=function(){for(var be=this.$getSelectedRows(),Ae=this.session,we=[],xe=be.first;xe<=be.last;xe++)we.push(Ae.getLine(xe));we.sort((function(be,Ae){return be.toLowerCase()<Ae.toLowerCase()?-1:be.toLowerCase()>Ae.toLowerCase()?1:0}));var Se=new Be(0,0,0,0);for(xe=be.first;xe<=be.last;xe++){var ke=Ae.getLine(xe);Se.start.row=xe,Se.end.row=xe,Se.end.column=ke.length,Ae.replace(Se,we[xe-be.first])}},x.prototype.toggleCommentLines=function(){var be=this.session.getState(this.getCursorPosition().row),Ae=this.$getSelectedRows();this.session.getMode().toggleCommentLines(be,this.session,Ae.first,Ae.last)},x.prototype.toggleBlockComment=function(){var be=this.getCursorPosition(),Ae=this.session.getState(be.row),we=this.getSelectionRange();this.session.getMode().toggleBlockComment(Ae,this.session,we,be)},x.prototype.getNumberAt=function(be,Ae){for(var we=/[\-]?[0-9]+(?:\.[0-9]+)?/g,xe=(we.lastIndex=0,this.session.getLine(be));we.lastIndex<Ae;){var Se=we.exec(xe);if(Se.index<=Ae&&Se.index+Se[0].length>=Ae)return{value:Se[0],start:Se.index,end:Se.index+Se[0].length}}return null},x.prototype.modifyNumber=function(be){var Ae,we,xe,Se=this.selection.getCursor().row,ke=this.selection.getCursor().column,Te=new Be(Se,ke-1,Se,ke);Te=this.session.getTextRange(Te),!isNaN(parseFloat(Te))&&isFinite(Te)?(Te=this.getNumberAt(Se,ke))&&(xe=0<=Te.value.indexOf(".")?Te.start+Te.value.indexOf(".")+1:Te.end,Ae=Te.start+Te.value.length-xe,we=parseFloat(Te.value),we*=Math.pow(10,Ae),xe!==Te.end&&ke<xe?be*=Math.pow(10,Te.end-ke-1):be*=Math.pow(10,Te.end-ke),xe=(we=(we+=be)/Math.pow(10,Ae)).toFixed(Ae),be=new Be(Se,Te.start,Se,Te.end),this.session.replace(be,xe),this.moveCursorTo(Se,Math.max(Te.start+1,ke+xe.length-Te.value.length))):this.toggleWord()},x.prototype.toggleWord=function(){for(var be,Ae=this.selection.getCursor().row,we=this.selection.getCursor().column,xe=(this.selection.selectWord(),this.getSelectedText()),Se=this.selection.getWordRange().start.column,ke=xe.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),Ee=we-Se-1,Re=(Ee<0&&(Ee=0),0),_e=this,$e=(xe.match(/[A-Za-z0-9_]+/)&&ke.forEach((function(we,ke){be=Re+we.length,Re<=Ee&&Ee<=be&&(xe=we,_e.selection.clearSelection(),_e.moveCursorTo(Ae,Re+Se),_e.selection.selectTo(Ae,be+Se)),Re=be})),this.$toggleWordPairs),Le=0;Le<$e.length;Le++)for(var Ne=$e[Le],Me=0;Me<=1;Me++){var Be=+!Me,We=xe.match(new RegExp("^\\s?_?("+Te.escapeRegExp(Ne[Me])+")\\s?$","i"));We&&xe.match(new RegExp("([_]|^|\\s)("+Te.escapeRegExp(We[1])+")($|\\s)","g"))&&(We=xe.replace(new RegExp(Te.escapeRegExp(Ne[Me]),"i"),(function(be){var Ae=Ne[Be];return be.toUpperCase()==be?Ae=Ae.toUpperCase():be.charAt(0).toUpperCase()==be.charAt(0)&&(Ae=Ae.substr(0,0)+Ne[Be].charAt(0).toUpperCase()+Ae.substr(1)),Ae})),this.insert(We))}},x.prototype.findLinkAt=function(be,Ae){be=this.session.getLine(be).split(/((?:https?|ftp):\/\/[\S]+)/);var we,Se,ke,Te=Ae,Ee=(Te<0&&(Te=0),0);try{for(var Re=xe(be),_e=Re.next();!_e.done;_e=Re.next()){var $e=_e.value,Le=Ee+$e.length;if(Ee<=Te&&Te<=Le&&$e.match(/((?:https?|ftp):\/\/[\S]+)/)){ke=$e.replace(/[\s:.,'";}\]]+$/,"");break}Ee=Le}}catch(be){we={error:be}}finally{try{_e&&!_e.done&&(Se=Re.return)&&Se.call(Re)}finally{if(we)throw we.error}}return ke},x.prototype.openLink=function(){var be=this.selection.getCursor();return(be=this.findLinkAt(be.row,be.column))&&window.open(be,"_blank"),null!=be},x.prototype.removeLines=function(){var be=this.$getSelectedRows();this.session.removeFullLines(be.first,be.last),this.clearSelection()},x.prototype.duplicateSelection=function(){var be,Ae=this.selection,we=this.session,xe=Ae.getRange(),Se=Ae.isBackwards();xe.isEmpty()?(be=xe.start.row,we.duplicateLines(be,be)):(be=Se?xe.start:xe.end,we=we.insert(be,we.getTextRange(xe)),xe.start=be,xe.end=we,Ae.setSelectionRange(xe,Se))},x.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},x.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},x.prototype.moveText=function(be,Ae,we){return this.session.moveText(be,Ae,we)},x.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},x.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},x.prototype.$moveLines=function(be,Ae){var we=this.selection;if(!we.inMultiSelectMode||this.inVirtualSelectionMode){var xe=we.toOrientedRange(),Se=this.$getSelectedRows(xe),ke=this.session.$moveLines(Se.first,Se.last,Ae?0:be);xe.moveBy(ke=Ae&&-1==be?0:ke,0),we.fromOrientedRange(xe)}else{for(var Te=we.rangeList.ranges,Ee=(we.rangeList.detach(this.session),this.inVirtualSelectionMode=!0,0),Re=0,_e=Te.length,$e=0;$e<_e;$e++){for(var Le=$e,Ne=(Te[$e].moveBy(Ee,0),(Se=this.$getSelectedRows(Te[$e])).first),Me=Se.last;++$e<_e;){Re&&Te[$e].moveBy(Re,0);var Be=this.$getSelectedRows(Te[$e]);if(Ae&&Be.first!=Me)break;if(!Ae&&Be.first>Me+1)break;Me=Be.last}for($e--,Ee=this.session.$moveLines(Ne,Me,Ae?0:be),Ae&&-1==be&&(Le=$e+1);Le<=$e;)Te[Le].moveBy(Ee,0),Le++;Re+=Ee=Ae?Ee:0}we.fromOrientedRange(we.ranges[0]),we.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},x.prototype.$getSelectedRows=function(be){return be=(be||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(be.start.row),last:this.session.getRowFoldEnd(be.end.row)}},x.prototype.onCompositionStart=function(be){this.renderer.showComposition(be)},x.prototype.onCompositionUpdate=function(be){this.renderer.setCompositionText(be)},x.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},x.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},x.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},x.prototype.isRowVisible=function(be){return be>=this.getFirstVisibleRow()&&be<=this.getLastVisibleRow()},x.prototype.isRowFullyVisible=function(be){return be>=this.renderer.getFirstFullyVisibleRow()&&be<=this.renderer.getLastFullyVisibleRow()},x.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},x.prototype.$moveByPage=function(be,Ae){var we=this.renderer,xe=this.renderer.layerConfig,Se=be*Math.floor(xe.height/xe.lineHeight);!0===Ae?this.selection.$moveSelection((function(){this.moveCursorBy(Se,0)})):!1===Ae&&(this.selection.moveCursorBy(Se,0),this.selection.clearSelection()),be=we.scrollTop,we.scrollBy(0,Se*xe.lineHeight),null!=Ae&&we.scrollCursorIntoView(null,.5),we.animateScrolling(be)},x.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},x.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},x.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},x.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},x.prototype.scrollPageDown=function(){this.$moveByPage(1)},x.prototype.scrollPageUp=function(){this.$moveByPage(-1)},x.prototype.scrollToRow=function(be){this.renderer.scrollToRow(be)},x.prototype.scrollToLine=function(be,Ae,we,xe){this.renderer.scrollToLine(be,Ae,we,xe)},x.prototype.centerSelection=function(){var be=this.getSelectionRange();be={row:Math.floor(be.start.row+(be.end.row-be.start.row)/2),column:Math.floor(be.start.column+(be.end.column-be.start.column)/2)},this.renderer.alignCursor(be,.5)},x.prototype.getCursorPosition=function(){return this.selection.getCursor()},x.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},x.prototype.getSelectionRange=function(){return this.selection.getRange()},x.prototype.selectAll=function(){this.selection.selectAll()},x.prototype.clearSelection=function(){this.selection.clearSelection()},x.prototype.moveCursorTo=function(be,Ae){this.selection.moveCursorTo(be,Ae)},x.prototype.moveCursorToPosition=function(be){this.selection.moveCursorToPosition(be)},x.prototype.jumpToMatching=function(be,Ae){var we=this.getCursorPosition(),xe=new Fe(this.session,we.row,we.column),Se=xe.getCurrentToken(),ke=0,Te=(Se=Se&&-1!==Se.type.indexOf("tag-name")?xe.stepBackward():Se)||xe.stepForward();if(Te){var Ee,Re,_e=!1,$e={},Le=we.column-Te.start,Ne={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(Te.value.match(/[{}()\[\]]/g)){for(;Le<Te.value.length&&!_e;Le++)if(Ne[Te.value[Le]])switch(Re=Ne[Te.value[Le]]+"."+Te.type.replace("rparen","lparen"),isNaN($e[Re])&&($e[Re]=0),Te.value[Le]){case"(":case"[":case"{":$e[Re]++;break;case")":case"]":case"}":$e[Re]--,-1===$e[Re]&&(Ee="bracket",_e=!0)}}else-1!==Te.type.indexOf("tag-name")&&(isNaN($e[Te.value])&&($e[Te.value]=0),"<"===Se.value&&1<ke?$e[Te.value]++:"</"===Se.value&&$e[Te.value]--,-1===$e[Te.value])&&(Ee="tag",_e=!0)}while(_e||(Se=Te,ke++,Te=xe.stepForward(),Le=0),Te&&!_e);if(Ee){if("bracket"===Ee)!(We=this.session.getBracketRange(we))&&(Pe=(We=new Be(xe.getCurrentTokenRow(),xe.getCurrentTokenColumn()+Le-1,xe.getCurrentTokenRow(),xe.getCurrentTokenColumn()+Le-1)).start,Ae||Pe.row===we.row&&Math.abs(Pe.column-we.column)<2)&&(We=this.session.getBracketRange(Pe));else if("tag"===Ee){if(!Te||-1===Te.type.indexOf("tag-name"))return;var Me,We,Pe=(Pe=0===(We=new Be(xe.getCurrentTokenRow(),xe.getCurrentTokenColumn()-2,xe.getCurrentTokenRow(),xe.getCurrentTokenColumn()-2)).compare(we.row,we.column)&&(Me=this.session.getMatchingTags(we))?Me.openTag.contains(we.row,we.column)?(We=Me.closeTag).start:(We=Me.openTag,Me.closeTag.start.row===we.row&&Me.closeTag.start.column===we.column?We.end:We.start):Pe)||We.start}(Pe=We&&We.cursor||Pe)&&(be?We&&Ae?this.selection.setRange(We):We&&We.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(Pe.row,Pe.column):this.selection.moveTo(Pe.row,Pe.column))}}},x.prototype.gotoLine=function(be,Ae,we){this.selection.clearSelection(),this.session.unfold({row:be-1,column:Ae||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(be-1,Ae||0),this.isRowFullyVisible(be-1)||this.scrollToLine(be-1,!0,we)},x.prototype.navigateTo=function(be,Ae){this.selection.moveTo(be,Ae)},x.prototype.navigateUp=function(be){var Ae;if(this.selection.isMultiLine()&&!this.selection.isBackwards())return Ae=this.selection.anchor.getPosition(),this.moveCursorToPosition(Ae);this.selection.clearSelection(),this.selection.moveCursorBy(-be||-1,0)},x.prototype.navigateDown=function(be){var Ae;if(this.selection.isMultiLine()&&this.selection.isBackwards())return Ae=this.selection.anchor.getPosition(),this.moveCursorToPosition(Ae);this.selection.clearSelection(),this.selection.moveCursorBy(be||1,0)},x.prototype.navigateLeft=function(be){if(this.selection.isEmpty())for(be=be||1;be--;)this.selection.moveCursorLeft();else{var Ae=this.getSelectionRange().start;this.moveCursorToPosition(Ae)}this.clearSelection()},x.prototype.navigateRight=function(be){if(this.selection.isEmpty())for(be=be||1;be--;)this.selection.moveCursorRight();else{var Ae=this.getSelectionRange().end;this.moveCursorToPosition(Ae)}this.clearSelection()},x.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},x.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},x.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},x.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},x.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},x.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},x.prototype.replace=function(be,Ae){Ae&&this.$search.set(Ae);var we=0;return(Ae=this.$search.find(this.session))&&(this.$tryReplace(Ae,be)&&(we=1),this.selection.setSelectionRange(Ae),this.renderer.scrollSelectionIntoView(Ae.start,Ae.end)),we},x.prototype.replaceAll=function(be,Ae){Ae&&this.$search.set(Ae);var we=this.$search.findAll(this.session),xe=0;if(we.length){Ae=this.getSelectionRange(),this.selection.moveTo(0,0);for(var Se=we.length-1;0<=Se;--Se)this.$tryReplace(we[Se],be)&&xe++;this.selection.setSelectionRange(Ae)}return xe},x.prototype.$tryReplace=function(be,Ae){var we=this.session.getTextRange(be);return null!==(Ae=this.$search.replace(we,Ae))?(be.end=this.session.replace(be,Ae),be):null},x.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},x.prototype.find=function(be,Ae,we){Ae=Ae||{},"string"==typeof be||be instanceof RegExp?Ae.needle=be:"object"==typeof be&&Se.mixin(Ae,be);var xe=this.selection.getRange();return null==Ae.needle&&((be=this.session.getTextRange(xe)||this.$search.$options.needle)||(xe=this.session.getWordRange(xe.start.row,xe.start.column),be=this.session.getTextRange(xe)),this.$search.set({needle:be})),this.$search.set(Ae),Ae.start||this.$search.set({start:xe}),be=this.$search.find(this.session),Ae.preventScroll?be:be?(this.revealRange(be,we),be):(Ae.backwards?xe.start=xe.end:xe.end=xe.start,void this.selection.setRange(xe))},x.prototype.findNext=function(be,Ae){this.find({skipCurrent:!0,backwards:!1},be,Ae)},x.prototype.findPrevious=function(be,Ae){this.find(be,{skipCurrent:!0,backwards:!0},Ae)},x.prototype.revealRange=function(be,Ae){this.session.unfold(be),this.selection.setSelectionRange(be);var we=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(be.start,be.end,.5),!1!==Ae&&this.renderer.animateScrolling(we)},x.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},x.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},x.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach((function(be){be.destroy()})),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},x.prototype.setAutoScrollEditorIntoView=function(be){var Ae,we,xe,Se,ke,Te,Ee;be&&(xe=!1,(we=this).$scrollAnchor||(this.$scrollAnchor=document.createElement("div")),(Se=this.$scrollAnchor).style.cssText="position:absolute",this.container.insertBefore(Se,this.container.firstChild),ke=this.on("changeSelection",(function(){xe=!0})),Te=this.renderer.on("beforeRender",(function(){xe&&(Ae=we.renderer.container.getBoundingClientRect())})),Ee=this.renderer.on("afterRender",(function(){var be,ke,Te;xe&&Ae&&(we.isFocused()||we.searchBox&&we.searchBox.isFocused())&&(be=(ke=we.renderer).$cursorLayer.$pixelPos,ke=ke.layerConfig,Te=be.top-ke.offset,null!=(xe=0<=be.top&&Te+Ae.top<0||!(be.top<ke.height&&be.top+Ae.top+ke.lineHeight>window.innerHeight)&&null)&&(Se.style.top=Te+"px",Se.style.left=be.left+"px",Se.style.height=ke.lineHeight+"px",Se.scrollIntoView(xe)),xe=Ae=null)})),this.setAutoScrollEditorIntoView=function(be){be||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",ke),this.renderer.off("afterRender",Ee),this.renderer.off("beforeRender",Te))})},x.prototype.$resetCursorStyle=function(){var be=this.$cursorStyle||"ace",Ae=this.renderer.$cursorLayer;Ae&&(Ae.setSmoothBlinking(/smooth/.test(be)),Ae.isBlinking=!this.$readOnly&&"wide"!=be,ke.setCssClass(Ae.element,"ace_slim-cursors",/slim/.test(be)))},x.prototype.prompt=function(be,Ae,we){var xe=this;Ge.loadModule("ace/ext/prompt",(function(Se){Se.prompt(xe,be,Ae,we)}))},(be=x).$uid=0,be.prototype.curOp=null,be.prototype.prevOp={},be.prototype.$mergeableCommands=["backspace","del","insertstring"],be.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],Se.implement(be.prototype,We),Ge.defineOptions(be.prototype,"editor",{selectionStyle:{set:function(be){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:be})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(be){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(be){this.textInput.setReadOnly(be),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(be){this.textInput.setCopyWithEmptySelection(be)},initialValue:!1},cursorStyle:{set:function(be){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(be){this.setAutoScrollEditorIntoView(be)}},keyboardHandler:{set:function(be){this.setKeyboardHandler(be)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(be){this.session.setValue(be)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(be){this.setSession(be)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(be){this.renderer.$gutterLayer.setShowLineNumbers(be),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),be&&this.$relativeLineNumbers?je.attach(this):je.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(be){this.$showLineNumbers&&be?je.attach(this):je.detach(this)}},placeholder:{set:function(be){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var be=this.session&&(this.renderer.$composition||1<this.session.getLength()||0<this.session.getLine(0).length);be&&this.renderer.placeholderNode?(this.renderer.off("afterRender",this.$updatePlaceholder),ke.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null):be||this.renderer.placeholderNode?!be&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||""):(this.renderer.on("afterRender",this.$updatePlaceholder),ke.addCssClass(this.container,"ace_hasPlaceholder"),(be=ke.createElement("div")).className="ace_placeholder",be.textContent=this.$placeholder||"",this.renderer.placeholderNode=be,this.renderer.content.appendChild(this.renderer.placeholderNode))}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(be){function t(be){be.target==this.renderer.scroller&&be.keyCode===Ke.enter&&(be.preventDefault(),be=this.getCursorPosition().row,this.isRowVisible(be)||this.scrollToLine(be,!0,!0),this.focus())}var Ae,we={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(be){be.blur(),be.renderer.scroller.focus()},readOnly:!0};be?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(Ee.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",Ze("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",Ze("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",t.bind(this)),this.commands.addCommand(we),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",Ze("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",Ze("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),(Ae=Ae||new Ve(this)).addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",t.bind(this)),this.commands.removeCommand(we),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),Ae&&Ae.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(be){this.$textInputAriaLabel=be},initialValue:""},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var je={getText:function(be,Ae){return(Math.abs(be.selection.lead.row-Ae)||Ae+1+(Ae<9?"·":""))+""},getWidth:function(be,Ae,we){return Math.max(Ae.toString().length,(we.lastRow+1).toString().length,2)*we.characterWidth},update:function(be,Ae){Ae.renderer.$loop.schedule(Ae.renderer.CHANGE_GUTTER)},attach:function(be){be.renderer.$gutterLayer.$renderer=this,be.on("changeSelection",this.update),this.update(null,be)},detach:function(be){be.renderer.$gutterLayer.$renderer==this&&(be.renderer.$gutterLayer.$renderer=null),be.off("changeSelection",this.update),this.update(null,be)}};Ae.Editor=be})),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){var xe=be("../lib/dom");function i(be,Ae){this.element=be,this.canvasHeight=Ae||5e5,this.element.style.height=2*this.canvasHeight+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}i.prototype.moveContainer=function(be){xe.translate(this.element,0,-be.firstRowScreen*be.lineHeight%this.canvasHeight-be.offset*this.$offsetCoefficient)},i.prototype.pageChanged=function(be,Ae){return Math.floor(be.firstRowScreen*be.lineHeight/this.canvasHeight)!==Math.floor(Ae.firstRowScreen*Ae.lineHeight/this.canvasHeight)},i.prototype.computeLineTop=function(be,Ae,we){var xe=Ae.firstRowScreen*Ae.lineHeight;return xe=Math.floor(xe/this.canvasHeight),we.documentToScreenRow(be,0)*Ae.lineHeight-xe*this.canvasHeight},i.prototype.computeLineHeight=function(be,Ae,we){return Ae.lineHeight*we.getRowLineCount(be)},i.prototype.getLength=function(){return this.cells.length},i.prototype.get=function(be){return this.cells[be]},i.prototype.shift=function(){this.$cacheCell(this.cells.shift())},i.prototype.pop=function(){this.$cacheCell(this.cells.pop())},i.prototype.push=function(be){if(Array.isArray(be)){this.cells.push.apply(this.cells,be);for(var Ae=xe.createFragment(this.element),we=0;we<be.length;we++)Ae.appendChild(be[we].element);this.element.appendChild(Ae)}else this.cells.push(be),this.element.appendChild(be.element)},i.prototype.unshift=function(be){if(Array.isArray(be)){this.cells.unshift.apply(this.cells,be);for(var Ae=xe.createFragment(this.element),we=0;we<be.length;we++)Ae.appendChild(be[we].element);this.element.firstChild?this.element.insertBefore(Ae,this.element.firstChild):this.element.appendChild(Ae)}else this.cells.unshift(be),this.element.insertAdjacentElement("afterbegin",be.element)},i.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},i.prototype.$cacheCell=function(be){be&&(be.element.remove(),this.cellCache.push(be))},i.prototype.createCell=function(be,Ae,we,Se){var ke,Te=this.cellCache.pop();return Te||(ke=xe.createElement("div"),Se&&Se(ke),this.element.appendChild(ke),Te={element:ke,text:"",row:be}),Te.row=be,Te},Ae.Lines=i})),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],(function(be,Ae,we){var Se=be("../lib/dom"),ke=be("../lib/oop"),Te=be("../lib/lang"),Ee=be("../lib/event_emitter").EventEmitter,Re=be("./lines").Lines,_e=be("../config").nls;function a(be){this.element=Se.createElement("div"),this.element.className="ace_layer ace_gutter-layer",be.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new Re(this.element),this.$lines.$offsetCoefficient=1}function c(be){var Ae=document.createTextNode(""),we=(be.appendChild(Ae),Ae=Se.createElement("span"),be.appendChild(Ae),Ae=Se.createElement("span"),be.appendChild(Ae),Se.createElement("span"));return Ae.appendChild(we),be}a.prototype.setSession=function(be){this.session&&this.session.off("change",this.$updateAnnotations),(this.session=be)&&be.on("change",this.$updateAnnotations)},a.prototype.addGutterDecoration=function(be,Ae){window.console&&xe.warn&&xe.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(be,Ae)},a.prototype.removeGutterDecoration=function(be,Ae){window.console&&xe.warn&&xe.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(be,Ae)},a.prototype.setAnnotations=function(be){this.$annotations=[];for(var Ae=0;Ae<be.length;Ae++){var we=be[Ae],xe=we.row,Se=(Se=this.$annotations[xe])||(this.$annotations[xe]={text:[],type:[]}),ke=(xe=we.text,we.type);xe=xe?Te.escapeHTML(xe):we.html||"",-1===Se.text.indexOf(xe)&&(Se.text.push(xe),Se.type.push(ke)),(xe=we.className)?Se.className=xe:"error"==ke?Se.className=" ace_error":"warning"==ke&&" ace_error"!=Se.className?Se.className=" ace_warning":"info"!=ke||Se.className||(Se.className=" ace_info")}},a.prototype.$updateAnnotations=function(be){var Ae,we;this.$annotations.length&&(Ae=be.start.row,0!=(we=be.end.row-Ae))&&("remove"==be.action?this.$annotations.splice(Ae,1+we,null):((be=new Array(1+we)).unshift(Ae,1),this.$annotations.splice.apply(this.$annotations,be)))},a.prototype.update=function(be){this.config=be;for(var Ae=this.session,we=be.firstRow,xe=Math.min(be.lastRow+be.gutterOffset,Ae.getLength()-1),Se=(this.oldLastRow=xe,this.config=be,this.$lines.moveContainer(be),this.$updateCursorRow(),Ae.getNextFoldLine(we)),ke=Se?Se.start.row:1/0,Te=null,Ee=-1,Re=we;;){if(ke<Re&&(Re=Se.end.row+1,ke=(Se=Ae.getNextFoldLine(Re,Se))?Se.start.row:1/0),xe<Re){for(;this.$lines.getLength()>Ee+1;)this.$lines.pop();break}(Te=this.$lines.get(++Ee))?Te.row=Re:(Te=this.$lines.createCell(Re,be,this.session,c),this.$lines.push(Te)),this.$renderCell(Te,be,Se,Re),Re++}this._signal("afterRender"),this.$updateGutterWidth(be)},a.prototype.$updateGutterWidth=function(be){var Ae=this.session,we=Ae.gutterRenderer||this.$renderer,xe=Ae.$firstLineNumber,Se=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||Ae.$useWrapMode)&&(Se=Ae.getLength()+xe-1),xe=we?we.getWidth(Ae,Se,be):Se.toString().length*be.characterWidth,(xe+=(we=this.$padding||this.$computePadding()).left+we.right)===this.gutterWidth||isNaN(xe)||(this.gutterWidth=xe,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",xe))},a.prototype.$updateCursorRow=function(){var be;this.$highlightGutterLine&&(be=this.session.selection.getCursor(),this.$cursorRow!==be.row)&&(this.$cursorRow=be.row)},a.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var be=this.session.selection.cursor.row;if(this.$cursorRow=be,!this.$cursorCell||this.$cursorCell.row!=be){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var Ae=this.$lines.cells;this.$cursorCell=null;for(var we=0;we<Ae.length;we++){var xe=Ae[we];if(xe.row>=this.$cursorRow){if(xe.row>this.$cursorRow){var Se=this.session.getFoldLine(this.$cursorRow);if(!(0<we&&Se&&Se.start.row==Ae[we-1].row))break;xe=Ae[we-1]}xe.element.className="ace_gutter-active-line "+xe.element.className,this.$cursorCell=xe;break}}}}},a.prototype.scrollLines=function(be){var Ae=this.config;if(this.config=be,this.$updateCursorRow(),this.$lines.pageChanged(Ae,be))return this.update(be);this.$lines.moveContainer(be);var we=Math.min(be.lastRow+be.gutterOffset,this.session.getLength()-1),xe=this.oldLastRow;if(this.oldLastRow=we,!Ae||xe<be.firstRow)return this.update(be);if(we<Ae.firstRow)return this.update(be);if(Ae.firstRow<be.firstRow)for(var Se=this.session.getFoldedRowCount(Ae.firstRow,be.firstRow-1);0<Se;Se--)this.$lines.shift();if(we<xe)for(Se=this.session.getFoldedRowCount(we+1,xe);0<Se;Se--)this.$lines.pop();be.firstRow<Ae.firstRow&&this.$lines.unshift(this.$renderLines(be,be.firstRow,Ae.firstRow-1)),xe<we&&this.$lines.push(this.$renderLines(be,xe+1,we)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(be)},a.prototype.$renderLines=function(be,Ae,we){for(var xe=[],Se=Ae,ke=this.session.getNextFoldLine(Se),Te=ke?ke.start.row:1/0;Te<Se&&(Se=ke.end.row+1,Te=(ke=this.session.getNextFoldLine(Se,ke))?ke.start.row:1/0),!(we<Se);){var Ee=this.$lines.createCell(Se,be,this.session,c);this.$renderCell(Ee,be,ke,Se),xe.push(Ee),Se++}return xe},a.prototype.$renderCell=function(be,Ae,we,xe){var ke,Te,Ee=be.element,Re=this.session,$e=Ee.childNodes[0],Le=Ee.childNodes[1],Ne=Ee.childNodes[2],Me=Ne.firstChild,Be=Re.$firstLineNumber,We=Re.$breakpoints,Pe=Re.$decorations,He=Re.gutterRenderer||this.$renderer,Ge=this.$showFoldWidgets&&Re.foldWidgets,Fe=we?we.start.row:Number.MAX_VALUE,Oe=Ae.lineHeight+"px",Ve=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",Ze=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",De=(He?He.getText(Re,xe):xe+Be).toString();if(this.$highlightGutterLine&&(xe==this.$cursorRow||we&&xe<this.$cursorRow&&Fe<=xe&&this.$cursorRow<=we.end.row)&&(Ve+="ace_gutter-active-line ",this.$cursorCell!=be)&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=be),We[xe]&&(Ve+=We[xe]),Pe[xe]&&(Ve+=Pe[xe]),this.$annotations[xe]&&xe!==Fe&&(Ve+=this.$annotations[xe].className),ke=Ge&&null==(ke=Ge[xe])?Ge[xe]=Re.getFoldWidget(xe):ke){if(He="ace_fold-widget ace_"+ke,Be="start"==ke&&xe==Fe&&xe<we.end.row){He+=" ace_closed";for(var Ke="",je=!1,ze=xe+1;ze<=we.end.row;ze++)if(this.$annotations[ze]){if(" ace_error"===this.$annotations[ze].className){je=!0,Ke=" ace_error_fold";break}" ace_warning"===this.$annotations[ze].className&&(je=!0,Ke=" ace_warning_fold")}Ve+=Ke}else He+=" ace_open";Le.className!=He&&(Le.className=He),Se.setStyle(Le.style,"height",Oe),Se.setStyle(Le.style,"display","inline-block"),Le.setAttribute("role","button"),Le.setAttribute("tabindex","-1"),(We=Re.getFoldWidgetRange(xe))?Le.setAttribute("aria-label",_e("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[We.start.row+1,We.end.row+1])):we?Le.setAttribute("aria-label",_e("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[we.start.row+1,we.end.row+1])):Le.setAttribute("aria-label",_e("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[xe+1])),Be?(Le.setAttribute("aria-expanded","false"),Le.setAttribute("title",_e("gutter.code-folding.closed.title","Unfold code"))):(Le.setAttribute("aria-expanded","true"),Le.setAttribute("title",_e("gutter.code-folding.open.title","Fold code")))}else Le&&(Se.setStyle(Le.style,"display","none"),Le.setAttribute("tabindex","0"),Le.removeAttribute("role"),Le.removeAttribute("aria-label"));if(je&&this.$showFoldedAnnotations){switch(Ne.className="ace_gutter_annotation",Me.className=Ze,Me.className+=Ke,Se.setStyle(Me.style,"height",Oe),Se.setStyle(Ne.style,"display","block"),Se.setStyle(Ne.style,"height",Oe),Ke){case" ace_error_fold":Te=_e("gutter.annotation.aria-label.error","Read annotations row $0",[De]);break;case" ace_warning_fold":Te=_e("gutter.annotation.aria-label.warning","Read annotations row $0",[De])}Ne.setAttribute("aria-label",Te),Ne.setAttribute("tabindex","-1"),Ne.setAttribute("role","button")}else if(this.$annotations[xe]){switch(Ne.className="ace_gutter_annotation",Me.className=Ze,this.$useSvgGutterIcons?Me.className+=this.$annotations[xe].className:Ee.classList.add(this.$annotations[xe].className.replace(" ","")),Se.setStyle(Me.style,"height",Oe),Se.setStyle(Ne.style,"display","block"),Se.setStyle(Ne.style,"height",Oe),this.$annotations[xe].className){case" ace_error":Te=_e("gutter.annotation.aria-label.error","Read annotations row $0",[De]);break;case" ace_warning":Te=_e("gutter.annotation.aria-label.warning","Read annotations row $0",[De]);break;case" ace_info":Te=_e("gutter.annotation.aria-label.info","Read annotations row $0",[De])}Ne.setAttribute("aria-label",Te),Ne.setAttribute("tabindex","-1"),Ne.setAttribute("role","button")}else Se.setStyle(Ne.style,"display","none"),Ne.removeAttribute("aria-label"),Ne.removeAttribute("role"),Ne.setAttribute("tabindex","0");return De!==$e.data&&($e.data=De),Ee.className!=Ve&&(Ee.className=Ve),Se.setStyle(be.element.style,"height",this.$lines.computeLineHeight(xe,Ae,Re)+"px"),Se.setStyle(be.element.style,"top",this.$lines.computeLineTop(xe,Ae,Re)+"px"),be.text=De,"none"===Ne.style.display&&"none"===Le.style.display?be.element.setAttribute("aria-hidden",!0):be.element.setAttribute("aria-hidden",!1),be},a.prototype.setHighlightGutterLine=function(be){this.$highlightGutterLine=be},a.prototype.setShowLineNumbers=function(be){this.$renderer=!be&&{getWidth:function(){return 0},getText:function(){return""}}},a.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},a.prototype.setShowFoldWidgets=function(be){be?Se.addCssClass(this.element,"ace_folding-enabled"):Se.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=be,this.$padding=null},a.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},a.prototype.$computePadding=function(){var be;return this.element.firstChild?(be=Se.computedStyle(this.element.firstChild),this.$padding={},this.$padding.left=(parseInt(be.borderLeftWidth)||0)+(parseInt(be.paddingLeft)||0)+1,this.$padding.right=(parseInt(be.borderRightWidth)||0)+(parseInt(be.paddingRight)||0),this.$padding):{left:0,right:0}},a.prototype.getRegion=function(be){var Ae=this.$padding||this.$computePadding(),we=this.element.getBoundingClientRect();return be.x<Ae.left+we.left?"markers":this.$showFoldWidgets&&be.x>we.right-Ae.right?"foldWidgets":void 0},(be=a).prototype.$fixedWidth=!1,be.prototype.$highlightGutterLine=!0,be.prototype.$renderer="",be.prototype.$showLineNumbers=!0,be.prototype.$showFoldWidgets=!0,ke.implement(be.prototype,Ee),Ae.Gutter=be})),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],(function(be,Ae,we){var xe=be("../range").Range,Se=be("../lib/dom");function o(be){this.element=Se.createElement("div"),this.element.className="ace_layer ace_marker-layer",be.appendChild(this.element)}o.prototype.setPadding=function(be){this.$padding=be},o.prototype.setSession=function(be){this.session=be},o.prototype.setMarkers=function(be){this.markers=be},o.prototype.elt=function(be,Ae){var we=-1!=this.i&&this.element.childNodes[this.i];we?this.i++:(we=document.createElement("div"),this.element.appendChild(we),this.i=-1),we.style.cssText=Ae,we.className=be},o.prototype.update=function(be){if(be){var Ae,we;for(we in this.config=be,this.i=0,this.markers){var xe,Se,ke,Te=this.markers[we];Te.range?(ke=Te.range.clipRows(be.firstRow,be.lastRow)).isEmpty()||(ke=ke.toScreenRange(this.session),Te.renderer?(xe=this.$getTop(ke.start.row,be),Se=this.$padding+ke.start.column*be.characterWidth,Te.renderer(Ae,ke,Se,xe,be)):"fullLine"==Te.type?this.drawFullLineMarker(Ae,ke,Te.clazz,be):"screenLine"==Te.type?this.drawScreenLineMarker(Ae,ke,Te.clazz,be):ke.isMultiLine()?"text"==Te.type?this.drawTextMarker(Ae,ke,Te.clazz,be):this.drawMultiLineMarker(Ae,ke,Te.clazz,be):this.drawSingleLineMarker(Ae,ke,Te.clazz+" ace_start ace_br15",be)):Te.update(Ae,this,this.session,be)}if(-1!=this.i)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},o.prototype.$getTop=function(be,Ae){return(be-Ae.firstRowScreen)*Ae.lineHeight},o.prototype.drawTextMarker=function(be,Ae,we,Se,ke){for(var Te,Ee=this.session,Re=Ae.start.row,_e=Ae.end.row,$e=Re,Le=0,Ne=Ee.getScreenLastRowColumn($e),Me=new xe($e,Ae.start.column,$e,Le);$e<=_e;$e++)Me.start.row=Me.end.row=$e,Me.start.column=$e==Re?Ae.start.column:Ee.getRowWrapIndent($e),Me.end.column=Ne,Te=Le,Le=Ne,Ne=$e+1<_e?Ee.getScreenLastRowColumn($e+1):$e==_e?0:Ae.end.column,this.drawSingleLineMarker(be,Me,we+($e==Re?" ace_start":"")+" ace_br"+(($e==Re||$e==Re+1&&Ae.start.column?1:0)|(Te<Le?2:0)|(Ne<Le?4:0)|($e==_e?8:0)),Se,$e==_e?0:1,ke)},o.prototype.drawMultiLineMarker=function(be,Ae,we,xe,Se){var ke,Te=this.$padding,Ee=xe.lineHeight,Re=this.$getTop(Ae.start.row,xe),_e=Te+Ae.start.column*xe.characterWidth;Se=Se||"",this.session.$bidiHandler.isBidiRow(Ae.start.row)?((ke=Ae.clone()).end.row=ke.start.row,ke.end.column=this.session.getLine(ke.start.row).length,this.drawBidiSingleLineMarker(be,ke,we+" ace_br1 ace_start",xe,null,Se)):this.elt(we+" ace_br1 ace_start","height:"+Ee+"px;right:0;top:"+Re+"px;left:"+_e+"px;"+(Se||"")),this.session.$bidiHandler.isBidiRow(Ae.end.row)?((ke=Ae.clone()).start.row=ke.end.row,ke.start.column=0,this.drawBidiSingleLineMarker(be,ke,we+" ace_br12",xe,null,Se)):(Re=this.$getTop(Ae.end.row,xe),_e=Ae.end.column*xe.characterWidth,this.elt(we+" ace_br12","height:"+Ee+"px;width:"+_e+"px;top:"+Re+"px;left:"+Te+"px;"+(Se||""))),(Ee=(Ae.end.row-Ae.start.row-1)*xe.lineHeight)<=0||(Re=this.$getTop(Ae.start.row+1,xe),be=(Ae.start.column?1:0)|(Ae.end.column?0:8),this.elt(we+(be?" ace_br"+be:""),"height:"+Ee+"px;right:0;top:"+Re+"px;left:"+Te+"px;"+(Se||"")))},o.prototype.drawSingleLineMarker=function(be,Ae,we,xe,Se,ke){if(this.session.$bidiHandler.isBidiRow(Ae.start.row))return this.drawBidiSingleLineMarker(be,Ae,we,xe,Se,ke);be=xe.lineHeight,Se=(Ae.end.column+(Se||0)-Ae.start.column)*xe.characterWidth;var Te=this.$getTop(Ae.start.row,xe);Ae=this.$padding+Ae.start.column*xe.characterWidth,this.elt(we,"height:"+be+"px;width:"+Se+"px;top:"+Te+"px;left:"+Ae+"px;"+(ke||""))},o.prototype.drawBidiSingleLineMarker=function(be,Ae,we,xe,Se,ke){var Te=xe.lineHeight,Ee=this.$getTop(Ae.start.row,xe),Re=this.$padding;this.session.$bidiHandler.getSelections(Ae.start.column,Ae.end.column).forEach((function(be){this.elt(we,"height:"+Te+"px;width:"+(be.width+(Se||0))+"px;top:"+Ee+"px;left:"+(Re+be.left)+"px;"+(ke||""))}),this)},o.prototype.drawFullLineMarker=function(be,Ae,we,xe,Se){var ke=this.$getTop(Ae.start.row,xe),Te=xe.lineHeight;Ae.start.row!=Ae.end.row&&(Te+=this.$getTop(Ae.end.row,xe)-ke),this.elt(we,"height:"+Te+"px;top:"+ke+"px;left:0;right:0;"+(Se||""))},o.prototype.drawScreenLineMarker=function(be,Ae,we,xe,Se){Ae=this.$getTop(Ae.start.row,xe),xe=xe.lineHeight,this.elt(we,"height:"+xe+"px;top:"+Ae+"px;left:0;right:0;"+(Se||""))},(be=o).prototype.$padding=0,Ae.Marker=be})),ace.define("ace/layer/text_util",["require","exports","module"],(function(be,Ae,we){var xe=new Set(["text","rparen","lparen"]);Ae.isTextToken=function(be){return xe.has(be)}})),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],(function(be,Ae,we){var xe=be("../lib/oop"),Se=be("../lib/dom"),ke=be("../lib/lang"),Te=be("./lines").Lines,Ee=be("../lib/event_emitter").EventEmitter,Re=be("../config").nls,_e=be("./text_util").isTextToken;function s(be){this.dom=Se,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",be.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new Te(this.element)}s.prototype.$updateEolChar=function(){var be="\n"==(be=this.session.doc).getNewLineCharacter()&&"windows"!=be.getNewLineMode()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=be)return this.EOL_CHAR=be,!0},s.prototype.setPadding=function(be){this.$padding=be,this.element.style.margin="0 "+be+"px"},s.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},s.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},s.prototype.$setFontMetrics=function(be){this.$fontMetrics=be,this.$fontMetrics.on("changeCharacterSize",function(be){this._signal("changeCharacterSize",be)}.bind(this)),this.$pollSizeChanges()},s.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},s.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},s.prototype.setSession=function(be){(this.session=be)&&this.$computeTabString()},s.prototype.setShowInvisibles=function(be){return this.showInvisibles!=be&&("string"==typeof(this.showInvisibles=be)?(this.showSpaces=/tab/i.test(be),this.showTabs=/space/i.test(be),this.showEOL=/eol/i.test(be)):this.showSpaces=this.showTabs=this.showEOL=be,this.$computeTabString(),!0)},s.prototype.setDisplayIndentGuides=function(be){return this.displayIndentGuides!=be&&(this.displayIndentGuides=be,this.$computeTabString(),!0)},s.prototype.setHighlightIndentGuides=function(be){return this.$highlightIndentGuides!==be&&(this.$highlightIndentGuides=be)},s.prototype.$computeTabString=function(){for(var be,Ae,we,xe,Se,Te,Ee=this.session.getTabSize(),Re=(this.tabSize=Ee,this.$tabStrings=[0]),_e=1;_e<Ee+1;_e++)this.showTabs?((Te=this.dom.createElement("span")).className="ace_invisible ace_invisible_tab",Te.textContent=ke.stringRepeat(this.TAB_CHAR,_e),Re.push(Te)):Re.push(this.dom.createTextNode(ke.stringRepeat(" ",_e),this.element));this.displayIndentGuides&&(this.$indentGuideRe=/\s\S| \t|\t |\s$/,be="ace_indent-guide",Ae=this.showSpaces?" ace_invisible ace_invisible_space":"",we=this.showSpaces?ke.stringRepeat(this.SPACE_CHAR,this.tabSize):ke.stringRepeat(" ",this.tabSize),xe=this.showTabs?" ace_invisible ace_invisible_tab":"",Se=this.showTabs?ke.stringRepeat(this.TAB_CHAR,this.tabSize):we,(Te=this.dom.createElement("span")).className=be+Ae,Te.textContent=we,this.$tabStrings[" "]=Te,(Te=this.dom.createElement("span")).className=be+xe,Te.textContent=Se,this.$tabStrings["\t"]=Te)},s.prototype.updateLines=function(be,Ae,we){if(this.config.lastRow!=be.lastRow||this.config.firstRow!=be.firstRow)return this.update(be);this.config=be;for(var xe=Math.max(Ae,be.firstRow),Se=Math.min(we,be.lastRow),ke=this.element.childNodes,Te=0,Ee=be.firstRow;Ee<xe;Ee++){if(Re=this.session.getFoldLine(Ee)){if(Re.containsRow(xe)){xe=Re.start.row;break}Ee=Re.end.row}Te++}for(var Re,_e=!1,$e=(Ee=xe,(Re=this.session.getNextFoldLine(Ee))?Re.start.row:1/0);$e<Ee&&(Ee=Re.end.row+1,$e=(Re=this.session.getNextFoldLine(Ee,Re))?Re.start.row:1/0),!(Se<Ee);){var Le,Ne=ke[Te++];Ne&&(this.dom.removeChildren(Ne),this.$renderLine(Ne,Ee,Ee==$e&&Re),_e&&(Ne.style.top=this.$lines.computeLineTop(Ee,be,this.session)+"px"),Le=be.lineHeight*this.session.getRowLength(Ee)+"px",Ne.style.height!=Le)&&(_e=!0,Ne.style.height=Le),Ee++}if(_e)for(;Te<this.$lines.cells.length;){var Me=this.$lines.cells[Te++];Me.element.style.top=this.$lines.computeLineTop(Me.row,be,this.session)+"px"}},s.prototype.scrollLines=function(be){var Ae=this.config;if(this.config=be,this.$lines.pageChanged(Ae,be))return this.update(be);this.$lines.moveContainer(be);var we=be.lastRow,xe=Ae?Ae.lastRow:-1;if(!Ae||xe<be.firstRow)return this.update(be);if(we<Ae.firstRow)return this.update(be);if(!Ae||Ae.lastRow<be.firstRow)return this.update(be);if(be.lastRow<Ae.firstRow)return this.update(be);if(Ae.firstRow<be.firstRow)for(var Se=this.session.getFoldedRowCount(Ae.firstRow,be.firstRow-1);0<Se;Se--)this.$lines.shift();if(Ae.lastRow>be.lastRow)for(Se=this.session.getFoldedRowCount(be.lastRow+1,Ae.lastRow);0<Se;Se--)this.$lines.pop();be.firstRow<Ae.firstRow&&this.$lines.unshift(this.$renderLinesFragment(be,be.firstRow,Ae.firstRow-1)),be.lastRow>Ae.lastRow&&this.$lines.push(this.$renderLinesFragment(be,Ae.lastRow+1,be.lastRow)),this.$highlightIndentGuide()},s.prototype.$renderLinesFragment=function(be,Ae,we){for(var xe=[],ke=Ae,Te=this.session.getNextFoldLine(ke),Ee=Te?Te.start.row:1/0;Ee<ke&&(ke=Te.end.row+1,Ee=(Te=this.session.getNextFoldLine(ke,Te))?Te.start.row:1/0),!(we<ke);){var Re=this.$lines.createCell(ke,be,this.session),_e=Re.element;this.dom.removeChildren(_e),Se.setStyle(_e.style,"height",this.$lines.computeLineHeight(ke,be,this.session)+"px"),Se.setStyle(_e.style,"top",this.$lines.computeLineTop(ke,be,this.session)+"px"),this.$renderLine(_e,ke,ke==Ee&&Te),this.$useLineGroups()?_e.className="ace_line_group":_e.className="ace_line",xe.push(Re),ke++}return xe},s.prototype.update=function(be){this.$lines.moveContainer(be);for(var Ae=(this.config=be).firstRow,we=be.lastRow,xe=this.$lines;xe.getLength();)xe.pop();xe.push(this.$renderLinesFragment(be,Ae,we))},s.prototype.$renderToken=function(be,Ae,we,xe){for(var Se,Te,Ee=this,$e=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,Le=this.dom.createFragment(this.element),Ne=0;Se=$e.exec(xe);){var Me,Be,We=Se[1],Pe=Se[2],He=Se[3],Ge=Se[4],Fe=Se[5];!Ee.showSpaces&&Pe||(Me=Ne!=Se.index?xe.slice(Ne,Se.index):"",Ne=Se.index+Se[0].length,Me&&Le.appendChild(this.dom.createTextNode(Me,this.element)),We?(Me=Ee.session.getScreenTabSize(Ae+Se.index),Le.appendChild(Ee.$tabStrings[Me].cloneNode(!0)),Ae+=Me-1):Pe?Ee.showSpaces?((Be=this.dom.createElement("span")).className="ace_invisible ace_invisible_space",Be.textContent=ke.stringRepeat(Ee.SPACE_CHAR,Pe.length),Le.appendChild(Be)):Le.appendChild(this.dom.createTextNode(Pe,this.element)):He?((Be=this.dom.createElement("span")).className="ace_invisible ace_invisible_space ace_invalid",Be.textContent=ke.stringRepeat(Ee.SPACE_CHAR,He.length),Le.appendChild(Be)):Ge?(Ae+=1,(Be=this.dom.createElement("span")).style.width=2*Ee.config.characterWidth+"px",Be.className=Ee.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",Be.textContent=Ee.showSpaces?Ee.SPACE_CHAR:Ge,Le.appendChild(Be)):Fe&&(Ae+=1,(Be=this.dom.createElement("span")).style.width=2*Ee.config.characterWidth+"px",Be.className="ace_cjk",Be.textContent=Fe,Le.appendChild(Be)))}return Le.appendChild(this.dom.createTextNode(Ne?xe.slice(Ne):xe,this.element)),_e(we.type)?be.appendChild(Le):(Te="ace_"+we.type.replace(/\./g," ace_"),Be=this.dom.createElement("span"),"fold"==we.type&&(Be.style.width=we.value.length*this.config.characterWidth+"px",Be.setAttribute("title",Re("inline-fold.closed.title","Unfold code"))),Be.className=Te,Be.appendChild(Le),be.appendChild(Be)),Ae+xe.length},s.prototype.renderIndentGuide=function(be,Ae,we){var xe=Ae.search(this.$indentGuideRe);if(!(xe<=0||we<=xe)){if(" "==Ae[0]){for(var Se=(xe-=xe%this.tabSize)/this.tabSize,ke=0;ke<Se;ke++)be.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),Ae.substr(xe)}if("\t"==Ae[0]){for(ke=0;ke<xe;ke++)be.appendChild(this.$tabStrings["\t"].cloneNode(!0));return this.$highlightIndentGuide(),Ae.substr(xe)}this.$highlightIndentGuide()}return Ae},s.prototype.$highlightIndentGuide=function(){if(this.$highlightIndentGuides&&this.displayIndentGuides){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var be=this.session.doc.$lines;if(be){var Ae=this.session.selection.getCursor(),we=/^\s*/.exec(this.session.doc.getLine(Ae.row))[0].length,xe=Math.floor(we/this.tabSize);if(this.$highlightIndentGuideMarker={indentLevel:xe,start:Ae.row},this.session.$bracketHighlight)for(var Se=this.session.$bracketHighlight.ranges,ke=0;ke<Se.length;ke++)if(Ae.row!==Se[ke].start.row){this.$highlightIndentGuideMarker.end=Se[ke].start.row,Ae.row>Se[ke].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}if(!this.$highlightIndentGuideMarker.end&&""!==be[Ae.row]&&Ae.column===be[Ae.row].length)for(this.$highlightIndentGuideMarker.dir=1,ke=Ae.row+1;ke<be.length;ke++){var Te=be[ke],Ee=/^\s*/.exec(Te)[0].length;if(""!==Te&&(this.$highlightIndentGuideMarker.end=ke,Ee<=we))break}this.$renderHighlightIndentGuide()}}},s.prototype.$clearActiveIndentGuide=function(){for(var be=this.$lines.cells,Ae=0;Ae<be.length;Ae++){var we=be[Ae].element.childNodes;if(0<we.length)for(var xe=0;xe<we.length;xe++)if(we[xe].classList&&we[xe].classList.contains("ace_indent-guide-active")){we[xe].classList.remove("ace_indent-guide-active");break}}},s.prototype.$setIndentGuideActive=function(be,Ae){""!==this.session.doc.getLine(be.row)&&(be=be.element.childNodes)&&(be=be[Ae-1])&&be.classList&&be.classList.contains("ace_indent-guide")&&be.classList.add("ace_indent-guide-active")},s.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var be=this.$lines.cells,Ae=(this.$clearActiveIndentGuide(),this.$highlightIndentGuideMarker.indentLevel);if(0!==Ae)if(1===this.$highlightIndentGuideMarker.dir)for(var we=0;we<be.length;we++){var xe=be[we];if(this.$highlightIndentGuideMarker.end&&xe.row>=this.$highlightIndentGuideMarker.start+1){if(xe.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(xe,Ae)}}else for(we=be.length-1;0<=we;we--)if(xe=be[we],this.$highlightIndentGuideMarker.end&&xe.row<this.$highlightIndentGuideMarker.start){if(xe.row<=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(xe,Ae)}}},s.prototype.$createLineElement=function(be){var Ae=this.dom.createElement("div");return Ae.className="ace_line",Ae.style.height=this.config.lineHeight+"px",Ae},s.prototype.$renderWrappedLine=function(be,Ae,we){var xe=0,Se=0,Te=we[0],Ee=0,Re=this.$createLineElement();be.appendChild(Re);for(var _e=0;_e<Ae.length;_e++){var $e=Ae[_e],Le=$e.value;if(0==_e&&this.displayIndentGuides){if(xe=Le.length,!(Le=this.renderIndentGuide(Re,Le,Te)))continue;xe-=Le.length}if(xe+Le.length<Te)Ee=this.$renderToken(Re,Ee,$e,Le),xe+=Le.length;else{for(;xe+Le.length>=Te;)Ee=this.$renderToken(Re,Ee,$e,Le.substring(0,Te-xe)),Le=Le.substring(Te-xe),xe=Te,Re=this.$createLineElement(),be.appendChild(Re),Re.appendChild(this.dom.createTextNode(ke.stringRepeat(" ",we.indent),this.element)),Ee=0,Te=we[++Se]||Number.MAX_VALUE;0!=Le.length&&(xe+=Le.length,Ee=this.$renderToken(Re,Ee,$e,Le))}}we[we.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(Re,Ee,null,"",!0)},s.prototype.$renderSimpleLine=function(be,Ae){for(var we=0,xe=0;xe<Ae.length;xe++){var Se=Ae[xe],ke=Se.value;if(0!=xe||!this.displayIndentGuides||(ke=this.renderIndentGuide(be,ke))){if(we+ke.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(be,we,Se,ke);we=this.$renderToken(be,we,Se,ke)}}},s.prototype.$renderOverflowMessage=function(be,Ae,we,xe,Se){we&&this.$renderToken(be,Ae,we,xe.slice(0,this.MAX_LINE_LENGTH-Ae)),(we=this.dom.createElement("span")).className="ace_inline_button ace_keyword ace_toggle_wrap",we.textContent=Se?"<hide>":"<click to see more...>",be.appendChild(we)},s.prototype.$renderLine=function(be,Ae,we){var xe,Se,ke=be;(xe=(we=we||0==we?we:this.session.getFoldLine(Ae))?this.$getFoldLineTokens(Ae,we):this.session.getTokens(Ae)).length?(Se=this.session.getRowSplitData(Ae))&&Se.length?(this.$renderWrappedLine(be,xe,Se),ke=be.lastChild):(ke=be,this.$useLineGroups()&&(ke=this.$createLineElement(),be.appendChild(ke)),this.$renderSimpleLine(ke,xe)):this.$useLineGroups()&&(ke=this.$createLineElement(),be.appendChild(ke)),this.showEOL&&ke&&(we&&(Ae=we.end.row),(Se=this.dom.createElement("span")).className="ace_invisible ace_invisible_eol",Se.textContent=Ae==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,ke.appendChild(Se))},s.prototype.$getFoldLineTokens=function(be,Ae){var we=this.session,xe=[],Se=we.getTokens(be);return Ae.walk((function(be,Ae,ke,Te,Ee){if(null!=be)xe.push({type:"fold",value:be});else if((Se=Ee?we.getTokens(Ae):Se).length){for(var Re,_e=Se,$e=Te,Le=ke,Ne=0,Me=0;Me+_e[Ne].value.length<$e;)if(Me+=_e[Ne].value.length,++Ne==_e.length)return;for(Me!=$e&&((Re=_e[Ne].value.substring($e-Me)).length>Le-$e&&(Re=Re.substring(0,Le-$e)),xe.push({type:_e[Ne].type,value:Re}),Me=$e+Re.length,Ne+=1);Me<Le&&Ne<_e.length;)(Re=_e[Ne].value).length+Me>Le?xe.push({type:_e[Ne].type,value:Re.substring(0,Le-Me)}):xe.push(_e[Ne]),Me+=Re.length,Ne+=1}}),Ae.end.row,this.session.getLine(Ae.end.row).length),xe},s.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},(be=s).prototype.EOF_CHAR="¶",be.prototype.EOL_CHAR_LF="¬",be.prototype.EOL_CHAR_CRLF="¤",be.prototype.EOL_CHAR=be.prototype.EOL_CHAR_LF,be.prototype.TAB_CHAR="—",be.prototype.SPACE_CHAR="·",be.prototype.$padding=0,be.prototype.MAX_LINE_LENGTH=1e4,be.prototype.showInvisibles=!1,be.prototype.showSpaces=!1,be.prototype.showTabs=!1,be.prototype.showEOL=!1,be.prototype.displayIndentGuides=!0,be.prototype.$highlightIndentGuides=!0,be.prototype.$tabStrings=[],be.prototype.destroy={},be.prototype.onChangeTabSize=be.prototype.$computeTabString,xe.implement(be.prototype,Ee),Ae.Text=be})),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],(function(be,Ae,we){var xe=be("../lib/dom");function i(be){this.element=xe.createElement("div"),this.element.className="ace_layer ace_cursor-layer",be.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),xe.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}i.prototype.$updateOpacity=function(be){for(var Ae=this.cursors,we=Ae.length;we--;)xe.setStyle(Ae[we].style,"opacity",be?"":"0")},i.prototype.$startCssAnimation=function(){for(var be=this.cursors,Ae=be.length;Ae--;)be[Ae].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&xe.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},i.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,xe.removeCssClass(this.element,"ace_animate-blinking")},i.prototype.setPadding=function(be){this.$padding=be},i.prototype.setSession=function(be){this.session=be},i.prototype.setBlinking=function(be){be!=this.isBlinking&&(this.isBlinking=be,this.restartTimer())},i.prototype.setBlinkInterval=function(be){be!=this.blinkInterval&&(this.blinkInterval=be,this.restartTimer())},i.prototype.setSmoothBlinking=function(be){be!=this.smoothBlinking&&(this.smoothBlinking=be,xe.setCssClass(this.element,"ace_smooth-blinking",be),this.$updateCursors(!0),this.restartTimer())},i.prototype.addCursor=function(){var be=xe.createElement("div");return be.className="ace_cursor",this.element.appendChild(be),this.cursors.push(be),be},i.prototype.removeCursor=function(){var be;if(1<this.cursors.length)return(be=this.cursors.pop()).parentNode.removeChild(be),be},i.prototype.hideCursor=function(){this.isVisible=!1,xe.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},i.prototype.showCursor=function(){this.isVisible=!0,xe.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},i.prototype.restartTimer=function(){var be,Ae=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,xe.removeCssClass(this.element,"ace_smooth-blinking")),Ae(!0),this.isBlinking&&this.blinkInterval&&this.isVisible?(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&xe.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),xe.HAS_CSS_ANIMATION?this.$startCssAnimation():(be=function(){this.timeoutId=setTimeout((function(){Ae(!1)}),.6*this.blinkInterval)}.bind(this),this.intervalId=setInterval((function(){Ae(!0),be()}),this.blinkInterval),be())):this.$stopCssAnimation()},i.prototype.getPixelPosition=function(be,Ae){if(!this.config||!this.session)return{left:0,top:0};be=be||this.session.selection.getCursor();var we=this.session.documentToScreenPosition(be);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(we.row,be.row)?this.session.$bidiHandler.getPosLeft(we.column):we.column*this.config.characterWidth),top:(we.row-(Ae?this.config.firstRowScreen:0))*this.config.lineHeight}},i.prototype.isCursorInView=function(be,Ae){return 0<=be.top&&be.top<Ae.maxHeight},i.prototype.update=function(be){this.config=be;for(var Ae=this.session.$selectionMarkers,we=0,Se=0,ke=(we=0,(Ae=void 0!==Ae&&0!==Ae.length?Ae:[{cursor:null}]).length);we<ke;we++){var Te,Ee,Re=this.getPixelPosition(Ae[we].cursor,!0);(Re.top>be.height+be.offset||Re.top<0)&&1<we||(Ee=(Te=this.cursors[Se++]||this.addCursor()).style,this.drawCursor?this.drawCursor(Te,Re,be,Ae[we],this.session):this.isCursorInView(Re,be)?(xe.setStyle(Ee,"display","block"),xe.translate(Te,Re.left,Re.top),xe.setStyle(Ee,"width",Math.round(be.characterWidth)+"px"),xe.setStyle(Ee,"height",be.lineHeight+"px")):xe.setStyle(Ee,"display","none"))}for(;this.cursors.length>Se;)this.removeCursor();var _e=this.session.getOverwrite();this.$setOverwrite(_e),this.$pixelPos=Re,this.restartTimer()},i.prototype.$setOverwrite=function(be){be!=this.overwrite&&((this.overwrite=be)?xe.addCssClass(this.element,"ace_overwrite-cursors"):xe.removeCssClass(this.element,"ace_overwrite-cursors"))},i.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},(be=i).prototype.$padding=0,be.prototype.drawCursor=null,Ae.Cursor=be})),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(be,Ae,we){var xe,Se,ke,Te=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),Ee=be("./lib/oop"),Re=be("./lib/dom"),_e=be("./lib/event"),$e=(be=be("./lib/event_emitter").EventEmitter,c.prototype.setVisible=function(be){this.element.style.display=be?"":"none",this.isVisible=be,this.coeff=1},c);function c(be,Ae){this.element=Re.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+Ae,this.inner=Re.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),be.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,_e.addListener(this.element,"scroll",this.onScroll.bind(this)),_e.addListener(this.element,"mousedown",_e.preventDefault)}function d(be,Ae){var we=Se.call(this,be,"-v")||this;return we.scrollTop=0,we.scrollHeight=0,Ae.$scrollbarWidth=we.width=Re.scrollbarWidth(be.ownerDocument),we.inner.style.width=we.element.style.width=(we.width||15)+5+"px",we.$minWidth=0,we}function g(be,Ae){return(be=ke.call(this,be,"-h")||this).scrollLeft=0,be.height=Ae.$scrollbarWidth,be.inner.style.height=be.element.style.height=(be.height||15)+5+"px",be}Ee.implement($e.prototype,be),Te(d,Se=$e),d.prototype.onScroll=function(){var be;this.skipEvent||(this.scrollTop=this.element.scrollTop,1!=this.coeff&&(be=this.element.clientHeight/this.scrollHeight,this.scrollTop=this.scrollTop*(1-be)/(this.coeff-be)),this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},d.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},d.prototype.setHeight=function(be){this.element.style.height=be+"px"},d.prototype.setScrollHeight=function(be){32768<(this.scrollHeight=be)?(this.coeff=32768/be,be=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=be+"px"},d.prototype.setScrollTop=function(be){this.scrollTop!=be&&(this.skipEvent=!0,this.scrollTop=be,this.element.scrollTop=be*this.coeff)},(Ee=d).prototype.setInnerHeight=Ee.prototype.setScrollHeight,Te(g,ke=$e),g.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},g.prototype.getHeight=function(){return this.isVisible?this.height:0},g.prototype.setWidth=function(be){this.element.style.width=be+"px"},g.prototype.setInnerWidth=function(be){this.inner.style.width=be+"px"},g.prototype.setScrollWidth=function(be){this.inner.style.width=be+"px"},g.prototype.setScrollLeft=function(be){this.scrollLeft!=be&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=be)},be=g,Ae.ScrollBar=Ee,Ae.ScrollBarV=Ee,Ae.ScrollBarH=be,Ae.VScrollBar=Ee,Ae.HScrollBar=be})),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],(function(be,Ae,we){var xe,Se,ke,Te=this&&this.__extends||(xe=function(be,Ae){return(xe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(be,Ae){be.__proto__=Ae}:function(be,Ae){for(var we in Ae)Object.prototype.hasOwnProperty.call(Ae,we)&&(be[we]=Ae[we])}))(be,Ae)},function(be,Ae){if("function"!=typeof Ae&&null!==Ae)throw new TypeError("Class extends value "+String(Ae)+" is not a constructor or null");function n(){this.constructor=be}xe(be,Ae),be.prototype=null===Ae?Object.create(Ae):(n.prototype=Ae.prototype,new n)}),Ee=be("./lib/oop"),Re=be("./lib/dom"),_e=be("./lib/event"),$e=(be=be("./lib/event_emitter").EventEmitter,Re.importCssString(".ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{\n position: absolute;\n background: rgba(128, 128, 128, 0.6);\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n border: 1px solid #bbb;\n border-radius: 2px;\n z-index: 8;\n}\n.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {\n position: absolute;\n z-index: 6;\n background: none;\n overflow: hidden!important;\n}\n.ace_editor>.ace_sb-v {\n z-index: 6;\n right: 0;\n top: 0;\n width: 12px;\n}\n.ace_editor>.ace_sb-v div {\n z-index: 8;\n right: 0;\n width: 100%;\n}\n.ace_editor>.ace_sb-h {\n bottom: 0;\n left: 0;\n height: 12px;\n}\n.ace_editor>.ace_sb-h div {\n bottom: 0;\n height: 100%;\n}\n.ace_editor>.ace_sb_grabbed {\n z-index: 8;\n background: #000;\n}","ace_scrollbar.css",!1),c.prototype.setVisible=function(be){this.element.style.display=be?"":"none",this.isVisible=be,this.coeff=1},c);function c(be,Ae){this.element=Re.createElement("div"),this.element.className="ace_sb"+Ae,this.inner=Re.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,be.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,_e.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}function d(be,Ae){var we=Se.call(this,be,"-v")||this;return we.scrollTop=0,we.scrollHeight=0,we.parent=be,we.width=we.VScrollWidth,we.renderer=Ae,we.inner.style.width=we.element.style.width=(we.width||15)+"px",we.$minWidth=0,we}function g(be,Ae){return(be=ke.call(this,be,"-h")||this).scrollLeft=0,be.scrollWidth=0,be.height=be.HScrollHeight,be.inner.style.height=be.element.style.height=(be.height||12)+"px",be.renderer=Ae,be}Ee.implement($e.prototype,be),Te(d,Se=$e),d.prototype.onMouseDown=function(be,Ae){var we,xe,Se,ke,Te;if("mousedown"===be&&0===_e.getButton(Ae)&&2!==Ae.detail)return Ae.target===this.inner?(we=this,xe=Ae.clientY,Se=Ae.clientY,ke=this.thumbTop,_e.capture(this.inner,(function(be){xe=be.clientY}),(function(){clearInterval(Te)})),Te=setInterval((function(){var be;void 0!==xe&&(be=we.scrollTopFromThumbTop(ke+xe-Se))!==we.scrollTop&&we._emit("scroll",{data:be})}),20)):(be=Ae.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2,this._emit("scroll",{data:this.scrollTopFromThumbTop(be)})),_e.preventDefault(Ae)},d.prototype.getHeight=function(){return this.height},d.prototype.scrollTopFromThumbTop=function(be){return be=be*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight),(be>>=0)<0?be=0:be>this.pageHeight-this.viewHeight&&(be=this.pageHeight-this.viewHeight),be},d.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},d.prototype.setHeight=function(be){this.height=Math.max(0,be),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},d.prototype.setScrollHeight=function(be,Ae){(this.pageHeight!==be||Ae)&&(this.pageHeight=be,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight)&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop}))},d.prototype.setScrollTop=function(be){this.scrollTop=be,this.thumbTop=(be=be<0?0:be)*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},(Ee=d).prototype.setInnerHeight=Ee.prototype.setScrollHeight,Te(g,ke=$e),g.prototype.onMouseDown=function(be,Ae){var we,xe,Se,ke,Te;if("mousedown"===be&&0===_e.getButton(Ae)&&2!==Ae.detail)return Ae.target===this.inner?(we=this,xe=Ae.clientX,Se=Ae.clientX,ke=this.thumbLeft,_e.capture(this.inner,(function(be){xe=be.clientX}),(function(){clearInterval(Te)})),Te=setInterval((function(){var be;void 0!==xe&&(be=we.scrollLeftFromThumbLeft(ke+xe-Se))!==we.scrollLeft&&we._emit("scroll",{data:be})}),20)):(be=Ae.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2,this._emit("scroll",{data:this.scrollLeftFromThumbLeft(be)})),_e.preventDefault(Ae)},g.prototype.getHeight=function(){return this.isVisible?this.height:0},g.prototype.scrollLeftFromThumbLeft=function(be){return be=be*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth),(be>>=0)<0?be=0:be>this.pageWidth-this.viewWidth&&(be=this.pageWidth-this.viewWidth),be},g.prototype.setWidth=function(be){this.width=Math.max(0,be),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},g.prototype.setScrollWidth=function(be,Ae){(this.pageWidth!==be||Ae)&&(this.pageWidth=be,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth)&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft}))},g.prototype.setScrollLeft=function(be){this.scrollLeft=be,this.thumbLeft=(be=be<0?0:be)*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},(be=g).prototype.setInnerWidth=be.prototype.setScrollWidth,Ae.ScrollBar=Ee,Ae.ScrollBarV=Ee,Ae.ScrollBarH=be,Ae.VScrollBar=Ee,Ae.HScrollBar=be})),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],(function(be,Ae,we){var xe=be("./lib/event");function o(be,Ae){this.onRender=be,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=Ae||window;var we=this;this._flush=function(be){we.pending=!1;var Ae=we.changes;Ae&&(xe.blockIdle(100),we.changes=0,we.onRender(Ae)),we.changes?we.$recursionLimit--<0||we.schedule():we.$recursionLimit=2}}o.prototype.schedule=function(be){this.changes=this.changes|be,this.changes&&!this.pending&&(xe.nextFrame(this._flush),this.pending=!0)},o.prototype.clear=function(be){var Ae=this.changes;return this.changes=0,Ae},Ae.RenderLoop=o})),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],(function(be,Ae,we){var xe=be("../lib/oop"),Se=be("../lib/dom"),ke=be("../lib/lang"),Te=be("../lib/event"),Ee=be("../lib/useragent"),Re=(be=be("../lib/event_emitter").EventEmitter,"function"==typeof ResizeObserver),_e=(h.prototype.$setMeasureNodeStyles=function(be,Ae){be.width=be.height="auto",be.left=be.top="0px",be.visibility="hidden",be.position="absolute",be.whiteSpace="pre",Ee.isIE<8?be["font-family"]="inherit":be.font="inherit",be.overflow=Ae?"hidden":"visible"},h.prototype.checkForSizeChanges=function(be){var Ae;!(be=void 0===be?this.$measureSizes():be)||this.$characterSize.width===be.width&&this.$characterSize.height===be.height||(this.$measureNode.style.fontWeight="bold",Ae=this.$measureSizes(),this.$measureNode.style.fontWeight="",this.$characterSize=be,this.charSizes=Object.create(null),this.allowBoldFonts=Ae&&Ae.width===be.width&&Ae.height===be.height,this._emit("changeCharacterSize",{data:be}))},h.prototype.$addObserver=function(){var be=this;this.$observer=new window.ResizeObserver((function(Ae){be.checkForSizeChanges()})),this.$observer.observe(this.$measureNode)},h.prototype.$pollSizeChanges=function(){var be;return this.$pollSizeChangesTimer||this.$observer?this.$pollSizeChangesTimer:(be=this).$pollSizeChangesTimer=Te.onIdle((function e(){be.checkForSizeChanges(),Te.onIdle(e,500)}),500)},h.prototype.setPolling=function(be){be?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},h.prototype.$measureSizes=function(be){return 0===(be={height:(be||this.$measureNode).clientHeight,width:(be||this.$measureNode).clientWidth/512}).width||0===be.height?null:be},h.prototype.$measureCharWidth=function(be){return this.$main.textContent=ke.stringRepeat(be,512),this.$main.getBoundingClientRect().width/512},h.prototype.getCharacterWidth=function(be){var Ae=this.charSizes[be];return void 0===Ae?this.charSizes[be]=this.$measureCharWidth(be)/this.$characterSize.width:Ae},h.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},h.prototype.$getZoom=function(be){return be&&be.parentElement?(window.getComputedStyle(be).zoom||1)*this.$getZoom(be.parentElement):1},h.prototype.$initTransformMeasureNodes=function(){function e(be,Ae){return["div",{style:"position: absolute;top:"+be+"px;left:"+Ae+"px;"}]}this.els=Se.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},h.prototype.transformCoordinates=function(be,Ae){function n(be,Ae,we){var xe=be[1]*Ae[0]-be[0]*Ae[1];return[(-Ae[1]*we[0]+Ae[0]*we[1])/xe,(+be[1]*we[0]-be[0]*we[1])/xe]}function i(be,Ae){return[be[0]-Ae[0],be[1]-Ae[1]]}function o(be,Ae){return[be[0]+Ae[0],be[1]+Ae[1]]}function r(be,Ae){return[be*Ae[0],be*Ae[1]]}function s(be){return[(be=be.getBoundingClientRect()).left,be.top]}be=be&&r(1/this.$getZoom(this.el),be),this.els||this.$initTransformMeasureNodes();var we,xe,Se=s(this.els[0]),ke=s(this.els[1]),Te=s(this.els[2]);return ke=r(1+(xe=n(i(xe=s(this.els[3]),ke),i(xe,Te),i(o(ke,Te),o(xe,Se))))[0],i(ke,Se)),Te=r(1+xe[1],i(Te,Se)),Ae?(we=xe[0]*Ae[0]/200+xe[1]*Ae[1]/200+1,Ae=o(r(Ae[0],ke),r(Ae[1],Te)),o(r(1/we/200,Ae),Se)):(we=i(be,Se),Ae=n(i(ke,r(xe[0],we)),i(Te,r(xe[1],we)),we),r(200,Ae))},h);function h(be){this.el=Se.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=Se.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=Se.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),be.appendChild(this.el),this.$measureNode.textContent=ke.stringRepeat("X",512),this.$characterSize={width:0,height:0},Re?this.$addObserver():this.checkForSizeChanges()}_e.prototype.$characterSize={width:0,height:0},xe.implement(_e.prototype,be),Ae.FontMetrics=_e})),ace.define("ace/css/editor-css",["require","exports","module"],(function(be,Ae,we){we.exports='\n.ace_br1 {border-top-left-radius : 3px;}\n.ace_br2 {border-top-right-radius : 3px;}\n.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}\n.ace_br4 {border-bottom-right-radius: 3px;}\n.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}\n.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}\n.ace_br8 {border-bottom-left-radius : 3px;}\n.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}\n.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\n\n\n.ace_editor {\n position: relative;\n overflow: hidden;\n padding: 0;\n font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'Source Code Pro\', \'source-code-pro\', monospace;\n direction: ltr;\n text-align: left;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n top: 0;\n bottom: 0;\n background-color: inherit;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n cursor: text;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n min-width: 100%;\n contain: style size layout;\n font-variant-ligatures: no-common-ligatures;\n}\n\n.ace_keyboard-focus:focus {\n box-shadow: inset 0 0 0 2px #5E9ED6;\n outline: none;\n}\n\n.ace_dragging .ace_scroller:before{\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n content: \'\';\n background: rgba(250, 250, 250, 0.01);\n z-index: 1000;\n}\n.ace_dragging.ace_dark .ace_scroller:before{\n background: rgba(0, 0, 0, 0.01);\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n width: auto;\n top: 0;\n bottom: 0;\n left: 0;\n cursor: default;\n z-index: 4;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n contain: style size layout;\n}\n\n.ace_gutter-active-line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.ace_scroll-left:after {\n content: "";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n pointer-events: none;\n}\n\n.ace_gutter-cell, .ace_gutter-cell_svg-icons {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell_svg-icons .ace_gutter_annotation {\n margin-left: -14px;\n float: left;\n}\n\n.ace_gutter-cell .ace_gutter_annotation {\n margin-left: -19px;\n float: left;\n}\n\n.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info, .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");\n}\n\n.ace_icon_svg.ace_error {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: darkorange;\n}\n.ace_icon_svg.ace_info {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");\n background-color: royalblue;\n}\n\n.ace_icon_svg.ace_error_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");\n background-color: crimson;\n}\n.ace_icon_svg.ace_warning_fold {\n -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");\n background-color: darkorange;\n}\n\n.ace_scrollbar {\n contain: strict;\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 6;\n}\n\n.ace_scrollbar-inner {\n position: absolute;\n cursor: text;\n left: 0;\n top: 0;\n}\n\n.ace_scrollbar-v{\n overflow-x: hidden;\n overflow-y: scroll;\n top: 0;\n}\n\n.ace_scrollbar-h {\n overflow-x: scroll;\n overflow-y: hidden;\n left: 0;\n}\n\n.ace_print-margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_text-input {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n -moz-appearance: none;\n appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n font: inherit;\n padding: 0 1px;\n margin: 0 -1px;\n contain: strict;\n -ms-user-select: text;\n -moz-user-select: text;\n -webkit-user-select: text;\n user-select: text;\n /*with `pre-line` chrome inserts &nbsp; instead of space*/\n white-space: pre!important;\n}\n.ace_text-input.ace_composition {\n background: transparent;\n color: inherit;\n z-index: 1000;\n opacity: 1;\n}\n.ace_composition_placeholder { color: transparent }\n.ace_composition_marker { \n border-bottom: 1px solid;\n position: absolute;\n border-radius: 0;\n margin-top: 1px;\n}\n\n[ace_nocontext=true] {\n transform: none!important;\n filter: none!important;\n clip-path: none!important;\n mask : none!important;\n contain: none!important;\n perspective: none!important;\n mix-blend-mode: initial!important;\n z-index: auto;\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/\n word-wrap: normal;\n white-space: pre;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter-layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n height: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer {\n font: inherit !important;\n position: absolute;\n height: 1000000px;\n width: 1000000px;\n contain: style size layout;\n}\n\n.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {\n contain: style size layout;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.ace_hidpi .ace_text-layer,\n.ace_hidpi .ace_gutter-layer,\n.ace_hidpi .ace_content,\n.ace_hidpi .ace_gutter {\n contain: strict;\n}\n.ace_hidpi .ace_text-layer > .ace_line, \n.ace_hidpi .ace_text-layer > .ace_line_group {\n contain: strict;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n box-sizing: border-box;\n border-left: 2px solid;\n /* workaround for smooth cursor repaintng whole screen in chrome */\n transform: translatez(0);\n}\n\n.ace_multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_slim-cursors .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_overwrite-cursors .ace_cursor {\n border-left-width: 0;\n border-bottom: 1px solid;\n}\n\n.ace_hidden-cursors .ace_cursor {\n opacity: 0.2;\n}\n\n.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {\n opacity: 0;\n}\n\n.ace_smooth-blinking .ace_cursor {\n transition: opacity 0.18s;\n}\n\n.ace_animate-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: step-end;\n animation-name: blink-ace-animate;\n animation-iteration-count: infinite;\n}\n\n.ace_animate-blinking.ace_smooth-blinking .ace_cursor {\n animation-duration: 1000ms;\n animation-timing-function: ease-in-out;\n animation-name: blink-ace-animate-smooth;\n}\n \n@keyframes blink-ace-animate {\n from, to { opacity: 1; }\n 60% { opacity: 0; }\n}\n\n@keyframes blink-ace-animate-smooth {\n from, to { opacity: 1; }\n 45% { opacity: 1; }\n 60% { opacity: 0; }\n 85% { opacity: 0; }\n}\n\n.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_error_bracket {\n position: absolute;\n border-bottom: 1px solid #DE5555;\n border-radius: 0;\n}\n\n.ace_marker-layer .ace_active-line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected-word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),\n url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");\n}\n\n.ace_tooltip {\n background-color: #f5f5f5;\n border: 1px solid gray;\n border-radius: 1px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n color: black;\n max-width: 100%;\n padding: 3px 4px;\n position: fixed;\n z-index: 999999;\n box-sizing: border-box;\n cursor: default;\n white-space: pre-wrap;\n word-wrap: break-word;\n line-height: normal;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n pointer-events: none;\n overflow: auto;\n max-width: min(60em, 66vw);\n overscroll-behavior: contain;\n}\n.ace_tooltip pre {\n white-space: pre-wrap;\n}\n\n.ace_tooltip.ace_dark {\n background-color: #636363;\n color: #fff;\n}\n\n.ace_tooltip:focus {\n outline: 1px solid #5E9ED6;\n}\n\n.ace_icon {\n display: inline-block;\n width: 18px;\n vertical-align: top;\n}\n\n.ace_icon_svg {\n display: inline-block;\n width: 12px;\n vertical-align: top;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-size: 12px;\n -webkit-mask-position: center;\n}\n\n.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: none;\n width: 11px;\n vertical-align: top;\n\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.ace_folding-enabled .ace_fold-widget {\n display: inline-block; \n}\n\n.ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");\n}\n\n.ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");\n}\n.ace_dark .ace_fold-widget.ace_end {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget.ace_closed {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n\n.ace_inline_button {\n border: 1px solid lightgray;\n display: inline-block;\n margin: -1px 8px;\n padding: 0 5px;\n pointer-events: auto;\n cursor: pointer;\n}\n.ace_inline_button:hover {\n border-color: gray;\n background: rgba(200,200,200,0.2);\n display: inline-block;\n pointer-events: auto;\n}\n\n.ace_fold-widget.ace_invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_nobold .ace_bold {\n font-weight: normal;\n}\n\n.ace_italic {\n font-style: italic;\n}\n\n\n.ace_error-marker {\n background-color: rgba(255, 0, 0,0.2);\n position: absolute;\n z-index: 9;\n}\n\n.ace_highlight-marker {\n background-color: rgba(255, 255, 0,0.2);\n position: absolute;\n z-index: 8;\n}\n\n.ace_mobile-menu {\n position: absolute;\n line-height: 1.5;\n border-radius: 4px;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n background: white;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #dcdcdc;\n color: black;\n}\n.ace_dark > .ace_mobile-menu {\n background: #333;\n color: #ccc;\n box-shadow: 1px 3px 2px grey;\n border: 1px solid #444;\n\n}\n.ace_mobile-button {\n padding: 2px;\n cursor: pointer;\n overflow: hidden;\n}\n.ace_mobile-button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_mobile-button:active {\n background-color: #ddd;\n}\n\n.ace_placeholder {\n font-family: arial;\n transform: scale(0.9);\n transform-origin: left;\n white-space: pre;\n opacity: 0.7;\n margin: 0 10px;\n}\n\n.ace_ghost_text {\n opacity: 0.5;\n font-style: italic;\n}\n\n.ace_ghost_text > div {\n white-space: pre;\n}\n\n.ghost_text_line_wrapped::after {\n content: "↩";\n position: absolute;\n}\n\n.ace_lineWidgetContainer.ace_ghost_text {\n margin: 0px 4px\n}\n\n.ace_screenreader-only {\n position:absolute;\n left:-10000px;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n}'})),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],(function(be,Ae,we){var xe=be("../lib/dom"),Se=be("../lib/oop"),ke=(be=be("../lib/event_emitter").EventEmitter,s.prototype.$updateDecorators=function(be){var Ae=!0===this.renderer.theme.isDark?this.colors.dark:this.colors.light,we=(be&&(this.maxHeight=be.maxHeight,this.lineHeight=be.lineHeight,this.canvasHeight=be.height,(be.lastRow+1)*this.lineHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight),this.canvas.getContext("2d")),xe=this.renderer.session.$annotations;if(we.clearRect(0,0,this.canvas.width,this.canvas.height),xe)for(var Se={info:1,warning:2,error:3},ke=(xe.forEach((function(be){be.priority=Se[be.type]||null})),xe=xe.sort((function(be,Ae){return be.priority<Ae.priority?-1:be.priority>Ae.priority?1:0})),this.renderer.session.$foldData),Te=0;Te<xe.length;Te++){var Ee,Re=xe[Te].row,_e=this.compensateFoldRows(Re,ke),$e=Math.round((Re-_e)*this.lineHeight*this.heightRatio),Le=Math.round((Re-_e)*this.lineHeight*this.heightRatio);(Re=Math.round(((Re-_e)*this.lineHeight+this.lineHeight)*this.heightRatio))-Le<this.minDecorationHeight&&((Ee=(Le+Re)/2|0)<this.halfMinDecorationHeight?Ee=this.halfMinDecorationHeight:Ee+this.halfMinDecorationHeight>this.canvasHeight&&(Ee=this.canvasHeight-this.halfMinDecorationHeight),Le=Math.round(Ee-this.halfMinDecorationHeight),Re=Math.round(Ee+this.halfMinDecorationHeight)),we.fillStyle=Ae[xe[Te].type]||null,we.fillRect(0,$e,this.canvasWidth,Re-Le)}(be=this.renderer.session.selection.getCursor())&&(_e=this.compensateFoldRows(be.row,ke),$e=Math.round((be.row-_e)*this.lineHeight*this.heightRatio),we.fillStyle="rgba(0, 0, 0, 0.5)",we.fillRect(0,$e,this.canvasWidth,2))},s.prototype.compensateFoldRows=function(be,Ae){var we=0;if(Ae&&0<Ae.length)for(var xe=0;xe<Ae.length;xe++)be>Ae[xe].start.row&&be<Ae[xe].end.row?we+=be-Ae[xe].start.row:be>=Ae[xe].end.row&&(we+=Ae[xe].end.row-Ae[xe].start.row);return we},s);function s(be,Ae){this.canvas=xe.createElement("canvas"),this.renderer=Ae,this.pixelRatio=1,this.maxHeight=Ae.layerConfig.maxHeight,this.lineHeight=Ae.layerConfig.lineHeight,this.canvasHeight=be.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=be.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},be.element.appendChild(this.canvas)}Se.implement(ke.prototype,be),Ae.Decorator=ke})),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent"],(function(be,Ae,we){var xe=be("./lib/oop"),Se=be("./lib/dom"),ke=be("./lib/lang"),Te=be("./config"),Ee=be("./layer/gutter").Gutter,Re=be("./layer/marker").Marker,_e=be("./layer/text").Text,$e=be("./layer/cursor").Cursor,Le=be("./scrollbar").HScrollBar,Ne=be("./scrollbar").VScrollBar,Me=be("./scrollbar_custom").HScrollBar,Be=be("./scrollbar_custom").VScrollBar,We=be("./renderloop").RenderLoop,Pe=be("./layer/font_metrics").FontMetrics,He=be("./lib/event_emitter").EventEmitter,Ge=be("./css/editor-css"),Fe=be("./layer/decorators").Decorator,Oe=be("./lib/useragent");function b(be,Ae){var we=this;this.container=be||Se.createElement("div"),Se.addCssClass(this.container,"ace_editor"),Se.HI_DPI&&Se.addCssClass(this.container,"ace_hidpi"),this.setTheme(Ae),null==Te.get("useStrictCSP")&&Te.set("useStrictCSP",!1),this.$gutter=Se.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=Se.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=Se.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new Ee(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new Re(this.content),be=this.$textLayer=new _e(this.content),this.canvas=be.element,this.$markerFront=new Re(this.content),this.$cursorLayer=new $e(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new Ne(this.container,this),this.scrollBarH=new Le(this.container,this),this.scrollBarV.on("scroll",(function(be){we.$scrollAnimation||we.session.setScrollTop(be.data-we.scrollMargin.top)})),this.scrollBarH.on("scroll",(function(be){we.$scrollAnimation||we.session.setScrollLeft(be.data-we.scrollMargin.left)})),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new Pe(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",(function(be){we.updateCharacterSize(),we.onResize(!0,we.gutterWidth,we.$size.width,we.$size.height),we._signal("changeCharacterSize",be)})),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!Oe.isIOS,this.$loop=new We(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),Te.resetOptions(this),Te._signal("renderer",this)}Se.importCssString(Ge,"ace_editor.css",!1),b.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),Se.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},b.prototype.setSession=function(be){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=be)&&this.scrollMargin.top&&be.getScrollTop()<=0&&be.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(be),this.$markerBack.setSession(be),this.$markerFront.setSession(be),this.$gutterLayer.setSession(be),this.$textLayer.setSession(be),be&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},b.prototype.updateLines=function(be,Ae,we){if(void 0===Ae&&(Ae=1/0),this.$changedLines?(this.$changedLines.firstRow>be&&(this.$changedLines.firstRow=be),this.$changedLines.lastRow<Ae&&(this.$changedLines.lastRow=Ae)):this.$changedLines={firstRow:be,lastRow:Ae},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!we)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},b.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},b.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},b.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},b.prototype.updateFull=function(be){be?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},b.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},b.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},b.prototype.onResize=function(be,Ae,we,xe){if(!(2<this.resizing)){0<this.resizing?this.resizing++:this.resizing=be?1:0;var Se=this.container;if(!(xe=xe||Se.clientHeight||Se.scrollHeight)&&this.$maxLines&&1<this.lineHeight&&(Se.style.height&&"0px"!=Se.style.height||(Se.style.height="1px",xe=Se.clientHeight||Se.scrollHeight)),we=we||Se.clientWidth||Se.scrollWidth,Se=this.$updateCachedSize(be,Ae,we,xe),this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!we&&!xe)return this.resizing=0;be&&(this.$gutterLayer.$padding=null),be?this.$renderChanges(Se|this.$changes,!0):this.$loop.schedule(Se|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},b.prototype.$updateCachedSize=function(be,Ae,we,xe){xe-=this.$extraHeight||0;var ke=0,Te=this.$size,Ee={width:Te.width,height:Te.height,scrollerHeight:Te.scrollerHeight,scrollerWidth:Te.scrollerWidth};return xe&&(be||Te.height!=xe)&&(Te.height=xe,ke|=this.CHANGE_SIZE,Te.scrollerHeight=Te.height,this.$horizScroll&&(Te.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(Te.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",ke|=this.CHANGE_SCROLL),we&&(be||Te.width!=we)&&(ke|=this.CHANGE_SIZE,Te.width=we,null==Ae&&(Ae=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=Ae,Se.setStyle(this.scrollBarH.element.style,"left",Ae+"px"),Se.setStyle(this.scroller.style,"left",Ae+this.margin.left+"px"),Te.scrollerWidth=Math.max(0,we-Ae-this.scrollBarV.getWidth()-this.margin.h),Se.setStyle(this.$gutter.style,"left",this.margin.left+"px"),Ae=this.scrollBarV.getWidth()+"px",Se.setStyle(this.scrollBarH.element.style,"right",Ae),Se.setStyle(this.scroller.style,"right",Ae),Se.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(Te.scrollerWidth),this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||be)&&(ke|=this.CHANGE_FULL),Te.$dirty=!we||!xe,ke&&this._signal("resize",Ee),ke},b.prototype.onGutterResize=function(be){(be=this.$showGutter?be:0)!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,be,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},b.prototype.adjustWrapLimit=function(){var be=this.$size.scrollerWidth-2*this.$padding;return be=Math.floor(be/this.characterWidth),this.session.adjustWrapLimit(be,this.$showPrintMargin&&this.$printMarginColumn)},b.prototype.setAnimatedScroll=function(be){this.setOption("animatedScroll",be)},b.prototype.getAnimatedScroll=function(){return this.$animatedScroll},b.prototype.setShowInvisibles=function(be){this.setOption("showInvisibles",be),this.session.$bidiHandler.setShowInvisibles(be)},b.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},b.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},b.prototype.setDisplayIndentGuides=function(be){this.setOption("displayIndentGuides",be)},b.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},b.prototype.setHighlightIndentGuides=function(be){this.setOption("highlightIndentGuides",be)},b.prototype.setShowPrintMargin=function(be){this.setOption("showPrintMargin",be)},b.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},b.prototype.setPrintMarginColumn=function(be){this.setOption("printMarginColumn",be)},b.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},b.prototype.getShowGutter=function(){return this.getOption("showGutter")},b.prototype.setShowGutter=function(be){return this.setOption("showGutter",be)},b.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},b.prototype.setFadeFoldWidgets=function(be){this.setOption("fadeFoldWidgets",be)},b.prototype.setHighlightGutterLine=function(be){this.setOption("highlightGutterLine",be)},b.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},b.prototype.$updatePrintMargin=function(){var be;(this.$showPrintMargin||this.$printMarginEl)&&(this.$printMarginEl||((be=Se.createElement("div")).className="ace_layer ace_print-margin-layer",this.$printMarginEl=Se.createElement("div"),this.$printMarginEl.className="ace_print-margin",be.appendChild(this.$printMarginEl),this.content.insertBefore(be,this.content.firstChild)),(be=this.$printMarginEl.style).left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",be.visibility=this.$showPrintMargin?"visible":"hidden",this.session)&&-1==this.session.$wrap&&this.adjustWrapLimit()},b.prototype.getContainerElement=function(){return this.container},b.prototype.getMouseEventTarget=function(){return this.scroller},b.prototype.getTextAreaContainer=function(){return this.container},b.prototype.$moveTextAreaToCursor=function(){var be,Ae,we,xe,ke,Te,Ee;this.$isMousePressed||(be=this.textarea.style,Te=this.$composition,this.$keepTextAreaAtCursor||Te?(we=this.$cursorLayer.$pixelPos)&&(Te&&Te.markerRange&&(we=this.$cursorLayer.getPixelPosition(Te.markerRange.start,!0)),Ee=this.layerConfig,Ae=we.top,we=we.left,Ae-=Ee.offset,xe=Te&&Te.useTextareaForIME||Oe.isMobile?this.lineHeight:1,Ae<0||Ae>Ee.height-xe?Se.translate(this.textarea,0,0):(Ee=1,ke=this.$size.height-xe,Te?Te.useTextareaForIME?(Te=this.textarea.value,Ee=this.characterWidth*this.session.$getStringScreenWidth(Te)[0]):Ae+=this.lineHeight+2:Ae+=this.lineHeight,(we-=this.scrollLeft)>this.$size.scrollerWidth-Ee&&(we=this.$size.scrollerWidth-Ee),we+=this.gutterWidth+this.margin.left,Se.setStyle(be,"height",xe+"px"),Se.setStyle(be,"width",Ee+"px"),Se.translate(this.textarea,Math.min(we,this.$size.scrollerWidth-Ee),Math.min(Ae,ke)))):Se.translate(this.textarea,-100,0))},b.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},b.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},b.prototype.getLastFullyVisibleRow=function(){var be=this.layerConfig,Ae=be.lastRow;return this.session.documentToScreenRow(Ae,0)*be.lineHeight-this.session.getScrollTop()>be.height-be.lineHeight?Ae-1:Ae},b.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},b.prototype.setPadding=function(be){this.$padding=be,this.$textLayer.setPadding(be),this.$cursorLayer.setPadding(be),this.$markerFront.setPadding(be),this.$markerBack.setPadding(be),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},b.prototype.setScrollMargin=function(be,Ae,we,xe){var Se=this.scrollMargin;Se.top=0|be,Se.bottom=0|Ae,Se.right=0|xe,Se.left=0|we,Se.v=Se.top+Se.bottom,Se.h=Se.left+Se.right,Se.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-Se.top),this.updateFull()},b.prototype.setMargin=function(be,Ae,we,xe){var Se=this.margin;Se.top=0|be,Se.bottom=0|Ae,Se.right=0|xe,Se.left=0|we,Se.v=Se.top+Se.bottom,Se.h=Se.left+Se.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},b.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},b.prototype.setHScrollBarAlwaysVisible=function(be){this.setOption("hScrollBarAlwaysVisible",be)},b.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},b.prototype.setVScrollBarAlwaysVisible=function(be){this.setOption("vScrollBarAlwaysVisible",be)},b.prototype.$updateScrollBarV=function(){var be=this.layerConfig.maxHeight,Ae=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(be-=(Ae-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>be-Ae)&&(be=this.scrollTop+Ae,this.scrollBarV.scrollTop=null),this.scrollBarV.setScrollHeight(be+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},b.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},b.prototype.freeze=function(){this.$frozen=!0},b.prototype.unfreeze=function(){this.$frozen=!1},b.prototype.$renderChanges=function(be,Ae){if(this.$changes&&(be|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(be||Ae)){if(this.$size.$dirty)return this.$changes|=be,this.onResize(!0);var we,xe;this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",be),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics),Ae=this.layerConfig,(be&this.CHANGE_FULL||be&this.CHANGE_SIZE||be&this.CHANGE_TEXT||be&this.CHANGE_LINES||be&this.CHANGE_SCROLL||be&this.CHANGE_H_SCROLL)&&(be|=this.$computeLayerConfig()|this.$loop.clear(),Ae.firstRow!=this.layerConfig.firstRow&&Ae.firstRowScreen==this.layerConfig.firstRowScreen&&0<(we=this.scrollTop+(Ae.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight)&&(this.scrollTop=we,be=(be|=this.CHANGE_SCROLL)|this.$computeLayerConfig()|this.$loop.clear()),Ae=this.layerConfig,this.$updateScrollBarV(),be&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),Se.translate(this.content,-this.scrollLeft,-Ae.offset),we=Ae.width+2*this.$padding+"px",xe=Ae.minHeight+"px",Se.setStyle(this.content.style,"width",we),Se.setStyle(this.content.style,"height",xe)),be&this.CHANGE_H_SCROLL&&(Se.translate(this.content,-this.scrollLeft,-Ae.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility)&&(this.scroller.className+=this.keyboardFocusClassName),be&this.CHANGE_FULL?(this.$changedLines=null,this.$textLayer.update(Ae),this.$showGutter&&this.$gutterLayer.update(Ae),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(Ae),this.$markerBack.update(Ae),this.$markerFront.update(Ae),this.$cursorLayer.update(Ae),this.$moveTextAreaToCursor()):be&this.CHANGE_SCROLL?(this.$changedLines=null,be&this.CHANGE_TEXT||be&this.CHANGE_LINES?this.$textLayer.update(Ae):this.$textLayer.scrollLines(Ae),this.$showGutter&&(be&this.CHANGE_GUTTER||be&this.CHANGE_LINES?this.$gutterLayer.update(Ae):this.$gutterLayer.scrollLines(Ae)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(Ae),this.$markerBack.update(Ae),this.$markerFront.update(Ae),this.$cursorLayer.update(Ae),this.$moveTextAreaToCursor()):(be&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(Ae),this.$showGutter&&this.$gutterLayer.update(Ae),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(Ae)):be&this.CHANGE_LINES?((this.$updateLines()||be&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(Ae),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(Ae)):be&this.CHANGE_TEXT||be&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(Ae),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(Ae)):be&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(Ae),this.$customScrollbar)&&this.$scrollDecorator.$updateDecorators(Ae),be&this.CHANGE_CURSOR&&(this.$cursorLayer.update(Ae),this.$moveTextAreaToCursor()),be&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(Ae),be&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(Ae)),this._signal("afterRender",be)}else this.$changes|=be},b.prototype.$autosize=function(){var be=this.session.getScreenLength()*this.lineHeight,Ae=this.$maxLines*this.lineHeight,we=Math.min(Ae,Math.max((this.$minLines||1)*this.lineHeight,be))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(we+=this.scrollBarH.getHeight()),Ae=!((we=this.$maxPixelHeight&&we>this.$maxPixelHeight?this.$maxPixelHeight:we)<=2*this.lineHeight)&&Ae<be,we==this.desiredHeight&&this.$size.height==this.desiredHeight&&Ae==this.$vScroll||(Ae!=this.$vScroll&&(this.$vScroll=Ae,this.scrollBarV.setVisible(Ae)),be=this.container.clientWidth,this.container.style.height=we+"px",this.$updateCachedSize(!0,this.$gutterWidth,be,we),this.desiredHeight=we,this._signal("autosize"))},b.prototype.$computeLayerConfig=function(){var be,Ae,we=this.session,xe=this.$size,Se=xe.height<=2*this.lineHeight,ke=this.session.getScreenLength()*this.lineHeight,Te=this.$getLongestLine(),Ee=!Se&&(this.$hScrollBarAlwaysVisible||xe.scrollerWidth-Te-2*this.$padding<0),Re=this.$horizScroll!==Ee,_e=(Re&&(this.$horizScroll=Ee,this.scrollBarH.setVisible(Ee)),Ee=this.$vScroll,this.$maxLines&&1<this.lineHeight&&this.$autosize(),xe.scrollerHeight+this.lineHeight),$e=(ke+=Ae=!this.$maxLines&&this.$scrollPastEnd?(xe.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0,this.scrollMargin),Le=((Ae=Ee!==(this.session.setScrollTop(Math.max(-$e.top,Math.min(this.scrollTop,ke-xe.scrollerHeight+$e.bottom))),this.session.setScrollLeft(Math.max(-$e.left,Math.min(this.scrollLeft,Te+2*this.$padding-xe.scrollerWidth+$e.right))),Se=!Se&&(this.$vScrollBarAlwaysVisible||xe.scrollerHeight-ke+Ae<0||this.scrollTop>$e.top)))&&(this.$vScroll=Se,this.scrollBarV.setVisible(Se)),$e=this.scrollTop%this.lineHeight,Ee=Math.ceil(_e/this.lineHeight)-1,Ee=(Se=Math.max(0,Math.round((this.scrollTop-$e)/this.lineHeight)))+Ee,this.lineHeight),Ne=(Se=we.screenToDocumentRow(Se,0),we.getFoldLine(Se));return Ne&&(Se=Ne.start.row),Ne=we.documentToScreenRow(Se,0),be=we.getRowLength(Se)*Le,Ee=Math.min(we.screenToDocumentRow(Ee,0),we.getLength()-1),_e=xe.scrollerHeight+we.getRowLength(Ee)*Le+be,$e=this.scrollTop-Ne*Le,we=0,this.layerConfig.width==Te&&!Re||(we=this.CHANGE_H_SCROLL),(Re||Ae)&&(we|=this.$updateCachedSize(!0,this.gutterWidth,xe.width,xe.height),this._signal("scrollbarVisibilityChanged"),Ae)&&(Te=this.$getLongestLine()),this.layerConfig={width:Te,padding:this.$padding,firstRow:Se,firstRowScreen:Ne,lastRow:Ee,lineHeight:Le,characterWidth:this.characterWidth,minHeight:_e,maxHeight:ke,offset:$e,gutterOffset:Le?Math.max(0,Math.ceil(($e+xe.height-xe.scrollerHeight)/Le)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(Te-this.$padding),we},b.prototype.$updateLines=function(){if(this.$changedLines){var be=this.$changedLines.firstRow,Ae=this.$changedLines.lastRow,we=(this.$changedLines=null,this.layerConfig);if(!(be>we.lastRow+1||Ae<we.firstRow)){if(Ae!==1/0)return this.$textLayer.updateLines(we,be,Ae),!0;this.$showGutter&&this.$gutterLayer.update(we),this.$textLayer.update(we)}}},b.prototype.$getLongestLine=function(){var be=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(be+=1),this.$textLayer&&be>this.$textLayer.MAX_LINE_LENGTH&&(be=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(be*this.characterWidth))},b.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},b.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},b.prototype.addGutterDecoration=function(be,Ae){this.$gutterLayer.addGutterDecoration(be,Ae)},b.prototype.removeGutterDecoration=function(be,Ae){this.$gutterLayer.removeGutterDecoration(be,Ae)},b.prototype.updateBreakpoints=function(be){this._rows=be,this.$loop.schedule(this.CHANGE_GUTTER)},b.prototype.setAnnotations=function(be){this.$gutterLayer.setAnnotations(be),this.$loop.schedule(this.CHANGE_GUTTER)},b.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},b.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},b.prototype.showCursor=function(){this.$cursorLayer.showCursor()},b.prototype.scrollSelectionIntoView=function(be,Ae,we){this.scrollCursorIntoView(be,we),this.scrollCursorIntoView(Ae,we)},b.prototype.scrollCursorIntoView=function(be,Ae,we){var xe,Se,ke;0!==this.$size.scrollerHeight&&(xe=(be=this.$cursorLayer.getPixelPosition(be)).left,be=be.top,Se=we&&we.top||0,we=we&&we.bottom||0,this.$scrollAnimation&&(this.$stopAnimation=!0),be<(ke=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop)+Se?(Ae&&ke+Se>be+this.lineHeight&&(be-=Ae*this.$size.scrollerHeight),0===be&&(be=-this.scrollMargin.top),this.session.setScrollTop(be)):ke+this.$size.scrollerHeight-we<be+this.lineHeight&&(Ae&&ke+this.$size.scrollerHeight-we<be-this.lineHeight&&(be+=Ae*this.$size.scrollerHeight),this.session.setScrollTop(be+this.lineHeight+we-this.$size.scrollerHeight)),Se=this.scrollLeft,xe-(ke=2*this.layerConfig.characterWidth)<Se?((xe-=ke)<this.$padding+ke&&(xe=-this.scrollMargin.left),this.session.setScrollLeft(xe)):Se+this.$size.scrollerWidth<(xe+=ke)+this.characterWidth?this.session.setScrollLeft(Math.round(xe+this.characterWidth-this.$size.scrollerWidth)):Se<=this.$padding&&xe-Se<this.characterWidth&&this.session.setScrollLeft(0))},b.prototype.getScrollTop=function(){return this.session.getScrollTop()},b.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},b.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},b.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},b.prototype.scrollToRow=function(be){this.session.setScrollTop(be*this.lineHeight)},b.prototype.alignCursor=function(be,Ae){be=this.$cursorLayer.getPixelPosition(be="number"==typeof be?{row:be,column:0}:be);var we=this.$size.scrollerHeight-this.lineHeight;return be=be.top-we*(Ae||0),this.session.setScrollTop(be),be},b.prototype.$calcSteps=function(be,Ae){var we,xe,Se=0,ke=this.STEPS,Te=[];for(Se=0;Se<ke;++Se)Te.push((we=Se/this.STEPS,(Ae-(xe=be))*(Math.pow(we-1,3)+1)+xe));return Te},b.prototype.scrollToLine=function(be,Ae,we,xe){be=this.$cursorLayer.getPixelPosition({row:be,column:0}).top,Ae&&(be-=this.$size.scrollerHeight/2),Ae=this.scrollTop,this.session.setScrollTop(be),!1!==we&&this.animateScrolling(Ae,xe)},b.prototype.animateScrolling=function(be,Ae){var we=this.scrollTop;if(this.$animatedScroll){var xe=this;if(be!=we){if(this.$scrollAnimation){var Se=this.$scrollAnimation.steps;if(Se.length&&(be=Se[0])==we)return}var ke=xe.$calcSteps(be,we);this.$scrollAnimation={from:be,to:we,steps:ke},clearInterval(this.$timer),xe.session.setScrollTop(ke.shift()),xe.session.$scrollTop=we,this.$timer=setInterval((function(){if(!xe.$stopAnimation)return xe.session?void(ke.length?(xe.session.setScrollTop(ke.shift()),xe.session.$scrollTop=we):null!=we?(xe.session.$scrollTop=-1,xe.session.setScrollTop(we),we=null):s()):clearInterval(xe.$timer);s()}),10)}}function s(){xe.$timer=clearInterval(xe.$timer),xe.$scrollAnimation=null,xe.$stopAnimation=!1,Ae&&Ae()}},b.prototype.scrollToY=function(be){this.scrollTop!==be&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=be)},b.prototype.scrollToX=function(be){this.scrollLeft!==be&&(this.scrollLeft=be),this.$loop.schedule(this.CHANGE_H_SCROLL)},b.prototype.scrollTo=function(be,Ae){this.session.setScrollTop(Ae),this.session.setScrollLeft(be)},b.prototype.scrollBy=function(be,Ae){Ae&&this.session.setScrollTop(this.session.getScrollTop()+Ae),be&&this.session.setScrollLeft(this.session.getScrollLeft()+be)},b.prototype.isScrollableBy=function(be,Ae){return Ae<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||0<Ae&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||be<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||0<be&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0},b.prototype.pixelToScreenCoordinates=function(be,Ae){this.$hasCssTransforms?(xe={top:0,left:0},be=(we=this.$fontMetrics.transformCoordinates([be,Ae]))[1]-this.gutterWidth-this.margin.left,Ae=we[0]):xe=this.scroller.getBoundingClientRect();var we=be+this.scrollLeft-xe.left-this.$padding,xe=(be=we/this.characterWidth,Ae=Math.floor((Ae+this.scrollTop-xe.top)/this.lineHeight),this.$blockCursor?Math.floor(be):Math.round(be));return{row:Ae,column:xe,side:0<be-xe?1:-1,offsetX:we}},b.prototype.screenToTextCoordinates=function(be,Ae){this.$hasCssTransforms?(we={top:0,left:0},be=(xe=this.$fontMetrics.transformCoordinates([be,Ae]))[1]-this.gutterWidth-this.margin.left,Ae=xe[0]):we=this.scroller.getBoundingClientRect();var we,xe=be+this.scrollLeft-we.left-this.$padding;return be=xe/this.characterWidth,be=this.$blockCursor?Math.floor(be):Math.round(be),Ae=Math.floor((Ae+this.scrollTop-we.top)/this.lineHeight),this.session.screenToDocumentPosition(Ae,Math.max(be,0),xe)},b.prototype.textToScreenCoordinates=function(be,Ae){var we=this.scroller.getBoundingClientRect();return Ae=this.session.documentToScreenPosition(be,Ae),be=this.$padding+(this.session.$bidiHandler.isBidiRow(Ae.row,be)?this.session.$bidiHandler.getPosLeft(Ae.column):Math.round(Ae.column*this.characterWidth)),Ae=Ae.row*this.lineHeight,{pageX:we.left+be-this.scrollLeft,pageY:we.top+Ae-this.scrollTop}},b.prototype.visualizeFocus=function(){Se.addCssClass(this.container,"ace_focus")},b.prototype.visualizeBlur=function(){Se.removeCssClass(this.container,"ace_focus")},b.prototype.showComposition=function(be){(this.$composition=be).cssText||(be.cssText=this.textarea.style.cssText),null==be.useTextareaForIME&&(be.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(Se.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):be.markerId=this.session.addMarker(be.markerRange,"ace_composition_marker","text")},b.prototype.setCompositionText=function(be){var Ae=this.session.selection.cursor;this.addToken(be,"composition_placeholder",Ae.row,Ae.column),this.$moveTextAreaToCursor()},b.prototype.hideComposition=function(){var be;this.$composition&&(this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),Se.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText,be=this.session.selection.cursor,this.removeExtraToken(be.row,be.column),this.$composition=null,this.$cursorLayer.element.style.display="")},b.prototype.setGhostText=function(be,Ae){var we,xe,Se=this.session.selection.cursor;Ae=Ae||{row:Se.row,column:Se.column},this.removeGhostText(),Se=this.$calculateWrappedTextChunks(be,Ae),this.addToken(Se[0].text,"ghost_text",Ae.row,Ae.column),this.$ghostText={text:be,position:{row:Ae.row,column:Ae.column}},1<Se.length&&(be=Se.slice(1).map((function(be){return"<div".concat(be.wrapped?' class="ghost_text_line_wrapped"':"",">").concat(be.text,"</div>")})),this.$ghostTextWidget={html:be.join(""),row:Ae.row,column:Ae.column,className:"ace_ghost_text"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget),be=this.$cursorLayer.getPixelPosition(Ae,!0),we=this.container.getBoundingClientRect().height,(xe=Se.length*this.lineHeight)<we-be.top||(xe<we?this.scrollBy(0,(Se.length-1)*this.lineHeight):this.scrollToRow(Ae.row)))},b.prototype.$calculateWrappedTextChunks=function(be,Ae){for(var we=this.$size.scrollerWidth-2*this.$padding,xe=(xe=Math.floor(we/this.characterWidth)-2)<=0?60:xe,Se=be.split(/\r?\n/),ke=[],Te=0;Te<Se.length;Te++){var Ee=this.session.$getDisplayTokens(Se[Te],Ae.column),Re=this.session.$computeWrapSplits(Ee,xe,this.session.$tabSize);if(0<Re.length){var _e=0;Re.push(Se[Te].length);for(var $e=0;$e<Re.length;$e++){var Le=Se[Te].slice(_e,Re[$e]);ke.push({text:Le,wrapped:!0}),_e=Re[$e]}}else ke.push({text:Se[Te],wrapped:!1})}return ke},b.prototype.removeGhostText=function(){var be;this.$ghostText&&(be=this.$ghostText.position,this.removeExtraToken(be.row,be.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null)},b.prototype.addToken=function(be,Ae,we,xe){var Se=this.session,ke=(Se.bgTokenizer.lines[we]=null,{type:Ae,value:be}),Te=Se.getTokens(we);if(null!=xe&&Te.length)for(var Ee=0,Re=0;Re<Te.length;Re++){var _e=Te[Re];if(xe<=(Ee+=_e.value.length)){var $e=_e.value.length-(Ee-xe),Le=_e.value.slice(0,$e);$e=_e.value.slice($e),Te.splice(Re,1,{type:_e.type,value:Le},ke,{type:_e.type,value:$e});break}}else Te.push(ke);this.updateLines(we,we)},b.prototype.removeExtraToken=function(be,Ae){this.session.bgTokenizer.lines[be]=null,this.updateLines(be,be)},b.prototype.setTheme=function(be,Ae){var we,xe=this;function t(we){if(xe.$themeId!=be)return Ae&&Ae();if(!we||!we.cssClass)throw new Error("couldn't load module "+be+" or it didn't call define");we.$id&&(xe.$themeId=we.$id),Se.importCssString(we.cssText,we.cssClass,xe.container),xe.theme&&Se.removeCssClass(xe.container,xe.theme.cssClass);var ke="padding"in we?we.padding:"padding"in(xe.theme||{})?4:xe.$padding;xe.$padding&&ke!=xe.$padding&&xe.setPadding(ke),xe.$theme=we.cssClass,xe.theme=we,Se.addCssClass(xe.container,we.cssClass),Se.setCssClass(xe.container,"ace_dark",we.isDark),xe.$size&&(xe.$size.width=0,xe.$updateSizeAsync()),xe._dispatchEvent("themeLoaded",{theme:we}),Ae&&Ae()}this.$themeId=be,xe._dispatchEvent("themeChange",{theme:be}),be&&"string"!=typeof be?t(be):(we=be||this.$options.theme.initialValue,Te.loadModule(["theme",we],t))},b.prototype.getTheme=function(){return this.$themeId},b.prototype.setStyle=function(be,Ae){Se.setCssClass(this.container,be,!1!==Ae)},b.prototype.unsetStyle=function(be){Se.removeCssClass(this.container,be)},b.prototype.setCursorStyle=function(be){Se.setStyle(this.scroller.style,"cursor",be)},b.prototype.setMouseCursor=function(be){Se.setStyle(this.scroller.style,"cursor",be)},b.prototype.attachToShadowRoot=function(){Se.importCssString(Ge,"ace_editor.css",this.container)},b.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},b.prototype.$updateCustomScrollbar=function(be){var Ae=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,!0===be?(this.scrollBarV=new Be(this.container,this),this.scrollBarH=new Me(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",(function(be){Ae.$scrollAnimation||Ae.session.setScrollTop(be.data-Ae.scrollMargin.top)})),this.scrollBarH.addEventListener("scroll",(function(be){Ae.$scrollAnimation||Ae.session.setScrollLeft(be.data-Ae.scrollMargin.left)})),this.$scrollDecorator=new Fe(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new Ne(this.container,this),this.scrollBarH=new Le(this.container,this),this.scrollBarV.addEventListener("scroll",(function(be){Ae.$scrollAnimation||Ae.session.setScrollTop(be.data-Ae.scrollMargin.top)})),this.scrollBarH.addEventListener("scroll",(function(be){Ae.$scrollAnimation||Ae.session.setScrollLeft(be.data-Ae.scrollMargin.left)})))},b.prototype.$addResizeObserver=function(){var be;window.ResizeObserver&&!this.$resizeObserver&&((be=this).$resizeTimer=ke.delayedCall((function(){be.destroyed||be.onResize()}),50),this.$resizeObserver=new window.ResizeObserver((function(Ae){var we=Ae[0].contentRect.width;Ae=Ae[0].contentRect.height,1<Math.abs(be.$size.width-we)||1<Math.abs(be.$size.height-Ae)?be.$resizeTimer.delay():be.$resizeTimer.cancel()})),this.$resizeObserver.observe(this.container))},(be=b).prototype.CHANGE_CURSOR=1,be.prototype.CHANGE_MARKER=2,be.prototype.CHANGE_GUTTER=4,be.prototype.CHANGE_SCROLL=8,be.prototype.CHANGE_LINES=16,be.prototype.CHANGE_TEXT=32,be.prototype.CHANGE_SIZE=64,be.prototype.CHANGE_MARKER_BACK=128,be.prototype.CHANGE_MARKER_FRONT=256,be.prototype.CHANGE_FULL=512,be.prototype.CHANGE_H_SCROLL=1024,be.prototype.$changes=0,be.prototype.$padding=null,be.prototype.$frozen=!1,be.prototype.STEPS=8,xe.implement(be.prototype,He),Te.defineOptions(be.prototype,"renderer",{useResizeObserver:{set:function(be){!be&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):be&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(be){this.$textLayer.setShowInvisibles(be)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(be){"number"==typeof be&&(this.$printMarginColumn=be),this.$showPrintMargin=!!be,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(be){this.$gutter.style.display=be?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(be){this.$gutterLayer.$useSvgGutterIcons=be},initialValue:!1},showFoldedAnnotations:{set:function(be){this.$gutterLayer.$showFoldedAnnotations=be},initialValue:!1},fadeFoldWidgets:{set:function(be){Se.setCssClass(this.$gutter,"ace_fade-fold-widgets",be)},initialValue:!1},showFoldWidgets:{set:function(be){this.$gutterLayer.setShowFoldWidgets(be),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(be){this.$textLayer.setDisplayIndentGuides(be)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(be){1==this.$textLayer.setHighlightIndentGuides(be)?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(be){this.$gutterLayer.setHighlightGutterLine(be),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(be){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(be){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(be){"number"==typeof be&&(be+="px"),this.container.style.fontSize=be,this.updateFontSize()},initialValue:12},fontFamily:{set:function(be){this.container.style.fontFamily=be,this.updateFontSize()}},maxLines:{set:function(be){this.updateFull()}},minLines:{set:function(be){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(be){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(be){this.$scrollPastEnd!=(be=+be||0)&&(this.$scrollPastEnd=be,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(be){this.$gutterLayer.$fixedWidth=!!be,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(be){this.$updateCustomScrollbar(be)},initialValue:!1},theme:{set:function(be){this.setTheme(be)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!Oe.isMobile&&!Oe.isIE}}),Ae.VirtualRenderer=be})),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],(function(be,Ae,we){var Se=be("../lib/oop"),ke=be("../lib/net"),Te=be("../lib/event_emitter").EventEmitter,Ee=be("../config");function l(be){var Ae;return"undefined"==typeof Worker?{postMessage:function(){},terminate:function(){}}:Ee.get("loadWorkerFromBlob")?(Ae=function(be){be="importScripts('"+ke.qualifyURL(be)+"');";try{return new Blob([be],{type:"application/javascript"})}catch(we){var Ae=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return Ae.append(be),Ae.getBlob("application/javascript")}}(be),Ae=(window.URL||window.webkitURL).createObjectURL(Ae),new Worker(Ae)):new Worker(be)}function d(be){be.postMessage||(be=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=be,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage}(function(){Se.implement(this,Te),this.$createWorkerFromOldConfig=function(Ae,we,xe,Se,ke){var Te,Re;return be.nameToUrl&&!be.toUrl&&(be.toUrl=be.nameToUrl),Ee.get("packaged")||!be.toUrl?Se=Se||Ee.moduleUrl(we,"worker"):(Te=this.$normalizePath,Se=Se||Te(be.toUrl("ace/worker/worker.js",null,"_")),Re={},Ae.forEach((function(Ae){Re[Ae]=Te(be.toUrl(Ae,null,"_").replace(/(\.js)?(\?.*)?$/,""))}))),this.$worker=l(Se),ke&&this.send("importScripts",ke),this.$worker.postMessage({init:!0,tlns:Re,module:we,classname:xe}),this.$worker},this.onMessage=function(be){var Ae=be.data;switch(Ae.type){case"event":this._signal(Ae.name,{data:Ae.data});break;case"call":var we=this.callbacks[Ae.id];we&&(we(Ae.data),delete this.callbacks[Ae.id]);break;case"error":this.reportError(Ae.data);break;case"log":window.console&&xe.log&&xe.log.apply(xe,Ae.data)}},this.reportError=function(be){window.console&&xe.error&&xe.error(be)},this.$normalizePath=function(be){return ke.qualifyURL(be)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(be){be.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(be,Ae){this.$worker.postMessage({command:be,args:Ae})},this.call=function(be,Ae,we){var xe;we&&(xe=this.callbackId++,this.callbacks[xe]=we,Ae.push(xe)),this.send(be,Ae)},this.emit=function(be,Ae){try{Ae.data&&Ae.data.err&&(Ae.data.err={message:Ae.data.err.message,stack:Ae.data.err.stack,code:Ae.data.err.code}),this.$worker&&this.$worker.postMessage({event:be,data:{data:Ae.data}})}catch(be){xe.error(be.stack)}},this.attachToDocument=function(be){this.$doc&&this.terminate(),this.$doc=be,this.call("setValue",[be.getValue()]),be.on("change",this.changeListener,!0)},this.changeListener=function(be){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==be.action?this.deltaQueue.push(be.start,be.lines):this.deltaQueue.push(be.start,be.end)},this.$sendDeltaQueue=function(){var be=this.deltaQueue;be&&(this.deltaQueue=null,50<be.length&&be.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:be}))}}).call(d.prototype),Ae.UIWorkerClient=function(be,Ae,we){var xe=null,Se=!1,ke=Object.create(Te),Re=[],_e=new d({messageBuffer:Re,terminate:function(){},postMessage:function(be){Re.push(be),xe&&(Se?setTimeout($e):$e())}}),$e=(_e.setEmitSync=function(be){Se=be},function(){var be=Re.shift();be.command?xe[be.command].apply(xe,be.args):be.event&&ke._signal(be.event,be.data)});return ke.postMessage=function(be){_e.onMessage({data:be})},ke.callback=function(be,Ae){this.postMessage({type:"call",id:Ae,data:be})},ke.emit=function(be,Ae){this.postMessage({type:"event",name:be,data:Ae})},Ee.loadModule(["worker",Ae],(function(be){for(xe=new be[we](ke);Re.length;)$e()})),_e},Ae.WorkerClient=d,Ae.createWorker=l})),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],(function(be,Ae,we){var xe=be("./range").Range,Se=be("./lib/event_emitter").EventEmitter,ke=(be=be("./lib/oop"),r.prototype.setup=function(){var be=this,Ae=this.doc,we=this.session,Se=(this.selectionBefore=we.selection.toJSON(),we.selection.inMultiSelectMode&&we.selection.toSingleRange(),this.pos=Ae.createAnchor(this.$pos.row,this.$pos.column),this.pos);Se.$insertRight=!0,Se.detach(),Se.markerId=we.addMarker(new xe(Se.row,Se.column,Se.row,Se.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach((function(we){(we=Ae.createAnchor(we.row,we.column)).$insertRight=!0,we.detach(),be.others.push(we)})),we.setUndoSelect(!1)},r.prototype.showOtherMarkers=function(){var be,Ae;this.othersActive||(be=this.session,(Ae=this).othersActive=!0,this.others.forEach((function(we){we.markerId=be.addMarker(new xe(we.row,we.column,we.row,we.column+Ae.length),Ae.othersClass,null,!1)})))},r.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var be=0;be<this.others.length;be++)this.session.removeMarker(this.others[be].markerId)}},r.prototype.onUpdate=function(be){if(this.$updating)return this.updateAnchors(be);var Ae=be;if(Ae.start.row===Ae.end.row&&Ae.start.row===this.pos.row){this.$updating=!0;var we="insert"===be.action?Ae.end.column-Ae.start.column:Ae.start.column-Ae.end.column,Se=Ae.start.column>=this.pos.column&&Ae.start.column<=this.pos.column+this.length+1,ke=Ae.start.column-this.pos.column;if(this.updateAnchors(be),Se&&(this.length+=we),Se&&!this.session.$fromUndo)if("insert"===be.action)for(var Te=this.others.length-1;0<=Te;Te--){var Ee={row:(Re=this.others[Te]).row,column:Re.column+ke};this.doc.insertMergedLines(Ee,be.lines)}else if("remove"===be.action)for(Te=this.others.length-1;0<=Te;Te--){var Re;Ee={row:(Re=this.others[Te]).row,column:Re.column+ke},this.doc.remove(new xe(Ee.row,Ee.column,Ee.row,Ee.column-we))}this.$updating=!1,this.updateMarkers()}},r.prototype.updateAnchors=function(be){this.pos.onChange(be);for(var Ae=this.others.length;Ae--;)this.others[Ae].onChange(be);this.updateMarkers()},r.prototype.updateMarkers=function(){if(!this.$updating){var be=this,Ae=this.session,e=function(we,Se){Ae.removeMarker(we.markerId),we.markerId=Ae.addMarker(new xe(we.row,we.column,we.row,we.column+be.length),Se,null,!1)};e(this.pos,this.mainClass);for(var we=this.others.length;we--;)e(this.others[we],this.othersClass)}},r.prototype.onCursorChange=function(be){var Ae;!this.$updating&&this.session&&((Ae=this.session.selection.getCursor()).row===this.pos.row&&Ae.column>=this.pos.column&&Ae.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",be)):(this.hideOtherMarkers(),this._emit("cursorLeave",be)))},r.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},r.prototype.cancel=function(){if(-1!==this.$undoStackDepth){for(var be=this.session.getUndoManager(),Ae=(be.$undoStack||be.$undostack).length-this.$undoStackDepth,we=0;we<Ae;we++)be.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},r);function r(be,Ae,we,xe,Se,ke){var Te=this;this.length=Ae,this.session=be,this.doc=be.getDocument(),this.mainClass=Se,this.othersClass=ke,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=xe,this.$onCursorChange=function(){setTimeout((function(){Te.onCursorChange()}))},this.$pos=we,Ae=be.getUndoManager().$undoStack||be.getUndoManager().$undostack||{length:-1},this.$undoStackDepth=Ae.length,this.setup(),be.selection.on("changeCursor",this.$onCursorChange)}be.implement(ke.prototype,Se),Ae.PlaceHolder=ke})),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],(function(be,Ae,we){var xe=be("../lib/event"),Se=be("../lib/useragent");function T(be,Ae){return be.row==Ae.row&&be.column==Ae.column}Ae.onMouseDown=function(be){var Ae=be.domEvent,we=Ae.altKey,ke=Ae.shiftKey,Te=Ae.ctrlKey,Ee=be.getAccelKey(),Re=be.getButton();if(Te&&Se.isMac&&(Re=Ae.button),be.editor.inMultiSelectMode&&2==Re)be.editor.textInput.onContextMenu(be.domEvent);else if(Te||we||Ee){if(0===Re){var _e,$e,Le,Ne,Me,Be,We,Pe,He=be.editor,Ge=He.selection,Fe=He.inMultiSelectMode,Oe=be.getDocumentPosition(),Ve=Ge.getCursor(),Ze=(Ve=be.inSelection()||Ge.isEmpty()&&T(Oe,Ve),be.x),De=be.y,Ke=He.session,je=He.renderer.pixelToScreenCoordinates(Ze,De),ze=je;if(He.$mouseHandler.$enableJumpToDef)Te&&we||Ee&&we?_e=ke?"block":"add":we&&He.$blockSelectEnabled&&(_e="block");else if(Ee&&!we){if(_e="add",!Fe&&ke)return}else we&&He.$blockSelectEnabled&&(_e="block");if(_e&&Se.isMac&&Ae.ctrlKey&&He.$mouseHandler.cancelContextMenu(),"add"==_e)!Fe&&Ve||(Fe||($e=Ge.toOrientedRange(),He.addSelectionMarker($e)),Le=Ge.rangeList.rangeAtPoint(Oe),He.inVirtualSelectionMode=!0,ke&&(Le=null,$e=Ge.ranges[0]||$e,He.removeSelectionMarker($e)),He.once("mouseup",(function(){var be=Ge.toOrientedRange();Le&&be.isEmpty()&&T(Le.cursor,be.cursor)?Ge.substractPoint(be.cursor):(ke?Ge.substractPoint($e.cursor):$e&&(He.removeSelectionMarker($e),Ge.addRange($e)),Ge.addRange(be)),He.inVirtualSelectionMode=!1})));else if("block"==_e)return be.stop(),He.inVirtualSelectionMode=!0,Me=[],Be=function(){var be=He.renderer.pixelToScreenCoordinates(Ze,De),Ae=Ke.screenToDocumentPosition(be.row,be.column,be.offsetX);T(ze,be)&&T(Ae,Ge.lead)||(ze=be,He.selection.moveToPosition(Ae),He.renderer.scrollCursorIntoView(),He.removeSelectionMarkers(Me),Me=Ge.rectangularRangeBlock(ze,je),He.$mouseHandler.$clickSelection&&1==Me.length&&Me[0].isEmpty()&&(Me[0]=He.$mouseHandler.$clickSelection.clone()),Me.forEach(He.addSelectionMarker,He),He.updateSelectionMarkers())},Fe&&!Ee?Ge.toSingleRange():!Fe&&Ee&&(Ne=Ge.toOrientedRange(),He.addSelectionMarker(Ne)),ke?je=Ke.documentToScreenPosition(Ge.lead):Ge.moveToPosition(Oe),ze={row:-1,column:-1},We=Be,xe.capture(He.container,(function(be){Ze=be.clientX,De=be.clientY}),(function(be){Be(),clearInterval(Pe),He.removeSelectionMarkers(Me),Me.length||(Me=[Ge.toOrientedRange()]),Ne&&(He.removeSelectionMarker(Ne),Ge.toSingleRange(Ne));for(var Ae=0;Ae<Me.length;Ae++)Ge.addRange(Me[Ae]);He.inVirtualSelectionMode=!1,He.$mouseHandler.$clickSelection=null})),Pe=setInterval((function(){We()}),20),be.preventDefault()}}else 0===Re&&be.editor.inMultiSelectMode&&be.editor.exitMultiSelectMode()}})),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],(function(be,Ae,we){Ae.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(be){be.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(be){be.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(be){be.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(be){be.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(be){be.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(be){be.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(be){be.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(be){be.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(be){1<be.multiSelect.rangeCount?be.multiSelect.joinSelections():be.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(be){be.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(be){be.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(be){be.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],Ae.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(be){be.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(be){return be&&be.inMultiSelectMode}}],be=be("../keyboard/hash_handler").HashHandler,Ae.keyboardHandler=new be(Ae.multiSelectCommands)})),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],(function(be,Ae,we){var xe=be("./range_list").RangeList,Se=be("./range").Range,ke=be("./selection").Selection,Te=be("./mouse/multi_select_handler").onMouseDown,Ee=be("./lib/event"),Re=be("./lib/lang"),_e=be("./commands/multi_select_commands");Ae.commands=_e.defaultCommands.concat(_e.multiSelectCommands);var $e=new(be("./search").Search),Le=be("./edit_session").EditSession;function c(be){var we,xe;function i(be){xe&&(we.renderer.setMouseCursor(""),xe=!1)}be.$multiselectOnSessionChange||(be.$onAddRange=be.$onAddRange.bind(be),be.$onRemoveRange=be.$onRemoveRange.bind(be),be.$onMultiSelect=be.$onMultiSelect.bind(be),be.$onSingleSelect=be.$onSingleSelect.bind(be),be.$multiselectOnSessionChange=Ae.onSessionChange.bind(be),be.$checkMultiselectChange=be.$checkMultiselectChange.bind(be),be.$multiselectOnSessionChange(be),be.on("changeSession",be.$multiselectOnSessionChange),be.on("mousedown",Te),be.commands.addCommands(_e.defaultCommands),(we=be).textInput&&(be=we.textInput.getElement(),xe=!1,Ee.addListener(be,"keydown",(function(be){be=18==be.keyCode&&!(be.ctrlKey||be.shiftKey||be.metaKey),we.$blockSelectEnabled&&be?xe||(we.renderer.setMouseCursor("crosshair"),xe=!0):xe&&i()}),we),Ee.addListener(be,"keyup",i,we),Ee.addListener(be,"blur",i,we)))}(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(Le.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(be,Ae){if(be){if(!this.inMultiSelectMode&&0===this.rangeCount){var we=this.toOrientedRange();if(this.rangeList.add(we),this.rangeList.add(be),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),Ae||this.fromOrientedRange(be);this.rangeList.removeAll(),this.rangeList.add(we),this.$onAddRange(we)}return be.cursor||(be.cursor=be.end),we=this.rangeList.add(be),this.$onAddRange(be),we.length&&this.$onRemoveRange(we),1<this.rangeCount&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),Ae||this.fromOrientedRange(be)}},this.toSingleRange=function(be){be=be||this.ranges[0];var Ae=this.rangeList.removeAll();Ae.length&&this.$onRemoveRange(Ae),be&&this.fromOrientedRange(be)},this.substractPoint=function(be){if(be=this.rangeList.substractPoint(be))return this.$onRemoveRange(be),be[0]},this.mergeOverlappingRanges=function(){var be=this.rangeList.merge();be.length&&this.$onRemoveRange(be)},this.$onAddRange=function(be){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(be),this._signal("addRange",{range:be})},this.$onRemoveRange=function(be){var Ae;this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode&&(Ae=this.rangeList.ranges.pop(),be.push(Ae),this.rangeCount=0);for(var we=be.length;we--;){var xe=this.ranges.indexOf(be[we]);this.ranges.splice(xe,1)}this._signal("removeRange",{ranges:be}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),(Ae=Ae||this.ranges[0])&&!Ae.isEqual(this.getRange())&&this.fromOrientedRange(Ae)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new xe,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var be=this.ranges.length?this.ranges:[this.getRange()],Ae=[],we=0;we<be.length;we++){var xe=be[we],ke=xe.start.row,Te=xe.end.row;if(ke===Te)Ae.push(xe.clone());else{for(Ae.push(new Se(ke,xe.start.column,ke,this.session.getLine(ke).length));++ke<Te;)Ae.push(this.getLineRange(ke,!0));Ae.push(new Se(Te,0,Te,xe.end.column))}0!=we||this.isBackwards()||(Ae=Ae.reverse())}for(this.toSingleRange(),we=Ae.length;we--;)this.addRange(Ae[we])},this.joinSelections=function(){var be=(Ae=this.rangeList.ranges)[Ae.length-1],Ae=Se.fromPoints(Ae[0].start,be.end);this.toSingleRange(),this.setSelectionRange(Ae,be.cursor==be.start)},this.toggleBlockSelection=function(){var be,Ae;1<this.rangeCount?(Ae=(be=this.rangeList.ranges)[be.length-1],be=Se.fromPoints(be[0].start,Ae.end),this.toSingleRange(),this.setSelectionRange(be,Ae.cursor==Ae.start)):(be=this.session.documentToScreenPosition(this.cursor),Ae=this.session.documentToScreenPosition(this.anchor),this.rectangularRangeBlock(be,Ae).forEach(this.addRange,this))},this.rectangularRangeBlock=function(be,Ae,we){var xe,ke,Te,Ee,Re,_e,$e,Le=[],Ne=be.column<Ae.column,Me=(Ee=(Ne?(xe=be.column,ke=Ae.column,Te=be.offsetX,Ae):(xe=Ae.column,ke=be.column,Te=Ae.offsetX,be)).offsetX,be.row<Ae.row);_e=(Me?(Re=be.row,Ae):(Re=Ae.row,be)).row,xe<0&&(xe=0),(Re=Re<0?0:Re)==_e&&(we=!0);for(var Be,We,Pe=Re;Pe<=_e;Pe++){var He=Se.fromPoints(this.session.screenToDocumentPosition(Pe,xe,Te),this.session.screenToDocumentPosition(Pe,ke,Ee));if(He.isEmpty()){if($e&&(We=$e,(Be=He.end).row==We.row)&&Be.column==We.column)break;$e=He.end}He.cursor=Ne?He.start:He.end,Le.push(He)}if(Me&&Le.reverse(),!we){for(var Ge=Le.length-1;Le[Ge].isEmpty()&&0<Ge;)Ge--;if(0<Ge)for(var Fe=0;Le[Fe].isEmpty();)Fe++;for(var Oe=Ge;Fe<=Oe;Oe--)Le[Oe].isEmpty()&&Le.splice(Oe,1)}return Le}}.call(ke.prototype),Le=be("./editor").Editor,function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(be){be.cursor||(be.cursor=be.end);var Ae=this.getSelectionStyle();return be.marker=this.session.addMarker(be,"ace_selection",Ae),this.session.$selectionMarkers.push(be),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,be},this.removeSelectionMarker=function(be){be.marker&&(this.session.removeMarker(be.marker),-1!=(be=this.session.$selectionMarkers.indexOf(be))&&this.session.$selectionMarkers.splice(be,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length)},this.removeSelectionMarkers=function(be){for(var Ae=this.session.$selectionMarkers,we=be.length;we--;){var xe=be[we];xe.marker&&(this.session.removeMarker(xe.marker),-1!=(xe=Ae.indexOf(xe)))&&Ae.splice(xe,1)}this.session.selectionMarkerCount=Ae.length},this.$onAddRange=function(be){this.addSelectionMarker(be.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(be){this.removeSelectionMarkers(be.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(be){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(_e.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(be){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(_e.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(be){var Ae,we=be.command,xe=be.editor;if(xe.multiSelect)return we.multiSelectAction?Ae="forEach"==we.multiSelectAction?xe.forEachSelection(we,be.args):"forEachLine"==we.multiSelectAction?xe.forEachSelection(we,be.args,!0):"single"==we.multiSelectAction?(xe.exitMultiSelectMode(),we.exec(xe,be.args||{})):we.multiSelectAction(xe,be.args||{}):(Ae=we.exec(xe,be.args||{}),xe.multiSelect.addRange(xe.multiSelect.toOrientedRange()),xe.multiSelect.mergeOverlappingRanges()),Ae},this.forEachSelection=function(be,Ae,we){if(!this.inVirtualSelectionMode){var xe,Se=we&&we.keepOrder,Te=1==we||we&&we.$byLines,Ee=this.session,Re=(we=this.selection).rangeList,_e=(Se?we:Re).ranges;if(!_e.length)return be.exec?be.exec(this,Ae||{}):be(this,Ae||{});Se=we._eventRegistry;var $e=(we._eventRegistry={},new ke(Ee));this.inVirtualSelectionMode=!0;for(var Le=_e.length;Le--;){if(Te)for(;0<Le&&_e[Le].start.row==_e[Le-1].end.row;)Le--;$e.fromOrientedRange(_e[Le]),$e.index=Le,this.selection=Ee.selection=$e;var Ne=be.exec?be.exec(this,Ae||{}):be(this,Ae||{});xe||void 0===Ne||(xe=Ne),$e.toOrientedRange(_e[Le])}return $e.detach(),this.selection=Ee.selection=we,this.inVirtualSelectionMode=!1,we._eventRegistry=Se,we.mergeOverlappingRanges(),we.ranges[0]&&we.fromOrientedRange(we.ranges[0]),Re=this.renderer.$scrollAnimation,this.onCursorChange(),this.onSelectionChange(),Re&&Re.from==Re.to&&this.renderer.animateScrolling(Re.from),xe}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var be="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var Ae=this.multiSelect.rangeList.ranges,we=[],xe=0;xe<Ae.length;xe++)we.push(this.session.getTextRange(Ae[xe]));var Se=this.session.getDocument().getNewLineCharacter();(be=we.join(Se)).length==(we.length-1)*Se.length&&(be="")}else this.selection.isEmpty()||(be=this.session.getTextRange(this.getSelectionRange()));return be},this.$checkMultiselectChange=function(be,Ae){var we;this.inMultiSelectMode&&!this.inVirtualSelectionMode&&(we=this.multiSelect.ranges[0],this.multiSelect.isEmpty()&&Ae==this.multiSelect.anchor||((we=Ae==this.multiSelect.anchor?we.cursor==we.start?we.end:we.start:we.cursor).row!=Ae.row||this.session.$clipPositionToDocument(we.row,we.column).column!=Ae.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()))},this.findAll=function(be,Ae,we){(Ae=Ae||{}).needle=be||Ae.needle,null==Ae.needle&&(xe=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange(),Ae.needle=this.session.getTextRange(xe)),this.$search.set(Ae);var xe,Se=this.$search.findAll(this.session);if(!Se.length)return 0;var ke=this.multiSelect;we||ke.toSingleRange(Se[0]);for(var Te=Se.length;Te--;)ke.addRange(Se[Te],!0);return xe&&ke.rangeList.rangeAtPoint(xe.start)&&ke.addRange(xe,!0),Se.length},this.selectMoreLines=function(be,Ae){var we,xe,ke,Te=this.selection.toOrientedRange(),Ee=Te.cursor==Te.end,Re=this.session.documentToScreenPosition(Te.cursor),_e=(this.selection.$desiredColumn&&(Re.column=this.selection.$desiredColumn),this.session.screenToDocumentPosition(Re.row+be,Re.column));be=Te.isEmpty()?_e:(we=this.session.documentToScreenPosition(Ee?Te.end:Te.start),this.session.screenToDocumentPosition(we.row+be,we.column)),Ee?(xe=Se.fromPoints(_e,be)).cursor=xe.start:(xe=Se.fromPoints(be,_e)).cursor=xe.end,xe.desiredColumn=Re.column,this.selection.inMultiSelectMode?Ae&&(ke=Te.cursor):this.selection.addRange(Te),this.selection.addRange(xe),ke&&this.selection.substractPoint(ke)},this.transposeSelections=function(be){for(var Ae,we=this.session,xe=we.multiSelect,Se=xe.ranges,ke=Se.length;ke--;)(Ee=Se[ke]).isEmpty()&&(Ae=we.getWordRange(Ee.start.row,Ee.start.column),Ee.start.row=Ae.start.row,Ee.start.column=Ae.start.column,Ee.end.row=Ae.end.row,Ee.end.column=Ae.end.column);xe.mergeOverlappingRanges();var Te=[];for(ke=Se.length;ke--;){var Ee=Se[ke];Te.unshift(we.getTextRange(Ee))}for(be<0?Te.unshift(Te.pop()):Te.push(Te.shift()),ke=Se.length;ke--;){var Re=(Ee=Se[ke]).clone();we.replace(Ee,Te[ke]),Ee.start.row=Re.start.row,Ee.start.column=Re.start.column}xe.fromOrientedRange(xe.ranges[0])},this.selectMore=function(be,Ae,we){var xe,Se=this.session,ke=Se.multiSelect.toOrientedRange();ke.isEmpty()&&((ke=Se.getWordRange(ke.start.row,ke.start.column)).cursor=-1==be?ke.start:ke.end,this.multiSelect.addRange(ke),we)||(we=Se.getTextRange(ke),xe=be,$e.$options.wrap=!0,$e.$options.needle=we,$e.$options.backwards=-1==xe,(we=$e.find(Se))&&(we.cursor=-1==be?we.start:we.end,this.session.unfold(we),this.multiSelect.addRange(we),this.renderer.scrollCursorIntoView(null,.5)),Ae&&this.multiSelect.substractPoint(ke.cursor))},this.alignCursors=function(){var be=this.session,Ae=be.multiSelect,we=Ae.ranges,xe=-1,ke=we.filter((function(be){if(be.cursor.row==xe)return!0;xe=be.cursor.row}));if(we.length&&ke.length!=we.length-1){ke.forEach((function(be){Ae.substractPoint(be.cursor)}));var Te=0,Ee=1/0,_e=we.map((function(Ae){Ae=Ae.cursor;var we=be.getLine(Ae.row).substr(Ae.column).search(/\S/g);return Ae.column>Te&&(Te=Ae.column),(we=-1==we?0:we)<Ee&&(Ee=we),we}));we.forEach((function(Ae,we){var xe=Ae.cursor,ke=Te-xe.column;(we=_e[we]-Ee)<ke?be.insert(xe,Re.stringRepeat(" ",ke-we)):be.remove(new Se(xe.row,xe.column,xe.row,xe.column-ke+we)),Ae.start.column=Ae.end.column=Te,Ae.start.row=Ae.end.row=xe.row,Ae.cursor=Ae.end})),Ae.fromOrientedRange(we[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var $e=(ke=this.selection.getRange()).start.row,Le=ke.end.row;if(we=$e==Le){for(var Ne,Me=this.session.getLength();Ne=this.session.getLine(Le),/[=:]/.test(Ne)&&++Le<Me;);for(;Ne=this.session.getLine($e),/[=:]/.test(Ne)&&0<--$e;);$e<0&&($e=0),Me<=Le&&(Le=Me-1)}var Be=this.session.removeFullLines($e,Le);Be=this.$reAlignText(Be,we),this.session.insert({row:$e,column:0},Be.join("\n")+"\n"),we||(ke.start.column=0,ke.end.column=Be[Be.length-1].length),this.selection.setRange(ke)}},this.$reAlignText=function(be,Ae){var we,xe,Se,ke=!0,Te=!0;return be.map((function(be){var Ae=be.match(/(\s*)(.*?)(\s*)([=:].*)/);return Ae?(null==we?(we=Ae[1].length,xe=Ae[2].length,Se=Ae[3].length):(we+xe+Se!=Ae[1].length+Ae[2].length+Ae[3].length&&(Te=!1),we!=Ae[1].length&&(ke=!1),we>Ae[1].length&&(we=Ae[1].length),xe<Ae[2].length&&(xe=Ae[2].length),Se>Ae[3].length&&(Se=Ae[3].length)),Ae):[be]})).map(Ae?l:ke?Te?function(be){return be[2]?a(we+xe-be[2].length)+be[2]+a(Se)+be[4].replace(/^([=:])\s+/,"$1 "):be[0]}:l:function(be){return be[2]?a(we)+be[2]+a(Se)+be[4].replace(/^([=:])\s+/,"$1 "):be[0]});function a(be){return Re.stringRepeat(" ",be)}function l(be){return be[2]?a(we)+be[2]+a(xe-be[2].length+Se)+be[4].replace(/^([=:])\s+/,"$1 "):be[0]}}}.call(Le.prototype),Ae.onSessionChange=function(be){var Ae=be.session;Ae&&!Ae.multiSelect&&(Ae.$selectionMarkers=[],Ae.selection.$initRangeList(),Ae.multiSelect=Ae.selection),this.multiSelect=Ae&&Ae.multiSelect,(be=be.oldSession)&&(be.multiSelect.off("addRange",this.$onAddRange),be.multiSelect.off("removeRange",this.$onRemoveRange),be.multiSelect.off("multiSelect",this.$onMultiSelect),be.multiSelect.off("singleSelect",this.$onSingleSelect),be.multiSelect.lead.off("change",this.$checkMultiselectChange),be.multiSelect.anchor.off("change",this.$checkMultiselectChange)),Ae&&(Ae.multiSelect.on("addRange",this.$onAddRange),Ae.multiSelect.on("removeRange",this.$onRemoveRange),Ae.multiSelect.on("multiSelect",this.$onMultiSelect),Ae.multiSelect.on("singleSelect",this.$onSingleSelect),Ae.multiSelect.lead.on("change",this.$checkMultiselectChange),Ae.multiSelect.anchor.on("change",this.$checkMultiselectChange)),Ae&&this.inMultiSelectMode!=Ae.selection.inMultiSelectMode&&(Ae.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},Ae.MultiSelect=c,be("./config").defineOptions(Le.prototype,"editor",{enableMultiselect:{set:function(be){c(this),be?this.on("mousedown",Te):this.off("mousedown",Te)},value:!0},enableBlockSelect:{set:function(be){this.$blockSelectEnabled=be},value:!0}})})),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],(function(be,Ae,we){var xe=be("../../range").Range;be=Ae.FoldMode=function(){},function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(be,Ae,we){return be=be.getLine(we),this.foldingStartMarker.test(be)?"start":"markbeginend"==Ae&&this.foldingStopMarker&&this.foldingStopMarker.test(be)?"end":""},this.getFoldWidgetRange=function(be,Ae,we){return null},this.indentationBlock=function(be,Ae,we){var Se=/\S/,ke=(Re=be.getLine(Ae)).search(Se);if(-1!=ke){we=we||Re.length;for(var Te,Ee=be.getLength(),Re=Ae,_e=Ae;++Ae<Ee;){var $e=be.getLine(Ae).search(Se);if(-1!=$e){if($e<=ke&&(!($e=be.getTokenAt(Ae,0))||"string"!==$e.type))break;_e=Ae}}return Re<_e?(Te=be.getLine(_e).length,new xe(Re,we,_e,Te)):void 0}},this.openingBracketBlock=function(be,Ae,we,Se,ke){if(we={row:we,column:Se+1},Se=be.$findClosingBracket(Ae,we,ke))return"start"==(Ae=null==(Ae=be.foldWidgets[Se.row])?be.getFoldWidget(Se.row):Ae)&&Se.row>we.row&&(Se.row--,Se.column=be.getLine(Se.row).length),xe.fromPoints(we,Se)},this.closingBracketBlock=function(be,Ae,we,Se,ke){if(we={row:we,column:Se},Se=be.$findOpeningBracket(Ae,we))return Se.column++,we.column--,xe.fromPoints(Se,we)}}.call(be.prototype)})),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],(function(be,Ae,we){var xe=be("../line_widgets").LineWidgets,Se=be("../lib/dom"),ke=be("../range").Range,Te=be("../config").nls;function u(be,Ae,we){var xe=be.getAnnotations().sort(ke.comparePoints);if(xe.length){var Se=function(be,Ae,we){for(var xe=0,Se=be.length-1;xe<=Se;){var ke=xe+Se>>1,Te=we(Ae,be[ke]);if(0<Te)xe=1+ke;else{if(!(Te<0))return ke;Se=ke-1}}return-(xe+1)}(xe,{row:Ae,column:-1},ke.comparePoints),Te=((Se=Se<0?-Se-1:Se)>=xe.length?Se=0<we?0:xe.length-1:0===Se&&we<0&&(Se=xe.length-1),xe[Se]);if(Te&&we){if(Te.row===Ae){for(;(Te=xe[Se+=we])&&Te.row===Ae;);if(!Te)return xe.slice()}var Ee=[];for(Ae=Te.row;Ee[we<0?"unshift":"push"](Te),(Te=xe[Se+=we])&&Te.row==Ae;);return Ee.length&&Ee}}}Ae.showErrorMarker=function(be,Ae){var we,ke=be.session,Ee=(ke.widgetManager||(ke.widgetManager=new xe(ke),ke.widgetManager.attach(be)),be.getCursorPosition()),Re=Ee.row,_e=ke.widgetManager.getWidgetsAtRow(Re).filter((function(be){return"errorMarker"==be.type}))[0];if(_e?_e.destroy():Re-=Ae,Re=u(ke,Re,Ae))Ae=Re[0],Ee.column=(Ae.pos&&"number"!=typeof Ae.column?Ae.pos.sc:Ae.column)||0,Ee.row=Ae.row,we=be.renderer.$gutterLayer.$annotations[Ee.row];else{if(_e)return;we={text:[Te("error-marker.good-state","Looks good!")],className:"ace_ok"}}function a(be,Ae,we){if(0===Ae&&("esc"===we||"return"===we))return $e.destroy(),{command:"null"}}be.session.unfold(Ee.row),be.selection.moveToPosition(Ee);var $e={row:Ee.row,fixedWidth:!0,coverGutter:!0,el:Se.createElement("div"),type:"errorMarker"};Re=$e.el.appendChild(Se.createElement("div")),(Ae=$e.el.appendChild(Se.createElement("div"))).className="error_widget_arrow "+we.className,_e=be.renderer.$cursorLayer.getPixelPosition(Ee).left,Ae.style.left=_e+be.renderer.gutterWidth-5+"px",$e.el.className="error_widget_wrapper",Re.className="error_widget "+we.className,Re.innerHTML=we.text.join("<br>"),Re.appendChild(Se.createElement("div")),$e.destroy=function(){be.$mouseHandler.isMousePressed||(be.keyBinding.removeKeyboardHandler(a),ke.widgetManager.removeLineWidget($e),be.off("changeSelection",$e.destroy),be.off("changeSession",$e.destroy),be.off("mouseup",$e.destroy),be.off("change",$e.destroy))},be.keyBinding.addKeyboardHandler(a),be.on("changeSelection",$e.destroy),be.on("changeSession",$e.destroy),be.on("mouseup",$e.destroy),be.on("change",$e.destroy),be.session.widgetManager.addLineWidget($e),$e.el.onmousedown=be.focus.bind(be),be.renderer.scrollCursorIntoView(null,.5,{bottom:$e.el.offsetHeight})},Se.importCssString("\n .error_widget_wrapper {\n background: inherit;\n color: inherit;\n border:none\n }\n .error_widget {\n border-top: solid 2px;\n border-bottom: solid 2px;\n margin: 5px 0;\n padding: 10px 40px;\n white-space: pre-wrap;\n }\n .error_widget.ace_error, .error_widget_arrow.ace_error{\n border-color: #ff5a5a\n }\n .error_widget.ace_warning, .error_widget_arrow.ace_warning{\n border-color: #F1D817\n }\n .error_widget.ace_info, .error_widget_arrow.ace_info{\n border-color: #5a5a5a\n }\n .error_widget.ace_ok, .error_widget_arrow.ace_ok{\n border-color: #5aaa5a\n }\n .error_widget_arrow {\n position: absolute;\n border: solid 5px;\n border-top-color: transparent!important;\n border-right-color: transparent!important;\n border-left-color: transparent!important;\n top: -5px;\n }\n","error_marker.css",!1)})),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],(function(be,Ae,we){be("./loader_build")(Ae);var xe=be("./lib/dom"),Se=be("./range").Range,ke=be("./editor").Editor,Te=be("./edit_session").EditSession,Ee=be("./undomanager").UndoManager,Re=be("./virtual_renderer").VirtualRenderer;be("./worker/worker_client"),be("./keyboard/hash_handler"),be("./placeholder"),be("./multi_select"),be("./mode/folding/fold_mode"),be("./theme/textmate"),be("./ext/error_marker"),Ae.config=be("./config"),Ae.edit=function(be,we){if("string"==typeof be){var Se=be;if(!(be=document.getElementById(Se)))throw new Error("ace.edit can't find div #"+Se)}var Te,Ee;return be&&be.env&&be.env.editor instanceof ke?be.env.editor:(Se="",be&&/input|textarea/i.test(be.tagName)?(Se=(Te=be).value,be=xe.createElement("pre"),Te.parentNode.replaceChild(be,Te)):be&&(Se=be.textContent,be.innerHTML=""),Se=Ae.createEditSession(Se),be=new ke(new Re(be),Se,we),Ee={document:Se,editor:be,onResize:be.resize.bind(be,null)},Te&&(Ee.textarea=Te),be.on("destroy",(function(){Ee.editor.container.env=null})),be.container.env=be.env=Ee,be)},Ae.createEditSession=function(be,Ae){return(be=new Te(be,Ae)).setUndoManager(new Ee),be},Ae.Range=Se,Ae.Editor=ke,Ae.EditSession=Te,Ae.UndoManager=Ee,Ae.VirtualRenderer=Re,Ae.version=Ae.config.version})),ace.require(["ace/ace"],(function(Ae){Ae&&(Ae.config.init(!0),Ae.define=ace.define);var we,xe=function(){return this}();for(we in(xe=(xe=xe||"undefined"==typeof window?xe:window)||"undefined"==typeof self?xe:self).ace||(xe.ace=Ae),Ae)Ae.hasOwnProperty(we)&&(xe.ace[we]=Ae[we]);xe.ace.default=xe.ace,be&&(be.exports=xe.ace)}))},6489:function(be,Ae,we){be=we.nmd(be),ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],(function(be,Ae,we){var xe=be("./lib/dom"),Se=be("./lib/oop"),ke=be("./lib/event_emitter").EventEmitter,Te=be("./lib/lang"),Ee=be("./range").Range,Re=be("./range_list").RangeList,_e=be("./keyboard/hash_handler").HashHandler,$e=be("./tokenizer").Tokenizer,Le=be("./clipboard"),Ne={CURRENT_WORD:function(be){return be.session.getTextRange(be.session.getWordRange())},SELECTION:function(be,Ae,we){return be=be.session.getTextRange(),we?be.replace(/\n\r?([ \t]*\S)/g,"\n"+we+"$1"):be},CURRENT_LINE:function(be){return be.session.getLine(be.getCursorPosition().row)},PREV_LINE:function(be){return be.session.getLine(be.getCursorPosition().row-1)},LINE_INDEX:function(be){return be.getCursorPosition().row},LINE_NUMBER:function(be){return be.getCursorPosition().row+1},SOFT_TABS:function(be){return be.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(be){return be.session.getTabSize()},CLIPBOARD:function(be){return Le.getText&&Le.getText()},FILENAME:function(be){return/[^/\\]*$/.exec(this.FILEPATH(be))[0]},FILENAME_BASE:function(be){return/[^/\\]*$/.exec(this.FILEPATH(be))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(be){return this.FILEPATH(be).replace(/[^/\\]*$/,"")},FILEPATH:function(be){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(be){return(be=be.session.$mode||{}).blockComment&&be.blockComment.start||""},BLOCK_COMMENT_END:function(be){return(be=be.session.$mode||{}).blockComment&&be.blockComment.end||""},LINE_COMMENT:function(be){return(be.session.$mode||{}).lineCommentStart||""},CURRENT_YEAR:g.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:g.bind(null,{year:"2-digit"}),CURRENT_MONTH:g.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:g.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:g.bind(null,{month:"short"}),CURRENT_DATE:g.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:g.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:g.bind(null,{weekday:"short"}),CURRENT_HOUR:g.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:g.bind(null,{minute:"2-digit"}),CURRENT_SECOND:g.bind(null,{second:"2-digit"})};function g(be){return 1==(be=(new Date).toLocaleString("en-us",be)).length?"0"+be:be}Ne.SELECTED_TEXT=Ne.SELECTION,m.prototype.getTokenizer=function(){return m.$tokenizer||this.createTokenizer()},m.prototype.createTokenizer=function(){function i(be){return be=be.substr(1),/^\d+$/.test(be)?[{tabstopId:parseInt(be,10)}]:[{text:be}]}function e(be){return"(?:[^\\\\"+be+"]|\\\\.)"}var be={regex:"/("+e("/")+"+)/",onMatch:function(be,Ae,we){return(we=we[0]).fmtString=!0,we.guard=be.slice(1,-1),we.flag=""},next:"formatString"};return m.$tokenizer=new $e({start:[{regex:/\\./,onMatch:function(be,Ae,we){var xe=be[1];return[be="}"==xe&&we.length||-1!="`$\\".indexOf(xe)?xe:be]}},{regex:/}/,onMatch:function(be,Ae,we){return[we.length?we.shift():be]}},{regex:/\$(?:\d+|\w+)/,onMatch:i},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(be,Ae,we){return be=i(be.substr(1)),we.unshift(be[0]),be},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+e("\\|")+"*\\|",onMatch:function(be,Ae,we){return be=be.slice(1,-1).replace(/\\[,|\\]|,/g,(function(be){return 2==be.length?be[1]:"\0"})).split("\0").map((function(be){return{value:be}})),[(we[0].choices=be)[0]]},next:"start"},be,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(be,Ae,we){return we.length&&we[0].expectElse?(we[0].expectElse=!1,we[0].ifEnd={elseEnd:we[0]},[we[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(be,Ae,we){var xe=be[1];return"}"==xe&&we.length||-1!="`$\\".indexOf(xe)?be=xe:"n"==xe?be="\n":"t"==xe?be="\t":-1!="ulULE".indexOf(xe)&&(be={changeCase:xe,local:"a"<xe}),[be]}},{regex:"/\\w*}",onMatch:function(be,Ae,we){return(we=we.shift())&&(we.flag=be.slice(1,-1)),this.next=we&&we.tabstopId?"start":"",[we||be]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(be,Ae,we){return[{text:be.slice(1)}]}},{regex:/\${\w+/,onMatch:function(be,Ae,we){return be={text:be.slice(2)},we.unshift(be),[be]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(be,Ae,we){return we=we.shift(),this.next=we&&we.tabstopId?"start":"",[we||be]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(be,Ae,we){return we[0].formatFunction=be.slice(2,-1),[we.shift()]},next:"formatString"},be,{regex:/:[\?\-+]?/,onMatch:function(be,Ae,we){"+"==be[1]&&(we[0].ifEnd=we[0]),"?"==be[1]&&(we[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]})},m.prototype.tokenizeTmSnippet=function(be,Ae){return this.getTokenizer().getLineTokens(be,Ae).tokens.map((function(be){return be.value||be}))},m.prototype.getVariableValue=function(be,Ae,we){var xe;return/^\d+$/.test(Ae)?(this.variables.__||{})[Ae]||"":/^[A-Z]\d+$/.test(Ae)?(this.variables[Ae[0]+"__"]||{})[Ae.substr(1)]||"":(Ae=Ae.replace(/^TM_/,""),this.variables.hasOwnProperty(Ae)&&null!=(xe="function"==typeof(xe=this.variables[Ae])?this.variables[Ae](be,Ae,we):xe)?xe:"")},m.prototype.tmStrFormat=function(be,Ae,we){var xe,Se,ke,Te;return Ae.fmt?(xe=Ae.flag||"",Se=Ae.guard,Se=new RegExp(Se,xe.replace(/[^gim]/g,"")),ke="string"==typeof Ae.fmt?this.tokenizeTmSnippet(Ae.fmt,"formatString"):Ae.fmt,Te=this,be.replace(Se,(function(){for(var be=Te.variables.__,Ae=(Te.variables.__=[].slice.call(arguments),Te.resolveVariables(ke,we)),xe="E",Se=0;Se<Ae.length;Se++){var Ee,Re=Ae[Se];"object"==typeof Re?(Ae[Se]="",Re.changeCase&&Re.local?(Ee=Ae[Se+1])&&"string"==typeof Ee&&("u"==Re.changeCase?Ae[Se]=Ee[0].toUpperCase():Ae[Se]=Ee[0].toLowerCase(),Ae[Se+1]=Ee.substr(1)):Re.changeCase&&(xe=Re.changeCase)):"U"==xe?Ae[Se]=Re.toUpperCase():"L"==xe&&(Ae[Se]=Re.toLowerCase())}return Te.variables.__=be,Ae.join("")}))):be},m.prototype.tmFormatFunction=function(be,Ae,we){return"upcase"==Ae.formatFunction?be.toUpperCase():"downcase"==Ae.formatFunction?be.toLowerCase():be},m.prototype.resolveVariables=function(be,Ae){for(var we=[],xe="",Se=!0,ke=0;ke<be.length;ke++){var Te,Ee=be[ke];"string"==typeof Ee?(we.push(Ee),"\n"==Ee?(Se=!0,xe=""):Se&&(xe=/^\t*/.exec(Ee)[0],Se=/\S/.test(Ee))):Ee&&(Se=!1,Ee.fmtString&&(-1==(Te=be.indexOf(Ee,ke+1))&&(Te=be.length),Ee.fmt=be.slice(ke+1,Te),ke=Te),Ee.text?(Te=this.getVariableValue(Ae,Ee.text,xe)+"",Ee.fmtString&&(Te=this.tmStrFormat(Te,Ee,Ae)),(Te=Ee.formatFunction?this.tmFormatFunction(Te,Ee,Ae):Te)&&!Ee.ifEnd?(we.push(Te),l(Ee)):!Te&&Ee.ifEnd&&l(Ee.ifEnd)):Ee.elseEnd?l(Ee.elseEnd):null==Ee.tabstopId&&null==Ee.changeCase||we.push(Ee))}function l(Ae){-1!=(Ae=be.indexOf(Ae,ke+1))&&(ke=Ae)}return we},m.prototype.getDisplayTextForSnippet=function(be,Ae){return f.call(this,be,Ae).text},m.prototype.insertSnippetForSelection=function(be,Ae,we){Ae=f.call(this,be,Ae,we=void 0===we?{}:we),we=be.getSelectionRange();var xe=be.session.replace(we,Ae.text),Se=new Be(be);be=be.inVirtualSelectionMode&&be.selection.index,Se.addTabstops(Ae.tabstops,we.start,xe,be)},m.prototype.insertSnippet=function(be,Ae,we){void 0===we&&(we={});var xe=this;if(be.inVirtualSelectionMode)return xe.insertSnippetForSelection(be,Ae,we);be.forEachSelection((function(){xe.insertSnippetForSelection(be,Ae,we)}),null,{keepOrder:!0}),be.tabstopManager&&be.tabstopManager.tabNext()},m.prototype.$getScope=function(be){var Ae,we=be.session.$mode.$id||"";return"html"!==(we=we.split("/").pop())&&"php"!==we||("php"!==we||be.session.$mode.inlinePhp||(we="html"),Ae=be.getCursorPosition(),(be="object"==typeof(be=be.session.getState(Ae.row))?be[0]:be).substring&&("js-"==be.substring(0,3)?we="javascript":"css-"==be.substring(0,4)?we="css":"php-"==be.substring(0,4)&&(we="php"))),we},m.prototype.getActiveScopes=function(be){var Ae=[be=this.$getScope(be)],we=this.snippetMap;return we[be]&&we[be].includeScopes&&Ae.push.apply(Ae,we[be].includeScopes),Ae.push("_"),Ae},m.prototype.expandWithTab=function(be,Ae){var we=this,xe=be.forEachSelection((function(){return we.expandSnippetForSelection(be,Ae)}),null,{keepOrder:!0});return xe&&be.tabstopManager&&be.tabstopManager.tabNext(),xe},m.prototype.expandSnippetForSelection=function(be,Ae){var we,xe=be.getCursorPosition(),Se=be.session.getLine(xe.row),ke=Se.substring(0,xe.column),Te=Se.substr(xe.column),Ee=this.snippetMap;return this.getActiveScopes(be).some((function(be){return be=Ee[be],!!(we=be?this.findMatchingSnippet(be,ke,Te):we)}),this),!!we&&(Ae&&Ae.dryRun||(be.session.doc.removeInLine(xe.row,xe.column-we.replaceBefore.length,xe.column+we.replaceAfter.length),this.variables.M__=we.matchBefore,this.variables.T__=we.matchAfter,this.insertSnippetForSelection(be,we.content),this.variables.M__=this.variables.T__=null),!0)},m.prototype.findMatchingSnippet=function(be,Ae,we){for(var xe=be.length;xe--;){var Se=be[xe];if((!Se.startRe||Se.startRe.test(Ae))&&(!Se.endRe||Se.endRe.test(we))&&(Se.startRe||Se.endRe))return Se.matchBefore=Se.startRe?Se.startRe.exec(Ae):[""],Se.matchAfter=Se.endRe?Se.endRe.exec(we):[""],Se.replaceBefore=Se.triggerRe?Se.triggerRe.exec(Ae)[0]:"",Se.replaceAfter=Se.endTriggerRe?Se.endTriggerRe.exec(we)[0]:"",Se}},m.prototype.register=function(be,Ae){var we=this.snippetMap,xe=this.snippetNameMap,Se=this;function a(be){return(be=be&&!/^\^?\(.*\)\$?$|^\\b$/.test(be)?"(?:"+be+")":be)||""}function l(be,Ae,we){return be=a(be),Ae=a(Ae),we?(be=Ae+be)&&"$"!=be[be.length-1]&&(be+="$"):(be+=Ae)&&"^"!=be[0]&&(be="^"+be),new RegExp(be)}function n(be){be.scope||(be.scope=Ae||"_"),Ae=be.scope,we[Ae]||(we[Ae]=[],xe[Ae]={});var ke,Ee=xe[Ae];be.name&&((ke=Ee[be.name])&&Se.unregister(ke),Ee[be.name]=be),we[Ae].push(be),be.prefix&&(be.tabTrigger=be.prefix),!be.content&&be.body&&(be.content=Array.isArray(be.body)?be.body.join("\n"):be.body),be.tabTrigger&&!be.trigger&&(!be.guard&&/^\w/.test(be.tabTrigger)&&(be.guard="\\b"),be.trigger=Te.escapeRegExp(be.tabTrigger)),(be.trigger||be.guard||be.endTrigger||be.endGuard)&&(be.startRe=l(be.trigger,be.guard,!0),be.triggerRe=new RegExp(be.trigger),be.endRe=l(be.endTrigger,be.endGuard,!0),be.endTriggerRe=new RegExp(be.endTrigger))}be=be||[],Array.isArray(be)?be.forEach(n):Object.keys(be).forEach((function(Ae){n(be[Ae])})),this._signal("registerSnippets",{scope:Ae})},m.prototype.unregister=function(be,Ae){var we=this.snippetMap,xe=this.snippetNameMap;function t(be){var Se=xe[be.scope||Ae];Se&&Se[be.name]&&(delete Se[be.name],0<=(be=(Se=we[be.scope||Ae])&&Se.indexOf(be)))&&Se.splice(be,1)}be.content?t(be):Array.isArray(be)&&be.forEach(t)},m.prototype.parseSnippetFile=function(be){be=be.replace(/\r/g,"");for(var Ae,we,xe,Se=[],ke={},Te=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;we=Te.exec(be);){if(we[1])try{ke=JSON.parse(we[1]),Se.push(ke)}catch(be){}we[4]?(ke.content=we[4].replace(/^\t/gm,""),Se.push(ke),ke={}):(Ae=we[2],we=we[3],"regex"==Ae?(ke.guard=(xe=/\/((?:[^\/\\]|\\.)*)|$/g).exec(we)[1],ke.trigger=xe.exec(we)[1],ke.endTrigger=xe.exec(we)[1],ke.endGuard=xe.exec(we)[1]):"snippet"==Ae?(ke.tabTrigger=we.match(/^\S*/)[0],ke.name||(ke.name=we)):Ae&&(ke[Ae]=we))}return Se},m.prototype.getSnippetByName=function(be,Ae){var we,xe=this.snippetNameMap;return this.getActiveScopes(Ae).some((function(Ae){return Ae=xe[Ae],!!(we=Ae?Ae[be]:we)}),this),we};var Me=m;function m(){this.snippetMap={},this.snippetNameMap={},this.variables=Ne}Se.implement(Me.prototype,ke);var f=function(be,Ae,we){void 0===we&&(we={});for(var xe=be.getCursorPosition(),Se=be.session.getLine(xe.row),ke=be.session.getTabString(),Te=Se.match(/^\s*/)[0],Ee=(xe.column<Te.length&&(Te=Te.slice(0,xe.column)),Ae=Ae.replace(/\r/g,""),this.tokenizeTmSnippet(Ae)),Re=(Ee=(Ee=this.resolveVariables(Ee,be)).map((function(be){return"\n"!=be||we.excludeExtraIndent?"string"==typeof be?be.replace(/\t/g,ke):be:be+Te})),[]),_e=(Ee.forEach((function(be,Ae){var we,xe,Se;"object"==typeof be&&(Se=be.tabstopId,(we=Re[Se])||((we=Re[Se]=[]).index=Se,we.value="",we.parents={}),-1===we.indexOf(be))&&(be.choices&&!we.choices&&(we.choices=be.choices),we.push(be),-1!==(xe=Ee.indexOf(be,Ae+1)))&&((Se=Ee.slice(Ae+1,xe)).some((function(be){return"object"==typeof be}))&&!we.value?we.value=Se:!Se.length||we.value&&"string"==typeof we.value||(we.value=Se.join("")))})),Re.forEach((function(be){be.length=0})),{}),$e=0;$e<Ee.length;$e++){var Le,Ne,Me,Be=Ee[$e];"object"==typeof Be&&(Me=Be.tabstopId,Le=Re[Me],Ne=Ee.indexOf(Be,$e+1),_e[Me]?_e[Me]===Be&&(delete _e[Me],Object.keys(_e).forEach((function(be){Le.parents[be]=!0}))):(_e[Me]=Be,"string"!=typeof(Me=Le.value)?Me=function(be){for(var Ae=[],we=0;we<be.length;we++){if("object"==typeof(xe=be[we])){if(_e[xe.tabstopId])continue;var xe=Ae[be.lastIndexOf(xe,we-1)]||{tabstopId:xe.tabstopId}}Ae[we]=xe}return Ae}(Me):Be.fmt&&(Me=this.tmStrFormat(Me,Be,be)),Ee.splice.apply(Ee,[$e+1,Math.max(0,Ne-$e)].concat(Me,Be)),-1===Le.indexOf(Be)&&Le.push(Be)))}var We=0,Pe=0,He="";return Ee.forEach((function(be){var Ae;"string"==typeof be?(1<(Ae=be.split("\n")).length?(Pe=Ae[Ae.length-1].length,We+=Ae.length-1):Pe+=be.length,He+=be):be&&(be.start?be.end={row:We,column:Pe}:be.start={row:We,column:Pe})})),{text:He,tabstops:Re,tokens:Ee}},Be=(y.prototype.attach=function(be){this.$openTabstops=null,this.selectedTabstop=null,this.editor=be,this.session=be.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},y.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},y.prototype.onChange=function(be){for(var Ae="r"==be.action[0],we=this.selectedTabstop||{},xe=we.parents||{},Se=this.tabstops.slice(),ke=0;ke<Se.length;ke++){var Te=Se[ke],Ee=Te==we||xe[Te.index];if(Te.rangeList.$bias=Ee?0:1,"remove"==be.action&&Te!==we){Ee=Te.parents&&Te.parents[we.index];for(var Re=(Re=Te.rangeList.pointIndex(be.start,Ee))<0?-Re-1:Re+1,_e=(Ee=Te.rangeList.pointIndex(be.end,Ee),Te.rangeList.ranges.slice(Re,Ee<0?-Ee-1:Ee-1)),$e=0;$e<_e.length;$e++)this.removeRange(_e[$e])}Te.rangeList.$onChange(be)}var Le=this.session;this.$inChange||!Ae||1!=Le.getLength()||Le.getValue()||this.detach()},y.prototype.updateLinkedFields=function(){var be=this.selectedTabstop;if(be&&be.hasLinkedRanges&&be.firstNonLinked){this.$inChange=!0;for(var we=this.session,xe=we.getTextRange(be.firstNonLinked),Se=0;Se<be.length;Se++){var ke,Te=be[Se];Te.linked&&(ke=Te.original,ke=Ae.snippetManager.tmStrFormat(xe,ke,this.editor),we.replace(Te,ke))}this.$inChange=!1}},y.prototype.onAfterExec=function(be){be.command&&!be.command.readOnly&&this.updateLinkedFields()},y.prototype.onChangeSelection=function(){if(this.editor){for(var be=this.editor.selection.lead,Ae=this.editor.selection.anchor,we=this.editor.selection.isEmpty(),xe=0;xe<this.ranges.length;xe++)if(!this.ranges[xe].linked){var Se=this.ranges[xe].contains(be.row,be.column),ke=we||this.ranges[xe].contains(Ae.row,Ae.column);if(Se&&ke)return}this.detach()}},y.prototype.onChangeSession=function(){this.detach()},y.prototype.tabNext=function(be){var Ae=this.tabstops.length;be=this.index+(be||1),be=Math.min(Math.max(be,1),Ae),this.selectTabstop(be=be==Ae?0:be),this.updateTabstopMarkers(),0===be&&this.detach()},y.prototype.selectTabstop=function(be){this.$openTabstops=null;var Ae=this.tabstops[this.index];if(Ae&&this.addTabstopMarkers(Ae),this.index=be,(Ae=this.tabstops[this.index])&&Ae.length){if(be=(this.selectedTabstop=Ae).firstNonLinked||Ae,Ae.choices&&(be.cursor=be.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(be);else{var we=this.editor.multiSelect;we.toSingleRange(be);for(var xe=0;xe<Ae.length;xe++)Ae.hasLinkedRanges&&Ae[xe].linked||we.addRange(Ae[xe].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},y.prototype.addTabstops=function(be,Ae,we){var xe=this.useLink||!this.editor.getOption("enableMultiselect");this.$openTabstops||(this.$openTabstops=[]),be[0]||(we=Ee.fromPoints(we,we),I(we.start,Ae),I(we.end,Ae),be[0]=[we],be[0].index=0);var Se=[this.index+1,0],ke=this.ranges,Te=this.snippetId=(this.snippetId||0)+1;be.forEach((function(be,we){var _e=this.$openTabstops[we]||be;_e.snippetId=Te;for(var $e=0;$e<be.length;$e++){var Le=be[$e],Ne=Ee.fromPoints(Le.start,Le.end||Le.start);v(Ne.start,Ae),v(Ne.end,Ae),Ne.original=Le,Ne.tabstop=_e,ke.push(Ne),_e!=be?_e.unshift(Ne):_e[$e]=Ne,Le.fmtString||_e.firstNonLinked&&xe?(Ne.linked=!0,_e.hasLinkedRanges=!0):_e.firstNonLinked||(_e.firstNonLinked=Ne)}_e.firstNonLinked||(_e.hasLinkedRanges=!1),_e===be&&(Se.push(_e),this.$openTabstops[we]=_e),this.addTabstopMarkers(_e),_e.rangeList=_e.rangeList||new Re,_e.rangeList.$bias=0,_e.rangeList.addList(_e)}),this),2<Se.length&&(this.tabstops.length&&Se.push(Se.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,Se))},y.prototype.addTabstopMarkers=function(be){var Ae=this.session;be.forEach((function(be){be.markerId||(be.markerId=Ae.addMarker(be,"ace_snippet-marker","text"))}))},y.prototype.removeTabstopMarkers=function(be){var Ae=this.session;be.forEach((function(be){Ae.removeMarker(be.markerId),be.markerId=null}))},y.prototype.updateTabstopMarkers=function(){var be;this.selectedTabstop&&(be=this.selectedTabstop.snippetId,0===this.selectedTabstop.index&&be--,this.tabstops.forEach((function(Ae){Ae.snippetId===be?this.addTabstopMarkers(Ae):this.removeTabstopMarkers(Ae)}),this))},y.prototype.removeRange=function(be){var Ae=be.tabstop.indexOf(be);-1!=Ae&&be.tabstop.splice(Ae,1),-1!=(Ae=this.ranges.indexOf(be))&&this.ranges.splice(Ae,1),-1!=(Ae=be.tabstop.rangeList.ranges.indexOf(be))&&be.tabstop.splice(Ae,1),this.session.removeMarker(be.markerId),be.tabstop.length||(-1!=(Ae=this.tabstops.indexOf(be.tabstop))&&this.tabstops.splice(Ae,1),this.tabstops.length)||this.detach()},y);function y(be){if(this.index=0,this.ranges=[],this.tabstops=[],be.tabstopManager)return be.tabstopManager;(be.tabstopManager=this).$onChange=this.onChange.bind(this),this.$onChangeSelection=Te.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(be)}Be.prototype.keyboardHandler=new _e,Be.prototype.keyboardHandler.bindKeys({Tab:function(be){Ae.snippetManager&&Ae.snippetManager.expandWithTab(be)||(be.tabstopManager.tabNext(1),be.renderer.scrollCursorIntoView())},"Shift-Tab":function(be){be.tabstopManager.tabNext(-1),be.renderer.scrollCursorIntoView()},Esc:function(be){be.tabstopManager.detach()}});var v=function(be,Ae){0==be.row&&(be.column+=Ae.column),be.row+=Ae.row},I=function(be,Ae){be.row==Ae.row&&(be.column-=Ae.column),be.row-=Ae.row};xe.importCssString("\n.ace_snippet-marker {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(194, 193, 208, 0.09);\n border: 1px dotted rgba(211, 208, 235, 0.62);\n position: absolute;\n}","snippets.css",!1),Ae.snippetManager=new Me,Se=be("./editor").Editor,function(){this.insertSnippet=function(be,we){return Ae.snippetManager.insertSnippet(this,be,we)},this.expandSnippet=function(be){return Ae.snippetManager.expandWithTab(this,be)}}.call(Se.prototype)})),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],(function(be,Ae,we){function a(be){return"suggest-aria-id:".concat(be)}function l(be){return(be=new xe(be)).$maxLines=4,(be=new Se(be)).setHighlightActiveLine(!1),be.setShowPrintMargin(!1),be.renderer.setShowGutter(!1),be.renderer.setHighlightGutterLine(!1),be.$mouseHandler.$focusTimeout=0,be.$highlightTagPending=!0,be}function i(be){function t(){}function n(){Be(-1)}var Ae,we=Re.createElement("div"),xe=l(we),Se=(be&&be.appendChild(we),we.style.display="none",xe.renderer.content.style.cursor="default",xe.renderer.setStyle("ace_autocomplete"),xe.renderer.$textLayer.element.setAttribute("role",$e),xe.renderer.$textLayer.element.setAttribute("aria-roledescription",_e("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),xe.renderer.$textLayer.element.setAttribute("aria-label",_e("autocomplete.popup.aria-label","Autocomplete suggestions")),xe.renderer.textarea.setAttribute("aria-hidden","true"),xe.setOption("displayIndentGuides",!1),xe.setOption("dragDelay",150),xe.focus=t,xe.$isFocused=!0,xe.renderer.$cursorLayer.restartTimer=t,xe.renderer.$cursorLayer.element.style.opacity="0",xe.renderer.$maxLines=8,xe.renderer.$keepTextAreaAtCursor=!1,xe.setHighlightActiveLine(!1),xe.session.highlight(""),xe.session.$searchHighlight.clazz="ace_highlight-marker",xe.on("mousedown",(function(be){var Ae=be.getDocumentPosition();xe.selection.moveToPosition(Ae),Me.start.row=Me.end.row=Ae.row,be.stop()})),new ke(-1,0,-1,1/0)),Me=new ke(-1,0,-1,1/0),Be=(Me.id=xe.session.addMarker(Me,"ace_active-line","fullLine"),xe.setSelectOnHover=function(be){be?Se.id&&(xe.session.removeMarker(Se.id),Se.id=null):Se.id=xe.session.addMarker(Se,"ace_line-hover","fullLine")},xe.setSelectOnHover(!1),xe.on("mousemove",(function(be){var we;Ae?Ae.x==be.x&&Ae.y==be.y||((Ae=be).scrollTop=xe.renderer.scrollTop,xe.isMouseOver=!0,we=Ae.getDocumentPosition().row,Se.start.row!=we&&(Se.id||xe.setRow(we),Be(we))):Ae=be})),xe.renderer.on("beforeRender",(function(){var be;Ae&&-1!=Se.start.row&&(Ae.$pos=null,be=Ae.getDocumentPosition().row,Se.id||xe.setRow(be),Be(be,!0))})),xe.renderer.on("afterRender",(function(){var be,Ae=xe.getRow(),we=xe.renderer.$textLayer,Se=we.element.childNodes[Ae-we.config.firstRow],ke=document.activeElement;Se!==xe.selectedNode&&xe.selectedNode&&(Re.removeCssClass(xe.selectedNode,"ace_selected"),ke.removeAttribute("aria-activedescendant"),xe.selectedNode.removeAttribute(Ne),xe.selectedNode.removeAttribute("id")),(xe.selectedNode=Se)&&(Re.addCssClass(Se,"ace_selected"),be=a(Ae),Se.id=be,we.element.setAttribute("aria-activedescendant",be),ke.setAttribute("aria-activedescendant",be),Se.setAttribute("role",Le),Se.setAttribute("aria-roledescription",_e("autocomplete.popup.item.aria-roledescription","item")),Se.setAttribute("aria-label",xe.getData(Ae).caption||xe.getData(Ae).value),Se.setAttribute("aria-setsize",xe.data.length),Se.setAttribute("aria-posinset",Ae+1),Se.setAttribute("aria-describedby","doc-tooltip"),Se.setAttribute(Ne,"true"))})),function(be,Ae){be!==Se.start.row&&(Se.start.row=Se.end.row=be,Ae||xe.session._emit("changeBackMarker"),xe._emit("changeHoverMarker"))});return xe.getHoveredRow=function(){return Se.start.row},Te.addListener(xe.container,"mouseout",(function(){xe.isMouseOver=!1,n()})),xe.on("hide",n),xe.on("changeSelection",n),xe.session.doc.getLength=function(){return xe.data.length},xe.session.doc.getLine=function(be){return"string"==typeof(be=xe.data[be])?be:be&&be.value||""},(be=xe.session.bgTokenizer).$tokenizeRow=function(be){var Ae=xe.data[be],we=[];if(Ae){for(var Se,ke,Te=(Ae="string"==typeof Ae?{value:Ae}:Ae).caption||Ae.value||Ae.name,Ee=Te.toLowerCase(),Re=(xe.filterText||"").toLowerCase(),_e=0,$e=0,Le=0;Le<=Re.length;Le++)Le!=$e&&(Ae.matchMask&1<<Le||Le==Re.length)&&(Se=Re.slice($e,Le),$e=Le,-1!=(ke=Ee.indexOf(Se,_e)))&&(d(Te.slice(_e,ke),""),_e=ke+Se.length,d(Te.slice(ke,_e),"completion-highlight"));d(Te.slice(_e,Te.length),""),we.push({type:"completion-spacer",value:" "}),Ae.meta&&we.push({type:"completion-meta",value:Ae.meta}),Ae.message&&we.push({type:"completion-message",value:Ae.message})}return we;function d(be,xe){be&&we.push({type:(Ae.className||"")+(xe||""),value:be})}},be.$updateOnChange=t,be.start=t,xe.session.$computeWidth=function(){return this.screenWidth=0},xe.isOpen=!1,xe.isTopdown=!1,xe.autoSelect=!0,xe.filterText="",xe.isMouseOver=!1,xe.data=[],xe.setData=function(be,Ae){xe.filterText=Ae||"",xe.setValue(Ee.stringRepeat("\n",be.length),-1),xe.data=be||[],xe.setRow(0)},xe.getData=function(be){return xe.data[be]},xe.getRow=function(){return Me.start.row},xe.setRow=function(be){be=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,be)),Me.start.row!=be&&(xe.selection.clearSelection(),Me.start.row=Me.end.row=be||0,xe.session._emit("changeBackMarker"),xe.moveCursorTo(be||0,0),xe.isOpen)&&xe._signal("select")},xe.on("changeSelection",(function(){xe.isOpen&&xe.setRow(xe.selection.lead.row),xe.renderer.scrollCursorIntoView()})),xe.hide=function(){this.container.style.display="none",xe.anchorPos=null,xe.anchor=null,xe.isOpen&&(xe.isOpen=!1,this._signal("hide"))},xe.tryShow=function(be,we,Se,ke){if(ke||!xe.isOpen||!xe.anchorPos||!xe.anchor||xe.anchorPos.top!==be.top||xe.anchorPos.left!==be.left||xe.anchor!==Se){var Te=this.container,Ee=window.innerHeight,Re=window.innerWidth,_e=this.renderer,$e=_e.$maxLines*we*1.4,Le={top:0,bottom:0,left:0},Ne=Ee-be.top-3*this.$borderSize-we,Me=be.top-3*this.$borderSize;if("top"===(Se=Se||(Me<=Ne||$e<=Ne?"bottom":"top"))?(Le.bottom=be.top-this.$borderSize,Le.top=Le.bottom-$e):"bottom"===Se&&(Le.top=be.top+we+this.$borderSize,Le.bottom=Le.top+$e),we=0<=Le.top&&Le.bottom<=Ee,!ke&&!we)return!1;_e.$maxPixelHeight=we?null:"top"===Se?Me:Ne,"top"===Se?(Te.style.top="",Te.style.bottom=Ee-Le.bottom+"px",xe.isTopdown=!1):(Te.style.top=Le.top+"px",Te.style.bottom="",xe.isTopdown=!0),Te.style.display="",($e=be.left)+Te.offsetWidth>Re&&($e=Re-Te.offsetWidth),Te.style.left=$e+"px",Te.style.right="",xe.isOpen||(xe.isOpen=!0,this._signal("show"),Ae=null),xe.anchorPos=be,xe.anchor=Se}return!0},xe.show=function(be,Ae,we){this.tryShow(be,Ae,we?"bottom":void 0,!0)},xe.goTo=function(be){var Ae=this.getRow(),we=this.session.getLength()-1;switch(be){case"up":Ae=Ae<=0?we:Ae-1;break;case"down":Ae=we<=Ae?-1:Ae+1;break;case"start":Ae=0;break;case"end":Ae=we}this.setRow(Ae)},xe.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},xe.$imageSize=0,xe.$borderSize=1,xe}var xe=be("../virtual_renderer").VirtualRenderer,Se=be("../editor").Editor,ke=be("../range").Range,Te=be("../lib/event"),Ee=be("../lib/lang"),Re=be("../lib/dom"),_e=be("../config").nls,$e=(be=be("./../lib/useragent")).isSafari?"menu":"listbox",Le=be.isSafari?"menuitem":"option",Ne=be.isSafari?"aria-current":"aria-selected";Re.importCssString('\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: "";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n',"autocompletion.css",!1),Ae.AcePopup=i,Ae.$singleLineEditor=l,Ae.getAriaId=a})),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],(function(be,Ae,we){function i(be){this.editor=be,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}i.prototype.setScreenReaderContent=function(be){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var be=this.popup.getRow(),Ae=this.popup.renderer.$textLayer;if(be=Ae.element.childNodes[be-Ae.config.firstRow]){for(var we="doc-tooltip ",xe=0;xe<this._lines.length;xe++)we+="ace-inline-screenreader-line-".concat(xe," ");be.setAttribute("aria-describedby",we)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=be.split(/\r\n|\r|\n/),be=this.createCodeBlock(),this.screenReaderDiv.appendChild(be)},i.prototype.destroy=function(){this.screenReaderDiv.remove()},i.prototype.createCodeBlock=function(){var be=document.createElement("pre");be.setAttribute("id","ace-inline-screenreader");for(var Ae=0;Ae<this._lines.length;Ae++){var we=document.createElement("code"),xe=(we.setAttribute("id","ace-inline-screenreader-line-".concat(Ae)),document.createTextNode(this._lines[Ae]));we.appendChild(xe),be.appendChild(we)}return be},Ae.AceInlineScreenReader=i})),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],(function(be,Ae,we){var xe=be("../snippets").snippetManager,Se=be("./inline_screenreader").AceInlineScreenReader;function i(){this.editor=null}i.prototype.show=function(be,Ae,we){if(we=we||"",be&&this.editor&&this.editor!==be&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!be||!Ae)return!1;this.inlineScreenReader||(this.inlineScreenReader=new Se(be));var ke=Ae.snippet?xe.getDisplayTextForSnippet(be,Ae.snippet):Ae.value;return!(Ae.hideInlinePreview||!ke||!ke.startsWith(we)||(this.editor=be,this.inlineScreenReader.setScreenReaderContent(ke),""===(ke=ke.slice(we.length))?be.removeGhostText():be.setGhostText(ke),0))},i.prototype.isOpen=function(){return!!this.editor&&!!this.editor.renderer.$ghostText},i.prototype.hide=function(){return!!this.editor&&(this.editor.removeGhostText(),!0)},i.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},Ae.AceInline=i})),ace.define("ace/autocomplete/util",["require","exports","module"],(function(be,Ae,we){Ae.parForEach=function(be,Ae,we){var xe=0,Se=be.length;0===Se&&we();for(var ke=0;ke<Se;ke++)Ae(be[ke],(function(be,Ae){++xe===Se&&we(be,Ae)}))};var xe=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;Ae.retrievePrecedingIdentifier=function(be,Ae,we){we=we||xe;for(var Se=[],ke=Ae-1;0<=ke&&we.test(be[ke]);ke--)Se.push(be[ke]);return Se.reverse().join("")},Ae.retrieveFollowingIdentifier=function(be,Ae,we){we=we||xe;for(var Se=[],ke=Ae;ke<be.length&&we.test(be[ke]);ke++)Se.push(be[ke]);return Se},Ae.getCompletionPrefix=function(be){var Ae,we=be.getCursorPosition(),xe=be.session.getLine(we.row);return be.completers.forEach(function(be){be.identifierRegexps&&be.identifierRegexps.forEach(function(be){!Ae&&be&&(Ae=this.retrievePrecedingIdentifier(xe,we.column,be))}.bind(this))}.bind(this)),Ae||this.retrievePrecedingIdentifier(xe,we.column)},Ae.triggerAutocomplete=function(be,Ae){return Ae=null==Ae?be.session.getPrecedingCharacter():Ae,be.completers.some((function(be){if(be.triggerCharacters&&Array.isArray(be.triggerCharacters))return be.triggerCharacters.includes(Ae)}))}})),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],(function(be,Ae,we){function i(be,Ae){Ae.completer&&Ae.completer.destroy()}var xe=be("./keyboard/hash_handler").HashHandler,Se=be("./autocomplete/popup").AcePopup,ke=be("./autocomplete/inline").AceInline,Te=be("./autocomplete/popup").getAriaId,Ee=be("./autocomplete/util"),Re=be("./lib/lang"),_e=be("./lib/dom"),$e=be("./snippets").snippetManager,Le=be("./config"),Ne=be("./lib/event"),Me=be("./lib/scroll").preventParentScroll,Be=(Object.defineProperty(f,"completionsForLoading",{get:function(){return[{caption:Le.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),f.prototype.$init=function(){return this.popup=new Se(this.parentNode||document.body||document.documentElement),this.popup.on("click",function(be){this.insertMatch(),be.stop()}.bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),Ne.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},f.prototype.$initInline=function(){if(this.inlineEnabled&&!this.inlineRenderer)return this.inlineRenderer=new ke,this.inlineRenderer},f.prototype.getPopup=function(){return this.popup||this.$init()},f.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},f.prototype.$seen=function(be){!this.hasSeen.has(be)&&be&&be.completer&&be.completer.onSeen&&"function"==typeof be.completer.onSeen&&(be.completer.onSeen(this.editor,be),this.hasSeen.add(be))},f.prototype.$onPopupChange=function(be){this.inlineRenderer&&this.inlineEnabled?(be=be?null:this.popup.getData(this.popup.getRow()),this.$updateGhostText(be),this.popup.isMouseOver&&this.setSelectOnHover?this.tooltipTimer.call(null,null):(this.popupTimer.schedule(),this.tooltipTimer.schedule())):(this.popupTimer.call(null,null),this.tooltipTimer.call(null,null))},f.prototype.$updateGhostText=function(be){var Ae=this.base.row,we=this.base.column,xe=this.editor.getCursorPosition().column;Ae=this.editor.session.getLine(Ae).slice(we,xe),this.inlineRenderer.show(this.editor,be,Ae)?this.$seen(be):this.inlineRenderer.hide()},f.prototype.$onPopupRender=function(){var be=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&0<this.completions.filtered.length)for(var Ae=this.popup.getFirstVisibleRow();Ae<=this.popup.getLastVisibleRow();Ae++){var we=this.popup.getData(Ae);!we||be&&!we.hideInlinePreview||this.$seen(we)}},f.prototype.$onPopupShow=function(be){this.$onPopupChange(be),this.stickySelection=!1,0<=this.stickySelectionDelay&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},f.prototype.observeLayoutChanges=function(){if(!this.$elements&&this.editor){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var be=this.editor.container.parentNode,Ae=[];be;)Ae.push(be),be.addEventListener("scroll",this.onLayoutChange,{passive:!0}),be=be.parentNode;this.$elements=Ae}},f.prototype.unObserveLayoutChanges=function(){var be=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach((function(Ae){Ae.removeEventListener("scroll",be.onLayoutChange,{passive:!0})})),this.$elements=null},f.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},f.prototype.$updatePopupPosition=function(){var be=this.editor,Ae=(Se=be.renderer).layerConfig.lineHeight,we=Se.$cursorLayer.getPixelPosition(this.base,!0),xe=(we.left-=this.popup.getTextLeftOffset(),be.container.getBoundingClientRect()),Se=(we.top+=xe.top-Se.layerConfig.offset,we.left+=xe.left-be.renderer.scrollLeft,we.left+=Se.gutterWidth,xe={top:we.top,left:we.left},Se.$ghostText&&Se.$ghostTextWidget&&this.base.row===Se.$ghostText.position.row&&(xe.top+=Se.$ghostTextWidget.el.offsetHeight),be.container.getBoundingClientRect().bottom-Ae);this.popup.tryShow(Se<xe.top?{top:Se,left:xe.left}:xe,Ae,"bottom")||this.popup.tryShow(we,Ae,"top")||this.popup.show(we,Ae)},f.prototype.openPopup=function(be,Ae,we){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var xe,Se=this.popup.getRow(),ke=this.popup.data[Se];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:Te(this.popup.getRow()),inline:this.inlineEnabled}),be.keyBinding.addKeyboardHandler(this.keyboardHandler),(xe=this.stickySelection?this.popup.data.indexOf(ke):xe)&&-1!==xe||(xe=0),this.popup.setRow(this.autoSelect?xe:-1),xe===Se&&ke!==this.completions.filtered[xe]&&this.$onPopupChange(),ke=this.inlineRenderer&&this.inlineEnabled,xe===Se&&ke&&(xe=this.popup.getData(this.popup.getRow()),this.$updateGhostText(xe)),we||(this.popup.setTheme(be.getTheme()),this.popup.setFontSize(be.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},f.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},f.prototype.changeListener=function(be){var Ae=this.editor.selection.lead;(Ae.row!=this.base.row||Ae.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},f.prototype.blurListener=function(be){var Ae=document.activeElement,we=this.editor.textInput.getElement(),xe=be.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(be.relatedTarget),Se=this.popup&&this.popup.container;Ae==we||Ae.parentNode==Se||xe||Ae==this.tooltipNode||be.relatedTarget==we||this.detach()},f.prototype.mousedownListener=function(be){this.detach()},f.prototype.mousewheelListener=function(be){this.popup&&!this.popup.isMouseOver&&this.detach()},f.prototype.mouseOutListener=function(be){this.popup.isOpen&&this.$updatePopupPosition()},f.prototype.goTo=function(be){this.popup.goTo(be)},f.prototype.insertMatch=function(be,Ae){var we;return!!(be=be||this.popup.getData(this.popup.getRow()))&&(""===be.value?this.detach():(we=this.completions,be=this.getCompletionProvider().insertMatch(this.editor,be,we.filterText,Ae),this.completions==we&&this.detach(),be))},f.prototype.showPopup=function(be,Ae){this.editor&&this.detach(),this.activated=!0,(this.editor=be).completer!=this&&(be.completer&&be.completer.detach(),be.completer=this),be.on("changeSelection",this.changeListener),be.on("blur",this.blurListener),be.on("mousedown",this.mousedownListener),be.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,Ae)},f.prototype.getCompletionProvider=function(be){return this.completionProvider||(this.completionProvider=new We(be)),this.completionProvider},f.prototype.gatherCompletions=function(be,Ae){return this.getCompletionProvider().gatherCompletions(be,Ae)},f.prototype.updateCompletions=function(be,Ae){var we,xe;return be&&this.base&&this.completions?(we=this.editor.getCursorPosition(),(xe=this.editor.session.getTextRange({start:this.base,end:we}))==this.completions.filterText?void 0:(this.completions.setFilter(xe),this.completions.filtered.length&&(1!=this.completions.filtered.length||this.completions.filtered[0].value!=xe||this.completions.filtered[0].snippet)?void this.openPopup(this.editor,xe,be):this.detach())):Ae&&Ae.matches?(we=this.editor.getSelectionRange().start,this.base=this.editor.session.doc.createAnchor(we.row,we.column),this.base.$insertRight=!0,this.completions=new Pe(Ae.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",be)):(Ae=this.editor.getSession(),we=this.editor.getCursorPosition(),xe=Ee.getCompletionPrefix(this.editor),this.base=Ae.doc.createAnchor(we.row,we.column-xe.length),this.base.$insertRight=!0,Ae={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption},this.getCompletionProvider({prefix:xe,pos:we}).provideCompletions(this.editor,Ae,function(Ae,we,xe){var Se,ke=we.filtered,Te=Ee.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),xe){if(!ke.length)return(Se="function"==typeof(Se=!this.autoShown&&this.emptyMessage)?this.emptyMessage(Te):Se)?(this.completions=new Pe([{caption:Se,value:""}]),this.openPopup(this.editor,Te,be),this.popup.renderer.setStyle("ace_loading",!1),void this.popup.renderer.setStyle("ace_empty-message",!0)):this.detach();if(1==ke.length&&ke[0].value==Te&&!ke[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&1==ke.length)return this.insertMatch(ke[0])}this.completions=!xe&&this.showLoadingState?new Pe(f.completionsForLoading.concat(ke),we.filterText):we,this.openPopup(this.editor,Te,be),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!xe)}.bind(this)),void(!this.showLoadingState||this.autoShown||this.popup&&this.popup.isOpen||this.$firstOpenTimer.delay(this.stickySelectionDelay/2)))},f.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},f.prototype.updateDocTooltip=function(){var be=this.popup,Ae=this.completions.filtered,we=Ae&&(Ae[be.getHoveredRow()]||Ae[be.getRow()]),xe=null;if(!we||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var Se=this.editor.completers.length,ke=0;ke<Se;ke++){var Te=this.editor.completers[ke];if(Te.getDocTooltip&&we.completerId===Te.id){xe=Te.getDocTooltip(we);break}}if(!(xe="string"==typeof(xe=xe||"string"==typeof we?xe:we)?{docText:xe}:xe)||!xe.docHTML&&!xe.docText)return this.hideDocTooltip();this.showDocTooltip(xe)},f.prototype.showDocTooltip=function(be){this.tooltipNode||(this.tooltipNode=_e.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",Me));var Ae=this.editor.renderer.theme,we=(this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(Ae.isDark?"ace_dark ":"")+(Ae.cssClass||""),Ae=this.tooltipNode,(be.docHTML?Ae.innerHTML=be.docHTML:be.docText&&(Ae.textContent=be.docText),Ae.parentNode||this.popup.container.appendChild(this.tooltipNode),be=this.popup).container.getBoundingClientRect());Ae.style.top=be.container.style.top,Ae.style.bottom=be.container.style.bottom,Ae.style.display="block",window.innerWidth-we.right<320?we.left<320?(be.isTopdown?Ae.style.top=we.bottom+"px":Ae.style.top=be.container.offsetTop-Ae.offsetHeight+"px",Ae.style.left=we.left+"px",Ae.style.right="",Ae.style.bottom=""):(Ae.style.right=window.innerWidth-we.left+"px",Ae.style.left=""):(Ae.style.left=we.right+1+"px",Ae.style.right="")},f.prototype.hideDocTooltip=function(){var be;this.tooltipTimer.cancel(),this.tooltipNode&&(be=this.tooltipNode,this.editor.isFocused()||document.activeElement!=be||this.editor.focus(),this.tooltipNode=null,be.parentNode)&&be.parentNode.removeChild(be)},f.prototype.onTooltipClick=function(be){for(var Ae=be.target;Ae&&Ae!=this.tooltipNode;){if("A"==Ae.nodeName&&Ae.href){Ae.rel="noreferrer",Ae.target="_blank";break}Ae=Ae.parentNode}},f.prototype.destroy=function(){var be;this.detach(),this.popup&&(this.popup.destroy(),be=this.popup.container)&&be.parentNode&&be.parentNode.removeChild(be),this.editor&&this.editor.completer==this&&(this.editor.off("destroy",i),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},f);function f(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new xe,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=Re.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=Re.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=Re.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=Re.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=Re.delayedCall(function(){var be=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!be||0===this.editor.completers.length||(this.completions=new Pe(f.completionsForLoading),this.openPopup(this.editor,be.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}.bind(this),this.stickySelectionDelay)}Be.prototype.commands={Up:function(be){be.completer.goTo("up")},Down:function(be){be.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(be){be.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(be){be.completer.goTo("end")},Esc:function(be){be.completer.detach()},Return:function(be){return be.completer.insertMatch()},"Shift-Return":function(be){be.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(be){var Ae=be.completer.insertMatch();if(Ae||be.tabstopManager)return Ae;be.completer.goTo("down")},Backspace:function(be){be.execCommand("backspace"),!Ee.getCompletionPrefix(be)&&be.completer&&be.completer.detach()},PageUp:function(be){be.completer.popup.gotoPageUp()},PageDown:function(be){be.completer.popup.gotoPageDown()}},Be.for=function(be){return be.completer instanceof Be||(be.completer&&(be.completer.destroy(),be.completer=null),Le.get("sharedPopups")?(Be.$sharedInstance||(Be.$sharedInstance=new Be),be.completer=Be.$sharedInstance):(be.completer=new Be,be.once("destroy",i))),be.completer},Be.startCommand={name:"startAutocomplete",exec:function(be,Ae){var we=Be.for(be);we.autoInsert=!1,we.autoSelect=!0,we.autoShown=!1,we.showPopup(be,Ae),we.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"},y.prototype.insertByIndex=function(be,Ae,we){return!(!this.completions||!this.completions.filtered)&&this.insertMatch(be,this.completions.filtered[Ae],we)},y.prototype.insertMatch=function(be,Ae,we){if(!Ae)return!1;if(be.startOperation({command:{name:"insertMatch"}}),Ae.completer&&Ae.completer.insertMatch)Ae.completer.insertMatch(be,Ae);else{if(!this.completions)return!1;var xe=this.completions.filterText.length,Se=0;if(Ae.range&&Ae.range.start.row===Ae.range.end.row&&(xe=(xe-=this.initialPosition.prefix.length)+(this.initialPosition.pos.column-Ae.range.start.column),Se+=Ae.range.end.column-this.initialPosition.pos.column),xe||Se)for(var ke,Te=be.selection.getAllRanges?be.selection.getAllRanges():[be.getSelectionRange()],Ee=0;ke=Te[Ee];Ee++)ke.start.column-=xe,ke.end.column+=Se,be.session.remove(ke);Ae.snippet?$e.insertSnippet(be,Ae.snippet):this.$insertString(be,Ae),Ae.completer&&Ae.completer.onInsert&&"function"==typeof Ae.completer.onInsert&&Ae.completer.onInsert(be,Ae),Ae.command&&"startAutocomplete"===Ae.command&&be.execCommand(Ae.command)}return be.endOperation(),!0},y.prototype.$insertString=function(be,Ae){Ae=Ae.value||Ae,be.execCommand("insertstring",Ae)},y.prototype.gatherCompletions=function(be,Ae){var we=be.getSession(),xe=be.getCursorPosition(),Se=Ee.getCompletionPrefix(be),ke=[],Te=(this.completers=be.completers,be.completers.length);return be.completers.forEach((function(Re,_e){Re.getCompletions(be,we,xe,Se,(function(we,xe){Re.hideInlinePreview&&(xe=xe.map((function(be){return Object.assign(be,{hideInlinePreview:Re.hideInlinePreview})}))),!we&&xe&&(ke=ke.concat(xe)),Ae(null,{prefix:Ee.getCompletionPrefix(be),matches:ke,finished:0==--Te})}))})),!0},y.prototype.provideCompletions=function(be,Ae,we){var xe=function(be){var xe=be.prefix,Se=be.matches;this.completions=new Pe(Se),Ae.exactMatch&&(this.completions.exactMatch=!0),Ae.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(xe),(be.finished||this.completions.filtered.length)&&we(null,this.completions,be.finished)}.bind(this),Se=!0,ke=null;this.gatherCompletions(be,function(be,Ae){this.active&&(be&&(we(be,[],!0),this.detach()),0===Ae.prefix.indexOf(Ae.prefix))&&(Se?ke=Ae:xe(Ae))}.bind(this)),Se=!1,ke&&(be=ke,ke=null,xe(be))},y.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach((function(be){"function"==typeof be.cancel&&be.cancel()}))};var We=y;function y(be){this.initialPosition=be,this.active=!0}I.prototype.setFilter=function(be){Ae=be.length>this.filterText&&0===be.lastIndexOf(this.filterText,0)?this.filtered:this.all,this.filterText=be,Ae=(Ae=this.filterCompletions(Ae,this.filterText)).sort((function(be,Ae){return Ae.exactMatch-be.exactMatch||Ae.$score-be.$score||(be.caption||be.value).localeCompare(Ae.caption||Ae.value)}));var Ae,we=null;Ae=Ae.filter((function(be){return(be=be.snippet||be.caption||be.value)!==we&&(we=be,!0)})),this.filtered=Ae},I.prototype.filterCompletions=function(be,Ae){var we=[],xe=Ae.toUpperCase(),Se=Ae.toLowerCase();e:for(var ke,Te=0;ke=be[Te];Te++){var Ee=!this.ignoreCaption&&ke.caption||ke.value||ke.snippet;if(Ee){var Re=-1,_e=0,$e=0;if(this.exactMatch){if(Ae!==Ee.substr(0,Ae.length))continue}else{var Le=Ee.toLowerCase().indexOf(Se);if(-1<Le)$e=Le;else for(var Ne=0;Ne<Ae.length;Ne++){var Me=Ee.indexOf(Se[Ne],Re+1),Be=Ee.indexOf(xe[Ne],Re+1);if((Me=0<=Me&&(Be<0||Me<Be)?Me:Be)<0)continue e;0<(Be=Me-Re-1)&&(-1===Re&&($e+=10),$e+=Be,_e|=1<<Ne),Re=Me}}ke.matchMask=_e,ke.exactMatch=$e?0:1,ke.$score=(ke.score||0)-$e,we.push(ke)}}return we};var Pe=I;function I(be,Ae){this.all=be,this.filtered=be,this.filterText=Ae||"",this.exactMatch=!1,this.ignoreCaption=!1}Ae.Autocomplete=Be,Ae.CompletionProvider=We,Ae.FilteredList=Pe})),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],(function(be,Ae,we){var xe=be("../range").Range,Se=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;function l(be,Ae){var we=be.getTextRange(xe.fromPoints({row:0,column:0},Ae)).split(Se).length-1,ke=be.getValue().split(Se),Te=Object.create(null),Ee=ke[we];return ke.forEach((function(be,Ae){be&&be!==Ee&&(Ae=Math.abs(we-Ae),Ae=ke.length-Ae,Te[be]?Te[be]=Math.max(Ae,Te[be]):Te[be]=Ae)})),Te}Ae.getCompletions=function(be,Ae,we,xe,Se){var ke=l(Ae,we);Se(null,Object.keys(ke).map((function(be){return{caption:be,value:be,score:ke[be],meta:"local"}})))}})),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],(function(be,Ae,we){function i(be,Ae){f(Ae.session.$mode)}function o(be){var Ae=be.editor,we=Ae.completer&&Ae.completer.activated;"backspace"===be.command.name?we&&!Re.getCompletionPrefix(Ae)&&Ae.completer.detach():"insertstring"!==be.command.name||we||((Ae=(xe=be).editor.$liveAutocompletionDelay)?Be.delay(Ae):v(be))}var xe,Se=be("../snippets").snippetManager,ke=be("../autocomplete").Autocomplete,Te=be("../config"),Ee=be("../lib/lang"),Re=be("../autocomplete/util"),_e=be("../autocomplete/text_completer"),$e={getCompletions:function(be,Ae,we,xe,Se){if(Ae.$mode.completer)return Ae.$mode.completer.getCompletions(be,Ae,we,xe,Se);be=be.session.getState(we.row),Se(null,Ae.$mode.getCompletions(be,Ae,we,xe).map((function(be){return be.completerId=$e.id,be})))},id:"keywordCompleter"},Le={getCompletions:function(be,Ae,we,xe,ke){var Te=[],Ee=((Ae=Ae.getTokenAt(we.row,we.column))&&Ae.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?Te.push("html-tag"):Te=Se.getActiveScopes(be),Se.snippetMap),Re=[];Te.forEach((function(be){for(var Ae=Ee[be]||[],we=Ae.length;we--;){var xe=Ae[we],Se=xe.name||xe.tabTrigger;Se&&Re.push({caption:Se,snippet:xe.content,meta:xe.tabTrigger&&!xe.name?xe.tabTrigger+"⇥ ":"snippet",completerId:Le.id})}}),this),ke(null,Re)},getDocTooltip:function(be){var Ae;be.snippet&&!be.docHTML&&(be.docHTML=["<b>",Ee.escapeHTML(be.caption),"</b>","<hr></hr>",Ee.escapeHTML((be=be.snippet,Ae={},be.replace(/\${(\d+)(:(.*?))?}/g,(function(be,we,xe,Se){return Ae[we]=Se||""})).replace(/\$(\d+?)/g,(function(be,we){return Ae[we]}))))].join(""))},id:"snippetCompleter"},Ne=[Le,_e,$e],Me=(Ae.setCompleters=function(be){Ne.length=0,be&&Ne.push.apply(Ne,be)},Ae.addCompleter=function(be){Ne.push(be)},Ae.textCompleter=_e,Ae.keyWordCompleter=$e,Ae.snippetCompleter=Le,{name:"expandSnippet",exec:function(be){return Se.expandWithTab(be)},bindKey:"Tab"}),f=function(be){(be="string"==typeof be?Te.$modes[be]:be)&&(Se.files||(Se.files={}),C(be.$id,be.snippetFileId),be.modes)&&be.modes.forEach(f)},C=function(be,Ae){Ae&&be&&!Se.files[be]&&(Se.files[be]={},Te.loadModule(Ae,(function(Ae){Ae&&(!(Se.files[be]=Ae).snippets&&Ae.snippetText&&(Ae.snippets=Se.parseSnippetFile(Ae.snippetText)),Se.register(Ae.snippets||[],Ae.scope),Ae.includeScopes)&&(Se.snippetMap[Ae.scope].includeScopes=Ae.includeScopes,Ae.includeScopes.forEach((function(be){f("ace/mode/"+be)})))})))},Be=Ee.delayedCall((function(){v(xe)}),0),v=function(be){var Ae=be.editor,we=Re.getCompletionPrefix(Ae);be=be.args,be=Re.triggerAutocomplete(Ae,be),(we&&we.length>=Ae.$liveAutocompletionThreshold||be)&&((we=ke.for(Ae)).autoShown=!0,we.showPopup(Ae))};_e=be("../editor").Editor,be("../config").defineOptions(_e.prototype,"editor",{enableBasicAutocompletion:{set:function(be){be?(this.completers||(this.completers=Array.isArray(be)?be:Ne),this.commands.addCommand(ke.startCommand)):this.commands.removeCommand(ke.startCommand)},value:!1},enableLiveAutocompletion:{set:function(be){be?(this.completers||(this.completers=Array.isArray(be)?be:Ne),this.commands.on("afterExec",o)):this.commands.off("afterExec",o)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(be){be?(this.commands.addCommand(Me),this.on("changeMode",i),i(0,this)):(this.commands.removeCommand(Me),this.off("changeMode",i))},value:!1}})})),ace.require(["ace/ext/language_tools"],(function(Ae){be&&(be.exports=Ae)}))},6534:function(be,Ae,we){be=we.nmd(be),ace.define("ace/ext/searchbox-css",["require","exports","module"],(function(be,Ae,we){we.exports='\n\n/* ------------------------------------------------------------------------------------------\n * Editor Search Form\n * --------------------------------------------------------------------------------------- */\n.ace_search {\n background-color: #ddd;\n color: #666;\n border: 1px solid #cbcbcb;\n border-top: 0 none;\n overflow: hidden;\n margin: 0;\n padding: 4px 6px 0 4px;\n position: absolute;\n top: 0;\n z-index: 99;\n white-space: normal;\n}\n.ace_search.left {\n border-left: 0 none;\n border-radius: 0px 0px 5px 0px;\n left: 0;\n}\n.ace_search.right {\n border-radius: 0px 0px 0px 5px;\n border-right: 0 none;\n right: 0;\n}\n\n.ace_search_form, .ace_replace_form {\n margin: 0 20px 4px 0;\n overflow: hidden;\n line-height: 1.9;\n}\n.ace_replace_form {\n margin-right: 0;\n}\n.ace_search_form.ace_nomatch {\n outline: 1px solid red;\n}\n\n.ace_search_field {\n border-radius: 3px 0 0 3px;\n background-color: white;\n color: black;\n border: 1px solid #cbcbcb;\n border-right: 0 none;\n outline: 0;\n padding: 0;\n font-size: inherit;\n margin: 0;\n line-height: inherit;\n padding: 0 6px;\n min-width: 17em;\n vertical-align: top;\n min-height: 1.8em;\n box-sizing: content-box;\n}\n.ace_searchbtn {\n border: 1px solid #cbcbcb;\n line-height: inherit;\n display: inline-block;\n padding: 0 6px;\n background: #fff;\n border-right: 0 none;\n border-left: 1px solid #dcdcdc;\n cursor: pointer;\n margin: 0;\n position: relative;\n color: #666;\n}\n.ace_searchbtn:last-child {\n border-radius: 0 3px 3px 0;\n border-right: 1px solid #cbcbcb;\n}\n.ace_searchbtn:disabled {\n background: none;\n cursor: default;\n}\n.ace_searchbtn:hover {\n background-color: #eef1f6;\n}\n.ace_searchbtn.prev, .ace_searchbtn.next {\n padding: 0px 0.7em\n}\n.ace_searchbtn.prev:after, .ace_searchbtn.next:after {\n content: "";\n border: solid 2px #888;\n width: 0.5em;\n height: 0.5em;\n border-width: 2px 0 0 2px;\n display:inline-block;\n transform: rotate(-45deg);\n}\n.ace_searchbtn.next:after {\n border-width: 0 2px 2px 0 ;\n}\n.ace_searchbtn_close {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\n border-radius: 50%;\n border: 0 none;\n color: #656565;\n cursor: pointer;\n font: 16px/16px Arial;\n padding: 0;\n height: 14px;\n width: 14px;\n top: 9px;\n right: 7px;\n position: absolute;\n}\n.ace_searchbtn_close:hover {\n background-color: #656565;\n background-position: 50% 100%;\n color: white;\n}\n\n.ace_button {\n margin-left: 2px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n opacity: 0.7;\n border: 1px solid rgba(100,100,100,0.23);\n padding: 1px;\n box-sizing: border-box!important;\n color: black;\n}\n\n.ace_button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_button:active {\n background-color: #ddd;\n}\n\n.ace_button.checked {\n border-color: #3399ff;\n opacity:1;\n}\n\n.ace_search_options{\n margin-bottom: 3px;\n text-align: right;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n clear: both;\n}\n\n.ace_search_counter {\n float: left;\n font-family: arial;\n padding: 0 8px;\n}'})),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],(function(be,Ae,we){var xe=be("../lib/dom"),Se=be("../lib/lang"),ke=be("../lib/event"),Te=be("./searchbox-css"),Ee=be("../keyboard/hash_handler").HashHandler,Re=be("../lib/keys"),_e=be("../config").nls,$e=(xe.importCssString(Te,"ace_searchbox",!1),d.prototype.setEditor=function(be){be.searchBox=this,be.renderer.scroller.appendChild(this.element),this.editor=be},d.prototype.setSession=function(be){this.searchRange=null,this.$syncOptions(!0)},d.prototype.$initElements=function(be){this.searchBox=be.querySelector(".ace_search_form"),this.replaceBox=be.querySelector(".ace_replace_form"),this.searchOption=be.querySelector("[action=searchInSelection]"),this.replaceOption=be.querySelector("[action=toggleReplace]"),this.regExpOption=be.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=be.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=be.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=be.querySelector(".ace_search_counter")},d.prototype.$init=function(){var be=this.element,Ae=(this.$initElements(be),this);ke.addListener(be,"mousedown",(function(be){setTimeout((function(){Ae.activeInput.focus()}),0),ke.stopPropagation(be)})),ke.addListener(be,"click",(function(be){var we=(be.target||be.srcElement).getAttribute("action");we&&Ae[we]?Ae[we]():Ae.$searchBarKb.commands[we]&&Ae.$searchBarKb.commands[we].exec(Ae),ke.stopPropagation(be)})),ke.addCommandKeyListener(be,(function(be,we,xe){xe=Re.keyCodeToString(xe),(we=Ae.$searchBarKb.findKeyCommand(we,xe))&&we.exec&&(we.exec(Ae),ke.stopEvent(be))})),this.$onChange=Se.delayedCall((function(){Ae.find(!1,!1)})),ke.addListener(this.searchInput,"input",(function(){Ae.$onChange.schedule(20)})),ke.addListener(this.searchInput,"focus",(function(){Ae.activeInput=Ae.searchInput,Ae.searchInput.value&&Ae.highlight()})),ke.addListener(this.replaceInput,"focus",(function(){Ae.activeInput=Ae.replaceInput,Ae.searchInput.value&&Ae.highlight()}))},d.prototype.setSearchRange=function(be){(this.searchRange=be)?this.searchRangeMarker=this.editor.session.addMarker(be,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},d.prototype.$syncOptions=function(be){xe.setCssClass(this.replaceOption,"checked",this.searchRange),xe.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",xe.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),xe.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),xe.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var Ae=this.editor.getReadOnly();this.replaceOption.style.display=Ae?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!Ae?"":"none",this.find(!1,!1,be)},d.prototype.highlight=function(be){this.editor.session.highlight(be||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},d.prototype.find=function(be,Ae,we){be=!this.editor.find(this.searchInput.value,{skipCurrent:be,backwards:Ae,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:we,range:this.searchRange})&&this.searchInput.value,xe.setCssClass(this.searchBox,"ace_nomatch",be),this.editor._emit("findSearchBox",{match:!be}),this.highlight(),this.updateCounter()},d.prototype.updateCounter=function(){var be=this.editor,Ae=be.$search.$options.re,we=Ae.unicode,xe=0,ke=0;if(Ae){var Te,Ee,Re=this.searchRange?be.session.getTextRange(this.searchRange):be.getValue(),$e=be.session.doc.positionToIndex(be.selection.anchor);for(this.searchRange&&($e-=be.session.doc.positionToIndex(this.searchRange.start)),Ae.lastIndex=0;(Ee=Ae.exec(Re))&&((Te=Ee.index)<=$e&&ke++,!(999<++xe))&&(Ee[0]||(Ae.lastIndex=Te+=Se.skipEmptyMatch(Re,Te,we),!(Te>=Re.length))););}this.searchCounter.textContent=_e("search-box.search-counter","$0 of $1",[ke,999<xe?"999+":xe])},d.prototype.findNext=function(){this.find(!0,!1)},d.prototype.findPrev=function(){this.find(!0,!0)},d.prototype.findAll=function(){var be=!this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked})&&this.searchInput.value;xe.setCssClass(this.searchBox,"ace_nomatch",be),this.editor._emit("findSearchBox",{match:!be}),this.highlight(),this.hide()},d.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},d.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},d.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},d.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},d.prototype.show=function(be,Ae){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=Ae,be&&(this.searchInput.value=be),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},d.prototype.isFocused=function(){var be=document.activeElement;return be==this.searchInput||be==this.replaceInput},d);function d(be,Ae,we){this.activeInput;var Se=xe.createElement("div");xe.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:_e("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},_e("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:_e("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},_e("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},_e("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:_e("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:_e("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:_e("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:_e("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:_e("search-box.toggle-in-selection.title","Search In Selection")},"S"]]],Se),this.element=Se.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(be),xe.importCssString(Te,"ace_searchbox",be.container)}(be=new Ee).bindKeys({"Ctrl-f|Command-f":function(be){var Ae=be.isReplace=!be.isReplace;be.replaceBox.style.display=Ae?"":"none",be.replaceOption.checked=!1,be.$syncOptions(),be.searchInput.focus()},"Ctrl-H|Command-Option-F":function(be){be.editor.getReadOnly()||(be.replaceOption.checked=!0,be.$syncOptions(),be.replaceInput.focus())},"Ctrl-G|Command-G":function(be){be.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(be){be.findPrev()},esc:function(be){setTimeout((function(){be.hide()}))},Return:function(be){be.activeInput==be.replaceInput&&be.replace(),be.findNext()},"Shift-Return":function(be){be.activeInput==be.replaceInput&&be.replace(),be.findPrev()},"Alt-Return":function(be){be.activeInput==be.replaceInput&&be.replaceAll(),be.findAll()},Tab:function(be){(be.activeInput==be.replaceInput?be.searchInput:be.replaceInput).focus()}}),be.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(be){be.regExpOption.checked=!be.regExpOption.checked,be.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(be){be.caseSensitiveOption.checked=!be.caseSensitiveOption.checked,be.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(be){be.wholeWordOption.checked=!be.wholeWordOption.checked,be.$syncOptions()}},{name:"toggleReplace",exec:function(be){be.replaceOption.checked=!be.replaceOption.checked,be.$syncOptions()}},{name:"searchInSelection",exec:function(be){be.searchOption.checked=!be.searchRange,be.setSearchRange(be.searchOption.checked&&be.editor.getSelectionRange()),be.$syncOptions()}}]),Ee=new Ee([{bindKey:"Esc",name:"closeSearchBar",exec:function(be){be.searchBox.hide()}}]),$e.prototype.$searchBarKb=be,$e.prototype.$closeSearchBarKb=Ee,Ae.SearchBox=$e,Ae.Search=function(be,Ae){(be.searchBox||new $e(be)).show(be.session.getTextRange(),Ae)}})),ace.require(["ace/ext/searchbox"],(function(Ae){be&&(be.exports=Ae)}))},4221:function(be,Ae,we){be=we.nmd(be),ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(be,Ae,we){function i(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}}var xe=be("../lib/oop");be=be("./text_highlight_rules").TextHighlightRules,xe.inherits(i,be),Ae.JsonHighlightRules=i})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(be,Ae,we){function i(){}var xe=be("../range").Range;(function(){this.checkOutdent=function(be,Ae){return!!/^\s+$/.test(be)&&/^\s*\}/.test(Ae)},this.autoOutdent=function(be,Ae){var we,Se=be.getLine(Ae).match(/^(\s*\})/);return Se&&(Se=Se[1].length,we=be.findMatchingBracket({row:Ae,column:Se}))&&we.row!=Ae?(we=this.$getIndent(be.getLine(we.row)),void be.replace(new xe(Ae,0,Ae,Se-1),we)):0},this.$getIndent=function(be){return be.match(/^\s*/)[0]}}).call(i.prototype),Ae.MatchingBraceOutdent=i})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(be,Ae,we){var xe=be("../../lib/oop"),Se=be("../../range").Range;be=be("./fold_mode").FoldMode,Ae=Ae.FoldMode=function(be){be&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+be.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+be.end)))},xe.inherits(Ae,be),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(be,Ae,we){var xe=be.getLine(we);return!this.singleLineBlockCommentRe.test(xe)||this.startRegionRe.test(xe)||this.tripleStarBlockCommentRe.test(xe)?!(be=this._getFoldWidgetBase(be,Ae,we))&&this.startRegionRe.test(xe)?"start":be:""},this.getFoldWidgetRange=function(be,Ae,we,xe){var Se,ke,Te,Ee=be.getLine(we);return this.startRegionRe.test(Ee)?this.getCommentRegionBlock(be,Ee,we):(ke=Ee.match(this.foldingStartMarker))?(Te=ke.index,ke[1]?this.openingBracketBlock(be,ke[1],we,Te):((Se=be.getCommentFoldRange(we,Te+ke[0].length,1))&&!Se.isMultiLine()&&(xe?Se=this.getSectionRange(be,we):"all"!=Ae&&(Se=null)),Se)):"markbegin"!==Ae&&(ke=Ee.match(this.foldingStopMarker))?(Te=ke.index+ke[0].length,ke[1]?this.closingBracketBlock(be,ke[1],we,Te):be.getCommentFoldRange(we,Te,-1)):void 0},this.getSectionRange=function(be,Ae){for(var we=(Re=be.getLine(Ae)).search(/\S/),xe=Ae,ke=Re.length,Te=Ae+=1,Ee=be.getLength();++Ae<Ee;){var Re,_e=(Re=be.getLine(Ae)).search(/\S/);if(-1!==_e){if(_e<we)break;var $e=this.getFoldWidgetRange(be,"all",Ae);if($e){if($e.start.row<=xe)break;if($e.isMultiLine())Ae=$e.end.row;else if(we==_e)break}Te=Ae}}return new Se(xe,ke,Te,be.getLine(Te).length)},this.getCommentRegionBlock=function(be,Ae,we){for(var xe=Ae.search(/\s*$/),ke=be.getLength(),Te=we,Ee=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,Re=1;++we<ke;){Ae=be.getLine(we);var _e=Ee.exec(Ae);if(_e&&(_e[1]?Re--:Re++,!Re))break}if(Te<we)return new Se(Te,xe,we,Ae.length)}}.call(Ae.prototype)})),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],(function(be,Ae,we){function i(){this.HighlightRules=ke,this.$outdent=new Te,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new Ee}var xe=be("../lib/oop"),Se=be("./text").Mode,ke=be("./json_highlight_rules").JsonHighlightRules,Te=be("./matching_brace_outdent").MatchingBraceOutdent,Ee=be("./folding/cstyle").FoldMode,Re=be("../worker/worker_client").WorkerClient;xe.inherits(i,Se),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(be,Ae,we){var xe=this.$getIndent(Ae);return"start"==be&&Ae.match(/^.*[\{\(\[]\s*$/)&&(xe+=we),xe},this.checkOutdent=function(be,Ae,we){return this.$outdent.checkOutdent(Ae,we)},this.autoOutdent=function(be,Ae,we){this.$outdent.autoOutdent(Ae,we)},this.createWorker=function(be){var Ae=new Re(["ace"],"ace/mode/json_worker","JsonWorker");return Ae.attachToDocument(be.getDocument()),Ae.on("annotate",(function(Ae){be.setAnnotations(Ae.data)})),Ae.on("terminate",(function(){be.clearAnnotations()})),Ae},this.$id="ace/mode/json"}.call(i.prototype),Ae.Mode=i})),ace.require(["ace/mode/json"],(function(Ae){be&&(be.exports=Ae)}))},2229:function(be,Ae,we){var Se=we(2620),ke=we(4292),Te=we(9336),Ee=we(4427),Re=we(9306),_e=we(2084),$e=we(3483),Le=we(8852),Ne=we(6862),Me=((be.exports=w).prototype.validate=function(be,Ae){var we;if("string"==typeof be){if(!(we=this.getSchema(be)))throw new Error('no schema with key or ref "'+be+'"')}else we=(be=this._addSchema(be)).validate||this._compile(be);return be=we(Ae),!0!==we.$async&&(this.errors=we.errors),be},w.prototype.compile=function(be,Ae){return(be=this._addSchema(be,void 0,Ae)).validate||this._compile(be)},w.prototype.addSchema=function(be,Ae,we,xe){if(Array.isArray(be))for(var Se=0;Se<be.length;Se++)this.addSchema(be[Se],void 0,we,xe);else{var Te=this._getId(be);if(void 0!==Te&&"string"!=typeof Te)throw new Error("schema id must be string");h(this,Ae=ke.normalizeId(Ae||Te)),this._schemas[Ae]=this._addSchema(be,we,xe,!0)}return this},w.prototype.addMetaSchema=function(be,Ae,we){return this.addSchema(be,Ae,we,!0),this},w.prototype.validateSchema=function(be,Ae){var we=be.$schema;if(void 0!==we&&"string"!=typeof we)throw new Error("$schema must be a string");if(!(we=we||this._opts.defaultMeta||function(be){var Ae=be._opts.meta;return be._opts.defaultMeta="object"==typeof Ae?be._getId(Ae)||Ae:be.getSchema(Me)?Me:void 0,be._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),!(this.errors=null);if(!(we=this.validate(we,be))&&Ae){if(be="schema is invalid: "+this.errorsText(),"log"!=this._opts.validateSchema)throw new Error(be);this.logger.error(be)}return we},w.prototype.getSchema=function(be){var Ae=n(this,be);switch(typeof Ae){case"object":return Ae.validate||this._compile(Ae);case"string":return this.getSchema(Ae);case"undefined":return function(be,Ae){var we,xe,Te,Re=ke.schema.call(be,{schema:{}},Ae);if(Re)return we=Re.schema,xe=Re.root,Re=Re.baseId,Te=Se.call(be,we,xe,void 0,Re),be._fragments[Ae]=new Ee({ref:Ae,fragment:!0,schema:we,root:xe,baseId:Re,validate:Te}),Te}(this,be)}},w.prototype.removeSchema=function(be){if(be instanceof RegExp)i(this,this._schemas,be),i(this,this._refs,be);else switch(typeof be){case"undefined":return i(this,this._schemas),i(this,this._refs),this._cache.clear(),this;case"string":var Ae=n(this,be);return Ae&&this._cache.del(Ae.cacheKey),delete this._schemas[be],delete this._refs[be],this;case"object":Ae=(Ae=this._opts.serialize)?Ae(be):be,this._cache.del(Ae),(Ae=this._getId(be))&&(Ae=ke.normalizeId(Ae),delete this._schemas[Ae],delete this._refs[Ae])}return this},w.prototype.addFormat=function(be,Ae){return"string"==typeof Ae&&(Ae=new RegExp(Ae)),this._formats[be]=Ae,this},w.prototype.errorsText=function(be,Ae){if(!(be=be||this.errors))return"No errors";for(var we=void 0===(Ae=Ae||{}).separator?", ":Ae.separator,xe=void 0===Ae.dataVar?"data":Ae.dataVar,Se="",ke=0;ke<be.length;ke++){var Te=be[ke];Te&&(Se+=xe+Te.dataPath+" "+Te.message+we)}return Se.slice(0,-we.length)},w.prototype._addSchema=function(be,Ae,we,xe){if("object"!=typeof be&&"boolean"!=typeof be)throw new Error("schema should be object or boolean");var Se,Te=(Te=this._opts.serialize)?Te(be):be,Re=this._cache.get(Te);if(Re)return Re;xe=xe||!1!==this._opts.addUsedSchema,(Re=ke.normalizeId(this._getId(be)))&&xe&&h(this,Re),(Ae=!1!==this._opts.validateSchema&&!Ae)&&!(Se=Re&&Re==ke.normalizeId(be.$schema))&&this.validateSchema(be,!0);var _e=ke.ids.call(this,be);return _e=new Ee({id:Re,schema:be,localRefs:_e,cacheKey:Te,meta:we}),"#"!=Re[0]&&xe&&(this._refs[Re]=_e),this._cache.put(Te,_e),Ae&&Se&&this.validateSchema(be,!0),_e},w.prototype._compile=function(be,Ae){if(be.compiling)return(be.validate=o).schema=be.schema,o.errors=null,o.root=Ae||o,!0===be.schema.$async&&(o.$async=!0),o;var we,xe;be.compiling=!0,be.meta&&(we=this._opts,this._opts=this._metaOpts);try{xe=Se.call(this,be.schema,Ae,be.localRefs)}catch(Ae){throw delete be.validate,Ae}finally{be.compiling=!1,be.meta&&(this._opts=we)}return be.validate=xe,be.refs=xe.refs,be.refVal=xe.refVal,be.root=xe.root,xe;function o(){var Ae=be.validate,we=Ae.apply(this,arguments);return o.errors=Ae.errors,we}},w.prototype.compileAsync=we(600),be=we(413),w.prototype.addKeyword=be.add,w.prototype.getKeyword=be.get,w.prototype.removeKeyword=be.remove,w.prototype.validateKeyword=be.validate,be=we(3689),w.ValidationError=be.Validation,w.MissingRefError=be.MissingRef,w.$dataMetaSchema=Le,"http://json-schema.org/draft-07/schema"),Be=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],We=["/properties"];function w(be){if(!(this instanceof w))return new w(be);be=this._opts=Ne.copy(be)||{};var Ae=(Oe=this)._opts.logger;if(!1===Ae)Oe.logger={log:T,warn:T,error:T};else{if(!("object"==typeof(Ae=void 0===Ae?xe:Ae)&&Ae.log&&Ae.warn&&Ae.error))throw new Error("logger must implement log, warn and error methods");Oe.logger=Ae}if(this._schemas={},this._refs={},this._fragments={},this._formats=_e(be.format),this._cache=be.cache||new Te,this._loadingSchemas={},this._compilations=[],this.RULES=$e(),this._getId=function(be){switch(be.schemaId){case"auto":return k;case"id":return S;default:return x}}(be),be.loopRequired=be.loopRequired||1/0,"property"==be.errorDataPath&&(be._errorDataPathProperty=!0),void 0===be.serialize&&(be.serialize=Re),this._metaOpts=function(be){for(var Ae=Ne.copy(be._opts),we=0;we<Be.length;we++)delete Ae[Be[we]];return Ae}(this),be.formats){var Se,ke=this;for(Se in ke._opts.formats){var Ee=ke._opts.formats[Se];ke.addFormat(Se,Ee)}}if(be.keywords){var Pe,He=this;for(Pe in He._opts.keywords){var Ge=He._opts.keywords[Pe];He.addKeyword(Pe,Ge)}}var Fe,Oe,Ve=((Oe=this)._opts.$data&&(Fe=we(3420),Oe.addMetaSchema(Fe,Fe.$id,!0)),!1!==Oe._opts.meta&&(Fe=we(8198),Oe._opts.$data&&(Fe=Le(Fe,We)),Oe.addMetaSchema(Fe,Me,!0),Oe._refs["http://json-schema.org/schema"]=Me),"object"==typeof be.meta&&this.addMetaSchema(be.meta),be.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),this),Ze=Ve._opts.schemas;if(Ze)if(Array.isArray(Ze))Ve.addSchema(Ze);else for(var De in Ze)Ve.addSchema(Ze[De],De)}function n(be,Ae){return Ae=ke.normalizeId(Ae),be._schemas[Ae]||be._refs[Ae]||be._fragments[Ae]}function i(be,Ae,we){for(var xe in Ae){var Se=Ae[xe];Se.meta||we&&!we.test(xe)||(be._cache.del(Se.cacheKey),delete Ae[xe])}}function S(be){return be.$id&&this.logger.warn("schema $id ignored",be.$id),be.id}function x(be){return be.id&&this.logger.warn("schema id ignored",be.id),be.$id}function k(be){if(be.$id&&be.id&&be.$id!=be.id)throw new Error("schema $id is different from id");return be.$id||be.id}function h(be,Ae){if(be._schemas[Ae]||be._refs[Ae])throw new Error('schema with key or id "'+Ae+'" already exists')}function T(){}},9336:function(be){(be=be.exports=function(){this._cache={}}).prototype.put=function(be,Ae){this._cache[be]=Ae},be.prototype.get=function(be){return this._cache[be]},be.prototype.del=function(be){delete this._cache[be]},be.prototype.clear=function(){this._cache={}}},600:function(be,Ae,we){var xe=we(3689).MissingRef;function o(be,Ae,we){var Se=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof Ae&&(we=Ae,Ae=void 0);var ke=l(be).then((function(){var we=Se._addSchema(be,void 0,Ae);return we.validate||function o(be){try{return Se._compile(be)}catch(be){if(be instanceof xe)return t(be);throw be}function t(we){var xe=we.missingSchema;if(i(xe))throw new Error("Schema "+xe+" is loaded but "+we.missingRef+" cannot be resolved");return(we=Se._loadingSchemas[xe])||(we=Se._loadingSchemas[xe]=Se._opts.loadSchema(xe)).then(n,n),we.then((function(be){if(!i(xe))return l(be).then((function(){i(xe)||Se.addSchema(be,xe,void 0,Ae)}))})).then((function(){return o(be)}));function n(){delete Se._loadingSchemas[xe]}function i(be){return Se._refs[be]||Se._schemas[be]}}}(we)}));return we&&ke.then((function(be){we(null,be)}),we),ke;function l(be){return(be=be.$schema)&&!Se.getSchema(be)?o.call(Se,{$ref:be},!0):Promise.resolve()}}be.exports=o},3689:function(be,Ae,we){var xe=we(4292);function o(be,Ae,we){this.message=we||o.message(be,Ae),this.missingRef=xe.url(be,Ae),this.missingSchema=xe.normalizeId(xe.fullPath(this.missingRef))}function r(be){return be.prototype=Object.create(Error.prototype),be.prototype.constructor=be}be.exports={Validation:r((function(be){this.message="validation failed",this.errors=be,this.ajv=this.validation=!0})),MissingRef:r(o)},o.message=function(be,Ae){return"can't resolve reference "+Ae+" from id "+be}},2084:function(be,Ae,we){var xe=we(6862),Se=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,ke=[0,31,28,31,30,31,30,31,31,30,31,30,31],Te=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Ee=(we=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i),Re=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,_e=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,$e=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Le=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Ne=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Me=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function p(be){return xe.copy(p[be="full"==be?"full":"fast"])}function m(be){var Ae,we;return!!(be=be.match(Se))&&(Ae=+be[1],we=+be[2],be=+be[3],1<=we)&&we<=12&&1<=be&&be<=(2!=we||(be=Ae)%4!=0||be%100==0&&be%400!=0?ke[we]:29)}function f(be,Ae){var we,xe,Se;return!!(be=be.match(Te))&&(we=be[1],xe=be[2],Se=be[3],be=be[5],we<=23&&xe<=59&&Se<=59||23==we&&59==xe&&60==Se)&&(!Ae||be)}(be.exports=p).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":Re,url:_e,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:we,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:I,uuid:$e,"json-pointer":Le,"json-pointer-uri-fragment":Ne,"relative-json-pointer":Me},p.full={date:m,time:f,"date-time":function(be){return 2==(be=be.split(Be)).length&&m(be[0])&&f(be[1],!0)},uri:function(be){return We.test(be)&&Ee.test(be)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":Re,url:_e,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:we,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:I,uuid:$e,"json-pointer":Le,"json-pointer-uri-fragment":Ne,"relative-json-pointer":Me};var Be=/t|\s/i,We=/\/|:/,Pe=/[^\\]\\Z/;function I(be){if(Pe.test(be))return!1;try{return new RegExp(be),!0}catch(be){return!1}}},2620:function(be,Ae,we){var xe=we(4292),Se=we(6862),ke=we(3689),Te=we(9306),Ee=we(1035),Re=Se.ucs2length,_e=we(5215),$e=ke.Validation;function B(be,Ae,we,Le){var Ne=this,Me=this._opts,Be=[void 0],We={},Pe=[],He={},Ge=[],Fe={},Oe=[],Ve=function(be,Ae,we){var xe=W.call(this,be,Ae,we);return 0<=xe?{index:xe,compiling:!0}:(xe=this._compilations.length,this._compilations[xe]={schema:be,root:Ae,baseId:we},{index:xe,compiling:!1})}.call(this,be,Ae=Ae||{schema:be,refVal:Be,refs:We},Le),Ze=this._compilations[Ve.index];if(Ve.compiling)return Ze.callValidate=v;var De=this._formats,Ke=this.RULES;try{var je=I(be,Ae,we,Le),ze=(Ze.validate=je,Ze.callValidate);return ze&&(ze.schema=je.schema,ze.errors=null,ze.refs=je.refs,ze.refVal=je.refVal,ze.root=je.root,ze.$async=je.$async,Me.sourceCode)&&(ze.source=je.source),je}finally{(function(be,Ae,we){0<=(be=W.call(this,be,Ae,we))&&this._compilations.splice(be,1)}).call(this,be,Ae,Le)}function v(){var be=Ze.validate,Ae=be.apply(this,arguments);return v.errors=be.errors,Ae}function I(be,we,Te,Le){var He=!we||we.schema==be;if(we.schema!=Ae.schema)return B.call(Ne,be,we,Te,Le);Te=!0===be.$async,Le=Ee({isTop:!0,schema:be,isRoot:He,baseId:Le,root:we,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:ke.MissingRef,RULES:Ke,validate:Ee,util:Se,resolve:xe,resolveRef:b,usePattern:S,useDefault:x,useCustomRule:k,opts:Me,formats:De,logger:Ne.logger,self:Ne}),Le=O(Be,G)+O(Pe,P)+O(Ge,H)+O(Oe,F)+Le,Me.processCode&&(Le=Me.processCode(Le,be));try{var Fe=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",Le)(Ne,Ke,De,Ae,Be,Ge,Oe,_e,Re,$e);Be[0]=Fe}catch(be){throw Ne.logger.error("Error compiling schema, function code:",Le),be}return Fe.schema=be,Fe.errors=null,Fe.refs=We,Fe.refVal=Be,Fe.root=He?Fe:we,Te&&(Fe.$async=!0),!0===Me.sourceCode&&(Fe.source={code:Le,patterns:Pe,defaults:Ge}),Fe}function b(be,Se,ke){Se=xe.url(be,Se);var Te=We[Se];if(void 0!==Te)return w(Ee=Be[Te],Re="refVal["+Te+"]");if(!ke&&Ae.refs&&void 0!==(Te=Ae.refs[Se]))return w(Ee=Ae.refVal[Te],Re=A(Se,Ee));var Ee,Re=A(Se);if(void 0!==(ke=void 0===(ke=xe.call(Ne,I,Ae,Se))&&(Te=we&&we[Se])?xe.inlineRef(Te,Me.inlineRefs)?Te:B.call(Ne,Te,Ae,we,be):ke))return Ee=ke,Te=We[Te=Se],Be[Te]=Ee,w(ke,Re);delete We[Se]}function A(be,Ae){var we=Be.length;return Be[we]=Ae,"refVal"+(We[be]=we)}function w(be,Ae){return"object"==typeof be||"boolean"==typeof be?{code:Ae,schema:be,inline:!0}:{code:Ae,$async:be&&!!be.$async}}function S(be){var Ae=He[be];return void 0===Ae&&(Ae=He[be]=Pe.length,Pe[Ae]=be),"pattern"+Ae}function x(be){switch(typeof be){case"boolean":case"number":return""+be;case"string":return Se.toQuotedString(be);case"object":var Ae,we;return null===be?"null":(Ae=Te(be),void 0===(we=Fe[Ae])&&(we=Fe[Ae]=Ge.length,Ge[we]=be),"default"+we)}}function k(be,Ae,we,xe){if(!1!==Ne._opts.validateSchema){if((ke=be.definition.dependencies)&&!ke.every((function(be){return Object.prototype.hasOwnProperty.call(we,be)})))throw new Error("parent schema must have all required keywords: "+ke.join(","));if((ke=be.definition.validateSchema)&&!ke(Ae)){if(ke="keyword schema is invalid: "+Ne.errorsText(ke.errors),"log"!=Ne._opts.validateSchema)throw new Error(ke);Ne.logger.error(ke)}}var Se,ke=be.definition.compile,Te=be.definition.inline,Ee=be.definition.macro;if(ke)Se=ke.call(Ne,Ae,we,xe);else if(Ee)Se=Ee.call(Ne,Ae,we,xe),!1!==Me.validateSchema&&Ne.validateSchema(Se,!0);else if(Te)Se=Te.call(Ne,xe,be.keyword,Ae,we);else if(!(Se=be.definition.validate))return;if(void 0===Se)throw new Error('custom keyword "'+be.keyword+'"failed to compile');return{code:"customRule"+(ke=Oe.length),validate:Oe[ke]=Se}}}function W(be,Ae,we){for(var xe=0;xe<this._compilations.length;xe++){var Se=this._compilations[xe];if(Se.schema==be&&Se.root==Ae&&Se.baseId==we)return xe}return-1}function P(be,Ae){return"var pattern"+be+" = new RegExp("+Se.toQuotedString(Ae[be])+");"}function H(be){return"var default"+be+" = defaults["+be+"];"}function G(be,Ae){return void 0===Ae[be]?"":"var refVal"+be+" = refVal["+be+"];"}function F(be){return"var customRule"+be+" = customRules["+be+"];"}function O(be,Ae){if(!be.length)return"";for(var we="",xe=0;xe<be.length;xe++)we+=Ae(xe,be);return we}be.exports=B},4292:function(be,Ae,we){var xe=we(6777),Se=we(5215),ke=we(6862),Te=we(4427),Ee=we(4316);function l(be,Ae,we){var xe,Se,ke,Ee=this._refs[we];if("string"==typeof Ee){if(!this._refs[Ee])return l.call(this,be,Ae,Ee);Ee=this._refs[Ee]}return(Ee=Ee||this._schemas[we])instanceof Te?u(Ee.schema,this._opts.inlineRefs)?Ee.schema:Ee.validate||this._compile(Ee):((Ee=c.call(this,Ae,we))&&(xe=Ee.schema,Ae=Ee.root,ke=Ee.baseId),xe instanceof Te?Se=xe.validate||be.call(this,xe.schema,Ae,void 0,ke):void 0!==xe&&(Se=u(xe,this._opts.inlineRefs)?xe:be.call(this,xe,Ae,void 0,ke)),Se)}function c(be,Ae){var we=xe.parse(Ae),Se=C(we),ke=f(this._getId(be.schema));if(0===Object.keys(be.schema).length||Se!==ke){Se=y(Se);var Ee=this._refs[Se];if("string"==typeof Ee)return function(be,Ae,we){var xe,Se;if(Ae=c.call(this,be,Ae))return xe=Ae.schema,Se=Ae.baseId,be=Ae.root,(Ae=this._getId(xe))&&(Se=v(Se,Ae)),s.call(this,we,Se,xe,be)}.call(this,be,Ee,we);if(Ee instanceof Te)Ee.validate||this._compile(Ee);else{if(!((Ee=this._schemas[Se])instanceof Te))return;if(Ee.validate||this._compile(Ee),Se==y(Ae))return{schema:Ee,root:be,baseId:ke}}if(!(be=Ee).schema)return;ke=f(this._getId(be.schema))}return s.call(this,we,ke,be.schema,be)}(be.exports=l).normalizeId=y,l.fullPath=f,l.url=v,l.ids=function(be){var Ae=y(this._getId(be)),we={"":Ae},Te={"":f(Ae,!1)},Re={},_e=this;return Ee(be,{allKeys:!0},(function(be,Ae,Ee,$e,Le,Ne,Me){if(""!==Ae){var Be=_e._getId(be),We=we[$e];if($e=Te[$e]+"/"+Le,void 0!==Me&&($e+="/"+("number"==typeof Me?Me:ke.escapeFragment(Me))),"string"==typeof Be)if(Be=We=y(We?xe.resolve(We,Be):Be),(Le="string"==typeof(Le=_e._refs[Be])?_e._refs[Le]:Le)&&Le.schema){if(!Se(be,Le.schema))throw new Error('id "'+Be+'" resolves to more than one schema')}else if(Be!=y($e))if("#"==Be[0]){if(Re[Be]&&!Se(be,Re[Be]))throw new Error('id "'+Be+'" resolves to more than one schema');Re[Be]=be}else _e._refs[Be]=$e;we[Ae]=We,Te[Ae]=$e}})),Re},l.inlineRef=u,l.schema=c;var Re=ke.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function s(be,Ae,we,xe){if(be.fragment=be.fragment||"","/"==be.fragment.slice(0,1)){for(var Se=be.fragment.split("/"),Te=1;Te<Se.length;Te++){var Ee=Se[Te];if(Ee){if(void 0===(we=we[Ee=ke.unescapeFragment(Ee)]))break;Re[Ee]||((Ee=this._getId(we))&&(Ae=v(Ae,Ee)),we.$ref&&(Ee=v(Ae,we.$ref),Ee=c.call(this,xe,Ee))&&(we=Ee.schema,xe=Ee.root,Ae=Ee.baseId))}}return void 0!==we&&we!==xe.schema?{schema:we,root:xe,baseId:Ae}:void 0}}var _e=ke.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function u(be,Ae){return!1!==Ae&&(void 0===Ae||!0===Ae?function e(be){var Ae;if(Array.isArray(be)){for(var we=0;we<be.length;we++)if("object"==typeof(Ae=be[we])&&!e(Ae))return!1}else for(var xe in be){if("$ref"==xe)return!1;if("object"==typeof(Ae=be[xe])&&!e(Ae))return!1}return!0}(be):Ae?function e(be){var Ae,we=0;if(Array.isArray(be)){for(var xe=0;xe<be.length;xe++)if("object"==typeof(Ae=be[xe])&&(we+=e(Ae)),we==1/0)return 1/0}else for(var Se in be){if("$ref"==Se)return 1/0;if(_e[Se])we++;else if("object"==typeof(Ae=be[Se])&&(we+=e(Ae)+1),we==1/0)return 1/0}return we}(be)<=Ae:void 0)}function f(be,Ae){return!1!==Ae&&(be=y(be)),C(xe.parse(be))}function C(be){return xe.serialize(be).split("#")[0]+"#"}var $e=/#\/?$/;function y(be){return be?be.replace($e,""):""}function v(be,Ae){return Ae=y(Ae),xe.resolve(be,Ae)}},3483:function(be,Ae,we){var xe=we(8161),Se=we(6862).toHash;be.exports=function(){var be=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],Ae=["type","$comment"];return be.all=Se(Ae),be.types=Se(["number","integer","string","array","object","boolean","null"]),be.forEach((function(we){we.rules=we.rules.map((function(we){var Se,ke;return"object"==typeof we&&(ke=we[Se=Object.keys(we)[0]],we=Se,ke.forEach((function(we){Ae.push(we),be.all[we]=!0}))),Ae.push(we),be.all[we]={keyword:we,code:xe[we],implements:ke}})),be.all.$comment={keyword:"$comment",code:xe.$comment},we.type&&(be.types[we.type]=we)})),be.keywords=Se(Ae.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),be.custom={},be}},4427:function(be,Ae,we){var xe=we(6862);be.exports=function(be){xe.copy(be,this)}},611:function(be){be.exports=function(be){for(var Ae,we=0,xe=be.length,Se=0;Se<xe;)we++,55296<=(Ae=be.charCodeAt(Se++))&&Ae<=56319&&Se<xe&&56320==(64512&be.charCodeAt(Se))&&Se++;return we}},6862:function(be,Ae,we){function r(be,Ae,we,xe){var Se=xe?" !== ":" === ",ke=xe?" || ":" && ",Te=xe?"!":"",Ee=xe?"":"!";switch(be){case"null":return Ae+Se+"null";case"array":return Te+"Array.isArray("+Ae+")";case"object":return"("+Te+Ae+ke+"typeof "+Ae+Se+'"object"'+ke+Ee+"Array.isArray("+Ae+"))";case"integer":return"(typeof "+Ae+Se+'"number"'+ke+Ee+"("+Ae+" % 1)"+ke+Ae+Se+Ae+(we?ke+Te+"isFinite("+Ae+")":"")+")";case"number":return"(typeof "+Ae+Se+'"'+be+'"'+(we?ke+Te+"isFinite("+Ae+")":"")+")";default:return"typeof "+Ae+Se+'"'+be+'"'}}be.exports={copy:function(be,Ae){for(var we in Ae=Ae||{},be)Ae[we]=be[we];return Ae},checkDataType:r,checkDataTypes:function(be,Ae,we){if(1===be.length)return r(be[0],Ae,we,!0);var xe,Se="";for(xe in(be=a(be)).array&&be.object&&(Se=be.null?"(":"(!"+Ae+" || ",Se+="typeof "+Ae+' !== "object")',delete be.null,delete be.array,delete be.object),be.number&&delete be.integer,be)Se+=(Se?" && ":"")+r(xe,Ae,we,!0);return Se},coerceToTypes:function(be,Ae){if(!Array.isArray(Ae))return xe[Ae]?[Ae]:"array"===be&&"array"===Ae?["array"]:void 0;for(var we=[],Se=0;Se<Ae.length;Se++){var ke=Ae[Se];(xe[ke]||"array"===be&&"array"===ke)&&(we[we.length]=ke)}return we.length?we:void 0},toHash:a,getProperty:h,escapeQuotes:l,equal:we(5215),ucs2length:we(611),varOccurences:function(be,Ae){return Ae+="[^0-9]",(be=be.match(new RegExp(Ae,"g")))?be.length:0},varReplace:function(be,Ae,we){return Ae+="([^0-9])",we=we.replace(/\$/g,"$$$$"),be.replace(new RegExp(Ae,"g"),we+"$1")},schemaHasRules:function(be,Ae){if("boolean"==typeof be)return!be;for(var we in be)if(Ae[we])return!0},schemaHasRulesExcept:function(be,Ae,we){if("boolean"==typeof be)return!be&&"not"!=we;for(var xe in be)if(xe!=we&&Ae[xe])return!0},schemaUnknownRules:function(be,Ae){if("boolean"!=typeof be)for(var we in be)if(!Ae[we])return we},toQuotedString:c,getPathExpr:function(be,Ae,we,xe){return g(be,we?"'/' + "+Ae+(xe?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):xe?"'[' + "+Ae+" + ']'":"'[\\'' + "+Ae+" + '\\']'")},getPath:function(be,Ae,we){return g(be,we=c(we?"/"+p(Ae):h(Ae)))},getData:function(be,Ae,we){var xe,Se,ke;if(""===be)return"rootData";if("/"==be[0]){if(!Te.test(be))throw new Error("Invalid JSON-pointer: "+be);xe=be,Se="rootData"}else{if(!(ke=be.match(Ee)))throw new Error("Invalid JSON-pointer: "+be);if(be=+ke[1],"#"==(xe=ke[2])){if(Ae<=be)throw new Error("Cannot access property/index "+be+" levels up, current level is "+Ae);return we[Ae-be]}if(Ae<be)throw new Error("Cannot access data "+be+" levels up, current level is "+Ae);if(Se="data"+(Ae-be||""),!xe)return Se}for(var Re=Se,_e=xe.split("/"),$e=0;$e<_e.length;$e++){var Le=_e[$e];Le&&(Re+=" && "+(Se+=h(m(Le))))}return Re},unescapeFragment:function(be){return m(decodeURIComponent(be))},unescapeJsonPointer:m,escapeFragment:function(be){return encodeURIComponent(p(be))},escapeJsonPointer:p};var xe=a(["string","number","integer","boolean","null"]);function a(be){for(var Ae={},we=0;we<be.length;we++)Ae[be[we]]=!0;return Ae}var Se=/^[a-z$_][a-z$_0-9]*$/i,ke=/'|\\/g;function h(be){return"number"==typeof be?"["+be+"]":Se.test(be)?"."+be:"['"+l(be)+"']"}function l(be){return be.replace(ke,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}function c(be){return"'"+l(be)+"'"}var Te=/^\/(?:[^~]|~0|~1)*$/,Ee=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function g(be,Ae){return'""'==be?Ae:(be+" + "+Ae).replace(/([^\\])' \+ '/g,"$1")}function p(be){return be.replace(/~/g,"~0").replace(/\//g,"~1")}function m(be){return be.replace(/~1/g,"/").replace(/~0/g,"~")}},8852:function(be){var Ae=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];be.exports=function(be,we){for(var xe=0;xe<we.length;xe++){be=JSON.parse(JSON.stringify(be));for(var Se=we[xe].split("/"),ke=be,Te=1;Te<Se.length;Te++)ke=ke[Se[Te]];for(Te=0;Te<Ae.length;Te++){var Ee=Ae[Te],Re=ke[Ee];Re&&(ke[Ee]={anyOf:[Re,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]})}}return be}},9407:function(be,Ae,we){we=we(8198),be.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:we.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:we.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},1765:function(be){be.exports=function(be,Ae,we){var xe,Se,ke,Te,Ee,Re=" ",_e=be.level,$e=be.dataLevel,Le=be.schema[Ae],Ne=be.schemaPath+be.util.getProperty(Ae),Me=be.errSchemaPath+"/"+Ae,Be=!be.opts.allErrors,We="data"+($e||""),Pe=be.opts.$data&&Le&&Le.$data,He=Pe?(Re+=" var schema"+_e+" = "+be.util.getData(Le.$data,$e,be.dataPathArr)+"; ","schema"+_e):Le,Ge="maximum"==Ae,Fe=Ge?"exclusiveMaximum":"exclusiveMinimum",Oe=be.schema[Fe],Ve=be.opts.$data&&Oe&&Oe.$data,Ze=Ge?"<":">",De=Ge?">":"<",Ke=void 0;if(!Pe&&"number"!=typeof Le&&void 0!==Le)throw new Error(Ae+" must be number");if(!Ve&&void 0!==Oe&&"number"!=typeof Oe&&"boolean"!=typeof Oe)throw new Error(Fe+" must be number or boolean");Ve?($e=be.util.getData(Oe.$data,$e,be.dataPathArr),ke="exclIsNumber"+_e,Te="' + "+(Ee="op"+_e)+" + '",Ke=Fe,(je=je||[]).push(Re=Re+" var schemaExcl"+_e+" = "+$e+"; var "+(xe="exclusive"+_e)+"; var "+(Se="exclType"+_e)+" = typeof "+($e="schemaExcl"+_e)+"; if ("+Se+" != 'boolean' && "+Se+" != 'undefined' && "+Se+" != 'number') { "),Re="",!1!==be.createErrors?(Re+=" { keyword: '"+(Ke||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Me)+" , params: {} ",!1!==be.opts.messages&&(Re+=" , message: '"+Fe+" should be boolean' "),be.opts.verbose&&(Re+=" , schema: validate.schema"+Ne+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+We+" "),Re+=" } "):Re+=" {} ",ze=Re,Re=je.pop(),!be.compositeRule&&Be?be.async?Re+=" throw new ValidationError(["+ze+"]); ":Re+=" validate.errors = ["+ze+"]; return false; ":Re+=" var err = "+ze+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Re+=" } else if ( ",Pe&&(Re+=" ("+He+" !== undefined && typeof "+He+" != 'number') || "),Re+=" "+Se+" == 'number' ? ( ("+xe+" = "+He+" === undefined || "+$e+" "+Ze+"= "+He+") ? "+We+" "+De+"= "+$e+" : "+We+" "+De+" "+He+" ) : ( ("+xe+" = "+$e+" === true) ? "+We+" "+De+"= "+He+" : "+We+" "+De+" "+He+" ) || "+We+" !== "+We+") { var op"+_e+" = "+xe+" ? '"+Ze+"' : '"+Ze+"='; ",void 0===Le&&(Me=be.errSchemaPath+"/"+(Ke=Fe),He=$e,Pe=Ve)):(Te=Ze,(ke="number"==typeof Oe)&&Pe?(Ee="'"+Te+"'",Re+=" if ( ",Pe&&(Re+=" ("+He+" !== undefined && typeof "+He+" != 'number') || "),Re+=" ( "+He+" === undefined || "+Oe+" "+Ze+"= "+He+" ? "+We+" "+De+"= "+Oe+" : "+We+" "+De+" "+He+" ) || "+We+" !== "+We+") { "):(ke&&void 0===Le?(xe=!0,Me=be.errSchemaPath+"/"+(Ke=Fe),He=Oe,De+="="):(ke&&(He=Math[Ge?"min":"max"](Oe,Le)),Oe===(!ke||He)?(xe=!0,Me=be.errSchemaPath+"/"+(Ke=Fe),De+="="):(xe=!1,Te+="=")),Ee="'"+Te+"'",Re+=" if ( ",Pe&&(Re+=" ("+He+" !== undefined && typeof "+He+" != 'number') || "),Re+=" "+We+" "+De+" "+He+" || "+We+" !== "+We+") { ")),Ke=Ke||Ae,(je=je||[]).push(Re),Re="",!1!==be.createErrors?(Re+=" { keyword: '"+(Ke||"_limit")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Me)+" , params: { comparison: "+Ee+", limit: "+He+", exclusive: "+xe+" } ",!1!==be.opts.messages&&(Re=Re+" , message: 'should be "+Te+" "+(Pe?"' + "+He:He+"'")),be.opts.verbose&&(Re=(Re+=" , schema: ")+(Pe?"validate.schema"+Ne:""+Le)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+We+" "),Re+=" } "):Re+=" {} ";var je,ze=Re;return Re=je.pop(),!be.compositeRule&&Be?be.async?Re+=" throw new ValidationError(["+ze+"]); ":Re+=" validate.errors = ["+ze+"]; return false; ":Re+=" var err = "+ze+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Re+=" } ",Be&&(Re+=" else { "),Re}},9337:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=be.errSchemaPath+"/"+Ae,$e=!be.opts.allErrors,Le="data"+(Te||""),Ne=be.opts.$data&&Ee&&Ee.$data;if(Te=Ne?(Se+=" var schema"+ke+" = "+be.util.getData(Ee.$data,Te,be.dataPathArr)+"; ","schema"+ke):Ee,Ne||"number"==typeof Ee)return Se+="if ( ",Ne&&(Se+=" ("+Te+" !== undefined && typeof "+Te+" != 'number') || "),(ke=[]).push(Se+=" "+Le+".length "+("maxItems"==(xe=Ae)?">":"<")+" "+Te+") { "),Se="",!1!==be.createErrors?(Se+=" { keyword: '"+(xe||"_limitItems")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { limit: "+Te+" } ",!1!==be.opts.messages&&(Se=(Se=(Se+=" , message: 'should NOT have ")+("maxItems"==Ae?"more":"fewer")+" than ")+(Ne?"' + "+Te+" + '":""+Ee)+" items' "),be.opts.verbose&&(Se=(Se+=" , schema: ")+(Ne?"validate.schema"+Re:""+Ee)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",xe=Se,Se=ke.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+xe+"]); ":Se+=" validate.errors = ["+xe+"]; return false; ":Se+=" var err = "+xe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Se+="} ",$e&&(Se+=" else { "),Se;throw new Error(Ae+" must be number")}},5433:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=be.errSchemaPath+"/"+Ae,$e=!be.opts.allErrors,Le="data"+(Te||""),Ne=be.opts.$data&&Ee&&Ee.$data;if(Te=Ne?(Se+=" var schema"+ke+" = "+be.util.getData(Ee.$data,Te,be.dataPathArr)+"; ","schema"+ke):Ee,Ne||"number"==typeof Ee)return Se+="if ( ",Ne&&(Se+=" ("+Te+" !== undefined && typeof "+Te+" != 'number') || "),!1===be.opts.unicode?Se+=" "+Le+".length ":Se+=" ucs2length("+Le+") ",(ke=[]).push(Se+=" "+("maxLength"==(xe=Ae)?">":"<")+" "+Te+") { "),Se="",!1!==be.createErrors?(Se+=" { keyword: '"+(xe||"_limitLength")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { limit: "+Te+" } ",!1!==be.opts.messages&&(Se=(Se=(Se+=" , message: 'should NOT be ")+("maxLength"==Ae?"longer":"shorter")+" than ")+(Ne?"' + "+Te+" + '":""+Ee)+" characters' "),be.opts.verbose&&(Se=(Se+=" , schema: ")+(Ne?"validate.schema"+Re:""+Ee)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",xe=Se,Se=ke.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+xe+"]); ":Se+=" validate.errors = ["+xe+"]; return false; ":Se+=" var err = "+xe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Se+="} ",$e&&(Se+=" else { "),Se;throw new Error(Ae+" must be number")}},7724:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=be.errSchemaPath+"/"+Ae,$e=!be.opts.allErrors,Le="data"+(Te||""),Ne=be.opts.$data&&Ee&&Ee.$data;if(Te=Ne?(Se+=" var schema"+ke+" = "+be.util.getData(Ee.$data,Te,be.dataPathArr)+"; ","schema"+ke):Ee,Ne||"number"==typeof Ee)return Se+="if ( ",Ne&&(Se+=" ("+Te+" !== undefined && typeof "+Te+" != 'number') || "),(ke=[]).push(Se+=" Object.keys("+Le+").length "+("maxProperties"==(xe=Ae)?">":"<")+" "+Te+") { "),Se="",!1!==be.createErrors?(Se+=" { keyword: '"+(xe||"_limitProperties")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { limit: "+Te+" } ",!1!==be.opts.messages&&(Se=(Se=(Se+=" , message: 'should NOT have ")+("maxProperties"==Ae?"more":"fewer")+" than ")+(Ne?"' + "+Te+" + '":""+Ee)+" properties' "),be.opts.verbose&&(Se=(Se+=" , schema: ")+(Ne?"validate.schema"+Re:""+Ee)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",xe=Se,Se=ke.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+xe+"]); ":Se+=" validate.errors = ["+xe+"]; return false; ":Se+=" var err = "+xe+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Se+="} ",$e&&(Se+=" else { "),Se;throw new Error(Ae+" must be number")}},3531:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.schema[Ae],ke=be.schemaPath+be.util.getProperty(Ae),Te=be.errSchemaPath+"/"+Ae,Ee=!be.opts.allErrors,Re=be.util.copy(be),_e="",$e=(Re.level++,"valid"+Re.level),Le=Re.baseId,Ne=!0,Me=Se;if(Me)for(var Be,We=-1,Pe=Me.length-1;We<Pe;)Be=Me[We+=1],(be.opts.strictKeywords?"object"==typeof Be&&0<Object.keys(Be).length||!1===Be:be.util.schemaHasRules(Be,be.RULES.all))&&(Ne=!1,Re.schema=Be,Re.schemaPath=ke+"["+We+"]",Re.errSchemaPath=Te+"/"+We,xe+=" "+be.validate(Re)+" ",Re.baseId=Le,Ee)&&(xe+=" if ("+$e+") { ",_e+="}");return Ee&&(xe+=Ne?" if (true) { ":" "+_e.slice(0,-1)+" "),xe}},8854:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=be.errSchemaPath+"/"+Ae,_e=(Ae=!be.opts.allErrors,ke="data"+(ke||""),"valid"+Se),$e=(Se="errs__"+Se,be.util.copy(be)),Le="",Ne=($e.level++,"valid"+$e.level);if(Te.every((function(Ae){return be.opts.strictKeywords?"object"==typeof Ae&&0<Object.keys(Ae).length||!1===Ae:be.util.schemaHasRules(Ae,be.RULES.all)}))){var Me=$e.baseId,Be=(xe+=" var "+Se+" = errors; var "+_e+" = false; ",be.compositeRule),We=(be.compositeRule=$e.compositeRule=!0,Te);if(We)for(var Pe,He=-1,Ge=We.length-1;He<Ge;)Pe=We[He+=1],$e.schema=Pe,$e.schemaPath=Ee+"["+He+"]",$e.errSchemaPath=Re+"/"+He,xe+=" "+be.validate($e)+" ",$e.baseId=Me,xe+=" "+_e+" = "+_e+" || "+Ne+"; if (!"+_e+") { ",Le+="}";be.compositeRule=$e.compositeRule=Be,xe+=" "+Le+" if (!"+_e+") { var err = ",!1!==be.createErrors?(xe+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: {} ",!1!==be.opts.messages&&(xe+=" , message: 'should match some schema in anyOf' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+ke+" "),xe+=" } "):xe+=" {} ",xe+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!be.compositeRule&&Ae&&(be.async?xe+=" throw new ValidationError(vErrors); ":xe+=" validate.errors = vErrors; return false; "),xe+=" } else { errors = "+Se+"; if (vErrors !== null) { if ("+Se+") vErrors.length = "+Se+"; else vErrors = null; } ",be.opts.allErrors&&(xe+=" } ")}else Ae&&(xe+=" if (true) { ");return xe}},8372:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.schema[Ae];return Ae=be.errSchemaPath+"/"+Ae,be.opts.allErrors,Se=be.util.toQuotedString(Se),!0===be.opts.$comment?xe+=" console.log("+Se+");":"function"==typeof be.opts.$comment&&(xe+=" self._opts.$comment("+Se+", "+be.util.toQuotedString(Ae)+", validate.root.schema);"),xe}},9650:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),_e="data"+(ke||""),$e="valid"+Se,Le=be.opts.$data&&Te&&Te.$data;return(Le&&(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; "),Le||(xe+=" var schema"+Se+" = validate.schema"+Ee+";"),Te=[]).push(xe+="var "+$e+" = equal("+_e+", schema"+Se+"); if (!"+$e+") { "),xe="",!1!==be.createErrors?(xe+=" { keyword: 'const' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { allowedValue: schema"+Se+" } ",!1!==be.opts.messages&&(xe+=" , message: 'should be equal to constant' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",ke=xe,xe=Te.pop(),!be.compositeRule&&Re?be.async?xe+=" throw new ValidationError(["+ke+"]); ":xe+=" validate.errors = ["+ke+"]; return false; ":xe+=" var err = "+ke+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" }",Re&&(xe+=" else { "),xe}},1292:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),_e=(ke="data"+(ke||""),"valid"+Se),$e="errs__"+Se,Le=be.util.copy(be),Ne=(Le.level++,"valid"+Le.level),Me=(Se="i"+Se,Le.dataLevel=be.dataLevel+1),Be="data"+Me,We=be.baseId,Pe=be.opts.strictKeywords?"object"==typeof Te&&0<Object.keys(Te).length||!1===Te:be.util.schemaHasRules(Te,be.RULES.all);return(xe+="var "+$e+" = errors;var "+_e+";",Pe?(_e=be.compositeRule,be.compositeRule=Le.compositeRule=!0,Le.schema=Te,Le.schemaPath=Ee,Le.errSchemaPath=Ae,xe+=" var "+Ne+" = false; for (var "+Se+" = 0; "+Se+" < "+ke+".length; "+Se+"++) { ",Le.errorPath=be.util.getPathExpr(be.errorPath,Se,be.opts.jsonPointers,!0),Te=ke+"["+Se+"]",Le.dataPathArr[Me]=Se,Me=be.validate(Le),Le.baseId=We,be.util.varOccurences(Me,Be)<2?xe+=" "+be.util.varReplace(Me,Be,Te)+" ":xe+=" var "+Be+" = "+Te+"; "+Me+" ",xe+=" if ("+Ne+") break; } ",be.compositeRule=Le.compositeRule=_e,xe+=" if (!"+Ne+") {"):xe+=" if ("+ke+".length == 0) {",Se=[]).push(xe),xe="",!1!==be.createErrors?(xe+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: {} ",!1!==be.opts.messages&&(xe+=" , message: 'should contain a valid item' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+ke+" "),xe+=" } "):xe+=" {} ",We=xe,xe=Se.pop(),!be.compositeRule&&Re?be.async?xe+=" throw new ValidationError(["+We+"]); ":xe+=" validate.errors = ["+We+"]; return false; ":xe+=" var err = "+We+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } else { ",Pe&&(xe+=" errors = "+$e+"; if (vErrors !== null) { if ("+$e+") vErrors.length = "+$e+"; else vErrors = null; } "),be.opts.allErrors&&(xe+=" } "),xe}},8050:function(be){be.exports=function(be,Ae,we){var xe,Se,ke,Te=" ",Ee=be.level,Re=be.dataLevel,_e=be.schema[Ae],$e=be.schemaPath+be.util.getProperty(Ae),Le=be.errSchemaPath+"/"+Ae,Ne=!be.opts.allErrors,Me="data"+(Re||""),Be="valid"+Ee,We="errs__"+Ee,Pe=be.opts.$data&&_e&&_e.$data,He=Pe?(Te+=" var schema"+Ee+" = "+be.util.getData(_e.$data,Re,be.dataPathArr)+"; ","schema"+Ee):_e,Ge="definition"+Ee,Fe=this.definition,Oe="";if(Pe&&Fe.$data){var Ve="keywordValidate"+Ee,Ze=Fe.validateSchema;Te+=" var "+Ge+" = RULES.custom['"+Ae+"'].definition; var "+Ve+" = "+Ge+".validate;"}else{if(!(ze=be.useCustomRule(this,_e,be.schema,be)))return;He="validate.schema"+$e,Ve=ze.code,xe=Fe.compile,Se=Fe.inline,ke=Fe.macro}Ae=Ve+".errors",_e="i"+Ee;var De,Ke,je,ze,Xe,Ye="ruleErr"+Ee,Je=Fe.async;if(Je&&!be.async)throw new Error("async keyword in sync schema");return Se||ke||(Te+=Ae+" = null;"),Te+="var "+We+" = errors;var "+Be+";",Pe&&Fe.$data&&(Oe+="}",Te+=" if ("+He+" === undefined) { "+Be+" = true; } else { ",Ze)&&(Oe+="}",Te+=" "+Be+" = "+Ge+".validateSchema("+He+"); if ("+Be+") { "),Se?Fe.statements?Te+=" "+ze.validate+" ":Te+=" "+Be+" = "+ze.validate+"; ":ke?(Oe="",(Pe=be.util.copy(be)).level++,De="valid"+Pe.level,Pe.schema=ze.validate,Pe.schemaPath="",Ze=be.compositeRule,be.compositeRule=Pe.compositeRule=!0,Ge=be.validate(Pe).replace(/validate\.schema/g,Ve),be.compositeRule=Pe.compositeRule=Ze,Te+=" "+Ge):((Xe=Xe||[]).push(Te),Te="",Te+=" "+Ve+".call( ",be.opts.passContext?Te+="this":Te+="self",xe||!1===Fe.schema?Te+=" , "+Me+" ":Te+=" , "+He+" , "+Me+" , validate.schema"+be.schemaPath+" ",Te+=" , (dataPath || '')",'""'!=be.errorPath&&(Te+=" + "+be.errorPath),ze=Te+=" , "+(Ke=Re?"data"+(Re-1||""):"parentData")+" , "+(je=Re?be.dataPathArr[Re]:"parentDataProperty")+" , rootData ) ",Te=Xe.pop(),!1===Fe.errors?(Te+=" "+Be+" = ",Je&&(Te+="await "),Te+=ze+"; "):Te+=Je?" var "+(Ae="customErrors"+Ee)+" = null; try { "+Be+" = await "+ze+"; } catch (e) { "+Be+" = false; if (e instanceof ValidationError) "+Ae+" = e.errors; else throw e; } ":" "+Ae+" = null; "+Be+" = "+ze+"; "),Fe.modifying&&(Te+=" if ("+Ke+") "+Me+" = "+Ke+"["+je+"];"),Te+=""+Oe,Fe.valid?Ne&&(Te+=" if (true) { "):(Te+=" if ( ",void 0===Fe.valid?Te=Te+" !"+(ke?""+De:Be):Te+=" "+!Fe.valid+" ",Pe=this.keyword,(Xe=Xe||[]).push(Te+=") { "),(Xe=Xe||[]).push(Te=""),Te="",!1!==be.createErrors?(Te+=" { keyword: '"+(Pe||"custom")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Le)+" , params: { keyword: '"+this.keyword+"' } ",!1!==be.opts.messages&&(Te+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),be.opts.verbose&&(Te+=" , schema: validate.schema"+$e+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Me+" "),Te+=" } "):Te+=" {} ",Ze=Te,Te=Xe.pop(),!be.compositeRule&&Ne?be.async?Te+=" throw new ValidationError(["+Ze+"]); ":Te+=" validate.errors = ["+Ze+"]; return false; ":Te+=" var err = "+Ze+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Ge=Te,Te=Xe.pop(),Se?Fe.errors?"full"!=Fe.errors&&(Te+=" for (var "+_e+"="+We+"; "+_e+"<errors; "+_e+"++) { var "+Ye+" = vErrors["+_e+"]; if ("+Ye+".dataPath === undefined) "+Ye+".dataPath = (dataPath || '') + "+be.errorPath+"; if ("+Ye+".schemaPath === undefined) { "+Ye+'.schemaPath = "'+Le+'"; } ',be.opts.verbose&&(Te+=" "+Ye+".schema = "+He+"; "+Ye+".data = "+Me+"; "),Te+=" } "):!1===Fe.errors?Te+=" "+Ge+" ":(Te+=" if ("+We+" == errors) { "+Ge+" } else { for (var "+_e+"="+We+"; "+_e+"<errors; "+_e+"++) { var "+Ye+" = vErrors["+_e+"]; if ("+Ye+".dataPath === undefined) "+Ye+".dataPath = (dataPath || '') + "+be.errorPath+"; if ("+Ye+".schemaPath === undefined) { "+Ye+'.schemaPath = "'+Le+'"; } ',be.opts.verbose&&(Te+=" "+Ye+".schema = "+He+"; "+Ye+".data = "+Me+"; "),Te+=" } } "):ke?(Te+=" var err = ",!1!==be.createErrors?(Te+=" { keyword: '"+(Pe||"custom")+"' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Le)+" , params: { keyword: '"+this.keyword+"' } ",!1!==be.opts.messages&&(Te+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),be.opts.verbose&&(Te+=" , schema: validate.schema"+$e+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Me+" "),Te+=" } "):Te+=" {} ",Te+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!be.compositeRule&&Ne&&(be.async?Te+=" throw new ValidationError(vErrors); ":Te+=" validate.errors = vErrors; return false; ")):!1===Fe.errors?Te+=" "+Ge+" ":(Te+=" if (Array.isArray("+Ae+")) { if (vErrors === null) vErrors = "+Ae+"; else vErrors = vErrors.concat("+Ae+"); errors = vErrors.length; for (var "+_e+"="+We+"; "+_e+"<errors; "+_e+"++) { var "+Ye+" = vErrors["+_e+"]; if ("+Ye+".dataPath === undefined) "+Ye+".dataPath = (dataPath || '') + "+be.errorPath+"; "+Ye+'.schemaPath = "'+Le+'"; ',be.opts.verbose&&(Te+=" "+Ye+".schema = "+He+"; "+Ye+".data = "+Me+"; "),Te+=" } } else { "+Ge+" } "),Te+=" } ",Ne&&(Te+=" else { ")),Te}},2860:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=be.errSchemaPath+"/"+Ae,$e=!be.opts.allErrors,Le="data"+(Te||""),Ne=(Ae="errs__"+ke,be.util.copy(be)),Me="",Be=(Ne.level++,"valid"+Ne.level),We={},Pe={},He=be.opts.ownProperties;for(Qe in Ee)"__proto__"!=Qe&&(et=Ee[Qe],(xe=Array.isArray(et)?Pe:We)[Qe]=et);var Ge=be.errorPath;for(Qe in Se=Se+"var "+Ae+" = errors;var missing"+ke+";",Pe)if((xe=Pe[Qe]).length){if(Se+=" if ( "+Le+be.util.getProperty(Qe)+" !== undefined ",He&&(Se+=" && Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(Qe)+"') "),$e){Se+=" && ( ";var Fe=xe;if(Fe)for(var Oe=-1,Ve=Fe.length-1;Oe<Ve;)ze=Fe[Oe+=1],Oe&&(Se+=" || "),Se+=" ( ( "+(Ue=Le+(Je=be.util.getProperty(ze)))+" === undefined ",He&&(Se+=" || ! Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(ze)+"') "),Se+=") && (missing"+ke+" = "+be.util.toQuotedString(be.opts.jsonPointers?ze:Je)+") ) ";Se+=")) { ";var Ze="' + "+(Ke="missing"+ke)+" + '",De=(be.opts._errorDataPathProperty&&(be.errorPath=be.opts.jsonPointers?be.util.getPathExpr(Ge,Ke,!0):Ge+" + "+Ke),De||[]),Ke=(De.push(Se),Se="",!1!==be.createErrors?(Se+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { property: '"+be.util.escapeQuotes(Qe)+"', missingProperty: '"+Ze+"', depsCount: "+xe.length+", deps: '"+be.util.escapeQuotes(1==xe.length?xe[0]:xe.join(", "))+"' } ",!1!==be.opts.messages&&(Se+=" , message: 'should have ",1==xe.length?Se+="property "+be.util.escapeQuotes(xe[0]):Se+="properties "+be.util.escapeQuotes(xe.join(", ")),Se+=" when property "+be.util.escapeQuotes(Qe)+" is present' "),be.opts.verbose&&(Se+=" , schema: validate.schema"+Re+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",Se);Se=De.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+Ke+"]); ":Se+=" validate.errors = ["+Ke+"]; return false; ":Se+=" var err = "+Ke+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{Se+=" ) { ";var je=xe;if(je)for(var ze,Xe=-1,Ye=je.length-1;Xe<Ye;){ze=je[Xe+=1];var Je=be.util.getProperty(ze),Ue=(Ze=be.util.escapeQuotes(ze),Le+Je);be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPath(Ge,ze,be.opts.jsonPointers)),Se+=" if ( "+Ue+" === undefined ",He&&(Se+=" || ! Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(ze)+"') "),Se+=") { var err = ",!1!==be.createErrors?(Se+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { property: '"+be.util.escapeQuotes(Qe)+"', missingProperty: '"+Ze+"', depsCount: "+xe.length+", deps: '"+be.util.escapeQuotes(1==xe.length?xe[0]:xe.join(", "))+"' } ",!1!==be.opts.messages&&(Se+=" , message: 'should have ",1==xe.length?Se+="property "+be.util.escapeQuotes(xe[0]):Se+="properties "+be.util.escapeQuotes(xe.join(", ")),Se+=" when property "+be.util.escapeQuotes(Qe)+" is present' "),be.opts.verbose&&(Se+=" , schema: validate.schema"+Re+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",Se+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}Se+=" } ",$e&&(Me+="}",Se+=" else { ")}be.errorPath=Ge;var Qe,qe=Ne.baseId;for(Qe in We){var et=We[Qe];(be.opts.strictKeywords?"object"==typeof et&&0<Object.keys(et).length||!1===et:be.util.schemaHasRules(et,be.RULES.all))&&(Se+=" "+Be+" = true; if ( "+Le+be.util.getProperty(Qe)+" !== undefined ",He&&(Se+=" && Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(Qe)+"') "),Se+=") { ",Ne.schema=et,Ne.schemaPath=Re+be.util.getProperty(Qe),Ne.errSchemaPath=_e+"/"+be.util.escapeFragment(Qe),Se+=" "+be.validate(Ne)+" ",Ne.baseId=qe,Se+=" } ",$e)&&(Se+=" if ("+Be+") { ",Me+="}")}return $e&&(Se+=" "+Me+" if ("+Ae+" == errors) {"),Se}},7112:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),_e="data"+(ke||""),$e="valid"+Se,Le=be.opts.$data&&Te&&Te.$data;return Le&&(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; "),ke="schema"+Se,(Le||(xe+=" var "+ke+" = validate.schema"+Ee+";"),xe+="var "+$e+";",Le&&(xe+=" if (schema"+Se+" === undefined) "+$e+" = true; else if (!Array.isArray(schema"+Se+")) "+$e+" = false; else {"),xe+=$e+" = false;for (var "+(Te="i"+Se)+"=0; "+Te+"<"+ke+".length; "+Te+"++) if (equal("+_e+", "+ke+"["+Te+"])) { "+$e+" = true; break; }",Le&&(xe+=" } "),ke=[]).push(xe+=" if (!"+$e+") { "),xe="",!1!==be.createErrors?(xe+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { allowedValues: schema"+Se+" } ",!1!==be.opts.messages&&(xe+=" , message: 'should be equal to one of the allowed values' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",Te=xe,xe=ke.pop(),!be.compositeRule&&Re?be.async?xe+=" throw new ValidationError(["+Te+"]); ":xe+=" validate.errors = ["+Te+"]; return false; ":xe+=" var err = "+Te+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" }",Re&&(xe+=" else { "),xe}},4682:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),_e="data"+(ke||"");if(!1===be.opts.format)Re&&(xe+=" if (true) { ");else{var $e,Le=be.opts.$data&&Te&&Te.$data,Ne=(ke=Le?(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; ","schema"+Se):Te,be.opts.unknownFormats),Me=Array.isArray(Ne);if(Le)xe+=" var "+($e="format"+Se)+" = formats["+ke+"]; var "+(Be="isObject"+Se)+" = typeof "+$e+" == 'object' && !("+$e+" instanceof RegExp) && "+$e+".validate; var "+(Pe="formatType"+Se)+" = "+Be+" && "+$e+".type || 'string'; if ("+Be+") { ",be.async&&(xe+=" var async"+Se+" = "+$e+".async; "),xe+=" "+$e+" = "+$e+".validate; } if ( ",Le&&(xe+=" ("+ke+" !== undefined && typeof "+ke+" != 'string') || "),xe+=" (","ignore"!=Ne&&(xe+=" ("+ke+" && !"+$e+" ",Me&&(xe+=" && self._opts.unknownFormats.indexOf("+ke+") == -1 "),xe+=") || "),xe+=" ("+$e+" && "+Pe+" == '"+we+"' && !(typeof "+$e+" == 'function' ? ",be.async?xe+=" (async"+Se+" ? await "+$e+"("+_e+") : "+$e+"("+_e+")) ":xe+=" "+$e+"("+_e+") ",xe+=" : "+$e+".test("+_e+"))))) {";else{if(!($e=be.formats[Te])){if("ignore"==Ne)return be.logger.warn('unknown format "'+Te+'" ignored in schema at path "'+be.errSchemaPath+'"'),Re&&(xe+=" if (true) { "),xe;if(Me&&0<=Ne.indexOf(Te))return Re&&(xe+=" if (true) { "),xe;throw new Error('unknown format "'+Te+'" is used in schema at path "'+be.errSchemaPath+'"')}var Be,We,Pe=(Be="object"==typeof $e&&!($e instanceof RegExp)&&$e.validate)&&$e.type||"string";if(Be&&(We=!0===$e.async,$e=$e.validate),Pe!=we)return Re&&(xe+=" if (true) { "),xe;if(We){if(!be.async)throw new Error("async format in sync schema");xe+=" if (!(await "+(He="formats"+be.util.getProperty(Te)+".validate")+"("+_e+"))) { "}else{xe+=" if (! ";var He="formats"+be.util.getProperty(Te);Be&&(He+=".validate"),xe=xe+("function"==typeof $e?" "+He+"("+_e+") ":" "+He+".test("+_e+") ")+") { "}}(Se=[]).push(xe),xe="",!1!==be.createErrors?(xe=(xe+=" { keyword: 'format' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { format: ")+(Le?""+ke:""+be.util.toQuotedString(Te))+" } ",!1!==be.opts.messages&&(xe=(xe+=" , message: 'should match format \"")+(Le?"' + "+ke+" + '":""+be.util.escapeQuotes(Te))+"\"' "),be.opts.verbose&&(xe=(xe=(xe+=" , schema: ")+(Le?"validate.schema"+Ee:""+be.util.toQuotedString(Te)))+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",Me=xe,xe=Se.pop(),!be.compositeRule&&Re?be.async?xe+=" throw new ValidationError(["+Me+"]); ":xe+=" validate.errors = ["+Me+"]; return false; ":xe+=" var err = "+Me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } ",Re&&(xe+=" else { ")}return xe}},1678:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),$e=(Te="data"+(Te||""),"valid"+ke),Le="errs__"+ke,Ne=be.util.copy(be),Me=(Ne.level++,"valid"+Ne.level),Be=be.schema.then,We=be.schema.else,Pe=(Be=void 0!==Be&&(be.opts.strictKeywords?"object"==typeof Be&&0<Object.keys(Be).length||!1===Be:be.util.schemaHasRules(Be,be.RULES.all)),We=void 0!==We&&(be.opts.strictKeywords?"object"==typeof We&&0<Object.keys(We).length||!1===We:be.util.schemaHasRules(We,be.RULES.all)),Ne.baseId);return Be||We?(Ne.createErrors=!1,Ne.schema=Ee,Ne.schemaPath=Re,Ne.errSchemaPath=Ae,Se+=" var "+Le+" = errors; var "+$e+" = true; ",Ee=be.compositeRule,be.compositeRule=Ne.compositeRule=!0,Se+=" "+be.validate(Ne)+" ",Ne.baseId=Pe,Ne.createErrors=!0,Se+=" errors = "+Le+"; if (vErrors !== null) { if ("+Le+") vErrors.length = "+Le+"; else vErrors = null; } ",be.compositeRule=Ne.compositeRule=Ee,Be?(Se+=" if ("+Me+") { ",Ne.schema=be.schema.then,Ne.schemaPath=be.schemaPath+".then",Ne.errSchemaPath=be.errSchemaPath+"/then",Se+=" "+be.validate(Ne)+" ",Ne.baseId=Pe,Se+=" "+$e+" = "+Me+"; ",Be&&We?Se+=" var "+(xe="ifClause"+ke)+" = 'then'; ":xe="'then'",Se+=" } ",We&&(Se+=" else { ")):Se+=" if (!"+Me+") { ",We&&(Ne.schema=be.schema.else,Ne.schemaPath=be.schemaPath+".else",Ne.errSchemaPath=be.errSchemaPath+"/else",Se+=" "+be.validate(Ne)+" ",Ne.baseId=Pe,Se+=" "+$e+" = "+Me+"; ",Be&&We?Se+=" var "+(xe="ifClause"+ke)+" = 'else'; ":xe="'else'",Se+=" } "),Se+=" if (!"+$e+") { var err = ",!1!==be.createErrors?(Se+=" { keyword: 'if' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { failingKeyword: "+xe+" } ",!1!==be.opts.messages&&(Se+=" , message: 'should match \"' + "+xe+" + '\" schema' "),be.opts.verbose&&(Se+=" , schema: validate.schema"+Re+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Te+" "),Se+=" } "):Se+=" {} ",Se+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!be.compositeRule&&_e&&(be.async?Se+=" throw new ValidationError(vErrors); ":Se+=" validate.errors = vErrors; return false; "),Se+=" } ",_e&&(Se+=" else { ")):_e&&(Se+=" if (true) { "),Se}},8161:function(be,Ae,we){be.exports={$ref:we(7096),allOf:we(3531),anyOf:we(8854),$comment:we(8372),const:we(9650),contains:we(1292),dependencies:we(2860),enum:we(7112),format:we(4682),if:we(1678),items:we(3913),maximum:we(1765),minimum:we(1765),maxItems:we(9337),minItems:we(9337),maxLength:we(5433),minLength:we(5433),maxProperties:we(7724),minProperties:we(7724),multipleOf:we(812),not:we(1004),oneOf:we(6288),pattern:we(2079),properties:we(2124),propertyNames:we(4926),required:we(2e3),uniqueItems:we(7812),validate:we(1035)}},3913:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=be.errSchemaPath+"/"+Ae,_e=!be.opts.allErrors,$e="data"+(ke||""),Le=(Ae="valid"+Se,ke="errs__"+Se,be.util.copy(be)),Ne="",Me=(Le.level++,"valid"+Le.level),Be=(Se="i"+Se,Le.dataLevel=be.dataLevel+1),We="data"+Be,Pe=be.baseId;if(xe+="var "+ke+" = errors;var "+Ae+";",Array.isArray(Te)){var He,Ge,Fe=be.schema.additionalItems,Oe=(!1===Fe&&(xe+=" "+Ae+" = "+$e+".length <= "+Te.length+"; ",He=Re,Re=be.errSchemaPath+"/additionalItems",(Ge=Ge||[]).push(xe+=" if (!"+Ae+") { "),xe="",!1!==be.createErrors?(xe+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { limit: "+Te.length+" } ",!1!==be.opts.messages&&(xe+=" , message: 'should NOT have more than "+Te.length+" items' "),be.opts.verbose&&(xe+=" , schema: false , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ",Ae=xe,xe=Ge.pop(),!be.compositeRule&&_e?be.async?xe+=" throw new ValidationError(["+Ae+"]); ":xe+=" validate.errors = ["+Ae+"]; return false; ":xe+=" var err = "+Ae+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } ",Re=He,_e)&&(Ne+="}",xe+=" else { "),Te);if(Oe)for(var Ve=-1,Ze=Oe.length-1;Ve<Ze;){var De,Ke,je=Oe[Ve+=1];(be.opts.strictKeywords?"object"==typeof je&&0<Object.keys(je).length||!1===je:be.util.schemaHasRules(je,be.RULES.all))&&(xe+=" "+Me+" = true; if ("+$e+".length > "+Ve+") { ",De=$e+"["+Ve+"]",Le.schema=je,Le.schemaPath=Ee+"["+Ve+"]",Le.errSchemaPath=Re+"/"+Ve,Le.errorPath=be.util.getPathExpr(be.errorPath,Ve,be.opts.jsonPointers,!0),Le.dataPathArr[Be]=Ve,Ke=be.validate(Le),Le.baseId=Pe,be.util.varOccurences(Ke,We)<2?xe+=" "+be.util.varReplace(Ke,We,De)+" ":xe+=" var "+We+" = "+De+"; "+Ke+" ",xe+=" } ",_e)&&(xe+=" if ("+Me+") { ",Ne+="}")}"object"==typeof Fe&&(be.opts.strictKeywords?"object"==typeof Fe&&0<Object.keys(Fe).length||!1===Fe:be.util.schemaHasRules(Fe,be.RULES.all))&&(Le.schema=Fe,Le.schemaPath=be.schemaPath+".additionalItems",Le.errSchemaPath=be.errSchemaPath+"/additionalItems",xe+=" "+Me+" = true; if ("+$e+".length > "+Te.length+") { for (var "+Se+" = "+Te.length+"; "+Se+" < "+$e+".length; "+Se+"++) { ",Le.errorPath=be.util.getPathExpr(be.errorPath,Se,be.opts.jsonPointers,!0),De=$e+"["+Se+"]",Le.dataPathArr[Be]=Se,Ke=be.validate(Le),Le.baseId=Pe,be.util.varOccurences(Ke,We)<2?xe+=" "+be.util.varReplace(Ke,We,De)+" ":xe+=" var "+We+" = "+De+"; "+Ke+" ",_e&&(xe+=" if (!"+Me+") break; "),xe+=" } } ",_e)&&(xe+=" if ("+Me+") { ",Ne+="}")}else(be.opts.strictKeywords?"object"==typeof Te&&0<Object.keys(Te).length||!1===Te:be.util.schemaHasRules(Te,be.RULES.all))&&(Le.schema=Te,Le.schemaPath=Ee,Le.errSchemaPath=Re,xe+=" for (var "+Se+" = 0; "+Se+" < "+$e+".length; "+Se+"++) { ",Le.errorPath=be.util.getPathExpr(be.errorPath,Se,be.opts.jsonPointers,!0),De=$e+"["+Se+"]",Le.dataPathArr[Be]=Se,Ke=be.validate(Le),Le.baseId=Pe,be.util.varOccurences(Ke,We)<2?xe+=" "+be.util.varReplace(Ke,We,De)+" ":xe+=" var "+We+" = "+De+"; "+Ke+" ",_e&&(xe+=" if (!"+Me+") break; "),xe+=" }");return _e&&(xe+=" "+Ne+" if ("+ke+" == errors) {"),xe}},812:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=be.errSchemaPath+"/"+Ae,_e=!be.opts.allErrors,$e="data"+(ke||""),Le=be.opts.$data&&Te&&Te.$data;if(ke=Le?(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; ","schema"+Se):Te,!Le&&"number"!=typeof Te)throw new Error(Ae+" must be number");return xe+="var division"+Se+";if (",Le&&(xe+=" "+ke+" !== undefined && ( typeof "+ke+" != 'number' || "),xe+=" (division"+Se+" = "+$e+" / "+ke+", ",be.opts.multipleOfPrecision?xe+=" Math.abs(Math.round(division"+Se+") - division"+Se+") > 1e-"+be.opts.multipleOfPrecision+" ":xe+=" division"+Se+" !== parseInt(division"+Se+") ",xe+=" ) ",Le&&(xe+=" ) "),(Ae=[]).push(xe+=" ) { "),xe="",!1!==be.createErrors?(xe+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { multipleOf: "+ke+" } ",!1!==be.opts.messages&&(xe=xe+" , message: 'should be multiple of "+(Le?"' + "+ke:ke+"'")),be.opts.verbose&&(xe=(xe+=" , schema: ")+(Le?"validate.schema"+Ee:""+Te)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ",Se=xe,xe=Ae.pop(),!be.compositeRule&&_e?be.async?xe+=" throw new ValidationError(["+Se+"]); ":xe+=" validate.errors = ["+Se+"]; return false; ":xe+=" var err = "+Se+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+="} ",_e&&(xe+=" else { "),xe}},1004:function(be){be.exports=function(be,Ae,we){var xe,Se,ke=" ",Te=be.level,Ee=be.dataLevel,Re=be.schema[Ae],_e=be.schemaPath+be.util.getProperty(Ae),$e=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),Le=(Ee="data"+(Ee||""),Te="errs__"+Te,be.util.copy(be)),Ne=(Le.level++,"valid"+Le.level);return(be.opts.strictKeywords?"object"==typeof Re&&0<Object.keys(Re).length||!1===Re:be.util.schemaHasRules(Re,be.RULES.all))?(Le.schema=Re,Le.schemaPath=_e,Le.errSchemaPath=Ae,ke+=" var "+Te+" = errors; ",Re=be.compositeRule,be.compositeRule=Le.compositeRule=!0,Le.createErrors=!1,Le.opts.allErrors&&(Se=Le.opts.allErrors,Le.opts.allErrors=!1),ke+=" "+be.validate(Le)+" ",Le.createErrors=!0,Se&&(Le.opts.allErrors=Se),be.compositeRule=Le.compositeRule=Re,(xe=xe||[]).push(ke+=" if ("+Ne+") { "),ke="",!1!==be.createErrors?(ke+=" { keyword: 'not' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: {} ",!1!==be.opts.messages&&(ke+=" , message: 'should NOT be valid' "),be.opts.verbose&&(ke+=" , schema: validate.schema"+_e+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Ee+" "),ke+=" } "):ke+=" {} ",Se=ke,ke=xe.pop(),!be.compositeRule&&$e?be.async?ke+=" throw new ValidationError(["+Se+"]); ":ke+=" validate.errors = ["+Se+"]; return false; ":ke+=" var err = "+Se+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",ke+=" } else { errors = "+Te+"; if (vErrors !== null) { if ("+Te+") vErrors.length = "+Te+"; else vErrors = null; } ",be.opts.allErrors&&(ke+=" } ")):(ke+=" var err = ",!1!==be.createErrors?(ke+=" { keyword: 'not' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: {} ",!1!==be.opts.messages&&(ke+=" , message: 'should NOT be valid' "),be.opts.verbose&&(ke+=" , schema: validate.schema"+_e+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Ee+" "),ke+=" } "):ke+=" {} ",ke+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",$e&&(ke+=" if (false) { ")),ke}},6288:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=be.errSchemaPath+"/"+Ae,_e=(Ae=!be.opts.allErrors,ke="data"+(ke||""),"valid"+Se),$e="errs__"+Se,Le=be.util.copy(be),Ne="",Me=(Le.level++,"valid"+Le.level),Be=Le.baseId,We="prevValid"+Se,Pe="passingSchemas"+Se,He=(xe+="var "+$e+" = errors , "+We+" = false , "+_e+" = false , "+Pe+" = null; ",Se=be.compositeRule,be.compositeRule=Le.compositeRule=!0,Te);if(He)for(var Ge,Fe=-1,Oe=He.length-1;Fe<Oe;)Ge=He[Fe+=1],(be.opts.strictKeywords?"object"==typeof Ge&&0<Object.keys(Ge).length||!1===Ge:be.util.schemaHasRules(Ge,be.RULES.all))?(Le.schema=Ge,Le.schemaPath=Ee+"["+Fe+"]",Le.errSchemaPath=Re+"/"+Fe,xe+=" "+be.validate(Le)+" ",Le.baseId=Be):xe+=" var "+Me+" = true; ",Fe&&(xe+=" if ("+Me+" && "+We+") { "+_e+" = false; "+Pe+" = ["+Pe+", "+Fe+"]; } else { ",Ne+="}"),xe+=" if ("+Me+") { "+_e+" = "+We+" = true; "+Pe+" = "+Fe+"; }";return be.compositeRule=Le.compositeRule=Se,xe+=Ne+"if (!"+_e+") { var err = ",!1!==be.createErrors?(xe+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { passingSchemas: "+Pe+" } ",!1!==be.opts.messages&&(xe+=" , message: 'should match exactly one schema in oneOf' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+ke+" "),xe+=" } "):xe+=" {} ",xe+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!be.compositeRule&&Ae&&(be.async?xe+=" throw new ValidationError(vErrors); ":xe+=" validate.errors = vErrors; return false; "),xe+="} else { errors = "+$e+"; if (vErrors !== null) { if ("+$e+") vErrors.length = "+$e+"; else vErrors = null; }",be.opts.allErrors&&(xe+=" } "),xe}},2079:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),_e="data"+(ke||""),$e=be.opts.$data&&Te&&Te.$data,Le=(ke=$e?(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; ","schema"+Se):Te,Se=$e?"(new RegExp("+ke+"))":be.usePattern(Te),xe+="if ( ",$e&&(xe+=" ("+ke+" !== undefined && typeof "+ke+" != 'string') || "),[]);return Le.push(xe+=" !"+Se+".test("+_e+") ) { "),xe="",!1!==be.createErrors?(xe=(xe+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { pattern: ")+($e?""+ke:""+be.util.toQuotedString(Te))+" } ",!1!==be.opts.messages&&(xe=(xe+=" , message: 'should match pattern \"")+($e?"' + "+ke+" + '":""+be.util.escapeQuotes(Te))+"\"' "),be.opts.verbose&&(xe=(xe=(xe+=" , schema: ")+($e?"validate.schema"+Ee:""+be.util.toQuotedString(Te)))+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",Se=xe,xe=Le.pop(),!be.compositeRule&&Re?be.async?xe+=" throw new ValidationError(["+Se+"]); ":xe+=" validate.errors = ["+Se+"]; return false; ":xe+=" var err = "+Se+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+="} ",Re&&(xe+=" else { "),xe}},2124:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=be.errSchemaPath+"/"+Ae,$e=!be.opts.allErrors,Le="data"+(Te||""),Ne=(Ae="errs__"+ke,be.util.copy(be)),Me="",Be=(Ne.level++,"valid"+Ne.level),We="key"+ke,Pe="idx"+ke,He=Ne.dataLevel=be.dataLevel+1,Ge="data"+He,Fe="dataProperties"+ke,Oe=(Te=Object.keys(Ee||{}).filter(V),be.schema.patternProperties||{}),Ve=Object.keys(Oe).filter(V),Ze=be.schema.additionalProperties,De=Te.length||Ve.length,Ke=!1===Ze,je="object"==typeof Ze&&Object.keys(Ze).length,ze=be.opts.removeAdditional,Xe=Ke||je||ze,Ye=be.opts.ownProperties,Je=be.baseId,Ue=be.schema.required;function V(be){return"__proto__"!==be}if(Ue&&(!be.opts.$data||!Ue.$data)&&Ue.length<be.opts.loopRequired&&(xe=be.util.toHash(Ue)),Se+="var "+Ae+" = errors;var "+Be+" = true;",Ye&&(Se+=" var "+Fe+" = undefined;"),Xe){if(Se+=Ye?" "+Fe+" = "+Fe+" || Object.keys("+Le+"); for (var "+Pe+"=0; "+Pe+"<"+Fe+".length; "+Pe+"++) { var "+We+" = "+Fe+"["+Pe+"]; ":" for (var "+We+" in "+Le+") { ",De){if(Se+=" var isAdditional"+ke+" = !(false ",Te.length)if(8<Te.length)Se+=" || validate.schema"+Re+".hasOwnProperty("+We+") ";else{var Qe=Te;if(Qe)for(var qe=-1,et=Qe.length-1;qe<et;)st=Qe[qe+=1],Se+=" || "+We+" == "+be.util.toQuotedString(st)+" "}if(Ve.length){var tt=Ve;if(tt)for(var nt=-1,it=tt.length-1;nt<it;)yt=tt[nt+=1],Se+=" || "+be.usePattern(yt)+".test("+We+") "}Se+=" ); if (isAdditional"+ke+") { "}"all"==ze?Se+=" delete "+Le+"["+We+"]; ":(dt=be.errorPath,Ue="' + "+We+" + '",be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPathExpr(be.errorPath,We,be.opts.jsonPointers)),Ke?ze?Se+=" delete "+Le+"["+We+"]; ":(ut=_e,_e=be.errSchemaPath+"/additionalProperties",(pt=pt||[]).push(Se+=" "+Be+" = false; "),Se="",!1!==be.createErrors?(Se+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { additionalProperty: '"+Ue+"' } ",!1!==be.opts.messages&&(Se+=" , message: '",be.opts._errorDataPathProperty?Se+="is an invalid additional property":Se+="should NOT have additional properties",Se+="' "),be.opts.verbose&&(Se+=" , schema: false , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",mt=Se,Se=pt.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+mt+"]); ":Se+=" validate.errors = ["+mt+"]; return false; ":Se+=" var err = "+mt+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",_e=ut,$e&&(Se+=" break; ")):je&&("failing"==ze?(Se+=" var "+Ae+" = errors; ",Xe=be.compositeRule,be.compositeRule=Ne.compositeRule=!0,Ne.schema=Ze,Ne.schemaPath=be.schemaPath+".additionalProperties",Ne.errSchemaPath=be.errSchemaPath+"/additionalProperties",Ne.errorPath=be.opts._errorDataPathProperty?be.errorPath:be.util.getPathExpr(be.errorPath,We,be.opts.jsonPointers),bt=Le+"["+We+"]",Ne.dataPathArr[He]=We,At=be.validate(Ne),Ne.baseId=Je,be.util.varOccurences(At,Ge)<2?Se+=" "+be.util.varReplace(At,Ge,bt)+" ":Se+=" var "+Ge+" = "+bt+"; "+At+" ",Se+=" if (!"+Be+") { errors = "+Ae+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+Le+"["+We+"]; } ",be.compositeRule=Ne.compositeRule=Xe):(Ne.schema=Ze,Ne.schemaPath=be.schemaPath+".additionalProperties",Ne.errSchemaPath=be.errSchemaPath+"/additionalProperties",Ne.errorPath=be.opts._errorDataPathProperty?be.errorPath:be.util.getPathExpr(be.errorPath,We,be.opts.jsonPointers),bt=Le+"["+We+"]",Ne.dataPathArr[He]=We,At=be.validate(Ne),Ne.baseId=Je,be.util.varOccurences(At,Ge)<2?Se+=" "+be.util.varReplace(At,Ge,bt)+" ":Se+=" var "+Ge+" = "+bt+"; "+At+" ",$e&&(Se+=" if (!"+Be+") break; "))),be.errorPath=dt),De&&(Se+=" } "),Se+=" } ",$e&&(Se+=" if ("+Be+") { ",Me+="}")}var ot=be.opts.useDefaults&&!be.compositeRule;if(Te.length){var rt=Te;if(rt)for(var st,at=-1,lt=rt.length-1;at<lt;){var ct,ht,dt,ut,gt,pt,mt,ft=Ee[st=rt[at+=1]];(be.opts.strictKeywords?"object"==typeof ft&&0<Object.keys(ft).length||!1===ft:be.util.schemaHasRules(ft,be.RULES.all))&&(bt=Le+(gt=be.util.getProperty(st)),ct=ot&&void 0!==ft.default,Ne.schema=ft,Ne.schemaPath=Re+gt,Ne.errSchemaPath=_e+"/"+be.util.escapeFragment(st),Ne.errorPath=be.util.getPath(be.errorPath,st,be.opts.jsonPointers),Ne.dataPathArr[He]=be.util.toQuotedString(st),At=be.validate(Ne),Ne.baseId=Je,be.util.varOccurences(At,Ge)<2?(At=be.util.varReplace(At,Ge,bt),ht=bt):Se+=" var "+(ht=Ge)+" = "+bt+"; ",ct?Se+=" "+At+" ":(xe&&xe[st]?(Se+=" if ( "+ht+" === undefined ",Ye&&(Se+=" || ! Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(st)+"') "),Se+=") { "+Be+" = false; ",dt=be.errorPath,ut=_e,gt=be.util.escapeQuotes(st),be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPath(dt,st,be.opts.jsonPointers)),_e=be.errSchemaPath+"/required",(pt=pt||[]).push(Se),Se="",!1!==be.createErrors?(Se+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(_e)+" , params: { missingProperty: '"+gt+"' } ",!1!==be.opts.messages&&(Se+=" , message: '",be.opts._errorDataPathProperty?Se+="is a required property":Se+="should have required property \\'"+gt+"\\'",Se+="' "),be.opts.verbose&&(Se+=" , schema: validate.schema"+Re+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Se+=" } "):Se+=" {} ",mt=Se,Se=pt.pop(),!be.compositeRule&&$e?be.async?Se+=" throw new ValidationError(["+mt+"]); ":Se+=" validate.errors = ["+mt+"]; return false; ":Se+=" var err = "+mt+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",_e=ut,be.errorPath=dt,Se+=" } else { "):$e?(Se+=" if ( "+ht+" === undefined ",Ye&&(Se+=" || ! Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(st)+"') "),Se+=") { "+Be+" = true; } else { "):(Se+=" if ("+ht+" !== undefined ",Ye&&(Se+=" && Object.prototype.hasOwnProperty.call("+Le+", '"+be.util.escapeQuotes(st)+"') "),Se+=" ) { "),Se+=" "+At+" } ")),$e&&(Se+=" if ("+Be+") { ",Me+="}")}}if(Ve.length){var Ct=Ve;if(Ct)for(var yt,vt=-1,It=Ct.length-1;vt<It;){var bt,At;ft=Oe[yt=Ct[vt+=1]],(be.opts.strictKeywords?"object"==typeof ft&&0<Object.keys(ft).length||!1===ft:be.util.schemaHasRules(ft,be.RULES.all))&&(Ne.schema=ft,Ne.schemaPath=be.schemaPath+".patternProperties"+be.util.getProperty(yt),Ne.errSchemaPath=be.errSchemaPath+"/patternProperties/"+be.util.escapeFragment(yt),Se=(Se+=Ye?" "+Fe+" = "+Fe+" || Object.keys("+Le+"); for (var "+Pe+"=0; "+Pe+"<"+Fe+".length; "+Pe+"++) { var "+We+" = "+Fe+"["+Pe+"]; ":" for (var "+We+" in "+Le+") { ")+" if ("+be.usePattern(yt)+".test("+We+")) { ",Ne.errorPath=be.util.getPathExpr(be.errorPath,We,be.opts.jsonPointers),bt=Le+"["+We+"]",Ne.dataPathArr[He]=We,At=be.validate(Ne),Ne.baseId=Je,be.util.varOccurences(At,Ge)<2?Se+=" "+be.util.varReplace(At,Ge,bt)+" ":Se+=" var "+Ge+" = "+bt+"; "+At+" ",$e&&(Se+=" if (!"+Be+") break; "),Se+=" } ",$e&&(Se+=" else "+Be+" = true; "),Se+=" } ",$e)&&(Se+=" if ("+Be+") { ",Me+="}")}}return $e&&(Se+=" "+Me+" if ("+Ae+" == errors) {"),Se}},4926:function(be){be.exports=function(be,Ae,we){var xe,Se,ke,Te,Ee,Re,_e,$e=" ",Le=be.level,Ne=be.dataLevel,Me=be.schema[Ae],Be=be.schemaPath+be.util.getProperty(Ae),We=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),Pe=(Ne="data"+(Ne||""),"errs__"+Le),He=be.util.copy(be),Ge=(He.level++,"valid"+He.level);return $e+="var "+Pe+" = errors;",(be.opts.strictKeywords?"object"==typeof Me&&0<Object.keys(Me).length||!1===Me:be.util.schemaHasRules(Me,be.RULES.all))&&(He.schema=Me,He.schemaPath=Be,He.errSchemaPath=Ae,Me="idx"+Le,Se="i"+Le,ke="' + "+(xe="key"+Le)+" + '",Te="data"+(He.dataLevel=be.dataLevel+1),_e="dataProperties"+Le,Re=be.opts.ownProperties,Ee=be.baseId,Re&&($e+=" var "+_e+" = undefined; "),$e=$e+(Re?" "+_e+" = "+_e+" || Object.keys("+Ne+"); for (var "+Me+"=0; "+Me+"<"+_e+".length; "+Me+"++) { var "+xe+" = "+_e+"["+Me+"]; ":" for (var "+xe+" in "+Ne+") { ")+" var startErrs"+Le+" = errors; ",Re=xe,_e=be.compositeRule,be.compositeRule=He.compositeRule=!0,Me=be.validate(He),He.baseId=Ee,be.util.varOccurences(Me,Te)<2?$e+=" "+be.util.varReplace(Me,Te,Re)+" ":$e+=" var "+Te+" = "+Re+"; "+Me+" ",be.compositeRule=He.compositeRule=_e,$e+=" if (!"+Ge+") { for (var "+Se+"=startErrs"+Le+"; "+Se+"<errors; "+Se+"++) { vErrors["+Se+"].propertyName = "+xe+"; } var err = ",!1!==be.createErrors?($e+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { propertyName: '"+ke+"' } ",!1!==be.opts.messages&&($e+=" , message: 'property name \\'"+ke+"\\' is invalid' "),be.opts.verbose&&($e+=" , schema: validate.schema"+Be+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Ne+" "),$e+=" } "):$e+=" {} ",$e+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!be.compositeRule&&We&&(be.async?$e+=" throw new ValidationError(vErrors); ":$e+=" validate.errors = vErrors; return false; "),We&&($e+=" break; "),$e+=" } }"),We&&($e+=" if ("+Pe+" == errors) {"),$e}},7096:function(be){be.exports=function(be,Ae,we){var xe,Se,ke,Te=" ",Ee=be.level,Re=be.dataLevel,_e=be.schema[Ae],$e=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),Le="data"+(Re||"");if(Ee="valid"+Ee,"#"==_e||"#/"==_e)Se=be.isRoot?(xe=be.async,"validate"):(xe=!0===be.root.schema.$async,"root.refVal[0]");else{var Ne=be.resolveRef(be.baseId,_e,be.isRoot);if(void 0===Ne){var Me=be.MissingRefError.message(be.baseId,_e);if("fail"==be.opts.missingRefs)be.logger.error(Me),(ke=ke||[]).push(Te),Te="",!1!==be.createErrors?(Te+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { ref: '"+be.util.escapeQuotes(_e)+"' } ",!1!==be.opts.messages&&(Te+=" , message: 'can\\'t resolve reference "+be.util.escapeQuotes(_e)+"' "),be.opts.verbose&&(Te+=" , schema: "+be.util.toQuotedString(_e)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+Le+" "),Te+=" } "):Te+=" {} ",Ae=Te,Te=ke.pop(),!be.compositeRule&&$e?be.async?Te+=" throw new ValidationError(["+Ae+"]); ":Te+=" validate.errors = ["+Ae+"]; return false; ":Te+=" var err = "+Ae+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",$e&&(Te+=" if (false) { ");else{if("ignore"!=be.opts.missingRefs)throw new be.MissingRefError(be.baseId,_e,Me);be.logger.warn(Me),$e&&(Te+=" if (true) { ")}}else Ne.inline?((Ae=be.util.copy(be)).level++,Me="valid"+Ae.level,Ae.schema=Ne.schema,Ae.schemaPath="",Ae.errSchemaPath=_e,Te+=" "+be.validate(Ae).replace(/validate\.schema/g,Ne.code)+" ",$e&&(Te+=" if ("+Me+") { ")):(xe=!0===Ne.$async||be.async&&!1!==Ne.$async,Se=Ne.code)}if(Se)if((ke=ke||[]).push(Te),Te="",be.opts.passContext?Te+=" "+Se+".call(this, ":Te+=" "+Se+"( ",Te+=" "+Le+", (dataPath || '')",'""'!=be.errorPath&&(Te+=" + "+be.errorPath),Ae=Te+=" , "+(_e=Re?"data"+(Re-1||""):"parentData")+" , "+(Re?be.dataPathArr[Re]:"parentDataProperty")+", rootData) ",Te=ke.pop(),xe){if(!be.async)throw new Error("async schema referenced by sync schema");$e&&(Te+=" var "+Ee+"; "),Te+=" try { await "+Ae+"; ",$e&&(Te+=" "+Ee+" = true; "),Te+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",$e&&(Te+=" "+Ee+" = false; "),Te+=" } ",$e&&(Te+=" if ("+Ee+") { ")}else Te+=" if (!"+Ae+") { if (vErrors === null) vErrors = "+Se+".errors; else vErrors = vErrors.concat("+Se+".errors); errors = vErrors.length; } ",$e&&(Te+=" else { ");return Te}},2e3:function(be){be.exports=function(be,Ae,we){var xe=" ",Se=be.level,ke=be.dataLevel,Te=be.schema[Ae],Ee=be.schemaPath+be.util.getProperty(Ae),Re=be.errSchemaPath+"/"+Ae,_e=(Ae=!be.opts.allErrors,"data"+(ke||"")),$e="valid"+Se,Le=be.opts.$data&&Te&&Te.$data;if(Le&&(xe+=" var schema"+Se+" = "+be.util.getData(Te.$data,ke,be.dataPathArr)+"; "),ke="schema"+Se,!Le)if(Te.length<be.opts.loopRequired&&be.schema.properties&&Object.keys(be.schema.properties).length){var Ne=[],Me=Te;if(Me)for(var Be=-1,We=Me.length-1;Be<We;){var Pe=Me[Be+=1],He=be.schema.properties[Pe];He&&(be.opts.strictKeywords?"object"==typeof He&&0<Object.keys(He).length||!1===He:be.util.schemaHasRules(He,be.RULES.all))||(Ne[Ne.length]=Pe)}}else Ne=Te;if(Le||Ne.length){var Ge=be.errorPath,Fe=(Te=Le||Ne.length>=be.opts.loopRequired,be.opts.ownProperties);if(Ae){if(xe+=" var missing"+Se+"; ",Te){Le||(xe+=" var "+ke+" = validate.schema"+Ee+"; ");var Oe="' + "+(ze="schema"+Se+"["+(Ke="i"+Se)+"]")+" + '";be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPathExpr(Ge,ze,be.opts.jsonPointers)),xe+=" var "+$e+" = true; ",Le&&(xe+=" if (schema"+Se+" === undefined) "+$e+" = true; else if (!Array.isArray(schema"+Se+")) "+$e+" = false; else {"),xe+=" for (var "+Ke+" = 0; "+Ke+" < "+ke+".length; "+Ke+"++) { "+$e+" = "+_e+"["+ke+"["+Ke+"]] !== undefined ",Fe&&(xe+=" && Object.prototype.hasOwnProperty.call("+_e+", "+ke+"["+Ke+"]) "),xe+="; if (!"+$e+") break; } ",Le&&(xe+=" } "),(Ze=Ze||[]).push(xe+=" if (!"+$e+") { "),xe="",!1!==be.createErrors?(xe+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { missingProperty: '"+Oe+"' } ",!1!==be.opts.messages&&(xe+=" , message: '",be.opts._errorDataPathProperty?xe+="is a required property":xe+="should have required property \\'"+Oe+"\\'",xe+="' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ";var Ve=xe;xe=Ze.pop()}else{xe+=" if ( ";var Ze,De=Ne;if(De)for(var Ke=-1,je=De.length-1;Ke<je;)Ye=De[Ke+=1],Ke&&(xe+=" || "),xe+=" ( ( "+(qe=_e+(Qe=be.util.getProperty(Ye)))+" === undefined ",Fe&&(xe+=" || ! Object.prototype.hasOwnProperty.call("+_e+", '"+be.util.escapeQuotes(Ye)+"') "),xe+=") && (missing"+Se+" = "+be.util.toQuotedString(be.opts.jsonPointers?Ye:Qe)+") ) ";xe+=") { ",Oe="' + "+(ze="missing"+Se)+" + '",be.opts._errorDataPathProperty&&(be.errorPath=be.opts.jsonPointers?be.util.getPathExpr(Ge,ze,!0):Ge+" + "+ze),(Ze=Ze||[]).push(xe),xe="",!1!==be.createErrors?(xe+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { missingProperty: '"+Oe+"' } ",!1!==be.opts.messages&&(xe+=" , message: '",be.opts._errorDataPathProperty?xe+="is a required property":xe+="should have required property \\'"+Oe+"\\'",xe+="' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",Ve=xe,xe=Ze.pop()}!be.compositeRule&&Ae?be.async?xe+=" throw new ValidationError(["+Ve+"]); ":xe+=" validate.errors = ["+Ve+"]; return false; ":xe+=" var err = "+Ve+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } else { "}else if(Te){var ze;Le||(xe+=" var "+ke+" = validate.schema"+Ee+"; "),Oe="' + "+(ze="schema"+Se+"["+(Ke="i"+Se)+"]")+" + '",be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPathExpr(Ge,ze,be.opts.jsonPointers)),Le&&(xe+=" if ("+ke+" && !Array.isArray("+ke+")) { var err = ",!1!==be.createErrors?(xe+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { missingProperty: '"+Oe+"' } ",!1!==be.opts.messages&&(xe+=" , message: '",be.opts._errorDataPathProperty?xe+="is a required property":xe+="should have required property \\'"+Oe+"\\'",xe+="' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",xe+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+ke+" !== undefined) { "),xe+=" for (var "+Ke+" = 0; "+Ke+" < "+ke+".length; "+Ke+"++) { if ("+_e+"["+ke+"["+Ke+"]] === undefined ",Fe&&(xe+=" || ! Object.prototype.hasOwnProperty.call("+_e+", "+ke+"["+Ke+"]) "),xe+=") { var err = ",!1!==be.createErrors?(xe+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { missingProperty: '"+Oe+"' } ",!1!==be.opts.messages&&(xe+=" , message: '",be.opts._errorDataPathProperty?xe+="is a required property":xe+="should have required property \\'"+Oe+"\\'",xe+="' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",xe+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",Le&&(xe+=" } ")}else{var Xe=Ne;if(Xe)for(var Ye,Je=-1,Ue=Xe.length-1;Je<Ue;){Ye=Xe[Je+=1];var Qe=be.util.getProperty(Ye),qe=(Oe=be.util.escapeQuotes(Ye),_e+Qe);be.opts._errorDataPathProperty&&(be.errorPath=be.util.getPath(Ge,Ye,be.opts.jsonPointers)),xe+=" if ( "+qe+" === undefined ",Fe&&(xe+=" || ! Object.prototype.hasOwnProperty.call("+_e+", '"+be.util.escapeQuotes(Ye)+"') "),xe+=") { var err = ",!1!==be.createErrors?(xe+=" { keyword: 'required' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Re)+" , params: { missingProperty: '"+Oe+"' } ",!1!==be.opts.messages&&(xe+=" , message: '",be.opts._errorDataPathProperty?xe+="is a required property":xe+="should have required property \\'"+Oe+"\\'",xe+="' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Ee+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+_e+" "),xe+=" } "):xe+=" {} ",xe+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}be.errorPath=Ge}else Ae&&(xe+=" if (true) {");return xe}},7812:function(be){be.exports=function(be,Ae,we){var xe,Se=" ",ke=be.level,Te=be.dataLevel,Ee=be.schema[Ae],Re=be.schemaPath+be.util.getProperty(Ae),_e=(Ae=be.errSchemaPath+"/"+Ae,!be.opts.allErrors),$e="data"+(Te||""),Le="valid"+ke,Ne=be.opts.$data&&Ee&&Ee.$data;return Te=Ne?(Se+=" var schema"+ke+" = "+be.util.getData(Ee.$data,Te,be.dataPathArr)+"; ","schema"+ke):Ee,(Ee||Ne)&&!1!==be.opts.uniqueItems?(Ne&&(Se+=" var "+Le+"; if ("+Te+" === false || "+Te+" === undefined) "+Le+" = true; else if (typeof "+Te+" != 'boolean') "+Le+" = false; else { "),Se+=" var i = "+$e+".length , "+Le+" = true , j; if (i > 1) { ",ke=be.schema.items&&be.schema.items.type,Te=Array.isArray(ke),!ke||"object"==ke||"array"==ke||Te&&(0<=ke.indexOf("object")||0<=ke.indexOf("array"))?Se+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+$e+"[i], "+$e+"[j])) { "+Le+" = false; break outer; } } } ":(Se=(Se+=" var itemIndices = {}, item; for (;i--;) { var item = "+$e+"[i]; ")+" if ("+be.util["checkDataType"+(Te?"s":"")](ke,"item",be.opts.strictNumbers,!0)+") continue; ",Te&&(Se+=" if (typeof item == 'string') item = '\"' + item; "),Se+=" if (typeof itemIndices[item] == 'number') { "+Le+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),Se+=" } ",Ne&&(Se+=" } "),(xe=xe||[]).push(Se+=" if (!"+Le+") { "),Se="",!1!==be.createErrors?(Se+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ae)+" , params: { i: i, j: j } ",!1!==be.opts.messages&&(Se+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),be.opts.verbose&&(Se=(Se+=" , schema: ")+(Ne?"validate.schema"+Re:""+Ee)+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),Se+=" } "):Se+=" {} ",ke=Se,Se=xe.pop(),!be.compositeRule&&_e?be.async?Se+=" throw new ValidationError(["+ke+"]); ":Se+=" validate.errors = ["+ke+"]; return false; ":Se+=" var err = "+ke+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",Se+=" } ",_e&&(Se+=" else { ")):_e&&(Se+=" if (true) { "),Se}},1035:function(be){be.exports=function(be,Ae,we){var xe="",Se=!0===be.schema.$async,ke=be.util.schemaHasRulesExcept(be.schema,be.RULES.all,"$ref"),Te=be.self._getId(be.schema);if(be.opts.strictKeywords&&(Je=be.util.schemaUnknownRules(be.schema,be.RULES.keywords))){if(Je="unknown keyword: "+Je,"log"!==be.opts.strictKeywords)throw new Error(Je);be.logger.warn(Je)}if(be.isTop&&(xe+=" var validate = ",Se&&(be.async=!0,xe+="async "),xe+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",Te)&&(be.opts.sourceCode||be.opts.processCode)&&(xe+=" /*# sourceURL="+Te+" */ "),"boolean"==typeof be.schema||!ke&&!be.schema.$ref)Re=be.level,_e=be.dataLevel,et=be.schema[Ae="false schema"],Oe=be.schemaPath+be.util.getProperty(Ae),Ve=be.errSchemaPath+"/"+Ae,Me=!be.opts.allErrors,$e="data"+(_e||""),Ne="valid"+Re,!1===be.schema?(be.isTop?Me=!0:xe+=" var "+Ne+" = false; ",(ct=ct||[]).push(xe),xe="",!1!==be.createErrors?(xe+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ve)+" , params: {} ",!1!==be.opts.messages&&(xe+=" , message: 'boolean schema is false' "),be.opts.verbose&&(xe+=" , schema: false , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ",Ye=xe,xe=ct.pop(),!be.compositeRule&&Me?be.async?xe+=" throw new ValidationError(["+Ye+"]); ":xe+=" validate.errors = ["+Ye+"]; return false; ":xe+=" var err = "+Ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):be.isTop?xe+=Se?" return data; ":" validate.errors = null; return true; ":xe+=" var "+Ne+" = true; ",be.isTop&&(xe+=" }; return validate; ");else{if(be.isTop){var Ee=be.isTop,Re=be.level=0,_e=be.dataLevel=0,$e="data";if(be.rootId=be.resolve.fullPath(be.self._getId(be.root.schema)),be.baseId=be.baseId||be.rootId,delete be.isTop,be.dataPathArr=[""],void 0!==be.schema.default&&be.opts.useDefaults&&be.opts.strictDefaults){var Le="default is ignored in the schema root";if("log"!==be.opts.strictDefaults)throw new Error(Le);be.logger.warn(Le)}xe=(xe+=" var vErrors = null; ")+" var errors = 0; if (rootData === undefined) rootData = data; "}else{if(Re=be.level,$e="data"+((_e=be.dataLevel)||""),Te&&(be.baseId=be.resolve.url(be.baseId,Te)),Se&&!be.async)throw new Error("async schema in sync schema");xe+=" var errs_"+Re+" = errors;"}var Ne="valid"+Re,Me=!be.opts.allErrors,Be="",We="",Pe=be.schema.type,He=Array.isArray(Pe);if(Pe&&be.opts.nullable&&!0===be.schema.nullable&&(He?-1==Pe.indexOf("null")&&(Pe=Pe.concat("null")):"null"!=Pe&&(Pe=[Pe,"null"],He=!0)),He&&1==Pe.length&&(Pe=Pe[0],He=!1),be.schema.$ref&&ke){if("fail"==be.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+be.errSchemaPath+'" (see option extendRefs)');!0!==be.opts.extendRefs&&(ke=!1,be.logger.warn('$ref: keywords ignored in schema at path "'+be.errSchemaPath+'"'))}if(be.schema.$comment&&be.opts.$comment&&(xe+=" "+be.RULES.all.$comment.code(be,"$comment")),Pe){be.opts.coerceTypes&&(Ge=be.util.coerceToTypes(be.opts.coerceTypes,Pe));var Ge,Fe=be.RULES.types[Pe];if(Ge||He||!0===Fe||Fe&&!z(Fe)){var Oe=be.schemaPath+".type",Ve=be.errSchemaPath+"/type";if(Oe=be.schemaPath+".type",Ve=be.errSchemaPath+"/type",xe+=" if ("+be.util[He?"checkDataTypes":"checkDataType"](Pe,$e,be.opts.strictNumbers,!0)+") { ",Ge){var Ze="dataType"+Re,De="coerced"+Re,Ke=(xe+=" var "+Ze+" = typeof "+$e+"; var "+De+" = undefined; ","array"==be.opts.coerceTypes&&(xe+=" if ("+Ze+" == 'object' && Array.isArray("+$e+") && "+$e+".length == 1) { "+$e+" = "+$e+"[0]; "+Ze+" = typeof "+$e+"; if ("+be.util.checkDataType(be.schema.type,$e,be.opts.strictNumbers)+") "+De+" = "+$e+"; } "),xe+=" if ("+De+" !== undefined) ; ",Ge);if(Ke)for(var je,ze=-1,Xe=Ke.length-1;ze<Xe;)"string"==(je=Ke[ze+=1])?xe+=" else if ("+Ze+" == 'number' || "+Ze+" == 'boolean') "+De+" = '' + "+$e+"; else if ("+$e+" === null) "+De+" = ''; ":"number"==je||"integer"==je?(xe+=" else if ("+Ze+" == 'boolean' || "+$e+" === null || ("+Ze+" == 'string' && "+$e+" && "+$e+" == +"+$e+" ","integer"==je&&(xe+=" && !("+$e+" % 1)"),xe+=")) "+De+" = +"+$e+"; "):"boolean"==je?xe+=" else if ("+$e+" === 'false' || "+$e+" === 0 || "+$e+" === null) "+De+" = false; else if ("+$e+" === 'true' || "+$e+" === 1) "+De+" = true; ":"null"==je?xe+=" else if ("+$e+" === '' || "+$e+" === 0 || "+$e+" === false) "+De+" = null; ":"array"==be.opts.coerceTypes&&"array"==je&&(xe+=" else if ("+Ze+" == 'string' || "+Ze+" == 'number' || "+Ze+" == 'boolean' || "+$e+" == null) "+De+" = ["+$e+"]; ");(ct=ct||[]).push(xe+=" else { "),xe="",!1!==be.createErrors?(xe=(xe+=" { keyword: 'type' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ve)+" , params: { type: '")+(He?""+Pe.join(","):""+Pe)+"' } ",!1!==be.opts.messages&&(xe=(xe+=" , message: 'should be ")+(He?""+Pe.join(","):""+Pe)+"' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Oe+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ";var Ye=xe,Je=(xe=ct.pop(),!be.compositeRule&&Me?be.async?xe+=" throw new ValidationError(["+Ye+"]); ":xe+=" validate.errors = ["+Ye+"]; return false; ":xe+=" var err = "+Ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",_e?"data"+(_e-1||""):"parentData");xe=xe+" } if ("+De+" !== undefined) { "+$e+" = "+De+"; ",_e||(xe+="if ("+Je+" !== undefined)"),xe+=" "+Je+"["+(_e?be.dataPathArr[_e]:"parentDataProperty")+"] = "+De+"; } "}else(ct=ct||[]).push(xe),xe="",!1!==be.createErrors?(xe=(xe+=" { keyword: 'type' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ve)+" , params: { type: '")+(He?""+Pe.join(","):""+Pe)+"' } ",!1!==be.opts.messages&&(xe=(xe+=" , message: 'should be ")+(He?""+Pe.join(","):""+Pe)+"' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Oe+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ",Ye=xe,xe=ct.pop(),!be.compositeRule&&Me?be.async?xe+=" throw new ValidationError(["+Ye+"]); ":xe+=" validate.errors = ["+Ye+"]; return false; ":xe+=" var err = "+Ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";xe+=" } "}}if(be.schema.$ref&&!ke)xe+=" "+be.RULES.all.$ref.code(be,"$ref")+" ",Me&&(xe=(xe+=" } if (errors === ")+(Ee?"0":"errs_"+Re)+") { ",We+="}");else{var Ue=be.RULES;if(Ue)for(var Qe=-1,qe=Ue.length-1;Qe<qe;)if(z(Fe=Ue[Qe+=1])){if(Fe.type&&(xe+=" if ("+be.util.checkDataType(Fe.type,$e,be.opts.strictNumbers)+") { "),be.opts.useDefaults)if("object"==Fe.type&&be.schema.properties){var et=be.schema.properties,tt=Object.keys(et);if(tt)for(var nt,it=-1,ot=tt.length-1;it<ot;)if(void 0!==(at=et[nt=tt[it+=1]]).default){var rt=$e+be.util.getProperty(nt);if(be.compositeRule){if(be.opts.strictDefaults){if(Le="default is ignored for: "+rt,"log"!==be.opts.strictDefaults)throw new Error(Le);be.logger.warn(Le)}}else xe+=" if ("+rt+" === undefined ","empty"==be.opts.useDefaults&&(xe+=" || "+rt+" === null || "+rt+" === '' "),xe+=" ) "+rt+" = ","shared"==be.opts.useDefaults?xe+=" "+be.useDefault(at.default)+" ":xe+=" "+JSON.stringify(at.default)+" ",xe+="; "}}else if("array"==Fe.type&&Array.isArray(be.schema.items)){var st=be.schema.items;if(st){ze=-1;for(var at,lt=st.length-1;ze<lt;)if(void 0!==(at=st[ze+=1]).default)if(rt=$e+"["+ze+"]",be.compositeRule){if(be.opts.strictDefaults){if(Le="default is ignored for: "+rt,"log"!==be.opts.strictDefaults)throw new Error(Le);be.logger.warn(Le)}}else xe+=" if ("+rt+" === undefined ","empty"==be.opts.useDefaults&&(xe+=" || "+rt+" === null || "+rt+" === '' "),xe+=" ) "+rt+" = ","shared"==be.opts.useDefaults?xe+=" "+be.useDefault(at.default)+" ":xe+=" "+JSON.stringify(at.default)+" ",xe+="; "}}var ct,ht=Fe.rules;if(ht)for(var dt,ut=-1,gt=ht.length-1;ut<gt;)X(dt=ht[ut+=1])&&(dt=dt.code(be,dt.keyword,Fe.type))&&(xe+=" "+dt+" ",Me)&&(Be+="}");Me&&(xe+=" "+Be+" ",Be=""),Fe.type&&(xe+=" } ",Pe)&&Pe===Fe.type&&!Ge&&(xe+=" else { ",Oe=be.schemaPath+".type",Ve=be.errSchemaPath+"/type",(ct=ct||[]).push(xe),xe="",!1!==be.createErrors?(xe=(xe+=" { keyword: 'type' , dataPath: (dataPath || '') + "+be.errorPath+" , schemaPath: "+be.util.toQuotedString(Ve)+" , params: { type: '")+(He?""+Pe.join(","):""+Pe)+"' } ",!1!==be.opts.messages&&(xe=(xe+=" , message: 'should be ")+(He?""+Pe.join(","):""+Pe)+"' "),be.opts.verbose&&(xe+=" , schema: validate.schema"+Oe+" , parentSchema: validate.schema"+be.schemaPath+" , data: "+$e+" "),xe+=" } "):xe+=" {} ",Ye=xe,xe=ct.pop(),!be.compositeRule&&Me?be.async?xe+=" throw new ValidationError(["+Ye+"]); ":xe+=" validate.errors = ["+Ye+"]; return false; ":xe+=" var err = "+Ye+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",xe+=" } "),Me&&(xe=(xe+=" if (errors === ")+(Ee?"0":"errs_"+Re)+") { ",We+="}")}}Me&&(xe+=" "+We+" "),Ee?xe=xe+(Se?" if (errors === 0) return data; else throw new ValidationError(vErrors); ":" validate.errors = vErrors; return errors === 0; ")+" }; return validate;":xe+=" var "+Ne+" = errors === errs_"+Re+";"}return xe;function z(be){for(var Ae=be.rules,we=0;we<Ae.length;we++)if(X(Ae[we]))return 1}function X(Ae){return void 0!==be.schema[Ae.keyword]||Ae.implements&&function(Ae){for(var we=Ae.implements,xe=0;xe<we.length;xe++)if(void 0!==be.schema[we[xe]])return 1}(Ae)}}},413:function(be,Ae,we){var xe=/^[a-z_$][a-z0-9_$-]*$/i,Se=we(8050),ke=we(9407);function o(be,Ae){o.errors=null;var we=this._validateKeyword=this._validateKeyword||this.compile(ke,!0);if(we(be))return!0;if(o.errors=we.errors,Ae)throw new Error("custom keyword definition is invalid: "+this.errorsText(we.errors));return!1}be.exports={add:function(be,Ae){var we=this.RULES;if(we.keywords[be])throw new Error("Keyword "+be+" is already defined");if(!xe.test(be))throw new Error("Keyword "+be+" is not a valid identifier");if(Ae){this.validateKeyword(Ae,!0);var ke=Ae.type;if(Array.isArray(ke))for(var Te=0;Te<ke.length;Te++)r(be,ke[Te],Ae);else r(be,ke,Ae);var Ee=Ae.metaSchema;Ee&&(Ae.$data&&this._opts.$data&&(Ee={anyOf:[Ee,{$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"}]}),Ae.validateSchema=this.compile(Ee,!0))}function r(be,Ae,xe){for(var ke,Te=0;Te<we.length;Te++){var Ee=we[Te];if(Ee.type==Ae){ke=Ee;break}}ke||we.push(ke={type:Ae,rules:[]}),xe={keyword:be,definition:xe,custom:!0,code:Se,implements:xe.implements},ke.rules.push(xe),we.custom[be]=xe}return we.keywords[be]=we.all[be]=!0,this},get:function(be){var Ae=this.RULES.custom[be];return Ae?Ae.definition:this.RULES.keywords[be]||!1},remove:function(be){var Ae=this.RULES;delete Ae.keywords[be],delete Ae.all[be],delete Ae.custom[be];for(var we=0;we<Ae.length;we++)for(var xe=Ae[we].rules,Se=0;Se<xe.length;Se++)if(xe[Se].keyword==be){xe.splice(Se,1);break}return this},validate:o}},5215:function(be){be.exports=function e(be,Ae){if(be===Ae)return!0;if(be&&Ae&&"object"==typeof be&&"object"==typeof Ae){if(be.constructor!==Ae.constructor)return!1;var we,xe,Se;if(Array.isArray(be)){if((we=be.length)!=Ae.length)return!1;for(xe=we;0!=xe--;)if(!e(be[xe],Ae[xe]))return!1}else{if(be.constructor===RegExp)return be.source===Ae.source&&be.flags===Ae.flags;if(be.valueOf!==Object.prototype.valueOf)return be.valueOf()===Ae.valueOf();if(be.toString!==Object.prototype.toString)return be.toString()===Ae.toString();if((we=(Se=Object.keys(be)).length)!==Object.keys(Ae).length)return!1;for(xe=we;0!=xe--;)if(!Object.prototype.hasOwnProperty.call(Ae,Se[xe]))return!1;for(xe=we;0!=xe--;){var ke=Se[xe];if(!e(be[ke],Ae[ke]))return!1}}return!0}return be!=be&&Ae!=Ae}},9306:function(be){be.exports=function(be,Ae){var we,xe="boolean"==typeof(Ae="function"==typeof(Ae=Ae||{})?{cmp:Ae}:Ae).cycles&&Ae.cycles,Se=Ae.cmp&&(we=Ae.cmp,function(be){return function(Ae,xe){return Ae={key:Ae,value:be[Ae]},xe={key:xe,value:be[xe]},we(Ae,xe)}}),ke=[];return function e(be){if(void 0!==(be=be&&be.toJSON&&"function"==typeof be.toJSON?be.toJSON():be)){if("number"==typeof be)return isFinite(be)?""+be:"null";if("object"!=typeof be)return JSON.stringify(be);if(Array.isArray(be)){for(Te="[",Ee=0;Ee<be.length;Ee++)Ee&&(Te+=","),Te+=e(be[Ee])||"null";return Te+"]"}if(null===be)return"null";if(-1!==ke.indexOf(be)){if(xe)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}for(var Ae=ke.push(be)-1,we=Object.keys(be).sort(Se&&Se(be)),Te="",Ee=0;Ee<we.length;Ee++){var Re=we[Ee],_e=e(be[Re]);_e&&(Te&&(Te+=","),Te+=JSON.stringify(Re)+":"+_e)}return ke.splice(Ae,1),"{"+Te+"}"}}(be)}},1342:function(be){be.exports=function t(be,Ae){function i(be){return t.insensitive&&(""+be).toLowerCase()||""+be}var we,xe,Se=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,ke=/(^[ ]*|[ ]*$)/g,Te=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,Ee=/^0x[0-9a-f]+$/i,Re=/^0/,_e=(be=i(be).replace(ke,"")||"",Ae=i(Ae).replace(ke,"")||"",be.replace(Se,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0")),$e=Ae.replace(Se,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0");if(ke=parseInt(be.match(Ee),16)||1!==_e.length&&be.match(Te)&&Date.parse(be),Se=parseInt(Ae.match(Ee),16)||ke&&Ae.match(Te)&&Date.parse(Ae)||null){if(ke<Se)return-1;if(Se<ke)return 1}for(var Le=0,Ne=Math.max(_e.length,$e.length);Le<Ne;Le++){if(we=!(_e[Le]||"").match(Re)&&parseFloat(_e[Le])||_e[Le]||0,xe=!($e[Le]||"").match(Re)&&parseFloat($e[Le])||$e[Le]||0,isNaN(we)!==isNaN(xe))return isNaN(we)?1:-1;if(typeof we!=typeof xe&&(we+="",xe+=""),we<xe)return-1;if(xe<we)return 1}return 0}},9151:function(be,Ae){function w(be){return null!==be&&"[object Array]"===Object.prototype.toString.call(be)}function S(be){return null!==be&&"[object Object]"===Object.prototype.toString.call(be)}function x(be,Ae){if(be!==Ae){if(Object.prototype.toString.call(be)!==Object.prototype.toString.call(Ae))return!1;if(!0===w(be)){if(be.length!==Ae.length)return!1;for(var we=0;we<be.length;we++)if(!1===x(be[we],Ae[we]))return!1}else{if(!0!==S(be))return!1;var xe,Se,ke={};for(xe in be)if(hasOwnProperty.call(be,xe)){if(!1===x(be[xe],Ae[xe]))return!1;ke[xe]=!0}for(Se in Ae)if(hasOwnProperty.call(Ae,Se)&&!0!==ke[Se])return!1}}return!0}function k(be){if(""===be||!1===be||null===be)return!0;if(w(be)&&0===be.length)return!0;if(S(be)){for(var Ae in be)if(be.hasOwnProperty(Ae))return!1;return!0}return!1}function s(be){return"0"<=be&&be<="9"||"-"===be}function n(){}function r(){}function a(be){this.runtime=be}function l(be){this._interpreter=be,this.functionTable={abs:{_func:this._functionAbs,_signature:[{types:[0]}]},avg:{_func:this._functionAvg,_signature:[{types:[8]}]},ceil:{_func:this._functionCeil,_signature:[{types:[0]}]},contains:{_func:this._functionContains,_signature:[{types:[2,3]},{types:[1]}]},ends_with:{_func:this._functionEndsWith,_signature:[{types:[2]},{types:[2]}]},floor:{_func:this._functionFloor,_signature:[{types:[0]}]},length:{_func:this._functionLength,_signature:[{types:[2,3,4]}]},map:{_func:this._functionMap,_signature:[{types:[6]},{types:[3]}]},max:{_func:this._functionMax,_signature:[{types:[8,9]}]},merge:{_func:this._functionMerge,_signature:[{types:[4],variadic:!0}]},max_by:{_func:this._functionMaxBy,_signature:[{types:[3]},{types:[6]}]},sum:{_func:this._functionSum,_signature:[{types:[8]}]},starts_with:{_func:this._functionStartsWith,_signature:[{types:[2]},{types:[2]}]},min:{_func:this._functionMin,_signature:[{types:[8,9]}]},min_by:{_func:this._functionMinBy,_signature:[{types:[3]},{types:[6]}]},type:{_func:this._functionType,_signature:[{types:[1]}]},keys:{_func:this._functionKeys,_signature:[{types:[4]}]},values:{_func:this._functionValues,_signature:[{types:[4]}]},sort:{_func:this._functionSort,_signature:[{types:[9,8]}]},sort_by:{_func:this._functionSortBy,_signature:[{types:[3]},{types:[6]}]},join:{_func:this._functionJoin,_signature:[{types:[2]},{types:[9]}]},reverse:{_func:this._functionReverse,_signature:[{types:[2,3]}]},to_array:{_func:this._functionToArray,_signature:[{types:[1]}]},to_string:{_func:this._functionToString,_signature:[{types:[1]}]},to_number:{_func:this._functionToNumber,_signature:[{types:[1]}]},not_null:{_func:this._functionNotNull,_signature:[{types:[1],variadic:!0}]}}}var we,xe,Se,ke,Te,Ee,Re,_e,$e,Le,Ne,Me,Be,We,Pe,He,Ge,Fe,Oe,Ve,Ze,De,Ke,je;we="function"==typeof String.prototype.trimLeft?function(be){return be.trimLeft()}:function(be){return be.match(/^\s*(.*)/)[1]},xe={0:"number",1:"any",2:"string",3:"array",4:"object",5:"boolean",6:"expression",7:"null",8:"Array<number>",9:"Array<string>"},Se="UnquotedIdentifier",ke="QuotedIdentifier",Le="Number",Me="Expref",Be="Pipe",We="Flatten",He="Filter",Fe="Lbracket",Ve="Literal",Ze={".":"Dot","*":Pe="Star",",":Re="Comma",":":_e="Colon","{":Ge="Lbrace","}":$e="Rbrace","]":Te="Rbracket","(":Oe="Lparen",")":Ee="Rparen","@":Ne="Current"},De={"<":!0,">":!0,"=":!0,"!":!0},Ke={" ":!0,"\t":!0,"\n":!0},n.prototype={tokenize:function(be){var Ae,we,xe=[];for(this._current=0;this._current<be.length;)if("a"<=(Ee=be[this._current])&&Ee<="z"||"A"<=Ee&&Ee<="Z"||"_"===Ee)Te=this._current,Ae=this._consumeUnquotedIdentifier(be),xe.push({type:Se,value:Ae,start:Te});else if(void 0!==Ze[be[this._current]])xe.push({type:Ze[be[this._current]],value:be[this._current],start:this._current}),this._current++;else if(s(be[this._current]))we=this._consumeNumber(be),xe.push(we);else if("["===be[this._current])we=this._consumeLBracket(be),xe.push(we);else if('"'===be[this._current])Te=this._current,Ae=this._consumeQuotedIdentifier(be),xe.push({type:ke,value:Ae,start:Te});else if("'"===be[this._current])Te=this._current,Ae=this._consumeRawStringLiteral(be),xe.push({type:Ve,value:Ae,start:Te});else if("`"===be[this._current]){var Te=this._current,Ee=this._consumeLiteral(be);xe.push({type:Ve,value:Ee,start:Te})}else if(void 0!==De[be[this._current]])xe.push(this._consumeOperator(be));else if(void 0!==Ke[be[this._current]])this._current++;else if("&"===be[this._current])Te=this._current,this._current++,"&"===be[this._current]?(this._current++,xe.push({type:"And",value:"&&",start:Te})):xe.push({type:Me,value:"&",start:Te});else{if("|"!==be[this._current])throw(Ee=new Error("Unknown character:"+be[this._current])).name="LexerError",Ee;Te=this._current,this._current++,"|"===be[this._current]?(this._current++,xe.push({type:"Or",value:"||",start:Te})):xe.push({type:Be,value:"|",start:Te})}return xe},_consumeUnquotedIdentifier:function(be){var Ae,we=this._current;for(this._current++;this._current<be.length&&("a"<=(Ae=be[this._current])&&Ae<="z"||"A"<=Ae&&Ae<="Z"||"0"<=Ae&&Ae<="9"||"_"===Ae);)this._current++;return be.slice(we,this._current)},_consumeQuotedIdentifier:function(be){for(var Ae=this._current,we=(this._current++,be.length);'"'!==be[this._current]&&this._current<we;){var xe=this._current;"\\"!==be[xe]||"\\"!==be[xe+1]&&'"'!==be[xe+1]?xe++:xe+=2,this._current=xe}return this._current++,JSON.parse(be.slice(Ae,this._current))},_consumeRawStringLiteral:function(be){for(var Ae=this._current,we=(this._current++,be.length);"'"!==be[this._current]&&this._current<we;){var xe=this._current;"\\"!==be[xe]||"\\"!==be[xe+1]&&"'"!==be[xe+1]?xe++:xe+=2,this._current=xe}return this._current++,be.slice(Ae+1,this._current-1).replace("\\'","'")},_consumeNumber:function(be){for(var Ae=this._current,we=(this._current++,be.length);s(be[this._current])&&this._current<we;)this._current++;var xe=parseInt(be.slice(Ae,this._current));return{type:Le,value:xe,start:Ae}},_consumeLBracket:function(be){var Ae=this._current;return this._current++,"?"===be[this._current]?(this._current++,{type:He,value:"[?",start:Ae}):"]"===be[this._current]?(this._current++,{type:We,value:"[]",start:Ae}):{type:Fe,value:"[",start:Ae}},_consumeOperator:function(be){var Ae=this._current,we=be[Ae];return this._current++,"!"===we?"="===be[this._current]?(this._current++,{type:"NE",value:"!=",start:Ae}):{type:"Not",value:"!",start:Ae}:"<"===we?"="===be[this._current]?(this._current++,{type:"LTE",value:"<=",start:Ae}):{type:"LT",value:"<",start:Ae}:">"===we?"="===be[this._current]?(this._current++,{type:"GTE",value:">=",start:Ae}):{type:"GT",value:">",start:Ae}:"="===we&&"="===be[this._current]?(this._current++,{type:"EQ",value:"==",start:Ae}):void 0},_consumeLiteral:function(be){this._current++;for(var Ae=this._current,xe=be.length;"`"!==be[this._current]&&this._current<xe;){var Se=this._current;"\\"!==be[Se]||"\\"!==be[Se+1]&&"`"!==be[Se+1]?Se++:Se+=2,this._current=Se}return Ae=(Ae=we(be.slice(Ae,this._current))).replace("\\`","`"),Ae=this._looksLikeJSON(Ae)?JSON.parse(Ae):JSON.parse('"'+Ae+'"'),this._current++,Ae},_looksLikeJSON:function(be){if(""===be)return!1;if(0<='[{"'.indexOf(be[0]))return!0;if(0<=["true","false","null"].indexOf(be))return!0;if(!(0<="-0123456789".indexOf(be[0])))return!1;try{return JSON.parse(be),!0}catch(be){return!1}}},je={EOF:0,UnquotedIdentifier:0,QuotedIdentifier:0,Rbracket:0,Rparen:0,Comma:0,Rbrace:0,Number:0,Current:0,Expref:0,Pipe:1,Or:2,And:3,EQ:5,GT:5,LT:5,GTE:5,LTE:5,NE:5,Flatten:9,Star:20,Filter:21,Dot:40,Not:45,Lbrace:50,Lbracket:55,Lparen:60},r.prototype={parse:function(be){var Ae;if(this._loadTokens(be),this.index=0,be=this.expression(0),"EOF"!==this._lookahead(0))throw Ae=this._lookaheadToken(0),(Ae=new Error("Unexpected token type: "+Ae.type+", value: "+Ae.value)).name="ParserError",Ae;return be},_loadTokens:function(be){var Ae=(new n).tokenize(be);Ae.push({type:"EOF",value:"",start:be.length}),this.tokens=Ae},expression:function(be){for(var Ae=this._lookaheadToken(0),we=(this._advance(),this.nud(Ae)),xe=this._lookahead(0);be<je[xe];)this._advance(),we=this.led(xe,we),xe=this._lookahead(0);return we},_lookahead:function(be){return this.tokens[this.index+be].type},_lookaheadToken:function(be){return this.tokens[this.index+be]},_advance:function(){this.index++},nud:function(be){var Ae,we;switch(be.type){case Ve:return{type:"Literal",value:be.value};case Se:return{type:"Field",name:be.value};case ke:var xe={type:"Field",name:be.value};if(this._lookahead(0)===Oe)throw new Error("Quoted identifier not allowed for function names.");return xe;case"Not":return{type:"NotExpression",children:[Ae=this.expression(je.Not)]};case Pe:return Ae=null,{type:"ValueProjection",children:[{type:"Identity"},Ae=this._lookahead(0)===Te?{type:"Identity"}:this._parseProjectionRHS(je.Star)]};case He:return this.led(be.type,{type:"Identity"});case Ge:return this._parseMultiselectHash();case We:return{type:"Projection",children:[{type:We,children:[{type:"Identity"}]},Ae=this._parseProjectionRHS(je.Flatten)]};case Fe:return this._lookahead(0)===Le||this._lookahead(0)===_e?(Ae=this._parseIndexExpression(),this._projectIfSlice({type:"Identity"},Ae)):this._lookahead(0)===Pe&&this._lookahead(1)===Te?(this._advance(),this._advance(),{type:"Projection",children:[{type:"Identity"},Ae=this._parseProjectionRHS(je.Star)]}):this._parseMultiselectList();case Ne:return{type:Ne};case Me:return{type:"ExpressionReference",children:[we=this.expression(je.Expref)]};case Oe:for(var Re=[];this._lookahead(0)!==Ee;)this._lookahead(0)===Ne?(we={type:Ne},this._advance()):we=this.expression(0),Re.push(we);return this._match(Ee),Re[0];default:this._errorToken(be)}},led:function(be,Ae){var we;switch(be){case"Dot":var xe=je.Dot;return this._lookahead(0)!==Pe?{type:"Subexpression",children:[Ae,we=this._parseDotRHS(xe)]}:(this._advance(),{type:"ValueProjection",children:[Ae,we=this._parseProjectionRHS(xe)]});case Be:return we=this.expression(je.Pipe),{type:Be,children:[Ae,we]};case"Or":return{type:"OrExpression",children:[Ae,we=this.expression(je.Or)]};case"And":return{type:"AndExpression",children:[Ae,we=this.expression(je.And)]};case Oe:xe=Ae.name;for(var Se,ke=[];this._lookahead(0)!==Ee;)this._lookahead(0)===Ne?(Se={type:Ne},this._advance()):Se=this.expression(0),this._lookahead(0)===Re&&this._match(Re),ke.push(Se);return this._match(Ee),{type:"Function",name:xe,children:ke};case He:return xe=this.expression(0),this._match(Te),{type:"FilterProjection",children:[Ae,we=this._lookahead(0)===We?{type:"Identity"}:this._parseProjectionRHS(je.Filter),xe]};case We:return{type:"Projection",children:[{type:We,children:[Ae]},this._parseProjectionRHS(je.Flatten)]};case"EQ":case"NE":case"GT":case"GTE":case"LT":case"LTE":return this._parseComparator(Ae,be);case Fe:return(xe=this._lookaheadToken(0)).type===Le||xe.type===_e?(we=this._parseIndexExpression(),this._projectIfSlice(Ae,we)):(this._match(Pe),this._match(Te),{type:"Projection",children:[Ae,we=this._parseProjectionRHS(je.Star)]});default:this._errorToken(this._lookaheadToken(0))}},_match:function(be){var Ae;if(this._lookahead(0)!==be)throw Ae=this._lookaheadToken(0),(be=new Error("Expected "+be+", got: "+Ae.type)).name="ParserError",be;this._advance()},_errorToken:function(be){throw(be=new Error("Invalid token ("+be.type+'): "'+be.value+'"')).name="ParserError",be},_parseIndexExpression:function(){var be;return this._lookahead(0)===_e||this._lookahead(1)===_e?this._parseSliceExpression():(be={type:"Index",value:this._lookaheadToken(0).value},this._advance(),this._match(Te),be)},_projectIfSlice:function(be,Ae){return be={type:"IndexExpression",children:[be,Ae]},"Slice"===Ae.type?{type:"Projection",children:[be,this._parseProjectionRHS(je.Star)]}:be},_parseSliceExpression:function(){for(var be,Ae=[null,null,null],we=0,xe=this._lookahead(0);xe!==Te&&we<3;){if(xe===_e)we++;else{if(xe!==Le)throw be=this._lookahead(0),(be=new Error("Syntax error, unexpected token: "+be.value+"("+be.type+")")).name="Parsererror",be;Ae[we]=this._lookaheadToken(0).value}this._advance(),xe=this._lookahead(0)}return this._match(Te),{type:"Slice",children:Ae}},_parseComparator:function(be,Ae){return{type:"Comparator",name:Ae,children:[be,this.expression(je[Ae])]}},_parseDotRHS:function(be){var Ae=this._lookahead(0);return 0<=[Se,ke,Pe].indexOf(Ae)?this.expression(be):Ae===Fe?(this._match(Fe),this._parseMultiselectList()):Ae===Ge?(this._match(Ge),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(be){var Ae,we;if(je[this._lookahead(0)]<10)Ae={type:"Identity"};else if(this._lookahead(0)===Fe)Ae=this.expression(be);else if(this._lookahead(0)===He)Ae=this.expression(be);else{if("Dot"!==this._lookahead(0))throw we=this._lookaheadToken(0),(we=new Error("Sytanx error, unexpected token: "+we.value+"("+we.type+")")).name="ParserError",we;this._match("Dot"),Ae=this._parseDotRHS(be)}return Ae},_parseMultiselectList:function(){for(var be=[];this._lookahead(0)!==Te;){var Ae=this.expression(0);if(be.push(Ae),this._lookahead(0)===Re&&(this._match(Re),this._lookahead(0)===Te))throw new Error("Unexpected token Rbracket")}return this._match(Te),{type:"MultiSelectList",children:be}},_parseMultiselectHash:function(){for(var be,Ae,we=[],xe=[Se,ke];;){if(be=this._lookaheadToken(0),xe.indexOf(be.type)<0)throw new Error("Expecting an identifier token, got: "+be.type);if(be=be.value,this._advance(),this._match(_e),Ae=this.expression(0),we.push({type:"KeyValuePair",name:be,value:Ae}),this._lookahead(0)===Re)this._match(Re);else if(this._lookahead(0)===$e){this._match($e);break}}return{type:"MultiSelectHash",children:we}}},a.prototype={search:function(be,Ae){return this.visit(be,Ae)},visit:function(be,Ae){var we,xe,Se,ke,Te,Ee;switch(be.type){case"Field":return null!==Ae&&S(Ae)?void 0===(Re=Ae[be.name])?null:Re:null;case"Subexpression":for(Pe=this.visit(be.children[0],Ae),Oe=1;Oe<be.children.length;Oe++)if(null===(Pe=this.visit(be.children[1],Pe)))return null;return Pe;case"IndexExpression":return Te=this.visit(be.children[0],Ae),this.visit(be.children[1],Te);case"Index":return w(Ae)?void 0===(Pe=Ae[Re=(Re=be.value)<0?Ae.length+Re:Re])?null:Pe:null;case"Slice":if(!w(Ae))return null;var Re=be.children.slice(0),_e=(Re=this.computeSliceParams(Ae.length,Re))[0],$e=Re[1],Le=Re[2],Pe=[];if(0<Le)for(Oe=_e;Oe<$e;Oe+=Le)Pe.push(Ae[Oe]);else for(Oe=_e;$e<Oe;Oe+=Le)Pe.push(Ae[Oe]);return Pe;case"Projection":var He=this.visit(be.children[0],Ae);if(!w(He))return null;for(Ge=[],Oe=0;Oe<He.length;Oe++)null!==(xe=this.visit(be.children[1],He[Oe]))&&Ge.push(xe);return Ge;case"ValueProjection":if(!S(He=this.visit(be.children[0],Ae)))return null;for(var Ge=[],Fe=function(be){for(var Ae=Object.keys(be),we=[],xe=0;xe<Ae.length;xe++)we.push(be[Ae[xe]]);return we}(He),Oe=0;Oe<Fe.length;Oe++)null!==(xe=this.visit(be.children[1],Fe[Oe]))&&Ge.push(xe);return Ge;case"FilterProjection":if(!w(He=this.visit(be.children[0],Ae)))return null;var Ve=[],Ze=[];for(Oe=0;Oe<He.length;Oe++)k(we=this.visit(be.children[2],He[Oe]))||Ve.push(He[Oe]);for(var De=0;De<Ve.length;De++)null!==(xe=this.visit(be.children[1],Ve[De]))&&Ze.push(xe);return Ze;case"Comparator":switch(Se=this.visit(be.children[0],Ae),ke=this.visit(be.children[1],Ae),be.name){case"EQ":Pe=x(Se,ke);break;case"NE":Pe=!x(Se,ke);break;case"GT":Pe=ke<Se;break;case"GTE":Pe=ke<=Se;break;case"LT":Pe=Se<ke;break;case"LTE":Pe=Se<=ke;break;default:throw new Error("Unknown comparator: "+be.name)}return Pe;case We:var Ke=this.visit(be.children[0],Ae);if(!w(Ke))return null;var je=[];for(Oe=0;Oe<Ke.length;Oe++)w(xe=Ke[Oe])?je.push.apply(je,xe):je.push(xe);return je;case"Identity":return Ae;case"MultiSelectList":if(null===Ae)return null;for(Ge=[],Oe=0;Oe<be.children.length;Oe++)Ge.push(this.visit(be.children[Oe],Ae));return Ge;case"MultiSelectHash":if(null===Ae)return null;for(Ge={},Oe=0;Oe<be.children.length;Oe++)Ge[(Ee=be.children[Oe]).name]=this.visit(Ee.value,Ae);return Ge;case"OrExpression":return k(we=this.visit(be.children[0],Ae))?this.visit(be.children[1],Ae):we;case"AndExpression":return!0===k(Se=this.visit(be.children[0],Ae))?Se:this.visit(be.children[1],Ae);case"NotExpression":return k(Se=this.visit(be.children[0],Ae));case"Literal":return be.value;case Be:return Te=this.visit(be.children[0],Ae),this.visit(be.children[1],Te);case Ne:return Ae;case"Function":var ze=[];for(Oe=0;Oe<be.children.length;Oe++)ze.push(this.visit(be.children[Oe],Ae));return this.runtime.callFunction(be.name,ze);case"ExpressionReference":return(Re=be.children[0]).jmespathType=Me,Re;default:throw new Error("Unknown node type: "+be.type)}},computeSliceParams:function(be,Ae){var we=Ae[0],xe=Ae[1],Se=[null,null,null];if(null===(Ae=Ae[2]))Ae=1;else if(0===Ae)throw(ke=new Error("Invalid slice, step cannot be 0")).name="RuntimeError",ke;var ke=Ae<0;return we=null===we?ke?be-1:0:this.capSliceRange(be,we,Ae),xe=null===xe?ke?-1:be:this.capSliceRange(be,xe,Ae),Se[0]=we,Se[1]=xe,Se[2]=Ae,Se},capSliceRange:function(be,Ae,we){return Ae<0?(Ae+=be)<0&&(Ae=we<0?-1:0):be<=Ae&&(Ae=we<0?be-1:be),Ae}},l.prototype={callFunction:function(be,Ae){var we=this.functionTable[be];if(void 0===we)throw new Error("Unknown function: "+be+"()");return this._validateArgs(be,Ae,we._signature),we._func.call(this,Ae)},_validateArgs:function(be,Ae,we){var Se;if(we[we.length-1].variadic){if(Ae.length<we.length)throw Se=1===we.length?" argument":" arguments",new Error("ArgumentError: "+be+"() takes at least"+we.length+Se+" but received "+Ae.length)}else if(Ae.length!==we.length)throw Se=1===we.length?" argument":" arguments",new Error("ArgumentError: "+be+"() takes "+we.length+Se+" but received "+Ae.length);for(var ke=0;ke<we.length;ke++){for(var Te,Ee=!1,Re=we[ke].types,_e=this._getTypeName(Ae[ke]),$e=0;$e<Re.length;$e++)if(this._typeMatches(_e,Re[$e],Ae[ke])){Ee=!0;break}if(!Ee)throw Te=Re.map((function(be){return xe[be]})).join(","),new Error("TypeError: "+be+"() expected argument "+(ke+1)+" to be type "+Te+" but received type "+xe[_e]+" instead.")}},_typeMatches:function(be,Ae,we){if(1===Ae)return!0;if(9!==Ae&&8!==Ae&&3!==Ae)return be===Ae;if(3===Ae)return 3===be;if(3===be){var xe;8===Ae?xe=0:9===Ae&&(xe=2);for(var Se=0;Se<we.length;Se++)if(!this._typeMatches(this._getTypeName(we[Se]),xe,we[Se]))return!1;return!0}},_getTypeName:function(be){switch(Object.prototype.toString.call(be)){case"[object String]":return 2;case"[object Number]":return 0;case"[object Array]":return 3;case"[object Boolean]":return 5;case"[object Null]":return 7;case"[object Object]":return be.jmespathType===Me?6:4}},_functionStartsWith:function(be){return 0===be[0].lastIndexOf(be[1])},_functionEndsWith:function(be){var Ae=be[0];return be=be[1],-1!==Ae.indexOf(be,Ae.length-be.length)},_functionReverse:function(be){var Ae;if(2!==this._getTypeName(be[0]))return(Ae=be[0].slice(0)).reverse(),Ae;for(var we=be[0],xe="",Se=we.length-1;0<=Se;Se--)xe+=we[Se];return xe},_functionAbs:function(be){return Math.abs(be[0])},_functionCeil:function(be){return Math.ceil(be[0])},_functionAvg:function(be){for(var Ae=0,we=be[0],xe=0;xe<we.length;xe++)Ae+=we[xe];return Ae/we.length},_functionContains:function(be){return 0<=be[0].indexOf(be[1])},_functionFloor:function(be){return Math.floor(be[0])},_functionLength:function(be){return(S(be[0])?Object.keys(be[0]):be[0]).length},_functionMap:function(be){for(var Ae=[],we=this._interpreter,xe=be[0],Se=be[1],ke=0;ke<Se.length;ke++)Ae.push(we.visit(xe,Se[ke]));return Ae},_functionMerge:function(be){for(var Ae={},we=0;we<be.length;we++){var xe,Se=be[we];for(xe in Se)Ae[xe]=Se[xe]}return Ae},_functionMax:function(be){if(0<be[0].length){if(0===this._getTypeName(be[0][0]))return Math.max.apply(Math,be[0]);for(var Ae=be[0],we=Ae[0],xe=1;xe<Ae.length;xe++)we.localeCompare(Ae[xe])<0&&(we=Ae[xe]);return we}return null},_functionMin:function(be){if(0<be[0].length){if(0===this._getTypeName(be[0][0]))return Math.min.apply(Math,be[0]);for(var Ae=be[0],we=Ae[0],xe=1;xe<Ae.length;xe++)Ae[xe].localeCompare(we)<0&&(we=Ae[xe]);return we}return null},_functionSum:function(be){for(var Ae=0,we=be[0],xe=0;xe<we.length;xe++)Ae+=we[xe];return Ae},_functionType:function(be){switch(this._getTypeName(be[0])){case 0:return"number";case 2:return"string";case 3:return"array";case 4:return"object";case 5:return"boolean";case 6:return"expref";case 7:return"null"}},_functionKeys:function(be){return Object.keys(be[0])},_functionValues:function(be){for(var Ae=be[0],we=Object.keys(Ae),xe=[],Se=0;Se<we.length;Se++)xe.push(Ae[we[Se]]);return xe},_functionJoin:function(be){var Ae=be[0];return be[1].join(Ae)},_functionToArray:function(be){return 3===this._getTypeName(be[0])?be[0]:[be[0]]},_functionToString:function(be){return 2===this._getTypeName(be[0])?be[0]:JSON.stringify(be[0])},_functionToNumber:function(be){var Ae=this._getTypeName(be[0]);return 0===Ae?be[0]:2!==Ae||(Ae=+be[0],isNaN(Ae))?null:Ae},_functionNotNull:function(be){for(var Ae=0;Ae<be.length;Ae++)if(7!==this._getTypeName(be[Ae]))return be[Ae];return null},_functionSort:function(be){return(be=be[0].slice(0)).sort(),be},_functionSortBy:function(be){var Ae=be[0].slice(0);if(0!==Ae.length){var we=this._interpreter,xe=be[1],Se=this._getTypeName(we.visit(xe,Ae[0]));if([0,2].indexOf(Se)<0)throw new Error("TypeError");for(var ke=this,Te=[],Ee=0;Ee<Ae.length;Ee++)Te.push([Ee,Ae[Ee]]);Te.sort((function(be,Ae){var Te=we.visit(xe,be[1]),Ee=we.visit(xe,Ae[1]);if(ke._getTypeName(Te)!==Se)throw new Error("TypeError: expected "+Se+", received "+ke._getTypeName(Te));if(ke._getTypeName(Ee)!==Se)throw new Error("TypeError: expected "+Se+", received "+ke._getTypeName(Ee));return Ee<Te?1:Te<Ee?-1:be[0]-Ae[0]}));for(var Re=0;Re<Te.length;Re++)Ae[Re]=Te[Re][1]}return Ae},_functionMaxBy:function(be){for(var Ae,we,xe=be[1],Se=be[0],ke=this.createKeyFunction(xe,[0,2]),Te=-1/0,Ee=0;Ee<Se.length;Ee++)Te<(we=ke(Se[Ee]))&&(Te=we,Ae=Se[Ee]);return Ae},_functionMinBy:function(be){for(var Ae,we,xe=be[1],Se=be[0],ke=this.createKeyFunction(xe,[0,2]),Te=1/0,Ee=0;Ee<Se.length;Ee++)(we=ke(Se[Ee]))<Te&&(Te=we,Ae=Se[Ee]);return Ae},createKeyFunction:function(be,Ae){var we=this,xe=this._interpreter;return function(Se){var ke;if(Se=xe.visit(be,Se),Ae.indexOf(we._getTypeName(Se))<0)throw ke="TypeError: expected one of "+Ae+", received "+we._getTypeName(Se),new Error(ke);return Se}}},Ae.tokenize=function(be){return(new n).tokenize(be)},Ae.compile=function(be){return(new r).parse(be)},Ae.search=function(be,Ae){var we=new r,xe=new a(Se=new l),Se=(Se._interpreter=xe,we.parse(Ae));return xe.search(Se,be)},Ae.strictDeepEqual=x},4316:function(be){var Ae=be.exports=function(be,we,xe){"function"==typeof we&&(xe=we,we={}),function e(be,we,xe,Se,ke,Te,Ee,Re,_e,$e){if(Se&&"object"==typeof Se&&!Array.isArray(Se)){for(var Le in we(Se,ke,Te,Ee,Re,_e,$e),Se){var Ne=Se[Le];if(Array.isArray(Ne)){if(Le in Ae.arrayKeywords)for(var Me=0;Me<Ne.length;Me++)e(be,we,xe,Ne[Me],ke+"/"+Le+"/"+Me,Te,ke,Le,Se,Me)}else if(Le in Ae.propsKeywords){if(Ne&&"object"==typeof Ne)for(var Be in Ne)e(be,we,xe,Ne[Be],ke+"/"+Le+"/"+f(Be),Te,ke,Le,Se,Be)}else(Le in Ae.keywords||be.allKeys&&!(Le in Ae.skipKeywords))&&e(be,we,xe,Ne,ke+"/"+Le,Te,ke,Le,Se)}xe(Se,ke,Te,Ee,Re,_e,$e)}}(we,"function"==typeof(xe=we.cb||xe)?xe:xe.pre||function(){},xe.post||function(){},be,"",be)};function f(be){return be.replace(/~/g,"~0").replace(/\//g,"~1")}Ae.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},Ae.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},Ae.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},Ae.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},3094:function(be,Ae){var we={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",'"':'"',"/":"/","\\":"\\"},xe="a".charCodeAt(),Se=(Ae.parse=function(be,Ae,Se){var ke={},Te=0,Ee=0,Re=0,_e=Se&&Se.bigint&&"undefined"!=typeof BigInt;return{data:l("",!0),pointers:ke};function l(Ae,we){c(),m(Ae,"value");var xe,Se=u();switch(Se){case"t":d("rue"),xe=!0;break;case"f":d("alse"),xe=!1;break;case"n":d("ull"),xe=null;break;case'"':xe=h();break;case"[":xe=function(be){c();var Ae=[],we=0;if("]"!=u())for(g();;){Ae.push(l(be+"/"+we)),c();var xe=u();if("]"==xe)break;","!=xe&&v(),c(),we++}return Ae}(Ae);break;case"{":xe=function(be){c();var Ae={};if("}"!=u())for(g();;){var we=C(),xe=('"'!=u()&&v(),h()),Se=be+"/"+w(xe);if("}"==(f(Se,"key",we),m(Se,"keyEnd"),c(),":"!=u()&&v(),c(),Ae[xe]=l(Se),c(),we=u()))break;","!=we&&v(),c()}return Ae}(Ae);break;default:g(),0<="-0123456789".indexOf(Se)?xe=function(){var Ae="",we=!0;"-"==be[Re]&&(Ae+=u()),Ae+=("0"==be[Re]?u:p)(),"."==be[Re]&&(Ae+=u()+p(),we=!1),"e"!=be[Re]&&"E"!=be[Re]||(Ae+=u(),"+"!=be[Re]&&"-"!=be[Re]||(Ae+=u()),Ae+=p(),we=!1);var xe=+Ae;return _e&&we&&(xe>Number.MAX_SAFE_INTEGER||xe<Number.MIN_SAFE_INTEGER)?BigInt(Ae):xe}():y()}return m(Ae,"valueEnd"),c(),we&&Re<be.length&&y(),xe}function c(){e:for(;Re<be.length;){switch(be[Re]){case" ":Ee++;break;case"\t":Ee+=4;break;case"\r":Ee=0;break;case"\n":Ee=0,Te++;break;default:break e}Re++}}function h(){for(var be,Ae="";'"'!=(be=u());)"\\"==be?(be=u())in we?Ae+=we[be]:"u"==be?Ae+=function(){for(var be=4,Ae=0;be--;){Ae<<=4;var we=u().toLowerCase();"a"<=we&&we<="f"?Ae+=we.charCodeAt()-xe+10:"0"<=we&&we<="9"?Ae+=+we:v()}return String.fromCharCode(Ae)}():v():Ae+=be;return Ae}function d(be){for(var Ae=0;Ae<be.length;Ae++)u()!==be[Ae]&&v()}function u(){I();var Ae=be[Re];return Re++,Ee++,Ae}function g(){Re--,Ee--}function p(){for(var Ae="";"0"<=be[Re]&&be[Re]<="9";)Ae+=u();if(Ae.length)return Ae;I(),y()}function m(be,Ae){f(be,Ae,C())}function f(be,Ae,we){ke[be]=ke[be]||{},ke[be][Ae]=we}function C(){return{line:Te,column:Ee,pos:Re}}function y(){throw new SyntaxError("Unexpected token "+be[Re]+" in JSON at position "+Re)}function v(){g(),y()}function I(){if(Re>=be.length)throw new SyntaxError("Unexpected end of JSON input")}},Ae.stringify=function(be,Ae,we){if(v(be)){var xe=0;switch(typeof(ke="object"==typeof we?we.space:we)){case"number":var Se=10<ke?10:ke<0?0:Math.floor(ke),ke=Se&&y(Se," "),Te=Se,Ee=Se;break;case"string":ke=ke.slice(0,10);for(var Re=Ee=Te=0;Re<ke.length;Re++){switch(ke[Re]){case" ":Ee++;break;case"\t":Ee+=4;break;case"\r":Ee=0;break;case"\n":Ee=0,xe++;break;default:throw new Error("whitespace characters not allowed in JSON")}Te++}break;default:ke=void 0}var _e="",$e={},Le=0,Ne=0,Me=0,Be=we&&we.es6&&"function"==typeof Map;return function l(be,Ae,we){switch(C(we,"value"),typeof be){case"number":case"bigint":case"boolean":m(""+be);break;case"string":m(I(be));break;case"object":null===be?m("null"):"function"==typeof be.toJSON?m(I(be.toJSON())):Array.isArray(be)?e():Be?be.constructor.BYTES_PER_ELEMENT?e():be instanceof Map?n():be instanceof Set?n(!0):t():t()}function e(){if(be.length){m("[");for(var xe=Ae+1,Se=0;Se<be.length;Se++){Se&&m(","),f(xe);var ke=v(be[Se])?be[Se]:null;l(ke,xe,we+"/"+Se)}f(Ae),m("]")}else m("[]")}function t(){var xe=Object.keys(be);if(xe.length){m("{");for(var Se=Ae+1,Te=0;Te<xe.length;Te++){var Ee,Re=xe[Te],_e=be[Re];v(_e)&&(Te&&m(","),Ee=we+"/"+w(Re),f(Se),C(Ee,"key"),m(I(Re)),C(Ee,"keyEnd"),m(":"),ke&&m(" "),l(_e,Se,Ee))}f(Ae),m("}")}else m("{}")}function n(xe){if(be.size){m("{");for(var Se=Ae+1,Te=!0,Ee=be.entries(),Re=Ee.next();!Re.done;){var _e,$e,Le=($e=Re.value)[0];v($e=!!xe||$e[1])&&(Te||m(","),Te=!1,_e=we+"/"+w(Le),f(Se),C(_e,"key"),m(I(Le)),C(_e,"keyEnd"),m(":"),ke&&m(" "),l($e,Se,_e)),Re=Ee.next()}f(Ae),m("}")}else m("{}")}C(we,"valueEnd")}(be,0,""),{json:_e,pointers:$e}}function m(be){Ne+=be.length,Me+=be.length,_e+=be}function f(be){if(ke){for(_e+="\n"+y(be,ke),Le++,Ne=0;be--;)xe?(Le+=xe,Ne=Ee):Ne+=Ee,Me+=Te;Me+=1}}function C(be,Ae){$e[be]=$e[be]||{},$e[be][Ae]={line:Le,column:Ne,pos:Me}}function y(be,Ae){return Array(be+1).join(Ae)}},["number","bigint","boolean","string","object"]);function v(be){return 0<=Se.indexOf(typeof be)}var ke=/"|\\/g,Te=/[\b]/g,Ee=/\f/g,Re=/\n/g,_e=/\r/g,$e=/\t/g;function I(be){return'"'+(be=be.replace(ke,"\\$&").replace(Ee,"\\f").replace(Te,"\\b").replace(Re,"\\n").replace(_e,"\\r").replace($e,"\\t"))+'"'}var Le=/~/g,Ne=/\//g;function w(be){return be.replace(Le,"~0").replace(Ne,"~1")}},8340:function(be,Ae){var we;void 0!==(Ae="function"==typeof(we=function(){"use strict";function C(be){return"object"==typeof Node?be instanceof Node:be&&"object"==typeof be&&"number"==typeof be.nodeType}function y(be){return"string"==typeof be}function v(){var be=[];return{watch:be.push.bind(be),trigger:function(Ae,we){for(var xe=!0,Se={detail:we,preventDefault:function e(){xe=!1}},ke=0;ke<be.length;ke++)be[ke](Ae,Se);return xe}}}function o(be){return"none"===window.getComputedStyle(be).display}function r(be){this.elem=be}function I(be,Ae){return r.make(be("parent")).clazz("pico-overlay").clazz(be("overlayClass","")).stylize({display:"none",position:"fixed",top:"0px",left:"0px",height:"100%",width:"100%",zIndex:1e4}).stylize(be("overlayStyles",{opacity:.5,background:"#000"})).onClick((function(){be("overlayClose",!0)&&Ae()}))}r.make=function(be,Ae){"string"==typeof be&&(be=document.querySelector(be));var we=document.createElement(Ae||"div");return(be||document.body).appendChild(we),new r(we)},r.prototype={child:function(be){return r.make(this.elem,be)},stylize:function(be){for(var Ae in void 0!==(be=be||{}).opacity&&(be.filter="alpha(opacity="+100*be.opacity+")"),be)be.hasOwnProperty(Ae)&&(this.elem.style[Ae]=be[Ae]);return this},clazz:function(be){return this.elem.className+=" "+be,this},html:function(be){return C(be)?this.elem.appendChild(be):this.elem.innerHTML=be,this},onClick:function(be){return this.elem.addEventListener("click",be),this},destroy:function(){this.elem.parentNode.removeChild(this.elem)},hide:function(){this.elem.style.display="none"},show:function(){this.elem.style.display="block"},attr:function(be,Ae){return void 0!==Ae&&this.elem.setAttribute(be,Ae),this},anyAncestor:function(be){for(var Ae=this.elem;Ae;){if(be(new r(Ae)))return!0;Ae=Ae.parentNode}return!1},isVisible:function(){return!o(this.elem)}};var be=1;function b(Ae,we){var xe=Ae("width","auto");"number"==typeof xe&&(xe+="px");var Se=Ae("modalId","pico-"+be++);return r.make(Ae("parent")).clazz("pico-content").clazz(Ae("modalClass","")).stylize({display:"none",position:"fixed",zIndex:10001,left:"50%",top:"38.1966%",maxHeight:"90%",boxSizing:"border-box",width:xe,"-ms-transform":"translate(-50%,-38.1966%)","-moz-transform":"translate(-50%,-38.1966%)","-webkit-transform":"translate(-50%,-38.1966%)","-o-transform":"translate(-50%,-38.1966%)",transform:"translate(-50%,-38.1966%)"}).stylize(Ae("modalStyles",{overflow:"auto",backgroundColor:"white",padding:"20px",borderRadius:"5px"})).html(Ae("content")).attr("id",Se).attr("role","dialog").attr("aria-labelledby",Ae("ariaLabelledBy")).attr("aria-describedby",Ae("ariaDescribedBy",Se)).onClick((function(be){new r(be.target).anyAncestor((function(be){return/\bpico-close\b/.test(be.elem.className)}))&&we()}))}function A(be,Ae){if(Ae("closeButton",!0))return be.child("button").html(Ae("closeHtml","&#xD7;")).clazz("pico-close").clazz(Ae("closeClass","")).stylize(Ae("closeStyles",{borderRadius:"2px",border:0,padding:0,cursor:"pointer",height:"15px",width:"15px",position:"absolute",top:"5px",right:"5px",fontSize:"16px",textAlign:"center",lineHeight:"15px",background:"#CCC"})).attr("aria-label",Ae("close-label","Close"))}function w(be){return function(){return be().elem}}var Ae=v(),we=v();function x(be,Ae){function t(be,Ae){return(be.msMatchesSelector||be.webkitMatchesSelector||be.matches).call(be,Ae)}function i(be){return!(o(be)||t(be,":disabled")||be.hasAttribute("contenteditable"))&&(be.hasAttribute("tabindex")||t(be,"input,select,textarea,button,a[href],area[href],iframe"))}function a(be){for(var Ae=be.getElementsByTagName("*"),we=0;we<Ae.length;we++)if(i(Ae[we]))return Ae[we]}function l(be){for(var Ae=be.getElementsByTagName("*"),we=Ae.length;we--;)if(i(Ae[we]))return Ae[we]}var xe;be.beforeShow((function e(){xe=document.activeElement})),be.afterShow((function e(){if(Ae()){var we=a(be.modalElem());we&&we.focus()}})),be.afterClose((function e(){Ae()&&xe&&xe.focus(),xe=null})),we.watch((function e(we){if(Ae()&&be.isVisible()){var xe=a(be.modalElem()),Se=l(be.modalElem());(we.shiftKey?xe:Se)===document.activeElement&&((we.shiftKey?Se:xe).focus(),we.preventDefault())}}))}function k(be,Ae){var we,xe=new r(document.body);be.beforeShow((function(){we=xe.elem.style.overflow,Ae()&&xe.stylize({overflow:"hidden"})})),be.afterClose((function(){xe.stylize({overflow:we})}))}return document.documentElement.addEventListener("keydown",(function e(be){var xe=be.which||be.keyCode;27===xe?Ae.trigger():9===xe&&we.trigger(be)})),function e(be){(y(be)||C(be))&&(be={content:be});var we=v(),xe=v(),Se=v(),ke=v(),Te=v();function a(Ae,we){var xe=be[Ae];return"function"==typeof xe&&(xe=xe(we)),void 0===xe?we:xe}var Ee,Re,_e=f.bind(window,"modal"),$e=f.bind(window,"overlay"),Le=f.bind(window,"close");function u(be){$e().hide(),_e().hide(),Te.trigger(Ee,be)}function g(be){ke.trigger(Ee,be)&&u(be)}function p(be){return function(){return be.apply(this,arguments),Ee}}function f(be,Ae){if(!Re){var xe=b(a,g);Re={modal:xe,overlay:I(a,g),close:A(xe,a)},we.trigger(Ee,Ae)}return Re[be]}return Ee={modalElem:w(_e),closeElem:w(Le),overlayElem:w($e),buildDom:p(f.bind(null,null)),isVisible:function(){return!!(Re&&_e&&_e().isVisible())},show:function(be){return xe.trigger(Ee,be)&&($e().show(),Le(),_e().show(),Se.trigger(Ee,be)),this},close:p(g),forceClose:p(u),destroy:function(){_e().destroy(),$e().destroy(),$e=_e=Le=void 0},options:function(Ae){Object.keys(Ae).map((function(we){be[we]=Ae[we]}))},afterCreate:p(we.watch),beforeShow:p(xe.watch),afterShow:p(Se.watch),beforeClose:p(ke.watch),afterClose:p(Te.watch)},x(Ee,a.bind(null,"focus",!0)),k(Ee,a.bind(null,"bodyOverflow",!0)),Ae.watch((function e(){a("escCloses",!0)&&Ee.isVisible()&&Ee.close()})),Ee}})?we.apply(Ae,[]):we)&&(be.exports=Ae)},6777:function(be,Ae){!function(be){"use strict";function he(){for(var be=arguments.length,Ae=Array(be),we=0;we<be;we++)Ae[we]=arguments[we];if(Ae.length>1){Ae[0]=Ae[0].slice(0,-1);for(var xe=Ae.length-1,Se=1;Se<xe;++Se)Ae[Se]=Ae[Se].slice(1,-1);return Ae[xe]=Ae[xe].slice(1),Ae.join("")}return Ae[0]}function de(be){return"(?:"+be+")"}function i(be){return void 0===be?"undefined":null===be?"null":Object.prototype.toString.call(be).split(" ").pop().split("]").shift().toLowerCase()}function p(be){return be.toUpperCase()}function b(be){return null!=be?be instanceof Array?be:"number"!=typeof be.length||be.split||be.setInterval||be.call?[be]:Array.prototype.slice.call(be):[]}function x(be,Ae){var we=be;if(Ae)for(var xe in Ae)we[xe]=Ae[xe];return we}function t(be){var Ae="[A-Za-z]",we="[0-9]",xe=he(we,"[A-Fa-f]"),Se=de(de("%[EFef]"+xe+"%"+xe+xe+"%"+xe+xe)+"|"+de("%[89A-Fa-f]"+xe+"%"+xe+xe)+"|"+de("%"+xe+xe)),ke="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",Te=he("[\\:\\/\\?\\#\\[\\]\\@]",ke),Ee=be?"[\\uE000-\\uF8FF]":"[]",Re=he(Ae,we,"[\\-\\.\\_\\~]",be?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),_e=de(Ae+he(Ae,we,"[\\+\\-\\.]")+"*"),$e=de(de(Se+"|"+he(Re,ke,"[\\:]"))+"*"),Le=(de(de("25[0-5]")+"|"+de("2[0-4]"+we)+"|"+de("1"+we+we)+"|"+de("[1-9]"+we)+"|"+we),de(de("25[0-5]")+"|"+de("2[0-4]"+we)+"|"+de("1"+we+we)+"|"+de("0?[1-9]"+we)+"|0?0?"+we)),Ne=de(Le+"\\."+Le+"\\."+Le+"\\."+Le),Me=de(xe+"{1,4}"),Be=de(de(Me+"\\:"+Me)+"|"+Ne),We=de(de(Me+"\\:")+"{6}"+Be),Pe=de("\\:\\:"+de(Me+"\\:")+"{5}"+Be),He=de(de(Me)+"?\\:\\:"+de(Me+"\\:")+"{4}"+Be),Ge=de(de(de(Me+"\\:")+"{0,1}"+Me)+"?\\:\\:"+de(Me+"\\:")+"{3}"+Be),Fe=de(de(de(Me+"\\:")+"{0,2}"+Me)+"?\\:\\:"+de(Me+"\\:")+"{2}"+Be),Oe=de(de(de(Me+"\\:")+"{0,3}"+Me)+"?\\:\\:"+Me+"\\:"+Be),Ve=de(de(de(Me+"\\:")+"{0,4}"+Me)+"?\\:\\:"+Be),Ze=de(de(de(Me+"\\:")+"{0,5}"+Me)+"?\\:\\:"+Me),De=de(de(de(Me+"\\:")+"{0,6}"+Me)+"?\\:\\:"),Ke=de([We,Pe,He,Ge,Fe,Oe,Ve,Ze,De].join("|")),je=de(de(Re+"|"+Se)+"+"),ze=(de(Ke+"\\%25"+je),de(Ke+de("\\%25|\\%(?!"+xe+"{2})")+je)),Xe=de("[vV]"+xe+"+\\."+he(Re,ke,"[\\:]")+"+"),Ye=de("\\["+de(ze+"|"+Ke+"|"+Xe)+"\\]"),Je=de(de(Se+"|"+he(Re,ke))+"*"),Ue=de(Ye+"|"+Ne+"(?!"+Je+")|"+Je),Qe=de(we+"*"),qe=de(de($e+"@")+"?"+Ue+de("\\:"+Qe)+"?"),et=de(Se+"|"+he(Re,ke,"[\\:\\@]")),tt=de(et+"*"),nt=de(et+"+"),it=de(de(Se+"|"+he(Re,ke,"[\\@]"))+"+"),ot=de(de("\\/"+tt)+"*"),rt=de("\\/"+de(nt+ot)+"?"),st=de(it+ot),at=de(nt+ot),lt="(?!"+et+")",ct=(de(ot+"|"+rt+"|"+st+"|"+at+"|"+lt),de(de(et+"|"+he("[\\/\\?]",Ee))+"*")),ht=de(de(et+"|[\\/\\?]")+"*"),dt=de(de("\\/\\/"+qe+ot)+"|"+rt+"|"+at+"|"+lt),ut=de(_e+"\\:"+dt+de("\\?"+ct)+"?"+de("\\#"+ht)+"?"),gt=de(de("\\/\\/"+qe+ot)+"|"+rt+"|"+st+"|"+lt),pt=de(gt+de("\\?"+ct)+"?"+de("\\#"+ht)+"?");return de(ut+"|"+pt),de(_e+"\\:"+dt+de("\\?"+ct)+"?"),de(de("\\/\\/("+de("("+$e+")@")+"?("+Ue+")"+de("\\:("+Qe+")")+"?)")+"?("+ot+"|"+rt+"|"+at+"|"+lt+")"),de("\\?("+ct+")"),de("\\#("+ht+")"),de(de("\\/\\/("+de("("+$e+")@")+"?("+Ue+")"+de("\\:("+Qe+")")+"?)")+"?("+ot+"|"+rt+"|"+st+"|"+lt+")"),de("\\?("+ct+")"),de("\\#("+ht+")"),de(de("\\/\\/("+de("("+$e+")@")+"?("+Ue+")"+de("\\:("+Qe+")")+"?)")+"?("+ot+"|"+rt+"|"+at+"|"+lt+")"),de("\\?("+ct+")"),de("\\#("+ht+")"),de("("+$e+")@"),de("\\:("+Qe+")"),{NOT_SCHEME:new RegExp(he("[^]",Ae,we,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(he("[^\\%\\:]",Re,ke),"g"),NOT_HOST:new RegExp(he("[^\\%\\[\\]\\:]",Re,ke),"g"),NOT_PATH:new RegExp(he("[^\\%\\/\\:\\@]",Re,ke),"g"),NOT_PATH_NOSCHEME:new RegExp(he("[^\\%\\/\\@]",Re,ke),"g"),NOT_QUERY:new RegExp(he("[^\\%]",Re,ke,"[\\:\\@\\/\\?]",Ee),"g"),NOT_FRAGMENT:new RegExp(he("[^\\%]",Re,ke,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(he("[^]",Re,ke),"g"),UNRESERVED:new RegExp(Re,"g"),OTHER_CHARS:new RegExp(he("[^\\%]",Re,Te),"g"),PCT_ENCODED:new RegExp(Se,"g"),IPV4ADDRESS:new RegExp("^("+Ne+")$"),IPV6ADDRESS:new RegExp("^\\[?("+Ke+")"+de(de("\\%25|\\%(?!"+xe+"{2})")+"("+je+")")+"?\\]?$")}}var Ae=t(!1),we=t(!0),xe=function(){function n(be,Ae){var we=[],xe=!0,Se=!1,ke=void 0;try{for(var Te,Ee=be[Symbol.iterator]();!(xe=(Te=Ee.next()).done)&&(we.push(Te.value),!Ae||we.length!==Ae);xe=!0);}catch(be){Se=!0,ke=be}finally{try{!xe&&Ee.return&&Ee.return()}finally{if(Se)throw ke}}return we}return function(be,Ae){if(Array.isArray(be))return be;if(Symbol.iterator in Object(be))return n(be,Ae);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),k=function(be){if(Array.isArray(be)){for(var Ae=0,we=Array(be.length);Ae<be.length;Ae++)we[Ae]=be[Ae];return we}return Array.from(be)},Se=2147483647,ke=36,Te=1,Ee=26,Re=38,_e=700,$e=72,Le=128,Ne="-",Me=/^xn--/,Be=/[^\0-\x7E]/,We=/[\x2E\u3002\uFF0E\uFF61]/g,Pe={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},He=ke-Te,Ge=Math.floor,Fe=String.fromCharCode;function Z(be){throw new RangeError(Pe[be])}function N(be,Ae){for(var we=[],xe=be.length;xe--;)we[xe]=Ae(be[xe]);return we}function D(be,Ae){var we=be.split("@"),xe="";return we.length>1&&(xe=we[0]+"@",be=we[1]),xe+N((be=be.replace(We,".")).split("."),Ae).join(".")}function K(be){for(var Ae=[],we=0,xe=be.length;we<xe;){var Se=be.charCodeAt(we++);if(Se>=55296&&Se<=56319&&we<xe){var ke=be.charCodeAt(we++);56320==(64512&ke)?Ae.push(((1023&Se)<<10)+(1023&ke)+65536):(Ae.push(Se),we--)}else Ae.push(Se)}return Ae}var Oe=function e(be){return be-48<10?be-22:be-65<26?be-65:be-97<26?be-97:ke},Ve=function e(be,Ae){return be+22+75*(be<26)-((0!=Ae)<<5)},Ze=function e(be,Ae,we){var xe=0;for(be=we?Ge(be/_e):be>>1,be+=Ge(be/Ae);be>He*Ee>>1;xe+=ke)be=Ge(be/He);return Ge(xe+(He+1)*be/(be+Re))},De=function e(be){var Ae=[],we=be.length,xe=0,Re=Le,_e=$e,Me=be.lastIndexOf(Ne);Me<0&&(Me=0);for(var Be=0;Be<Me;++Be)be.charCodeAt(Be)>=128&&Z("not-basic"),Ae.push(be.charCodeAt(Be));for(var We=Me>0?Me+1:0;We<we;){for(var Pe=xe,He=1,Fe=ke;;Fe+=ke){We>=we&&Z("invalid-input");var Ve=Oe(be.charCodeAt(We++));(Ve>=ke||Ve>Ge((Se-xe)/He))&&Z("overflow"),xe+=Ve*He;var De=Fe<=_e?Te:Fe>=_e+Ee?Ee:Fe-_e;if(Ve<De)break;var Ke=ke-De;He>Ge(Se/Ke)&&Z("overflow"),He*=Ke}var je=Ae.length+1;_e=Ze(xe-Pe,je,0==Pe),Ge(xe/je)>Se-Re&&Z("overflow"),Re+=Ge(xe/je),xe%=je,Ae.splice(xe++,0,Re)}return String.fromCodePoint.apply(String,Ae)},Ke=function e(be){var Ae=[],we=(be=K(be)).length,xe=Le,Re=0,_e=$e,Me=!0,Be=!1,We=void 0;try{for(var Pe,He=be[Symbol.iterator]();!(Me=(Pe=He.next()).done);Me=!0){var Oe=Pe.value;Oe<128&&Ae.push(Fe(Oe))}}catch(e){Be=!0,We=e}finally{try{!Me&&He.return&&He.return()}finally{if(Be)throw We}}var De=Ae.length,Ke=De;for(De&&Ae.push(Ne);Ke<we;){var je=Se,ze=!0,Xe=!1,Ye=void 0;try{for(var Je,Ue=be[Symbol.iterator]();!(ze=(Je=Ue.next()).done);ze=!0){var Qe=Je.value;Qe>=xe&&Qe<je&&(je=Qe)}}catch(e){Xe=!0,Ye=e}finally{try{!ze&&Ue.return&&Ue.return()}finally{if(Xe)throw Ye}}var qe=Ke+1;je-xe>Ge((Se-Re)/qe)&&Z("overflow"),Re+=(je-xe)*qe,xe=je;var et=!0,tt=!1,nt=void 0;try{for(var it,ot=be[Symbol.iterator]();!(et=(it=ot.next()).done);et=!0){var rt=it.value;if(rt<xe&&++Re>Se&&Z("overflow"),rt==xe){for(var st=Re,at=ke;;at+=ke){var lt=at<=_e?Te:at>=_e+Ee?Ee:at-_e;if(st<lt)break;var ct=st-lt,ht=ke-lt;Ae.push(Fe(Ve(lt+ct%ht,0))),st=Ge(ct/ht)}Ae.push(Fe(Ve(st,0))),_e=Ze(Re,qe,Ke==De),Re=0,++Ke}}}catch(e){tt=!0,nt=e}finally{try{!et&&ot.return&&ot.return()}finally{if(tt)throw nt}}++Re,++xe}return Ae.join("")},je={version:"2.1.0",ucs2:{decode:K,encode:function e(be){return String.fromCodePoint.apply(String,k(be))}},decode:De,encode:Ke,toASCII:function e(be){return D(be,(function(be){return Be.test(be)?"xn--"+Ke(be):be}))},toUnicode:function e(be){return D(be,(function(be){return Me.test(be)?De(be.slice(4).toLowerCase()):be}))}},ze={};function m(be){var Ae=be.charCodeAt(0);return Ae<16?"%0"+Ae.toString(16).toUpperCase():Ae<128?"%"+Ae.toString(16).toUpperCase():Ae<2048?"%"+(Ae>>6|192).toString(16).toUpperCase()+"%"+(63&Ae|128).toString(16).toUpperCase():"%"+(Ae>>12|224).toString(16).toUpperCase()+"%"+(Ae>>6&63|128).toString(16).toUpperCase()+"%"+(63&Ae|128).toString(16).toUpperCase()}function c(be){for(var Ae="",we=0,xe=be.length;we<xe;){var Se=parseInt(be.substr(we+1,2),16);if(Se<128)Ae+=String.fromCharCode(Se),we+=3;else if(Se>=194&&Se<224){if(xe-we>=6){var ke=parseInt(be.substr(we+4,2),16);Ae+=String.fromCharCode((31&Se)<<6|63&ke)}else Ae+=be.substr(we,6);we+=6}else if(Se>=224){if(xe-we>=9){var Te=parseInt(be.substr(we+4,2),16),Ee=parseInt(be.substr(we+7,2),16);Ae+=String.fromCharCode((15&Se)<<12|(63&Te)<<6|63&Ee)}else Ae+=be.substr(we,9);we+=9}else Ae+=be.substr(we,3),we+=3}return Ae}function d(be,Ae){function t(be){var we=c(be);return we.match(Ae.UNRESERVED)?we:be}return be.scheme&&(be.scheme=String(be.scheme).replace(Ae.PCT_ENCODED,t).toLowerCase().replace(Ae.NOT_SCHEME,"")),void 0!==be.userinfo&&(be.userinfo=String(be.userinfo).replace(Ae.PCT_ENCODED,t).replace(Ae.NOT_USERINFO,m).replace(Ae.PCT_ENCODED,p)),void 0!==be.host&&(be.host=String(be.host).replace(Ae.PCT_ENCODED,t).toLowerCase().replace(Ae.NOT_HOST,m).replace(Ae.PCT_ENCODED,p)),void 0!==be.path&&(be.path=String(be.path).replace(Ae.PCT_ENCODED,t).replace(be.scheme?Ae.NOT_PATH:Ae.NOT_PATH_NOSCHEME,m).replace(Ae.PCT_ENCODED,p)),void 0!==be.query&&(be.query=String(be.query).replace(Ae.PCT_ENCODED,t).replace(Ae.NOT_QUERY,m).replace(Ae.PCT_ENCODED,p)),void 0!==be.fragment&&(be.fragment=String(be.fragment).replace(Ae.PCT_ENCODED,t).replace(Ae.NOT_FRAGMENT,m).replace(Ae.PCT_ENCODED,p)),be}function w(be){return be.replace(/^0*(.*)/,"$1")||"0"}function S(be,Ae){var we=be.match(Ae.IPV4ADDRESS)||[],Se=xe(we,2)[1];return Se?Se.split(".").map(w).join("."):be}function ee(be,Ae){var we=be.match(Ae.IPV6ADDRESS)||[],Se=xe(we,3),ke=Se[1],Te=Se[2];if(ke){for(var Ee=ke.toLowerCase().split("::").reverse(),Re=xe(Ee,2),_e=Re[0],$e=Re[1],Le=$e?$e.split(":").map(w):[],Ne=_e.split(":").map(w),Me=Ae.IPV4ADDRESS.test(Ne[Ne.length-1]),Be=Me?7:8,We=Ne.length-Be,Pe=Array(Be),He=0;He<Be;++He)Pe[He]=Le[He]||Ne[We+He]||"";Me&&(Pe[Be-1]=S(Pe[Be-1],Ae));var Ge=Pe.reduce((function(be,Ae,we){if(!Ae||"0"===Ae){var xe=be[be.length-1];xe&&xe.index+xe.length===we?xe.length++:be.push({index:we,length:1})}return be}),[]),Fe=Ge.sort((function(be,Ae){return Ae.length-be.length}))[0],Oe=void 0;if(Fe&&Fe.length>1){var Ve=Pe.slice(0,Fe.index),Ze=Pe.slice(Fe.index+Fe.length);Oe=Ve.join(":")+"::"+Ze.join(":")}else Oe=Pe.join(":");return Te&&(Oe+="%"+Te),Oe}return be}var Xe=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Ye=void 0==="".match(/(){0}/)[1];function s(be){var xe=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Se={},ke=!1!==xe.iri?we:Ae;"suffix"===xe.reference&&(be=(xe.scheme?xe.scheme+":":"")+"//"+be);var Te=be.match(Xe);if(Te){Ye?(Se.scheme=Te[1],Se.userinfo=Te[3],Se.host=Te[4],Se.port=parseInt(Te[5],10),Se.path=Te[6]||"",Se.query=Te[7],Se.fragment=Te[8],isNaN(Se.port)&&(Se.port=Te[5])):(Se.scheme=Te[1]||void 0,Se.userinfo=-1!==be.indexOf("@")?Te[3]:void 0,Se.host=-1!==be.indexOf("//")?Te[4]:void 0,Se.port=parseInt(Te[5],10),Se.path=Te[6]||"",Se.query=-1!==be.indexOf("?")?Te[7]:void 0,Se.fragment=-1!==be.indexOf("#")?Te[8]:void 0,isNaN(Se.port)&&(Se.port=be.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Te[4]:void 0)),Se.host&&(Se.host=ee(S(Se.host,ke),ke)),void 0!==Se.scheme||void 0!==Se.userinfo||void 0!==Se.host||void 0!==Se.port||Se.path||void 0!==Se.query?void 0===Se.scheme?Se.reference="relative":void 0===Se.fragment?Se.reference="absolute":Se.reference="uri":Se.reference="same-document",xe.reference&&"suffix"!==xe.reference&&xe.reference!==Se.reference&&(Se.error=Se.error||"URI is not a "+xe.reference+" reference.");var Ee=ze[(xe.scheme||Se.scheme||"").toLowerCase()];if(xe.unicodeSupport||Ee&&Ee.unicodeSupport)d(Se,ke);else{if(Se.host&&(xe.domainHost||Ee&&Ee.domainHost))try{Se.host=je.toASCII(Se.host.replace(ke.PCT_ENCODED,c).toLowerCase())}catch(be){Se.error=Se.error||"Host's domain name can not be converted to ASCII via punycode: "+be}d(Se,Ae)}Ee&&Ee.parse&&Ee.parse(Se,xe)}else Se.error=Se.error||"URI can not be parsed.";return Se}function ie(be,xe){var Se=!1!==xe.iri?we:Ae,ke=[];return void 0!==be.userinfo&&(ke.push(be.userinfo),ke.push("@")),void 0!==be.host&&ke.push(ee(S(String(be.host),Se),Se).replace(Se.IPV6ADDRESS,(function(be,Ae,we){return"["+Ae+(we?"%25"+we:"")+"]"}))),"number"!=typeof be.port&&"string"!=typeof be.port||(ke.push(":"),ke.push(String(be.port))),ke.length?ke.join(""):void 0}var Je=/^\.\.?\//,Ue=/^\/\.(\/|$)/,Qe=/^\/\.\.(\/|$)/,qe=/^\/?(?:.|\n)*?(?=\/|$)/;function u(be){for(var Ae=[];be.length;)if(be.match(Je))be=be.replace(Je,"");else if(be.match(Ue))be=be.replace(Ue,"/");else if(be.match(Qe))be=be.replace(Qe,"/"),Ae.pop();else if("."===be||".."===be)be="";else{var we=be.match(qe);if(!we)throw new Error("Unexpected dot segment condition");var xe=we[0];be=be.slice(xe.length),Ae.push(xe)}return Ae.join("")}function g(be){var xe=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Se=xe.iri?we:Ae,ke=[],Te=ze[(xe.scheme||be.scheme||"").toLowerCase()];if(Te&&Te.serialize&&Te.serialize(be,xe),be.host)if(Se.IPV6ADDRESS.test(be.host));else if(xe.domainHost||Te&&Te.domainHost)try{be.host=xe.iri?je.toUnicode(be.host):je.toASCII(be.host.replace(Se.PCT_ENCODED,c).toLowerCase())}catch(Se){be.error=be.error||"Host's domain name can not be converted to "+(xe.iri?"Unicode":"ASCII")+" via punycode: "+Se}d(be,Se),"suffix"!==xe.reference&&be.scheme&&(ke.push(be.scheme),ke.push(":"));var Ee=ie(be,xe);if(void 0!==Ee&&("suffix"!==xe.reference&&ke.push("//"),ke.push(Ee),be.path&&"/"!==be.path.charAt(0)&&ke.push("/")),void 0!==be.path){var Re=be.path;xe.absolutePath||Te&&Te.absolutePath||(Re=u(Re)),void 0===Ee&&(Re=Re.replace(/^\/\//,"/%2F")),ke.push(Re)}return void 0!==be.query&&(ke.push("?"),ke.push(be.query)),void 0!==be.fragment&&(ke.push("#"),ke.push(be.fragment)),ke.join("")}function le(be,Ae){var we=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},xe={};return arguments[3]||(be=s(g(be,we),we),Ae=s(g(Ae,we),we)),!(we=we||{}).tolerant&&Ae.scheme?(xe.scheme=Ae.scheme,xe.userinfo=Ae.userinfo,xe.host=Ae.host,xe.port=Ae.port,xe.path=u(Ae.path||""),xe.query=Ae.query):(void 0!==Ae.userinfo||void 0!==Ae.host||void 0!==Ae.port?(xe.userinfo=Ae.userinfo,xe.host=Ae.host,xe.port=Ae.port,xe.path=u(Ae.path||""),xe.query=Ae.query):(Ae.path?("/"===Ae.path.charAt(0)?xe.path=u(Ae.path):(void 0===be.userinfo&&void 0===be.host&&void 0===be.port||be.path?be.path?xe.path=be.path.slice(0,be.path.lastIndexOf("/")+1)+Ae.path:xe.path=Ae.path:xe.path="/"+Ae.path,xe.path=u(xe.path)),xe.query=Ae.query):(xe.path=be.path,void 0!==Ae.query?xe.query=Ae.query:xe.query=be.query),xe.userinfo=be.userinfo,xe.host=be.host,xe.port=be.port),xe.scheme=be.scheme),xe.fragment=Ae.fragment,xe}function ce(be,Ae,we){var xe=x({scheme:"null"},we);return g(le(s(be,xe),s(Ae,xe),xe,!0),xe)}function ue(be,Ae){return"string"==typeof be?be=g(s(be,Ae),Ae):"object"===i(be)&&(be=s(g(be,Ae),Ae)),be}function ge(be,Ae,we){return"string"==typeof be?be=g(s(be,we),we):"object"===i(be)&&(be=g(be,we)),"string"==typeof Ae?Ae=g(s(Ae,we),we):"object"===i(Ae)&&(Ae=g(Ae,we)),be===Ae}function pe(be,xe){return be&&be.toString().replace(xe&&xe.iri?we.ESCAPE:Ae.ESCAPE,m)}function y(be,xe){return be&&be.toString().replace(xe&&xe.iri?we.PCT_ENCODED:Ae.PCT_ENCODED,c)}var et={scheme:"http",domainHost:!0,parse:function e(be,Ae){return be.host||(be.error=be.error||"HTTP URIs must have a host."),be},serialize:function e(be,Ae){var we="https"===String(be.scheme).toLowerCase();return be.port!==(we?443:80)&&""!==be.port||(be.port=void 0),be.path||(be.path="/"),be}},tt={scheme:"https",domainHost:et.domainHost,parse:et.parse,serialize:et.serialize};function fe(be){return"boolean"==typeof be.secure?be.secure:"wss"===String(be.scheme).toLowerCase()}var nt={scheme:"ws",domainHost:!0,parse:function e(be,Ae){var we=be;return we.secure=fe(we),we.resourceName=(we.path||"/")+(we.query?"?"+we.query:""),we.path=void 0,we.query=void 0,we},serialize:function e(be,Ae){if(be.port!==(fe(be)?443:80)&&""!==be.port||(be.port=void 0),"boolean"==typeof be.secure&&(be.scheme=be.secure?"wss":"ws",be.secure=void 0),be.resourceName){var we=be.resourceName.split("?"),Se=xe(we,2),ke=Se[0],Te=Se[1];be.path=ke&&"/"!==ke?ke:void 0,be.query=Te,be.resourceName=void 0}return be.fragment=void 0,be}},it={scheme:"wss",domainHost:nt.domainHost,parse:nt.parse,serialize:nt.serialize},ot={},rt="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",st="[0-9A-Fa-f]",at=de(de("%[EFef]"+st+"%"+st+st+"%"+st+st)+"|"+de("%[89A-Fa-f]"+st+"%"+st+st)+"|"+de("%"+st+st)),lt="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ct=he("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),ht="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",dt=new RegExp(rt,"g"),ut=new RegExp(at,"g"),gt=new RegExp(he("[^]",lt,"[\\.]",'[\\"]',ct),"g"),pt=new RegExp(he("[^]",rt,ht),"g"),mt=pt;function I(be){var Ae=c(be);return Ae.match(dt)?Ae:be}var ft={scheme:"mailto",parse:function e(be,Ae){var we=be,xe=we.to=we.path?we.path.split(","):[];if(we.path=void 0,we.query){for(var Se=!1,ke={},Te=we.query.split("&"),Ee=0,Re=Te.length;Ee<Re;++Ee){var _e=Te[Ee].split("=");switch(_e[0]){case"to":for(var $e=_e[1].split(","),Le=0,Ne=$e.length;Le<Ne;++Le)xe.push($e[Le]);break;case"subject":we.subject=y(_e[1],Ae);break;case"body":we.body=y(_e[1],Ae);break;default:Se=!0,ke[y(_e[0],Ae)]=y(_e[1],Ae)}}Se&&(we.headers=ke)}we.query=void 0;for(var Me=0,Be=xe.length;Me<Be;++Me){var We=xe[Me].split("@");if(We[0]=y(We[0]),Ae.unicodeSupport)We[1]=y(We[1],Ae).toLowerCase();else try{We[1]=je.toASCII(y(We[1],Ae).toLowerCase())}catch(e){we.error=we.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}xe[Me]=We.join("@")}return we},serialize:function e(be,Ae){var we=be,xe=b(be.to);if(xe){for(var Se=0,ke=xe.length;Se<ke;++Se){var Te=String(xe[Se]),Ee=Te.lastIndexOf("@"),Re=Te.slice(0,Ee).replace(ut,I).replace(ut,p).replace(gt,m),_e=Te.slice(Ee+1);try{_e=Ae.iri?je.toUnicode(_e):je.toASCII(y(_e,Ae).toLowerCase())}catch(e){we.error=we.error||"Email address's domain name can not be converted to "+(Ae.iri?"Unicode":"ASCII")+" via punycode: "+e}xe[Se]=Re+"@"+_e}we.path=xe.join(",")}var $e=be.headers=be.headers||{};be.subject&&($e.subject=be.subject),be.body&&($e.body=be.body);var Le=[];for(var Ne in $e)$e[Ne]!==ot[Ne]&&Le.push(Ne.replace(ut,I).replace(ut,p).replace(pt,m)+"="+$e[Ne].replace(ut,I).replace(ut,p).replace(mt,m));return Le.length&&(we.query=Le.join("&")),we}},Ct=/^([^\:]+)\:(.*)/,yt={scheme:"urn",parse:function e(be,Ae){var we=be.path&&be.path.match(Ct),xe=be;if(we){var Se=Ae.scheme||xe.scheme||"urn",ke=we[1].toLowerCase(),Te=we[2],Ee=Se+":"+(Ae.nid||ke),Re=ze[Ee];xe.nid=ke,xe.nss=Te,xe.path=void 0,Re&&(xe=Re.parse(xe,Ae))}else xe.error=xe.error||"URN can not be parsed.";return xe},serialize:function e(be,Ae){var we=Ae.scheme||be.scheme||"urn",xe=be.nid,Se=we+":"+(Ae.nid||xe),ke=ze[Se];ke&&(be=ke.serialize(be,Ae));var Te=be,Ee=be.nss;return Te.path=(xe||Ae.nid)+":"+Ee,Te}},vt=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,It={scheme:"urn:uuid",parse:function e(be,Ae){var we=be;return we.uuid=we.nss,we.nss=void 0,Ae.tolerant||we.uuid&&we.uuid.match(vt)||(we.error=we.error||"UUID is not valid."),we},serialize:function e(be,Ae){var we=be;return we.nss=(be.uuid||"").toLowerCase(),we}};ze[et.scheme]=et,ze[tt.scheme]=tt,ze[nt.scheme]=nt,ze[it.scheme]=it,ze[ft.scheme]=ft,ze[yt.scheme]=yt,ze[It.scheme]=It,be.SCHEMES=ze,be.pctEncChar=m,be.pctDecChars=c,be.parse=s,be.removeDotSegments=u,be.serialize=g,be.resolveComponents=le,be.resolve=ce,be.normalize=ue,be.equal=ge,be.escapeComponent=pe,be.unescapeComponent=y,Object.defineProperty(be,"__esModule",{value:!0})}(Ae)},7598:function(be){be.exports=function(){"use strict";var s=function(be,Ae){if(!(be instanceof Ae))throw new TypeError("Cannot call a class as a function")},be=function(){function i(be,Ae){for(var we=0;we<Ae.length;we++){var xe=Ae[we];xe.enumerable=xe.enumerable||!1,xe.configurable=!0,"value"in xe&&(xe.writable=!0),Object.defineProperty(be,xe.key,xe)}}return function(be,Ae,we){return Ae&&i(be.prototype,Ae),we&&i(be,we),be}}(),Ae=function(){function n(be,Ae){var we=[],xe=!0,Se=!1,ke=void 0;try{for(var Te,Ee=be[Symbol.iterator]();!(xe=(Te=Ee.next()).done)&&(we.push(Te.value),!Ae||we.length!==Ae);xe=!0);}catch(be){Se=!0,ke=be}finally{try{!xe&&Ee.return&&Ee.return()}finally{if(Se)throw ke}}return we}return function(be,Ae){if(Array.isArray(be))return be;if(Symbol.iterator in Object(be))return n(be,Ae);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),we=(String.prototype.startsWith=String.prototype.startsWith||function(be){return 0===this.indexOf(be)},String.prototype.padStart=String.prototype.padStart||function(be,Ae){for(var we=this;we.length<be;)we=Ae+we;return we},{cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"});function a(be){var Ae=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return(Ae>0?be.toFixed(Ae).replace(/0+$/,"").replace(/\.$/,""):be.toString())||"0"}var xe=function(){function p(be,we,xe,Se){s(this,p);var ke=this;function o(be){if(be.startsWith("hsl")){var we=be.match(/([\-\d\.e]+)/g).map(Number),xe=Ae(we,4),Se=xe[0],Te=xe[1],Ee=xe[2],Re=xe[3];void 0===Re&&(Re=1),Se/=360,Te/=100,Ee/=100,ke.hsla=[Se,Te,Ee,Re]}else if(be.startsWith("rgb")){var _e=be.match(/([\-\d\.e]+)/g).map(Number),$e=Ae(_e,4),Le=$e[0],Ne=$e[1],Me=$e[2],Be=$e[3];void 0===Be&&(Be=1),ke.rgba=[Le,Ne,Me,Be]}else be.startsWith("#")?ke.rgba=p.hexToRgb(be):ke.rgba=p.nameToRgb(be)||p.hexToRgb(be)}if(void 0===be);else if(Array.isArray(be))this.rgba=be;else if(void 0===xe){var Te=be&&""+be;Te&&o(Te.toLowerCase())}else this.rgba=[be,we,xe,void 0===Se?1:Se]}return be(p,[{key:"printRGB",value:function e(be){var Ae=(be?this.rgba:this.rgba.slice(0,3)).map((function(be,Ae){return a(be,3===Ae?3:0)}));return be?"rgba("+Ae+")":"rgb("+Ae+")"}},{key:"printHSL",value:function e(be){var Ae=[360,100,100,1],we=["","%","%",""],xe=(be?this.hsla:this.hsla.slice(0,3)).map((function(be,xe){return a(be*Ae[xe],3===xe?3:1)+we[xe]}));return be?"hsla("+xe+")":"hsl("+xe+")"}},{key:"printHex",value:function e(be){var Ae=this.hex;return be?Ae:Ae.substring(0,7)}},{key:"rgba",get:function e(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=p.hslToRgb(this._hsla)},set:function e(be){3===be.length&&(be[3]=1),this._rgba=be,this._hsla=null}},{key:"rgbString",get:function e(){return this.printRGB()}},{key:"rgbaString",get:function e(){return this.printRGB(!0)}},{key:"hsla",get:function e(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=p.rgbToHsl(this._rgba)},set:function e(be){3===be.length&&(be[3]=1),this._hsla=be,this._rgba=null}},{key:"hslString",get:function e(){return this.printHSL()}},{key:"hslaString",get:function e(){return this.printHSL(!0)}},{key:"hex",get:function e(){var be=this.rgba.map((function(be,Ae){return Ae<3?be.toString(16):Math.round(255*be).toString(16)}));return"#"+be.map((function(be){return be.padStart(2,"0")})).join("")},set:function e(be){this.rgba=p.hexToRgb(be)}}],[{key:"hexToRgb",value:function e(be){var Ae=(be.startsWith("#")?be.slice(1):be).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!Ae.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+be);var we=Ae.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map((function(be){return parseInt(be,16)}));return we[3]=we[3]/255,we}},{key:"nameToRgb",value:function e(be){var Ae=be.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),xe=we[Ae];return void 0===xe?xe:p.hexToRgb(xe.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function e(be){var we=Ae(be,4),xe=we[0],Se=we[1],ke=we[2],Te=we[3];xe/=255,Se/=255,ke/=255;var Ee=Math.max(xe,Se,ke),Re=Math.min(xe,Se,ke),_e=void 0,$e=void 0,Le=(Ee+Re)/2;if(Ee===Re)_e=$e=0;else{var Ne=Ee-Re;switch($e=Le>.5?Ne/(2-Ee-Re):Ne/(Ee+Re),Ee){case xe:_e=(Se-ke)/Ne+(Se<ke?6:0);break;case Se:_e=(ke-xe)/Ne+2;break;case ke:_e=(xe-Se)/Ne+4}_e/=6}return[_e,$e,Le,Te]}},{key:"hslToRgb",value:function e(be){var we=Ae(be,4),xe=we[0],Se=we[1],ke=we[2],Te=we[3],Ee=void 0,Re=void 0,_e=void 0;if(0===Se)Ee=Re=_e=ke;else{var $e=function e(be,Ae,we){return we<0&&(we+=1),we>1&&(we-=1),we<1/6?be+6*(Ae-be)*we:we<.5?Ae:we<2/3?be+(Ae-be)*(2/3-we)*6:be},Le=ke<.5?ke*(1+Se):ke+Se-ke*Se,Ne=2*ke-Le;Ee=$e(Ne,Le,xe+1/3),Re=$e(Ne,Le,xe),_e=$e(Ne,Le,xe-1/3)}var Me=[255*Ee,255*Re,255*_e].map(Math.round);return Me[3]=Te,Me}}]),p}(),Se=function(){function r(){s(this,r),this._events=[]}return be(r,[{key:"add",value:function e(be,Ae,we){be.addEventListener(Ae,we,!1),this._events.push({target:be,type:Ae,handler:we})}},{key:"remove",value:function e(be,Ae,we){this._events=this._events.filter((function(xe){var Se=!0;return be&&be!==xe.target&&(Se=!1),Ae&&Ae!==xe.type&&(Se=!1),we&&we!==xe.handler&&(Se=!1),Se&&r._doRemove(xe.target,xe.type,xe.handler),!Se}))}},{key:"destroy",value:function e(){this._events.forEach((function(be){return r._doRemove(be.target,be.type,be.handler)})),this._events=[]}}],[{key:"_doRemove",value:function e(be,Ae,we){be.removeEventListener(Ae,we,!1)}}]),r}();function l(be){var Ae=document.createElement("div");return Ae.innerHTML=be,Ae.firstElementChild}function c(be,Ae,we){var xe=!1;function g(be,Ae,we){return Math.max(Ae,Math.min(be,we))}function i(be,Se,ke){if(ke&&(xe=!0),xe){be.preventDefault();var Te=Ae.getBoundingClientRect(),Ee=Te.width,Re=Te.height,_e=Se.clientX,$e=Se.clientY,Le=g(_e-Te.left,0,Ee),Ne=g($e-Te.top,0,Re);we(Le/Ee,Ne/Re)}}function t(be,Ae){1===(void 0===be.buttons?be.which:be.buttons)?i(be,be,Ae):xe=!1}function n(be,Ae){1===be.touches.length?i(be,be.touches[0],Ae):xe=!1}be.add(Ae,"mousedown",(function(be){t(be,!0)})),be.add(Ae,"touchstart",(function(be){n(be,!0)})),be.add(window,"mousemove",t),be.add(Ae,"touchmove",n),be.add(window,"mouseup",(function(be){xe=!1})),be.add(Ae,"touchend",(function(be){xe=!1})),be.add(Ae,"touchcancel",(function(be){xe=!1}))}var ke="linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,\n linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em",Te=360,Ee="keydown",Re="mousedown",_e="focusin";function w(be,Ae){return(Ae||document).querySelector(be)}function g(be){be.preventDefault(),be.stopPropagation()}function p(be,Ae,we,xe,Se){be.add(Ae,Ee,(function(be){we.indexOf(be.key)>=0&&(Se&&g(be),xe(be))}))}var $e=function(){function t(be){s(this,t),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new Se,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(be)}return be(t,[{key:"setOptions",value:function e(be){var Ae=this;if(be){var we=this.settings;if(be instanceof HTMLElement)we.parent=be;else{we.parent&&be.parent&&we.parent!==be.parent&&(this._events.remove(we.parent),this._popupInited=!1),o(be,we),be.onChange&&(this.onChange=be.onChange),be.onDone&&(this.onDone=be.onDone),be.onOpen&&(this.onOpen=be.onOpen),be.onClose&&(this.onClose=be.onClose);var xe=be.color||be.colour;xe&&this._setColor(xe)}var Se=we.parent;if(Se&&we.popup&&!this._popupInited){var ke=function e(be){return Ae.openHandler(be)};this._events.add(Se,"click",ke),p(this._events,Se,[" ","Spacebar","Enter"],ke),this._popupInited=!0}else be.parent&&!we.popup&&this.show()}function o(be,Ae,we){for(var xe in be)we&&we.indexOf(xe)>=0||(Ae[xe]=be[xe])}}},{key:"openHandler",value:function e(be){if(this.show()){be&&be.preventDefault(),this.settings.parent.style.pointerEvents="none";var Ae=be&&be.type===Ee?this._domEdit:this.domElement;setTimeout((function(){return Ae.focus()}),100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function e(be){var Ae=be&&be.type,we=!1;if(be)if(Ae===Re||Ae===_e){var xe=(this.__containedEvent||0)+100;be.timeStamp>xe&&(we=!0)}else g(be),we=!0;else we=!0;we&&this.hide()&&(this.settings.parent.style.pointerEvents="",Ae!==Re&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function e(be,Ae){this.closeHandler(),this.setOptions(be),Ae&&this.openHandler()}},{key:"setColor",value:function e(be,Ae){this._setColor(be,{silent:Ae})}},{key:"_setColor",value:function e(be,Ae){if("string"==typeof be&&(be=be.trim()),be){Ae=Ae||{};var we=void 0;try{we=new xe(be)}catch(e){if(Ae.failSilently)return;throw e}if(!this.settings.alpha){var Se=we.hsla;Se[3]=1,we.hsla=Se}this.colour=this.color=we,this._setHSLA(null,null,null,null,Ae)}}},{key:"setColour",value:function e(be,Ae){this.setColor(be,Ae)}},{key:"show",value:function e(){if(!this.settings.parent)return!1;if(this.domElement){var be=this._toggleDOM(!0);return this._setPosition(),be}var Ae=l(this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>');return this.domElement=Ae,this._domH=w(".picker_hue",Ae),this._domSL=w(".picker_sl",Ae),this._domA=w(".picker_alpha",Ae),this._domEdit=w(".picker_editor input",Ae),this._domSample=w(".picker_sample",Ae),this._domOkay=w(".picker_done button",Ae),this._domCancel=w(".picker_cancel button",Ae),Ae.classList.add("layout_"+this.settings.layout),this.settings.alpha||Ae.classList.add("no_alpha"),this.settings.editor||Ae.classList.add("no_editor"),this.settings.cancelButton||Ae.classList.add("no_cancel"),this._ifPopup((function(){return Ae.classList.add("popup")})),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function e(){return this._toggleDOM(!1)}},{key:"destroy",value:function e(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function e(){var be=this,Ae=this,we=this.domElement,xe=this._events;function s(be,Ae,we){xe.add(be,Ae,we)}s(we,"click",(function(be){return be.preventDefault()})),c(xe,this._domH,(function(be,we){return Ae._setHSLA(be)})),c(xe,this._domSL,(function(be,we){return Ae._setHSLA(null,be,1-we)})),this.settings.alpha&&c(xe,this._domA,(function(be,we){return Ae._setHSLA(null,null,null,1-we)}));var Se=this._domEdit;s(Se,"input",(function(be){Ae._setColor(this.value,{fromEditor:!0,failSilently:!0})})),s(Se,"focus",(function(be){var Ae=this;Ae.selectionStart===Ae.selectionEnd&&Ae.select()})),this._ifPopup((function(){var Ae=function e(Ae){return be.closeHandler(Ae)};s(window,Re,Ae),s(window,_e,Ae),p(xe,we,["Esc","Escape"],Ae);var Se=function e(Ae){be.__containedEvent=Ae.timeStamp};s(we,Re,Se),s(we,_e,Se),s(be._domCancel,"click",Ae)}));var ke=function e(Ae){be._ifPopup((function(){return be.closeHandler(Ae)})),be.onDone&&be.onDone(be.colour)};s(this._domOkay,"click",ke),p(xe,we,["Enter"],ke)}},{key:"_setPosition",value:function e(){var be=this.settings.parent,Ae=this.domElement;be!==Ae.parentNode&&be.appendChild(Ae),this._ifPopup((function(we){"static"===getComputedStyle(be).position&&(be.style.position="relative");var xe=!0===we?"popup_right":"popup_"+we;["popup_top","popup_bottom","popup_left","popup_right"].forEach((function(be){be===xe?Ae.classList.add(be):Ae.classList.remove(be)})),Ae.classList.add(xe)}))}},{key:"_setHSLA",value:function e(be,Ae,we,xe,Se){Se=Se||{};var ke=this.colour,Te=ke.hsla;[be,Ae,we,xe].forEach((function(be,Ae){(be||0===be)&&(Te[Ae]=be)})),ke.hsla=Te,this._updateUI(Se),this.onChange&&!Se.silent&&this.onChange(ke)}},{key:"_updateUI",value:function e(be){if(this.domElement){be=be||{};var Ae=this.colour,we=Ae.hsla,xe="hsl("+we[0]*Te+", 100%, 50%)",Se=Ae.hslString,Ee=Ae.hslaString,Re=this._domH,_e=this._domSL,$e=this._domA,Le=w(".picker_selector",Re),Ne=w(".picker_selector",_e),Me=w(".picker_selector",$e);g(Re,Le,we[0]),this._domSL.style.backgroundColor=this._domH.style.color=xe,g(_e,Ne,we[1]),p(_e,Ne,1-we[2]),_e.style.color=Se,p($e,Me,1-we[3]);var Be=Se,We=Be.replace("hsl","hsla").replace(")",", 0)"),Pe="linear-gradient("+[Be,We]+")";if(this._domA.style.background=Pe+", "+ke,!be.fromEditor){var He=this.settings.editorFormat,Ge=this.settings.alpha,Fe=void 0;switch(He){case"rgb":Fe=Ae.printRGB(Ge);break;case"hsl":Fe=Ae.printHSL(Ge);break;default:Fe=Ae.printHex(Ge)}this._domEdit.value=Fe}this._domSample.style.color=Ee}function g(be,Ae,we){Ae.style.left=100*we+"%"}function p(be,Ae,we){Ae.style.top=100*we+"%"}}},{key:"_ifPopup",value:function e(be,Ae){this.settings.parent&&this.settings.popup?be&&be(this.settings.popup):Ae&&Ae()}},{key:"_toggleDOM",value:function e(be){var Ae=this.domElement;if(!Ae)return!1;var we=be?"":"none",xe=Ae.style.display!==we;return xe&&(Ae.style.display=we),xe}}]),t}(),Le=document.createElement("style");return Le.textContent='.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}',document.documentElement.firstElementChild.appendChild(Le),$e.StyleElement=Le,$e}()},9857:function(be,Ae,we){we.d(Ae,{m:function(){return f}});class b extends Error{constructor(be,Ae){super(be+" at position "+Ae),this.position=Ae}}let xe=92,Se=47,ke=42,Te=123,Ee=125,Re=91,_e=93,$e=40,Le=41,Ne=32,Me=10,Be=9,We=13,Pe=8,He=12,Ge=34,Fe=43,Oe=45,Ve=39,Ze=48,De=57,Ke=44,je=46,ze=58,Xe=59,Ye=65,Je=97,Ue=69,Qe=101,qe=70,et=102,tt=160,nt=8192,it=8202,ot=8239,rt=8287,st=12288,at=8220,lt=8221,ct=8216,ht=8217,dt=96,ut=180;function G(be){return be>=Ze&&be<=De}function F(be){return gt.test(be)}let gt=/^[,:[\]/{}()\n+]$/;function O(be){return pt.test(be)||be&&Z(be.charCodeAt(0))}let pt=/^[[{\w-]$/;function V(be){return be===Ne||be===Me||be===Be||be===We}function Z(be){return D(be)||j(be)}function D(be){return be===Ge||be===at||be===lt}function K(be){return be===Ge}function j(be){return be===Ve||be===ct||be===ht||be===dt||be===ut}function z(be){return be===Ve}function X(be,Ae,we){return we=2<arguments.length&&void 0!==we&&we,-1!==(Ae=be.lastIndexOf(Ae))?be.substring(0,Ae)+(we?"":be.substring(Ae+1)):be}function Y(be,Ae){let we=be.length;if(!V(be.charCodeAt(we-1)))return be+Ae;for(;V(be.charCodeAt(we-1));)we--;return be.substring(0,we)+Ae+be.substring(we)}let mt={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},ft={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function f(be){let Ae=0,we="";if(!r())throw new b("Unexpected end of json string",be.length);var Ne=s(Ke);if(Ne&&f(),O(be[Ae])&&/[,\n][ \t\r]*$/.test(we)){Ne||(we=Y(we,","));{let be=!0,Ae=!0;for(;Ae;)be?be=!1:s(Ke)||(we=Y(we,",")),Ae=r();Ae||(we=X(we,",")),we="[\n".concat(we,"\n]")}}else Ne&&(we=X(we,","));for(;be.charCodeAt(Ae)===Ee||be.charCodeAt(Ae)===_e;)Ae++,f();if(Ae>=be.length)return we;throw new b("Unexpected character "+JSON.stringify(be[Ae]),Ae);function r(){f();var xe=function(){if(be.charCodeAt(Ae)!==Te)return!1;{we+="{",Ae++,f(),C(Ke)&&f();let ke=!0;for(;Ae<be.length&&be.charCodeAt(Ae)!==Ee;){let $e;if(ke?($e=!0,ke=!1):(($e=s(Ke))||(we=Y(we,",")),f()),a(),!y()&&!l()){be.charCodeAt(Ae)===Ee||be.charCodeAt(Ae)===Te||be.charCodeAt(Ae)===_e||be.charCodeAt(Ae)===Re||void 0===be[Ae]?we=X(we,","):function(){throw new b("Object key expected",Ae)}();break}f();var xe=s(ze),Se=Ae>=be.length;xe||(O(be[Ae])||Se?we=Y(we,":"):c()),r()||(xe||Se?we+="null":c())}return be.charCodeAt(Ae)===Ee?(we+="}",Ae++):we=Y(we,"}"),!0}}()||function(){if(be.charCodeAt(Ae)!==Re)return!1;{we+="[",Ae++,f(),C(Ke)&&f();let xe=!0;for(;Ae<be.length&&be.charCodeAt(Ae)!==_e;)if(xe?xe=!1:s(Ke)||(we=Y(we,",")),a(),!r()){we=X(we,",");break}return be.charCodeAt(Ae)===_e?(we+="]",Ae++):we=Y(we,"]"),!0}}()||y()||function(){var xe,Se,ke=Ae;if(be.charCodeAt(Ae)===Oe){if(Ae++,i())return o(ke),!0;if(!G(be.charCodeAt(Ae)))return Ae=ke,!1}for(;G(be.charCodeAt(Ae));)Ae++;if(be.charCodeAt(Ae)===je){if(Ae++,i())return o(ke),!0;if(!G(be.charCodeAt(Ae)))return Ae=ke,!1;for(;G(be.charCodeAt(Ae));)Ae++}if(be.charCodeAt(Ae)===Qe||be.charCodeAt(Ae)===Ue){if(Ae++,be.charCodeAt(Ae)!==Oe&&be.charCodeAt(Ae)!==Fe||Ae++,i())return o(ke),!0;if(!G(be.charCodeAt(Ae)))return Ae=ke,!1;for(;G(be.charCodeAt(Ae));)Ae++}if(i()){if(Ae>ke)return xe=be.slice(ke,Ae),Se=/^0\d/.test(xe),we+=Se?'"'.concat(xe,'"'):xe,!0}else Ae=ke;return!1}()||n("true","true")||n("false","false")||n("null","null")||n("True","true")||n("False","false")||n("None","null")||l();return f(),xe}function f(){let we=t();for(;we=(we=function(){if(be.charCodeAt(Ae)===Se&&be.charCodeAt(Ae+1)===ke){for(;Ae<be.length&&!function(be,Ae){return"*"===be[Ae]&&"/"===be[Ae+1]}(be,Ae);)Ae++;Ae+=2}else{if(be.charCodeAt(Ae)!==Se||be.charCodeAt(Ae+1)!==Se)return!1;for(;Ae<be.length&&be.charCodeAt(Ae)!==Me;)Ae++}return!0}())&&t(););}function t(){let xe="";for(var Se,ke;(Se=V(be.charCodeAt(Ae)))||(ke=be.charCodeAt(Ae))===tt||ke>=nt&&ke<=it||ke===ot||ke===rt||ke===st;)xe+=Se?be[Ae]:" ",Ae++;return 0<xe.length&&(we+=xe,!0)}function s(xe){return be.charCodeAt(Ae)===xe&&(we+=be[Ae],Ae++,!0)}function C(we){return be.charCodeAt(Ae)===we&&(Ae++,!0)}function a(){f(),be.charCodeAt(Ae)===je&&be.charCodeAt(Ae+1)===je&&be.charCodeAt(Ae+2)===je&&(Ae+=3,f(),C(Ke))}function y(Se){var ke,Te,Ee=0<arguments.length&&void 0!==Se&&Se;let Re=be.charCodeAt(Ae)===xe;if(Re&&(Ae++,Re=!0),Z(be.charCodeAt(Ae))){var _e=K(be.charCodeAt(Ae))?K:z(be.charCodeAt(Ae))?z:j(be.charCodeAt(Ae))?j:D,$e=Ae,Le=we.length;let Se='"';for(Ae++;;){if(Ae>=be.length)return Ne=I(Ae-1),!Ee&&F(be.charAt(Ne))?(Ae=$e,we=we.substring(0,Le),y(!0)):(Se=Y(Se,'"'),we+=Se,!0);if(_e(be.charCodeAt(Ae))){var Ne=Ae,Fe=Se.length;if(Se+='"',Ae++,we+=Se,f(),Ee||Ae>=be.length||F(be.charAt(Ae))||Z(be.charCodeAt(Ae))||G(be.charCodeAt(Ae)))return v(),!0;if(F(be.charAt(I(Ne-1))))return Ae=$e,we=we.substring(0,Le),y(!0);we=we.substring(0,Le),Ae=Ne+1,Se=Se.substring(0,Fe)+"\\"+Se.substring(Fe)}else{if(Ee&&F(be[Ae]))return Se=Y(Se,'"'),we+=Se,v(),!0;if(be.charCodeAt(Ae)===xe)if(Fe=be.charAt(Ae+1),void 0!==ft[Fe])Se+=be.slice(Ae,Ae+2),Ae+=2;else if("u"===Fe){let we=2;for(;we<6&&((Te=be.charCodeAt(Ae+we))>=Ze&&Te<=De||Te>=Ye&&Te<=qe||Te>=Je&&Te<=et);)we++;if(6===we)Se+=be.slice(Ae,Ae+6),Ae+=6;else{if(!(Ae+we>=be.length))throw Oe=void 0,Oe=be.slice(Ae,Ae+6),new b('Invalid unicode character "'.concat(Oe,'"'),Ae);Ae=be.length}}else Se+=Fe,Ae+=2;else{var Oe=be.charAt(Ae),Ve=be.charCodeAt(Ae);if(Ve===Ge&&be.charCodeAt(Ae-1)!==xe)Se+="\\"+Oe;else if((ke=Ve)===Me||ke===We||ke===Be||ke===Pe||ke===He)Se+=mt[Oe];else{if(!(32<=(ke=Ve)&&ke<=1114111))throw Ve=void 0,Ve=Oe,new b("Invalid character "+JSON.stringify(Ve),Ae);Se+=Oe}Ae++}}Re&&C(xe)}}return!1}function v(){let xe=!1;for(f();be.charCodeAt(Ae)===Fe;){xe=!0,Ae++,f();var Se=(we=X(we,'"',!0)).length,ke=y();we=ke?(Te=1,(ke=we).substring(0,Se)+ke.substring(Se+Te)):Y(we,'"')}var Te}function n(xe,Se){return be.slice(Ae,Ae+xe.length)===xe&&(we+=Se,Ae+=xe.length,!0)}function l(){for(var xe,Se=Ae;Ae<be.length&&(!F(xe=be[Ae])||"/"===xe)&&!Z(be.charCodeAt(Ae));)Ae++;if(Ae>Se){if(be.charCodeAt(Ae)===$e&&/^\w+$/.test(be.slice(Se,Ae).trim()))Ae++,r(),be.charCodeAt(Ae)===Le&&(Ae++,be.charCodeAt(Ae)===Xe)&&Ae++;else{for(;V(be.charCodeAt(Ae-1))&&0<Ae;)Ae--;Se=be.slice(Se,Ae),we+="undefined"===Se?"null":JSON.stringify(Se),be.charCodeAt(Ae)===Ge&&Ae++}return!0}}function I(Ae){let we=Ae;for(;0<we&&V(be.charCodeAt(we));)we--;return we}function i(){return Ae>=be.length||F(be[Ae])||V(be.charCodeAt(Ae))}function o(xe){we+=be.slice(xe,Ae)+"0"}function c(){throw new b("Colon expected",Ae)}}},3420:function(be){be.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},5207:function(be){be.exports=JSON.parse('{"id":"http://json-schema.org/draft-04/schema#","$schema":"http://json-schema.org/draft-04/schema#","description":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"positiveInteger":{"type":"integer","minimum":0},"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true}},"type":"object","properties":{"id":{"type":"string"},"$schema":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"multipleOf":{"type":"number","minimum":0,"exclusiveMinimum":true},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"boolean","default":false},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"maxLength":{"$ref":"#/definitions/positiveInteger"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/positiveInteger"},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"anyOf":[{"type":"boolean"},{"$ref":"#"}],"default":{}},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"default":{}}')},6801:function(be){be.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-06/schema#","$id":"http://json-schema.org/draft-06/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"title":{"type":"string"},"description":{"type":"string"},"default":{},"examples":{"type":"array","items":{}},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":{}},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":{},"enum":{"type":"array","minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":{}}')},8198:function(be){be.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}},Ae={},i.amdD=function(){throw new Error("define cannot be used indirect")},i.n=function(be){var Ae=be&&be.__esModule?function(){return be.default}:function(){return be};return i.d(Ae,{a:Ae}),Ae},i.d=function(be,Ae){for(var we in Ae)i.o(Ae,we)&&!i.o(be,we)&&Object.defineProperty(be,we,{enumerable:!0,get:Ae[we]})},i.o=function(be,Ae){return Object.prototype.hasOwnProperty.call(be,Ae)},i.r=function(be){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(be,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(be,"__esModule",{value:!0})},i.nmd=function(be){return be.paths=[],be.children||(be.children=[]),be},i(1346);function i(we){var xe=Ae[we];return void 0!==xe||(xe=Ae[we]={id:we,loaded:!1,exports:{}},be[we].call(xe.exports,xe,xe.exports,i),xe.loaded=!0),xe.exports}var be,Ae}()}}]);