@openmrs/esm-form-builder-app 2.5.0 → 2.5.1-pre.1001

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 (487) hide show
  1. package/README.md +18 -7
  2. package/dist/0078b630bed2938ce03f618c2bcd1363.js +1 -0
  3. package/dist/{acaef5b3d4971efbf24be1a229186ff5.js → 019e34e85139cfc611bf23efa096c980.js} +1 -1
  4. package/dist/01d0d81c536cf29f255c5bfabdf357f9.js +1 -0
  5. package/dist/029f5ee0420883bc3c38a7f143fd174a.js +1 -0
  6. package/dist/{8d7988f603ec76ecb92315442285a83d.js → 03a5f5b2b97a8fc289399d92fba810d0.js} +1 -1
  7. package/dist/03c024582e611eac84444a83f7fd962d.js +1 -0
  8. package/dist/03cecfc674939048da99384e68631f13.js +1 -0
  9. package/dist/0416c21cfe088739209926632a360e3b.js +1 -0
  10. package/dist/09c09a39f911db8fb36431d9d48095ac.js +1 -0
  11. package/dist/{17b41db8dd7120d3a88417a1490f57b7.js → 0bd45b2d490c48c31619072a4fb0eaea.js} +1 -1
  12. package/dist/0d5aa4cf4cd6ced22d689adc35468925.js +1 -0
  13. package/dist/{330c0deacbfbbb6f1249b5bd887d608a.js → 0fa30731c46fe8b6a54f9752ad0ed7e0.js} +1 -1
  14. package/dist/11.js +1 -0
  15. package/dist/118fa9ea46f9ba830cd0e843f4d3385a.js +1 -0
  16. package/dist/{5061ac5e99882b9f26051a5d73c75271.js → 1195816afa4a5e8183857be16a04ae6f.js} +1 -1
  17. package/dist/14729b329294f14e4ca78b8a85f5ffa9.js +1 -0
  18. package/dist/184.js +2 -0
  19. package/dist/184.js.LICENSE.txt +14 -0
  20. package/dist/184.js.map +1 -0
  21. package/dist/18a469a2f11af88696d750921e25192a.js +1 -0
  22. package/dist/192.js +1 -0
  23. package/dist/{447.js.map → 192.js.map} +1 -1
  24. package/dist/{807.js → 197.js} +1 -1
  25. package/dist/{7e4b5afab13800eedc72d1669997de99.js → 1c24a68cb472146022d0806ea2505cfb.js} +1 -1
  26. package/dist/{83d1c691b58768e3ec0a1f88450a7ceb.js → 1ce14f2cad9f3c122cb5ccfcd485ffb4.js} +1 -1
  27. package/dist/{e6e768df4733fa1a1c8a9b06a24ff2fd.js → 1d3796180f854b5d8ab435ab0a1c2c11.js} +1 -1
  28. package/dist/{fc84e4779f22e5f1c9a70f56f47e0ed6.js → 1ff1389501159e4846a5133e3b8992d8.js} +1 -1
  29. package/dist/20545e6680e996248f667158904a6a9b.js +1 -0
  30. package/dist/214df38fb17fa6274c150507734f4d59.js +1 -0
  31. package/dist/228.js +1 -0
  32. package/dist/228.js.map +1 -0
  33. package/dist/2287e0a9970175f8e26f811b688d2d36.js +1 -0
  34. package/dist/2302902e10c4afab56e1b864c96070cb.js +1 -0
  35. package/dist/2348c5ed0da81c27fa889f56e43f91a1.js +1 -0
  36. package/dist/25be9f866b93e4ffa34f07a4fde632d4.js +1 -0
  37. package/dist/{56ddbe1e119db3c02da97dc04012cf2b.js → 269732f4c5f6e82ea3246548a9631b47.js} +1 -1
  38. package/dist/27846e85433e54a3ec0ab34d62233dc5.js +1 -0
  39. package/dist/29.js +2 -0
  40. package/dist/29.js.map +1 -0
  41. package/dist/291.js +2 -0
  42. package/dist/291.js.LICENSE.txt +9 -0
  43. package/dist/291.js.map +1 -0
  44. package/dist/292.js +1 -0
  45. package/dist/292.js.map +1 -0
  46. package/dist/{e4bea9a2a2680d970c13cc4ed89bc1a0.js → 2a8394955e047270a2a965ec67843989.js} +1 -1
  47. package/dist/{99e41196ce05ad5fb70891b44ac227e8.js → 2aa392a501973ebfcea38239a45ed8e7.js} +1 -1
  48. package/dist/2b1b8f8b9e8f1e423a69afd121fd7da9.js +1 -0
  49. package/dist/{40f9100a898e3396df73051eb7c44cb8.js → 2b5729e073775b8fb827fc8e4725e48a.js} +1 -1
  50. package/dist/{262f489eb59166e1215642b60446d123.js → 2b89e20071dd734f42b8694d7a84c264.js} +1 -1
  51. package/dist/2d17c1117fbcc5f98907a74804e20dde.js +1 -0
  52. package/dist/{30d2b805bcbc5d6bd558d7bdf9137a0e.js → 2d2a75e3d01a74b93d07db04df8abe5e.js} +1 -1
  53. package/dist/2e47a5ceba483c50c5ca302447d37e95.js +1 -0
  54. package/dist/2e841e8b77c2a2c00fd71940632bc1e1.js +1 -0
  55. package/dist/300.js +1 -0
  56. package/dist/{465.js → 308.js} +1 -1
  57. package/dist/318dcae1cdcd4733986a93e7a5fab7b8.js +1 -0
  58. package/dist/{3cd75b9fb238f5af900205216be23a66.js → 328cbf598e9711b0a87c19437b02f80d.js} +1 -1
  59. package/dist/{757.js → 335.js} +1 -1
  60. package/dist/34d45757ec94b255f55a8df0ffbca874.js +1 -0
  61. package/dist/{fb08407a1b7ad7f9a2da2a7845f596c5.js → 34f99cce131bd7aa65e7a924e2456006.js} +1 -1
  62. package/dist/360.js +1 -0
  63. package/dist/360.js.map +1 -0
  64. package/dist/367def81f25c0a08527f9a4e86e70c56.js +1 -0
  65. package/dist/38105097fc2497d628f398be7db5f6e8.js +1 -0
  66. package/dist/3aa9acf68293a7f0389004dd82a08374.js +1 -0
  67. package/dist/{92e96a5183122509403347f8fde3e407.js → 3ac8c7749734990e2d9f81eeca219886.js} +1 -1
  68. package/dist/3b624a5e4f3b3ff05a090fcefa18470c.js +1 -0
  69. package/dist/{8b0e5da82a1aa923f454ee2e6568850b.js → 3bf96f8eb1859e2724a4b769af3b5f1e.js} +1 -1
  70. package/dist/3e4fdc5660f64b9c38e518be48b3b57e.js +1 -0
  71. package/dist/{531e426da5d4c152efe1e9522991e466.js → 3eefbe1c009cfd730b2ca6f834367c45.js} +1 -1
  72. package/dist/3f896944a97f002f2146e028ff2eac63.js +1 -0
  73. package/dist/410829a762fbac1d1f3ceed934518248.js +1 -0
  74. package/dist/41ae585cdbb9c2e8eefff5d30193029f.js +1 -0
  75. package/dist/41e8a86a20df71cb48a373b096c06cd1.js +1 -0
  76. package/dist/429.js +1 -0
  77. package/dist/429.js.map +1 -0
  78. package/dist/{6416bde11154c29c4e296eb82fed0bdf.js → 42e0ea6351d45d342caab13cb12f9ea4.js} +1 -1
  79. package/dist/431.js +1 -0
  80. package/dist/431.js.map +1 -0
  81. package/dist/432a5982ba3ddf958381d780e1e9a8e2.js +1 -0
  82. package/dist/44efcea2f84e80cc4092a89796afe886.js +1 -0
  83. package/dist/460.js +1 -0
  84. package/dist/460.js.map +1 -0
  85. package/dist/46ed21c8fbddeefacaf10d78887aa22a.js +1 -0
  86. package/dist/4821925a3d30a9b2e980aa74d0869ab0.js +1 -0
  87. package/dist/{1d633c2bf495c2c286fe37d00950e1d4.js → 4bee3a46b8378a7b4ef84492f08abd22.js} +1 -1
  88. package/dist/4c1bdecbedd36a5765de184ac056822a.js +1 -0
  89. package/dist/4f03709d8b1d52a622f0676f7a299510.js +1 -0
  90. package/dist/4f683c6881e9f8740f5516a85b9eb9da.js +1 -0
  91. package/dist/505.js +1 -0
  92. package/dist/505.js.map +1 -0
  93. package/dist/{8f8ce96f0f6ce8d8a30d5f2dcb4eca76.js → 5106411f7468a5ee5b1ee77aed12c0c7.js} +1 -1
  94. package/dist/512.js +1 -0
  95. package/dist/5398e3b596fa15df4d84b2aa0464e5c4.js +1 -0
  96. package/dist/{294.js → 540.js} +2 -2
  97. package/dist/540.js.map +1 -0
  98. package/dist/55.js +1 -0
  99. package/dist/{f5d50af31e924b65e3bd3764e8d1df3a.js → 57e14488b13e50ebdb5fdfc7880da683.js} +1 -1
  100. package/dist/{4b75999ea99d719689337def2fab50a3.js → 5a741aab715866cb4d9a55e89dfc8420.js} +1 -1
  101. package/dist/5a8ead0357e5029a2518959423dc29f3.js +1 -0
  102. package/dist/5ce650c06c385f9d15621e54c60457c0.js +1 -0
  103. package/dist/{49c44a682cc7627c4a2e8b4d1cfec022.js → 5cebfc2c3495b6294dcb2a99e5174872.js} +1 -1
  104. package/dist/{949a350e1d9f92839865e927eb00673f.js → 5d312b184c1f4565f51247d3c6dbba90.js} +1 -1
  105. package/dist/601.js +1 -0
  106. package/dist/601.js.map +1 -0
  107. package/dist/604.js +2 -0
  108. package/dist/604.js.LICENSE.txt +24 -0
  109. package/dist/604.js.map +1 -0
  110. package/dist/60d2bacc2e51eabc2bb0afa982fffb56.js +1 -0
  111. package/dist/{6707296f86034ccf2225ce3c27370114.js → 622e27eec5f26148f51ccc30315a3deb.js} +1 -1
  112. package/dist/{d492c085b5834c819ba21542b9147966.js → 6250c7594cd66ca91184b5beca293e06.js} +1 -1
  113. package/dist/{45873024a393c691246898090c972cd3.js → 6490772da5aecc6cb9e4c625abc74a96.js} +1 -1
  114. package/dist/{319.js → 652.js} +1 -1
  115. package/dist/656927386f77b2620f35af391f59d5ab.js +1 -0
  116. package/dist/65abcd8e99a385bcd8f1776f160040a9.js +1 -0
  117. package/dist/{2091e4c01015d7dda392116f3ae59801.js → 678f5201c1917429f334b88078ca4174.js} +1 -1
  118. package/dist/6821c1c5fb7909037ea68afc9ac6fa84.js +1 -0
  119. package/dist/685191c4f96bd2812757400e95ea7cbb.js +1 -0
  120. package/dist/6a0c82e8d455351e74687b23d41140fa.js +1 -0
  121. package/dist/6a1c347ab79a93f3ac01b08c8ccfc827.js +1 -0
  122. package/dist/{116d29a13f16f0a9bf9c25eaa2186c24.js → 6a851f05f1f4a974e02fe23eac2bad4e.js} +1 -1
  123. package/dist/{8a70eec5a46e423328f1e9d7d1a87f41.js → 6b4b87a54f673cfbb82be45329441bef.js} +1 -1
  124. package/dist/{002a2ac7b7d3b3b807ddcb210cfc91eb.js → 6bed1b724e74e6bc80688f42bc824d70.js} +1 -1
  125. package/dist/6c6d192b6860b4508a14c2d04769a35e.js +1 -0
  126. package/dist/6cf2d62a423414bc2d1c7db6405601a5.js +1 -0
  127. package/dist/6e40b726d91e9138d9eaef6fd012c740.js +1 -0
  128. package/dist/70efbabef77fb217f904f41dbf7fe8bf.js +1 -0
  129. package/dist/{b491027881efabe4493ad65daf3368de.js → 7222998c10fabd9c824cf8cf540b3b74.js} +1 -1
  130. package/dist/{277128dcbc226dfeb8fde9391fb24787.js → 7259bceba25ac1476fc775122a63d249.js} +1 -1
  131. package/dist/73af2faad0625104d52ff830ef9ea61e.js +1 -0
  132. package/dist/765a108d65257b76846cf458e46f9bde.js +1 -0
  133. package/dist/771acd16f7d805828ef10804b038d470.js +1 -0
  134. package/dist/786.js +8 -0
  135. package/dist/{166.js.LICENSE.txt → 786.js.LICENSE.txt} +1 -41
  136. package/dist/786.js.map +1 -0
  137. package/dist/789.js +1 -0
  138. package/dist/789.js.map +1 -0
  139. package/dist/{4150db3307181a1afef55ab2c9ec191e.js → 79241f85b016a7332f85bb66667459c2.js} +1 -1
  140. package/dist/79455ab9a6cd507f5314141cc965093a.js +1 -0
  141. package/dist/7b839a5c1f6d89538928c8a29003bbda.js +1 -0
  142. package/dist/7c488184a1ff274206e8af2c3aeeb2f6.js +1 -0
  143. package/dist/7c9558a304e8b3331e33a67900720578.js +1 -0
  144. package/dist/7e7131507a20f96834597eb2de3e880a.js +1 -0
  145. package/dist/7f007f3f67d9c856e727cec1369f8cba.js +1 -0
  146. package/dist/{0e693b29bbe881d5b78f15fb9cacbedd.js → 81318a3530fb35d5178eb7a4a13a606f.js} +1 -1
  147. package/dist/82402c7ad9d114a6d457b8e85733166c.js +1 -0
  148. package/dist/82c607cd84abbd9d103d44eb63a17380.js +1 -0
  149. package/dist/835.js +1 -0
  150. package/dist/835.js.map +1 -0
  151. package/dist/852.js +1 -0
  152. package/dist/852.js.map +1 -0
  153. package/dist/880ae94877022f7fb0458ced0825eb4c.js +1 -0
  154. package/dist/88730abfeb4a23e692ac7933882f12eb.js +1 -0
  155. package/dist/{4b73278b511eebb4d0f44a0eec778327.js → 8a5127228870aafabfff6111d29313d6.js} +1 -1
  156. package/dist/8b5a7ea56e555f0646ff1ec04e2f2ec8.js +1 -0
  157. package/dist/8b8336037f074d9dcbd20eab535b803f.js +1 -0
  158. package/dist/{4816d92f4fbed14925ed1946f4135365.js → 8c7616f0adba6a5ac0d2f06ba4ebd696.js} +1 -1
  159. package/dist/8cf654fbb341b296e1ca1ea64665d2fe.js +1 -0
  160. package/dist/{0d419aec4c7e2317238c3502a967b560.js → 8ed5aba33ead1f94e97d5c35a5e93434.js} +1 -1
  161. package/dist/8f3d1d788bae00d28b3f3faa4e0dc8e7.js +1 -0
  162. package/dist/{ebaed1b3f483c7391037315a62571718.js → 8f9ce72eeabbf31f2d51f4bcfc66d3b0.js} +1 -1
  163. package/dist/9.js +1 -0
  164. package/dist/9.js.map +1 -0
  165. package/dist/90aa502abf90516fba58e6c0e3025808.js +1 -0
  166. package/dist/{3afb97252c417c5f0dd54e20b1954f63.js → 90f3dc3c18d447104b63c156cb7fddb5.js} +1 -1
  167. package/dist/91.js +1 -0
  168. package/dist/91.js.map +1 -0
  169. package/dist/916.js +1 -0
  170. package/dist/916.js.map +1 -0
  171. package/dist/{796a2d1a925ed311f35e5fc5907a3132.js → 91beb08737a1bbf071f351fb0acdbf3c.js} +1 -1
  172. package/dist/91e35c5eaf4724ba88de11bc0443a5c2.js +1 -0
  173. package/dist/{50.js → 92.js} +1 -1
  174. package/dist/933650e44addcb70f81e845ce4186e4d.js +1 -0
  175. package/dist/947d538f92dd1e146e4a3c41e4eacb92.js +1 -0
  176. package/dist/{08d12eee2127dc573b757f69752c6704.js → 950a205e91da7e78226dd785fd6d34db.js} +1 -1
  177. package/dist/953c932d71a79a72673405ec103b5739.js +1 -0
  178. package/dist/961.js +2 -0
  179. package/dist/961.js.map +1 -0
  180. package/dist/963.js +1 -0
  181. package/dist/963.js.map +1 -0
  182. package/dist/979.js +1 -1
  183. package/dist/979.js.map +1 -0
  184. package/dist/{7abc8b6c17be848321a446cfd88c27a9.js → 983fccb9f00748c487e889f6c83aa367.js} +1 -1
  185. package/dist/99.js +1 -0
  186. package/dist/{c97c8951af9153f36715121ab359334c.js → 9920e03a65566d728a73c7bf18bc5741.js} +1 -1
  187. package/dist/9aa63705c26b041214124ae3f90b0b74.js +1 -0
  188. package/dist/{9d29de85381ba75c190573ea82708954.js → 9b4de1346c73ba258736f1a3f00fdc14.js} +1 -1
  189. package/dist/{a6b8f5b8c9ce7808c5ca6baccdf1ad1e.js → 9b9578869f378f8e2afbf85a76c0ac72.js} +1 -1
  190. package/dist/9ce31ae06cd4113ea5527eb5bf4b0fbf.js +1 -0
  191. package/dist/9d5bba46df7fb1577fec6cb90f1bb2a7.js +1 -0
  192. package/dist/9ebb9ac2c9c875649c72722bc585d445.js +1 -0
  193. package/dist/{df350f726187b69bcededaaed6cf5f31.js → a0e32ba94aa4384823d768802b9486e1.js} +1 -1
  194. package/dist/a1bb5b3f6078f04941c00f87171dc0ae.js +1 -0
  195. package/dist/{6327ff8d569aa463a91e5ea774d1980e.js → a223748cd69094dd12b486353b22f479.js} +1 -1
  196. package/dist/a352be446de3ea29cb0609bb5336b030.js +1 -0
  197. package/dist/a3a941911290b143d26ceb5e776e1d18.js +1 -0
  198. package/dist/a3dfa410d90c00078f4b015410048f34.js +1 -0
  199. package/dist/a41ce517e26d17d855b7224af9ee433b.js +1 -0
  200. package/dist/a496f663a8cf2dc047e12d8a80d76510.js +1 -0
  201. package/dist/{8db9f93698f3eea94f936fcb5986f1a3.js → a4d0588d199cb1afffb42e57ea40fa86.js} +1 -1
  202. package/dist/{ac0681e93739efad9b6f1b85453d6a1b.js → a52f9ac0e3d582ed7e488aa1dfc33eda.js} +1 -1
  203. package/dist/a569591af2f834ec4b58f43ab7742186.js +1 -0
  204. package/dist/a6eb87af5cd7ae7e4fcba8ec606ec4ba.js +1 -0
  205. package/dist/{19df93bf1797b4caf8232cc4b544f865.js → a83211eadd86ef80416334e72774ab11.js} +1 -1
  206. package/dist/a8c8aa148991e4ca35ed78cd5ccfcc03.js +1 -0
  207. package/dist/{4123d5ea3e1f99dd3a5f2a89e16c6e59.js → ab0128ab12bcb8729032421b40f5f8dd.js} +1 -1
  208. package/dist/abaf3295e910c34eae208dfe0fc514b1.js +1 -0
  209. package/dist/ac75eee083810ee8d0ea57f03a5416bc.js +1 -0
  210. package/dist/af1635b600efd13f6059eb6ac9deae12.js +1 -0
  211. package/dist/af6fdb556ee3f9065578bb01f81f6216.js +1 -0
  212. package/dist/{5b2b9bc695bfdee92665388010a7e74d.js → b10accbff47791a59b8494225af07025.js} +1 -1
  213. package/dist/b13d991d1e4a016abea3fe5837261690.js +1 -0
  214. package/dist/b2d48e239f15fa4f535eb38d363dc1f1.js +1 -0
  215. package/dist/b3f1431b9e6d9e6632a93c2cd89f945b.js +1 -0
  216. package/dist/{3a3b2fef963d6c2c49c5b11b74a9ea81.js → b953ce2f19e7291598cd9c05128133c1.js} +1 -1
  217. package/dist/bb1365c0983ce5ad50060b24788b9630.js +1 -0
  218. package/dist/{2772fa250d538d9b7a8702fb6c50d195.js → bd309bb3f23f2bfbcf914f2e71474ab5.js} +1 -1
  219. package/dist/{32f291b1164c2610ed1a9260677d15f0.js → be75b76e74c78535966ec8aaa7d46bec.js} +1 -1
  220. package/dist/{ad88ef07c8c702b1a5f1e3d19c1052c7.js → c1a1f4ba29aa2d9a0b1a1abe5cfee0c6.js} +1 -1
  221. package/dist/c2fa476995041f9982b89a1c483da2b9.js +1 -0
  222. package/dist/c3832579be376308fa819b04e7b0c66f.js +1 -0
  223. package/dist/c4c991b8f5eb242f1e220e5f568fdfbc.js +1 -0
  224. package/dist/c60efc342d7da27d9a6cf60fbec6f9ce.js +1 -0
  225. package/dist/c8acc93023012737a3bf8fb767b66838.js +1 -0
  226. package/dist/{acb898eefa176c3f28344f5780cceb63.js → cb4bb785934eeca9b408e892ae6b73b7.js} +1 -1
  227. package/dist/{6257c20a623b032171b358cc95a1adab.js → cb5746e29527a2fdb9f857a121e086ed.js} +1 -1
  228. package/dist/cb622c2d49403c3f56e333bc41a9b89c.js +1 -0
  229. package/dist/{78b1ba82f7882d931072c4ef6e87f579.js → cc65d108f0e7cfb200de1d0bcf115005.js} +1 -1
  230. package/dist/cc715c90d57b30965fc297a12746d6b5.js +1 -0
  231. package/dist/cedeeab4daadcc470520da9661b1d78b.js +1 -0
  232. package/dist/{0d8cca845a71e82acc3ffc1fc95c94f3.js → cf909ad6e321c2f98750f5c3581556f8.js} +1 -1
  233. package/dist/d0415105402964718010284fcfa8b2ea.js +1 -0
  234. package/dist/d09463c099fb2c44719380623a5c68fb.js +1 -0
  235. package/dist/d1907231dc06c32481fefd6d47da973b.js +1 -0
  236. package/dist/d4b890206d2316955676dd69ef0f2779.js +1 -0
  237. package/dist/{700530bc418f23dccca7db36bfa9f745.js → d4f5981ee5a73d8a6e19112f2ffcb72c.js} +1 -1
  238. package/dist/d7340300249ab98bd9b3f538a767106e.js +1 -0
  239. package/dist/d76046afaf4d32b0f0afb63b4fabc680.js +1 -0
  240. package/dist/d85853bab3b213652aee023adecfb690.js +1 -0
  241. package/dist/{d3c6f63283deafb27231ec767a161534.js → da740c1b29a85b999a6874b59a1baeef.js} +1 -1
  242. package/dist/dc83a73f0eb89665520bbb6672dfa3cb.js +1 -0
  243. package/dist/{3d7fd940e543a183c4c376ef0d65773a.js → dc932cde2fbfca8e2901fb693968b131.js} +1 -1
  244. package/dist/de73b4d2a9ed4bcb851f9141e303636d.js +1 -0
  245. package/dist/e00b330413304d60c26e164da7f9fe0c.js +1 -0
  246. package/dist/e63fce237243190962fcc3b12b387e1b.js +1 -0
  247. package/dist/e7996a1f4aed878b8486d55f411b65cb.js +1 -0
  248. package/dist/e80d5ee40455d0675f8f2a3688071adf.js +1 -0
  249. package/dist/e9382a0e67b22188c75e9418de1c9295.js +1 -0
  250. package/dist/{4dec4bb457555975c148226534ecbdbe.js → eb0b62e1895dcf7491419aa728f00c38.js} +1 -1
  251. package/dist/eb925c23b7c7a9d047f8722f46e20950.js +1 -0
  252. package/dist/ebd0bd68d479ea224a6f962d1667219d.js +1 -0
  253. package/dist/ec7b3f184238605a5239da7559e6cff9.js +1 -0
  254. package/dist/ec901efce9bc8572f27155236a447e62.js +1 -0
  255. package/dist/ecff3d4bbf59ef41230960af46098e74.js +1 -0
  256. package/dist/{53e2fb3b82eafad81897aab9ab79edff.js → ee41eb1fd1d1c87c45e818b5a8a65cf8.js} +1 -1
  257. package/dist/{f6a1ff9a83e32555a4e3c7b99727e02d.js → ee5d36473f84db2af26d82efd69a38ec.js} +1 -1
  258. package/dist/ef01988390cb38f64b1969c775015c57.js +1 -0
  259. package/dist/f01129e1dfd56aa58d31a328b3c5fddb.js +1 -0
  260. package/dist/f15362a7feef894b2e7f706252e6c510.js +1 -0
  261. package/dist/{92164e5d714ab4cda2b91eede29bc191.js → f15cbf0d23cba4a313f3f2acfef5370c.js} +1 -1
  262. package/dist/f4a8f4192f6aeda7f17280c974c9eea7.js +1 -0
  263. package/dist/f52f3abc162b2643e0c43f6c15a95745.js +1 -0
  264. package/dist/f6b33aded7ae7504bfcc4550925cccb0.js +1 -0
  265. package/dist/fb393a7455b47f3d4fc30cf219d5145c.js +1 -0
  266. package/dist/fb5080213f065f82f0391c551c864434.js +1 -0
  267. package/dist/fc15e67c3e8e51dd8ccc9c3df78c9738.js +1 -0
  268. package/dist/fc1dd74e1ec7e59d6d458e2a956d7f26.js +1 -0
  269. package/dist/fd01cb7c2dce608bfa89475751ac6f1b.js +1 -0
  270. package/dist/{356c61041d30223f74711e79c8bb8ae9.js → fd3859a700b456e06c65c0cf6b0af05c.js} +1 -1
  271. package/dist/fd4b01ad8a8261d4583e3b24b8b388b9.js +1 -0
  272. package/dist/fd98f0e48b18e1de428edd5174539c2a.js +1 -0
  273. package/dist/{5fc5b7fdc1899b18bee20c7905c76182.js → fe9499c0a5444f7f42843fa00fb355cb.js} +1 -1
  274. package/dist/main.js +1 -1
  275. package/dist/main.js.map +1 -1
  276. package/dist/openmrs-esm-form-builder-app.js +1 -1
  277. package/dist/openmrs-esm-form-builder-app.js.buildmanifest.json +867 -529
  278. package/dist/openmrs-esm-form-builder-app.js.map +1 -1
  279. package/dist/routes.json +1 -1
  280. package/package.json +42 -37
  281. package/src/components/action-buttons/action-buttons.component.tsx +41 -61
  282. package/src/components/action-buttons/action-buttons.scss +5 -0
  283. package/src/components/action-buttons/unpublish-form.modal.tsx +45 -0
  284. package/src/components/dashboard/dashboard.component.tsx +37 -70
  285. package/src/components/dashboard/dashboard.scss +5 -0
  286. package/src/components/dashboard/dashboard.test.tsx +14 -113
  287. package/src/components/dashboard/delete-form.modal.tsx +45 -0
  288. package/src/components/dashboard/delete-form.scss +9 -0
  289. package/src/components/form-editor/form-editor.component.tsx +185 -207
  290. package/src/components/form-editor/restore-draft-schema.modal.tsx +53 -0
  291. package/src/components/interactive-builder/{add-question-modal.component.tsx → add-question.modal.tsx} +236 -30
  292. package/src/components/interactive-builder/{delete-page-modal.component.tsx → delete-page.modal.tsx} +11 -18
  293. package/src/components/interactive-builder/{delete-question-modal.component.tsx → delete-question.modal.tsx} +39 -20
  294. package/src/components/interactive-builder/{delete-section-modal.component.tsx → delete-section.modal.tsx} +11 -13
  295. package/src/components/interactive-builder/draggable-question.component.tsx +44 -21
  296. package/src/components/interactive-builder/droppable-container.component.tsx +6 -6
  297. package/src/components/interactive-builder/droppable-container.scss +9 -0
  298. package/src/components/interactive-builder/edit-question.modal.tsx +858 -0
  299. package/src/components/interactive-builder/editable-value.scss +1 -1
  300. package/src/components/interactive-builder/interactive-builder.component.tsx +98 -183
  301. package/src/components/interactive-builder/{new-form-modal.component.tsx → new-form.modal.tsx} +8 -19
  302. package/src/components/interactive-builder/{page-modal.component.tsx → page.modal.tsx} +8 -9
  303. package/src/components/interactive-builder/question-modal.scss +3 -3
  304. package/src/components/interactive-builder/{section-modal.component.tsx → section.modal.tsx} +8 -18
  305. package/src/components/modals/save-form-modal.scss +4 -0
  306. package/src/components/modals/{save-form-modal.component.tsx → save-form.modal.tsx} +3 -3
  307. package/src/components/schema-editor/schema-editor.component.tsx +20 -23
  308. package/src/components/validation-info/validation-info.component.tsx +3 -1
  309. package/src/config-schema.ts +19 -0
  310. package/src/form-validator.resource.ts +77 -42
  311. package/src/forms.resource.ts +2 -2
  312. package/src/hooks/usePatientIdentifierLookup.ts +18 -0
  313. package/src/hooks/usePatientIdentifierName.ts +17 -0
  314. package/src/hooks/usePatientIdentifierTypes.ts +19 -0
  315. package/src/hooks/usePersonAttributeLookup.ts +18 -0
  316. package/src/hooks/usePersonAttributeName.ts +17 -0
  317. package/src/hooks/useProgramStates.ts +51 -0
  318. package/src/index.ts +46 -0
  319. package/src/routes.json +46 -0
  320. package/src/types.ts +35 -5
  321. package/dist/0.js +0 -1
  322. package/dist/0.js.map +0 -1
  323. package/dist/023545291c7d55eb893591da836fc73d.js +0 -1
  324. package/dist/03452373324e7ceaf58e3830eafd1a28.js +0 -1
  325. package/dist/039ae6f160cd9781bcbb003484e23cdc.js +0 -1
  326. package/dist/0ec8abb2e91cb079eed4605ea6851cb8.js +0 -1
  327. package/dist/1092154c23dcc20005a669b15497159f.js +0 -1
  328. package/dist/138.js +0 -1
  329. package/dist/151786e5421aae5a57d862be1387a079.js +0 -1
  330. package/dist/153.js +0 -1
  331. package/dist/153.js.map +0 -1
  332. package/dist/154e51d48e7dc7f244bf748e4deb64f9.js +0 -1
  333. package/dist/166.js +0 -8
  334. package/dist/166.js.map +0 -1
  335. package/dist/16b5146f5e9b7a1a196f6d11a6187282.js +0 -1
  336. package/dist/1ab96c77da77918d9160c787732c68a6.js +0 -1
  337. package/dist/1db8d65ab1ad8dbb0aae7b9ebe280ca7.js +0 -1
  338. package/dist/1ef4b371fd98f0144354e57bb89d7fa3.js +0 -1
  339. package/dist/1ff3e5ecc0f8d69a4611a7cd8337f0b2.js +0 -1
  340. package/dist/2184bcd361a0e38d249bc49439d994cb.js +0 -1
  341. package/dist/252b829e2dab81bc5a4c28d52f34edf5.js +0 -1
  342. package/dist/275b72e6e6256f50527832ba14ec291e.js +0 -1
  343. package/dist/2765855f04cd6d7fb7fcf0a81c1e2022.js +0 -1
  344. package/dist/294.js.map +0 -1
  345. package/dist/2e2f30806fe3accb9b340fb082a1494e.js +0 -1
  346. package/dist/3053f55c4697117c4c2cd156803b3155.js +0 -1
  347. package/dist/3063479c31202a0d1ecf707b2a4ce742.js +0 -1
  348. package/dist/3564e45dfb2ed064007f910db434889f.js +0 -1
  349. package/dist/397e6669a1d15065bd742d20079d6a95.js +0 -1
  350. package/dist/3aa8f5e8ff182ed46cb6570dad4c4eee.js +0 -1
  351. package/dist/3b8b51248b6aa0474a02a6c352d1caa1.js +0 -1
  352. package/dist/3bd6e7a72c8b16825ce3a83b17bd681e.js +0 -1
  353. package/dist/3bfb519dbb980d6d8fee1bf543dfc5ae.js +0 -1
  354. package/dist/3c1857a15493f62c5c85c13007a6c32c.js +0 -1
  355. package/dist/3db12a05792313b3c537e3256f5e2e93.js +0 -1
  356. package/dist/3fa11e77942b4cf2c50e845525ae5a9f.js +0 -1
  357. package/dist/3fe09c1c283d4a26d228f37a77a018b2.js +0 -1
  358. package/dist/438ed06fb7f9516b12edaf7411c832b0.js +0 -1
  359. package/dist/447.js +0 -1
  360. package/dist/4686855c499be892779f614770ec2cf7.js +0 -1
  361. package/dist/46f088332f17d2ea452bd0ef7a5cdbc6.js +0 -1
  362. package/dist/474c86d7a4a0fa50030c6503fdb52392.js +0 -1
  363. package/dist/489b22b946f5972fed0daab6ef587c60.js +0 -1
  364. package/dist/494ca3291c219565bfb6e45f8eb8c583.js +0 -1
  365. package/dist/49c58e614c06572ffbabe974a7fda21c.js +0 -1
  366. package/dist/4afde8c89469302b064e693fa77035f6.js +0 -1
  367. package/dist/4f5c3cb0b76fa2978539d8b64a71537d.js +0 -1
  368. package/dist/4f89e8c1a691faf5f1bfe3987ddf108a.js +0 -1
  369. package/dist/50bd9a652785963a5d7d24bda4dee4ca.js +0 -1
  370. package/dist/52c9726f9e52ed3a57c0634718366029.js +0 -1
  371. package/dist/52ee9d28ed4c3389951a46084343a993.js +0 -1
  372. package/dist/54a7b0b5248e428a4a703329f36e286f.js +0 -1
  373. package/dist/574.js +0 -1
  374. package/dist/583d06a5b9251de455ebd89550449842.js +0 -1
  375. package/dist/5aedf04cf240c6c43540081c3bf9573e.js +0 -1
  376. package/dist/5d833ca045603c1105d2db3b9d931274.js +0 -1
  377. package/dist/62.js +0 -1
  378. package/dist/62.js.map +0 -1
  379. package/dist/626.js +0 -1
  380. package/dist/626.js.map +0 -1
  381. package/dist/6365d65802807679247605c8df7ea9ec.js +0 -1
  382. package/dist/645.js +0 -2
  383. package/dist/645.js.LICENSE.txt +0 -30
  384. package/dist/645.js.map +0 -1
  385. package/dist/645b74a0625033669c9d0440b32e3fd0.js +0 -1
  386. package/dist/66713913fc89a3bcad5d7804c03dcb43.js +0 -1
  387. package/dist/677b2b5d0c9507508a831e4b67d61c6e.js +0 -1
  388. package/dist/686915e134683f72ea5f3c227a6f13be.js +0 -1
  389. package/dist/69ec362e03850ff2d49044acbb19b385.js +0 -1
  390. package/dist/6aa13e92b5cf7d479e73acdc7c05abf3.js +0 -1
  391. package/dist/6b07bdedc12700f257d08813b3c0887f.js +0 -1
  392. package/dist/6bbbe63c75c85941f855ab27fb5f36db.js +0 -1
  393. package/dist/6f77d1c97d1c6937d21c4a1034be62b6.js +0 -1
  394. package/dist/70e2f052e416e2611ded0f57ed53f18a.js +0 -1
  395. package/dist/727e2cbdf695b3abfe88917062d16a5f.js +0 -1
  396. package/dist/7620537538da40e17ccbf70a43f4fd0c.js +0 -1
  397. package/dist/77c629df0ebf40b066d0ffeb34b7711b.js +0 -1
  398. package/dist/788.js +0 -1
  399. package/dist/7cc98960277ab04470e3ff9ed5fc6028.js +0 -1
  400. package/dist/800.js +0 -2
  401. package/dist/800.js.map +0 -1
  402. package/dist/8211ff24c6eb59feeb74cf3ae60e4e5d.js +0 -1
  403. package/dist/833.js +0 -1
  404. package/dist/83e2ed887ee6426c8e0aa4d976b76720.js +0 -1
  405. package/dist/844.js +0 -1
  406. package/dist/844.js.map +0 -1
  407. package/dist/8cfffdd2f772eec8342fdfc4d511e0cc.js +0 -1
  408. package/dist/8efee5c45bbfdd52eec7a8a0eec72ec3.js +0 -1
  409. package/dist/919edf70e532c72ecd4b9579c1879bc2.js +0 -1
  410. package/dist/9296988a753e8e251ff627aef2c929e8.js +0 -1
  411. package/dist/935.js +0 -2
  412. package/dist/935.js.map +0 -1
  413. package/dist/938b32f75aefeab50ba608132c5862c8.js +0 -1
  414. package/dist/93be766c753e075a3f7d5b89b3ee04ce.js +0 -1
  415. package/dist/945ea249c1f1d3595cc55a51046d9032.js +0 -1
  416. package/dist/96efd2775defcf3611fe9a07ed29065f.js +0 -1
  417. package/dist/979239ac9b74c2c57dcc2b66e7e3b353.js +0 -1
  418. package/dist/996d24547b492c3140f64d51f5229f3c.js +0 -1
  419. package/dist/99e45b7d238576aa6d4c830bd8715356.js +0 -1
  420. package/dist/9b3441051d8551264ac58b36253b9b10.js +0 -1
  421. package/dist/a13fa501edcc6c9712061e0ca5fd400e.js +0 -1
  422. package/dist/a58f90f6c8db84024327b4d9059c991e.js +0 -1
  423. package/dist/a9ed61bdf8ae777e7a6f68bf7175e839.js +0 -1
  424. package/dist/aa6c0d1a7dfd344894b8eba8db42ad04.js +0 -1
  425. package/dist/ab3d46f8dd12e29e10eb35c5e406bbcb.js +0 -1
  426. package/dist/b35c9a9d72f02feae440dd385a020ef6.js +0 -1
  427. package/dist/b49ae09a10a2a2d6dfc7ba9cb37cbbb3.js +0 -1
  428. package/dist/b76ff0f203825dcdefb649d98de32f5b.js +0 -1
  429. package/dist/bba393726b199f66d8b4314385c1f2f0.js +0 -1
  430. package/dist/c2fb2aaf17fa23ca4b9bf7f1c1441caa.js +0 -1
  431. package/dist/c4ee489cb1eb39f3d31e99fcc78e886e.js +0 -1
  432. package/dist/c92169023ff93e3c3e03bc2f4c73615a.js +0 -1
  433. package/dist/cbf021d377207ecc00145a138fd03f0f.js +0 -1
  434. package/dist/cd1309ef590ed94ac5735c4c667e6549.js +0 -1
  435. package/dist/cd88309c904c403022c51d1fa3ee4bf3.js +0 -1
  436. package/dist/d1f0ad8ca2a550bc292669b06a614f79.js +0 -1
  437. package/dist/d3a6de3a3eae748464b9d49001eba546.js +0 -1
  438. package/dist/d723acafb30584c955c9aeaedb3e03f0.js +0 -1
  439. package/dist/d72f9e2d15bf7a51a613e2f116b1a2df.js +0 -1
  440. package/dist/d8f7ecdd496f3caf14f5afbedfff1937.js +0 -1
  441. package/dist/daad7cddd8afb1713b51cf5882d2da34.js +0 -1
  442. package/dist/e0564e4f4ec3f3165b6890be52cf9a5e.js +0 -1
  443. package/dist/e06608fe5b8e7e9d30879d4d91113a08.js +0 -1
  444. package/dist/e0d8e58814f40cb5f60e1fe5fb37e9fa.js +0 -1
  445. package/dist/e13fc7d468ab9b5797f2a44412ca2f00.js +0 -1
  446. package/dist/e430b621361ebe3a4071e3cca1d0dbe8.js +0 -1
  447. package/dist/e45a0dfd102b67ad7cdefe10500bf0d7.js +0 -1
  448. package/dist/e542ddbb78bb244c0465f22e0e11ab61.js +0 -1
  449. package/dist/efbb5510bc35424b261de45355e3a626.js +0 -1
  450. package/dist/f2abbd0caa62a607a87be62111595f0c.js +0 -1
  451. package/dist/f3a21a0f236d2b7d45be954c32efaa14.js +0 -1
  452. package/dist/f5dfa3d3658fddbce84d7c3ecd5504f0.js +0 -1
  453. package/dist/f8ee12a5cfa6ff1d3550ef30a238d89a.js +0 -1
  454. package/dist/f93c341314b490174cf67fed1ca62ee0.js +0 -1
  455. package/dist/faa809ba713143a2e8b4760a45e1fe89.js +0 -1
  456. package/dist/ffb6d262efb0718a20d60b5fecb76ea6.js +0 -1
  457. package/src/components/interactive-builder/edit-question-modal.component.tsx +0 -543
  458. /package/dist/{55a1830305eaf8f525aad4c04c138483.js → 0e67325b9a04863301e36c0c37947069.js} +0 -0
  459. /package/dist/{2611b2dc99534665bf6734ddfa6b8de4.js → 1383530217ac0068c844902d24e18e08.js} +0 -0
  460. /package/dist/{ff9176b28afa428194276840d85679ef.js → 16c2e1b50af4ba05edaa03c8c9e9d18c.js} +0 -0
  461. /package/dist/{5f8e9f09349e37425d6ef96bf1bf7a2d.js → 1cc6fc3772824e2f87f10a9c3fad2dae.js} +0 -0
  462. /package/dist/{392e4c8d74cb1c9267a14eb0270ba2d6.js → 210aec2722e6416a0349a987260e14a3.js} +0 -0
  463. /package/dist/{71f39fefd16025c224fe31cdb352ae01.js → 228ca80abf1ae030cbfe7faaec61913f.js} +0 -0
  464. /package/dist/{0c1e757d25446799bcab87a8607dee60.js → 24f97ddd76026815674affbc50ad6169.js} +0 -0
  465. /package/dist/{800.js.LICENSE.txt → 29.js.LICENSE.txt} +0 -0
  466. /package/dist/{250c230f9465d8affc02c67d41d7e067.js → 31c610efb1d25afc90853b52ba4cb089.js} +0 -0
  467. /package/dist/{c3174a46927bbec0fbd8946f97bd7170.js → 44599d9b6202ebebfcdd073edf3562e3.js} +0 -0
  468. /package/dist/{b8cb123e6c753c6031ab9c6a4acbbcd6.js → 472ba8f81bf8cac86027cb1be4e3b9cd.js} +0 -0
  469. /package/dist/{a72ec8ab4a5bdfd6695dfa5fa86ef30d.js → 5348f3cfbe5a63954e7d984f197bbddb.js} +0 -0
  470. /package/dist/{294.js.LICENSE.txt → 540.js.LICENSE.txt} +0 -0
  471. /package/dist/{cd29b6e52c3ebcbaee8c7bb709fd1d8e.js → 5f5a93ab1249b7cbdb13d9466febd3a0.js} +0 -0
  472. /package/dist/{951a8cbe4efaab1b1451ffd8904fc9dd.js → 60190285b6c2243e14184b9e57d48dbb.js} +0 -0
  473. /package/dist/{aefed4953ced506e20b934606ac083f3.js → 60ede8d7ffdf4c05f2ce51b6d8d2be68.js} +0 -0
  474. /package/dist/{8de1f09307a99c5a8bb0a53d32fbaaa9.js → 65e7cf62ca9df32c18b630f31025a401.js} +0 -0
  475. /package/dist/{02b97d3c4a7e895228beec69fb63e420.js → 817edb0c6f9d66f9c0027762edb1d797.js} +0 -0
  476. /package/dist/{b943c561d9e064f79f938275bad6e597.js → 84270e22d4439d15b0d8f392d1338d8e.js} +0 -0
  477. /package/dist/{41469950e6a0ef73a57342235b44c55a.js → 90812d89181b698975cbb081adcbbcb0.js} +0 -0
  478. /package/dist/{935.js.LICENSE.txt → 961.js.LICENSE.txt} +0 -0
  479. /package/dist/{f59696ab0f6f26c339d7e6bb1d73a5c3.js → 96b8d8b5efd11741639659c63a485c27.js} +0 -0
  480. /package/dist/{410ecb602443afbd5908a14f39b40eb2.js → 981bd23edacd811f9e4a583d89b544ee.js} +0 -0
  481. /package/dist/{ac12519ccf3cc323b28f70e35f922e3f.js → afba1f28f2baa29eae717d6cb03f5464.js} +0 -0
  482. /package/dist/{73cdbb2580cd6a02d989c86e56bb83f3.js → c8230f96396f0378d032dce2be3dce66.js} +0 -0
  483. /package/dist/{6231f0100394f756aac18e8d972d8f2b.js → cb0d121a88477f943960f5ad60602c22.js} +0 -0
  484. /package/dist/{19017707f34649cae551ee9d5ea1edbf.js → cb9910e014b468ada91393696fcad206.js} +0 -0
  485. /package/dist/{da3a9dc1f8b62f2221f1040e8d207d0e.js → e37ac12436bcd0536ec98ae8470a1228.js} +0 -0
  486. /package/dist/{2adc6bc4a8a2bf35636e8fc7fe0df2dd.js → e7f37e0f2b6113039c45a326264c4d36.js} +0 -0
  487. /package/dist/{cfe1a9dd61dd943a574fc6c7157372f7.js → f666b5647087bcfdf6623f8b14d56657.js} +0 -0
@@ -1 +0,0 @@
1
- ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),i=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",c=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",d=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",g=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",u=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",p=function(){var e=this.createKeywordMapper({"support.function":a,"support.constant":s,"support.type":i,"support.constant.color":l,"support.constant.fonts":c},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:d},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+d+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:d},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:g},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:u},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};o.inherits(p,n),t.CssHighlightRules=p})),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=e("../lib/lang"),i=e("./text_highlight_rules").TextHighlightRules,a=e("./css_highlight_rules"),s=function(){var e=n.arrayToMap(a.supportType.split("|")),t=n.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unquote".split("|")),r=n.arrayToMap(a.supportConstant.split("|")),o=n.arrayToMap(a.supportConstantColor.split("|")),i=n.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),s=n.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),l="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:l+"(?:ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:l},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(n){return e.hasOwnProperty(n.toLowerCase())?"support.type":i.hasOwnProperty(n)?"keyword":r.hasOwnProperty(n)?"constant.language":t.hasOwnProperty(n)?"support.function":o.hasOwnProperty(n.toLowerCase())?"support.constant.color":s.hasOwnProperty(n.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};o.inherits(s,i),t.ScssHighlightRules=s})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(e,t,r){"use strict";var o=e("../range").Range,n=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var r=e.getLine(t).match(/^(\s*\})/);if(!r)return 0;var n=r[1].length,i=e.findMatchingBracket({row:t,column:n});if(!i||i.row==t)return 0;var a=this.$getIndent(e.getLine(i.row));e.replace(new o(t,0,t,n-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(n.prototype),t.MatchingBraceOutdent=n})),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],(function(e,t,r){"use strict";var o=e("../../lib/oop"),n=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),i=e("../../token_iterator").TokenIterator,a=function(){this.inherit(n),this.add("colon","insertion",(function(e,t,r,o,n){if(":"===n&&r.selection.isEmpty()){var a=r.getCursorPosition(),s=new i(o,a.row,a.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type){var c=o.doc.getLine(a.row);if(":"===c.substring(a.column,a.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(c.substring(a.column)))return{text:":;",selection:[1,1]}}}})),this.add("colon","deletion",(function(e,t,r,o,n){var a=o.doc.getTextRange(n);if(!n.isMultiLine()&&":"===a){var s=r.getCursorPosition(),l=new i(o,s.row,s.column),c=l.getCurrentToken();if(c&&c.value.match(/\s+/)&&(c=l.stepBackward()),c&&"support.type"===c.type&&";"===o.doc.getLine(n.start.row).substring(n.end.column,n.end.column+1))return n.end.column++,n}})),this.add("semicolon","insertion",(function(e,t,r,o,n){if(";"===n&&r.selection.isEmpty()){var i=r.getCursorPosition();if(";"===o.doc.getLine(i.row).substring(i.column,i.column+1))return{text:"",selection:[1,1]}}})),this.add("!important","insertion",(function(e,t,r,o,n){if("!"===n&&r.selection.isEmpty()){var i=r.getCursorPosition(),a=o.doc.getLine(i.row);if(/^\s*(;|}|$)/.test(a.substring(i.column)))return{text:"!important",selection:[10,10]}}}))};o.inherits(a,n),t.CssBehaviour=a})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,r){"use strict";var o=e("../../lib/oop"),n=e("../../range").Range,i=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(a,i),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(e,t,r){var o=e.getLine(r);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var n=this._getFoldWidgetBase(e,t,r);return!n&&this.startRegionRe.test(o)?"start":n},this.getFoldWidgetRange=function(e,t,r,o){var n,i=e.getLine(r);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,r);if(n=i.match(this.foldingStartMarker)){var a=n.index;if(n[1])return this.openingBracketBlock(e,n[1],r,a);var s=e.getCommentFoldRange(r,a+n[0].length,1);return s&&!s.isMultiLine()&&(o?s=this.getSectionRange(e,r):"all"!=t&&(s=null)),s}return"markbegin"!==t&&(n=i.match(this.foldingStopMarker))?(a=n.index+n[0].length,n[1]?this.closingBracketBlock(e,n[1],r,a):e.getCommentFoldRange(r,a,-1)):void 0},this.getSectionRange=function(e,t){for(var r=e.getLine(t),o=r.search(/\S/),i=t,a=r.length,s=t+=1,l=e.getLength();++t<l;){var c=(r=e.getLine(t)).search(/\S/);if(-1!==c){if(o>c)break;var d=this.getFoldWidgetRange(e,"all",t);if(d){if(d.start.row<=i)break;if(d.isMultiLine())t=d.end.row;else if(o==c)break}s=t}}return new n(i,a,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,r){for(var o=t.search(/\s*$/),i=e.getLength(),a=r,s=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++r<i;){t=e.getLine(r);var c=s.exec(t);if(c&&(c[1]?l--:l++,!l))break}if(r>a)return new n(a,o,r,t.length)}}.call(a.prototype)})),ace.define("ace/mode/css_completions",["require","exports","module"],(function(e,t,r){"use strict";var o={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},n=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var r=t.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));o.hasOwnProperty(r)||(o[r]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,r,o){if(this.completionsDefined||this.defineCompletions(),"ruleset"===e||"ace/mode/scss"==t.$mode.$id){var n=t.getLine(r.row).substr(0,r.column),i=/\([^)]*$/.test(n);return i&&(n=n.substr(n.lastIndexOf("(")+1)),/:[^;]+$/.test(n)?(/([\w\-]+):[^:]*$/.test(n),this.getPropertyValueCompletions(e,t,r,o)):this.getPropertyCompletions(e,t,r,o,i)}return[]},this.getPropertyCompletions=function(e,t,r,n,i){return i=i||!1,Object.keys(o).map((function(e){return{caption:e,snippet:e+": $0"+(i?"":";"),meta:"property",score:1e6}}))},this.getPropertyValueCompletions=function(e,t,r,n){var i=t.getLine(r.row).substr(0,r.column),a=(/([\w\-]+):[^:]*$/.exec(i)||{})[1];if(!a)return[];var s=[];return a in o&&"object"==typeof o[a]&&(s=Object.keys(o[a])),s.map((function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}}))}}).call(n.prototype),t.CssCompletions=n})),ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle","ace/mode/css_completions"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=e("./text").Mode,i=e("./scss_highlight_rules").ScssHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=e("./css_completions").CssCompletions,d=function(){this.HighlightRules=i,this.$outdent=new a,this.$behaviour=new s,this.$completer=new c,this.foldingRules=new l};o.inherits(d,n),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,r){var o=this.$getIndent(t),n=this.getTokenizer().getLineTokens(t,e).tokens;return n.length&&"comment"==n[n.length-1].type||t.match(/^.*\{\s*$/)&&(o+=r),o},this.checkOutdent=function(e,t,r){return this.$outdent.checkOutdent(t,r)},this.autoOutdent=function(e,t,r){this.$outdent.autoOutdent(t,r)},this.getCompletions=function(e,t,r,o){return this.$completer.getCompletions(e,t,r,o)},this.$id="ace/mode/scss"}.call(d.prototype),t.Mode=d})),ace.require(["ace/mode/scss"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));
@@ -1 +0,0 @@
1
- ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},i.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};o.inherits(i,n),i.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},i.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},i.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=i})),ace.define("ace/mode/rust_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/doc_comment_highlight_rules"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=e("./text_highlight_rules").TextHighlightRules,i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=/\\(?:[nrt0'"\\]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source,u=/[a-zA-Z_\xa1-\uffff][a-zA-Z0-9_\xa1-\uffff]*/.source,a=function(){var e=this.createKeywordMapper({"keyword.source.rust":"abstract|alignof|as|async|await|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield|try","storage.type.source.rust":"Self|isize|usize|char|bool|u8|u16|u32|u64|u128|f16|f32|f64|i8|i16|i32|i64|i128|str|option|either|c_float|c_double|c_void|FILE|fpos_t|DIR|dirent|c_char|c_schar|c_uchar|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|size_t|ptrdiff_t|clock_t|time_t|c_longlong|c_ulonglong|intptr_t|uintptr_t|off_t|dev_t|ino_t|pid_t|mode_t|ssize_t","constant.language.source.rust":"true|false|Some|None|Ok|Err|FALSE|TRUE","support.constant.source.rust":"EXIT_FAILURE|EXIT_SUCCESS|RAND_MAX|EOF|SEEK_SET|SEEK_CUR|SEEK_END|_IOFBF|_IONBF|_IOLBF|BUFSIZ|FOPEN_MAX|FILENAME_MAX|L_tmpnam|TMP_MAX|O_RDONLY|O_WRONLY|O_RDWR|O_APPEND|O_CREAT|O_EXCL|O_TRUNC|S_IFIFO|S_IFCHR|S_IFBLK|S_IFDIR|S_IFREG|S_IFMT|S_IEXEC|S_IWRITE|S_IREAD|S_IRWXU|S_IXUSR|S_IWUSR|S_IRUSR|F_OK|R_OK|W_OK|X_OK|STDIN_FILENO|STDOUT_FILENO|STDERR_FILENO","constant.language":"macro_rules|mac_variant"},"identifier");this.$rules={start:[{token:"variable.other.source.rust",regex:"'"+u+"(?![\\'])"},{token:"string.quoted.single.source.rust",regex:"'(?:[^'\\\\]|"+s+")'"},{token:"identifier",regex:"r#"+u+"\\b"},{stateName:"bracketedComment",onMatch:function(e,t,r){return r.unshift(this.next,e.length-1,t),"string.quoted.raw.source.rust"},regex:/r#*"/,next:[{onMatch:function(e,t,r){var o="string.quoted.raw.source.rust";return e.length>=r[1]?(e.length>r[1]&&(o="invalid"),r.shift(),r.shift(),this.next=r.shift()):this.next="",o},regex:/"#*/,next:"start"},{defaultToken:"string.quoted.raw.source.rust"}]},{token:"string.quoted.double.source.rust",regex:'"',push:[{token:"string.quoted.double.source.rust",regex:'"',next:"pop"},{token:"constant.character.escape.source.rust",regex:s},{defaultToken:"string.quoted.double.source.rust"}]},{token:["keyword.source.rust","text","entity.name.function.source.rust","punctuation"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")(<)",push:"generics"},{token:["keyword.source.rust","text","entity.name.function.source.rust"],regex:"\\b(fn)(\\s+)((?:r#)?"+u+")"},{token:["support.constant","punctuation"],regex:"("+u+"::)(<)",push:"generics"},{token:"support.constant",regex:u+"::"},{token:"variable.language.source.rust",regex:"\\bself\\b"},i.getStartRule("doc-start"),{token:"comment.line.doc.source.rust",regex:"///.*$"},{token:"comment.line.doc.source.rust",regex:"//!.*$"},{token:"comment.line.double-dash.source.rust",regex:"//.*$"},{token:"comment.start.block.source.rust",regex:"/\\*",stateName:"comment",push:[{token:"comment.start.block.source.rust",regex:"/\\*",push:"comment"},{token:"comment.end.block.source.rust",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.source.rust"}]},{token:["keyword.source.rust","identifier","punctuaction"],regex:"(?:(impl)|("+u+"))(<)",stateName:"generics",push:[{token:"punctuaction",regex:"<",push:"generics"},{token:"variable.other.source.rust",regex:"'"+u+"(?![\\'])"},{token:"storage.type.source.rust",regex:"\\b(u8|u16|u32|u64|u128|usize|i8|i16|i32|i64|i128|isize|char|bool)\\b"},{token:"punctuation.operator",regex:"[,:]"},{token:"keyword",regex:"\\b(?:const|dyn)\\b"},{token:"punctuation",regex:">",next:"pop"},{token:"paren.lparen",regex:"[(]"},{token:"paren.rparen",regex:"[)]"},{token:"identifier",regex:"\\b"+u+"\\b"},{token:"keyword.operator",regex:"="}]},{token:e,regex:u},{token:"keyword.operator",regex:/\$|[-=]>|[-+%^=!&|<>]=?|[*/](?![*/])=?/},{token:"punctuation.operator",regex:/[?:,;.]/},{token:"paren.lparen",regex:/[\[({]/},{token:"paren.rparen",regex:/[\])}]/},{token:"meta.preprocessor.source.rust",regex:"\\b\\w\\(\\w\\)*!|#\\[[\\w=\\(\\)_]+\\]\\b"},{token:"constant.numeric.source.rust",regex:/\b(?:0x[a-fA-F0-9_]+|0o[0-7_]+|0b[01_]+|[0-9][0-9_]*(?!\.))(?:[iu](?:size|8|16|32|64|128))?\b/},{token:"constant.numeric.source.rust",regex:/\b(?:[0-9][0-9_]*)(?:\.[0-9][0-9_]*)?(?:[Ee][+-][0-9][0-9_]*)?(?:f32|f64)?\b/}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};a.metaData={fileTypes:["rs","rc"],foldingStartMarker:"^.*\\bfn\\s*(\\w+\\s*)?\\([^\\)]*\\)(\\s*\\{[^\\}]*)?\\s*$",foldingStopMarker:"^\\s*\\}",name:"Rust",scopeName:"source.rust"},o.inherits(a,n),t.RustHighlightRules=a})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,r){"use strict";var o=e("../../lib/oop"),n=e("../../range").Range,i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(s,i),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(e,t,r){var o=e.getLine(r);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var n=this._getFoldWidgetBase(e,t,r);return!n&&this.startRegionRe.test(o)?"start":n},this.getFoldWidgetRange=function(e,t,r,o){var n,i=e.getLine(r);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,r);if(n=i.match(this.foldingStartMarker)){var s=n.index;if(n[1])return this.openingBracketBlock(e,n[1],r,s);var u=e.getCommentFoldRange(r,s+n[0].length,1);return u&&!u.isMultiLine()&&(o?u=this.getSectionRange(e,r):"all"!=t&&(u=null)),u}return"markbegin"!==t&&(n=i.match(this.foldingStopMarker))?(s=n.index+n[0].length,n[1]?this.closingBracketBlock(e,n[1],r,s):e.getCommentFoldRange(r,s,-1)):void 0},this.getSectionRange=function(e,t){for(var r=e.getLine(t),o=r.search(/\S/),i=t,s=r.length,u=t+=1,a=e.getLength();++t<a;){var c=(r=e.getLine(t)).search(/\S/);if(-1!==c){if(o>c)break;var g=this.getFoldWidgetRange(e,"all",t);if(g){if(g.start.row<=i)break;if(g.isMultiLine())t=g.end.row;else if(o==c)break}u=t}}return new n(i,s,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,r){for(var o=t.search(/\s*$/),i=e.getLength(),s=r,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++r<i;){t=e.getLine(r);var c=u.exec(t);if(c&&(c[1]?a--:a++,!a))break}if(r>s)return new n(s,o,r,t.length)}}.call(s.prototype)})),ace.define("ace/mode/rust",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rust_highlight_rules","ace/mode/folding/cstyle"],(function(e,t,r){"use strict";var o=e("../lib/oop"),n=e("./text").Mode,i=e("./rust_highlight_rules").RustHighlightRules,s=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=i,this.foldingRules=new s,this.$behaviour=this.$defaultBehaviour};o.inherits(u,n),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$quotes={'"':'"'},this.$id="ace/mode/rust"}.call(u.prototype),t.Mode=u})),ace.require(["ace/mode/rust"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));
@@ -1 +0,0 @@
1
- ace.define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"],(function(e,t,n){"use strict";var r=e("../range").Range;function o(e,t){for(var n=t.column||e.getOption("printMarginColumn"),o=0!=t.allowMerge,i=Math.min(t.startRow,t.endRow),a=Math.max(t.startRow,t.endRow),s=e.session;i<=a;){var c=s.getLine(i);if(c.length>n){if(h=g(c,n,5)){var l=/^\s*/.exec(c)[0];s.replace(new r(i,h.start,i,h.end),"\n"+l)}a++}else if(o&&/\S/.test(c)&&i!=a){var u=s.getLine(i+1);if(u&&/\S/.test(u)){var h,p=c.replace(/\s+$/,""),d=u.replace(/^\s+/,""),f=p+" "+d;if((h=g(f,n,5))&&h.start>p.length||f.length<n){var m=new r(i,p.length,i+1,u.length-d.length);s.replace(m," "),i--,a--}else p.length<c.length&&s.remove(new r(i,p.length,i,c.length))}}i++}function g(e,t,n){if(!(e.length<t)){var r=e.slice(0,t),o=e.slice(t),i=/^(?:(\s+)|(\S+)(\s+))/.exec(o),a=/(?:(\s+)|(\s+)(\S+))$/.exec(r),s=0,c=0;return a&&!a[2]&&(s=t-a[1].length,c=t),i&&!i[2]&&(s||(s=t),c=t+i[1].length),s?{start:s,end:c}:a&&a[2]&&a.index>n?{start:a.index,end:a.index+a[2].length}:i&&i[2]?{start:s=t+i[2].length,end:s+i[3].length}:void 0}}}function i(e){if("insertstring"==e.command.name&&/\S/.test(e.args)){var t=e.editor,n=t.selection.cursor;if(n.column<=t.renderer.$printMarginColumn)return;var r=t.session.$undoManager.$lastDelta;o(t,{startRow:n.row,endRow:n.row,allowMerge:!1}),r!=t.session.$undoManager.$lastDelta&&t.session.markUndoGroup()}}var a=e("../editor").Editor;e("../config").defineOptions(a.prototype,"editor",{hardWrap:{set:function(e){e?this.commands.on("afterExec",i):this.commands.off("afterExec",i)},value:!1}}),t.hardWrap=o})),ace.define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/mode/text","ace/ext/hardwrap","ace/multi_select"],(function(e,t,n){"use strict";var r=e("../range").Range,o=e("../lib/event_emitter").EventEmitter,i=e("../lib/dom"),a=e("../lib/oop"),s=e("../lib/keys"),c=e("../lib/event"),l=e("../search").Search,u=e("../lib/useragent"),h=e("../search_highlight").SearchHighlight,p=e("../commands/multi_select_commands"),d=e("../mode/text").Mode.prototype.tokenRe,f=e("../ext/hardwrap").hardWrap;e("../multi_select");var m=function(e){this.ace=e,this.state={},this.marks={},this.options={},this.$uid=0,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this),this.onBeforeEndOperation=this.onBeforeEndOperation.bind(this),this.ace.on("change",this.onChange),this.ace.on("changeSelection",this.onSelectionChange),this.ace.on("beforeEndOperation",this.onBeforeEndOperation)};function g(e){return{row:e.line,column:e.ch}}function v(e){return new y(e.row,e.column)}m.Pos=function(e,t){if(!(this instanceof y))return new y(e,t);this.line=e,this.ch=t},m.defineOption=function(e,t,n){},m.commands={redo:function(e){e.ace.redo()},undo:function(e){e.ace.undo()},newlineAndIndent:function(e){e.ace.insert("\n")},goLineLeft:function(e){e.ace.selection.moveCursorLineStart()},goLineRight:function(e){e.ace.selection.moveCursorLineEnd()}},m.keyMap={},m.addClass=m.rmClass=function(){},m.e_stop=m.e_preventDefault=c.stopEvent,m.keyName=function(e){var t=s[e.keyCode]||e.key||"";return 1==t.length&&(t=t.toUpperCase()),c.getModifierString(e).replace(/(^|-)\w/g,(function(e){return e.toUpperCase()}))+t},m.keyMap.default=function(e){return function(t){var n=t.ace.commands.commandKeyBinding[e.toLowerCase()];return n&&!1!==t.ace.execCommand(n)}},m.lookupKey=function e(t,n,r){n||(n="default"),"string"==typeof n&&(n=m.keyMap[n]);var o="function"==typeof n?n(t):n[t];if(!1===o)return"nothing";if("..."===o)return"multi";if(null!=o&&r(o))return"handled";if(n.fallthrough){if(!Array.isArray(n.fallthrough))return e(t,n.fallthrough,r);for(var i=0;i<n.fallthrough.length;i++){var a=e(t,n.fallthrough[i],r);if(a)return a}}},m.findMatchingTag=function(e,t){return e.findMatchingTag(t)},m.findEnclosingTag=function(e,t){},m.signal=function(e,t,n){return e._signal(t,n)},m.on=c.addListener,m.off=c.removeListener,m.isWordChar=function(e){return e<""?/^\w$/.test(e):(d.lastIndex=0,d.test(e))},function(){a.implement(m.prototype,o),this.destroy=function(){this.ace.off("change",this.onChange),this.ace.off("changeSelection",this.onSelectionChange),this.ace.off("beforeEndOperation",this.onBeforeEndOperation),this.removeOverlay()},this.virtualSelectionMode=function(){return this.ace.inVirtualSelectionMode&&this.ace.selection.index},this.onChange=function(e){var t={text:"i"==e.action[0]?e.lines:[]},n=this.curOp=this.curOp||{};n.changeHandlers||(n.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice()),n.lastChange?n.lastChange.next=n.lastChange=t:n.lastChange=n.change=t,this.$updateMarkers(e)},this.onSelectionChange=function(){var e=this.curOp=this.curOp||{};e.cursorActivityHandlers||(e.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(p.keyboardHandler)},this.operation=function(e,t){if(!t&&this.curOp||t&&this.curOp&&this.curOp.force)return e();if(!t&&this.ace.curOp||this.curOp&&this.onBeforeEndOperation(),!this.ace.curOp){var n=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var r=this.curOp=this.curOp||{};this.curOp.force=t;var o=e();return this.ace.curOp&&"vim"==this.ace.curOp.command.name&&(this.state.dialog&&(this.ace.curOp.command.scrollIntoView=!1),this.ace.endOperation(),r.cursorActivity||r.lastChange||!n||(this.ace.prevOp=n)),!t&&this.ace.curOp||this.curOp&&this.onBeforeEndOperation(),o},this.onBeforeEndOperation=function(){var e=this.curOp;e&&(e.change&&this.signal("change",e.change,e),e&&e.cursorActivity&&this.signal("cursorActivity",null,e),this.curOp=null)},this.signal=function(e,t,n){var r=n?n[e+"Handlers"]:(this._eventRegistry||{})[e];if(r){r=r.slice();for(var o=0;o<r.length;o++)r[o](this,t)}},this.firstLine=function(){return 0},this.lastLine=function(){return this.ace.session.getLength()-1},this.lineCount=function(){return this.ace.session.getLength()},this.setCursor=function(e,t){"object"==typeof e&&(t=e.ch,e=e.line);var n=!this.curOp&&!this.ace.inVirtualSelectionMode;this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:e,column:t}),this.ace.selection.moveTo(e,t),n&&(this.ace.renderer.scrollCursorIntoView(),this.ace.endOperation())},this.getCursor=function(e){var t=this.ace.selection;return v("anchor"==e?t.isEmpty()?t.lead:t.anchor:"head"!=e&&e?t.getRange()[e]:t.lead)},this.listSelections=function(e){var t=this.ace.multiSelect.rangeList.ranges;return!t.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:t.map((function(e){return{anchor:this.clipPos(v(e.cursor==e.end?e.start:e.end)),head:this.clipPos(v(e.cursor))}}),this)},this.setSelections=function(e,t){var n=this.ace.multiSelect,o=e.map((function(e){var t=g(e.anchor),n=g(e.head),o=r.comparePoints(t,n)<0?new r.fromPoints(t,n):new r.fromPoints(n,t);return o.cursor=r.comparePoints(o.start,n)?o.end:o.start,o}));if(this.ace.inVirtualSelectionMode)this.ace.selection.fromOrientedRange(o[0]);else{t?o[t]&&o.push(o.splice(t,1)[0]):o=o.reverse(),n.toSingleRange(o[0].clone());for(var i=this.ace.session,a=0;a<o.length;a++){var s=i.$clipRangeToDocument(o[a]);n.addRange(s)}}},this.setSelection=function(e,t,n){var r=this.ace.selection;r.moveTo(e.line,e.ch),r.selectTo(t.line,t.ch),n&&"*mouse"==n.origin&&this.onBeforeEndOperation()},this.somethingSelected=function(e){return!this.ace.selection.isEmpty()},this.clipPos=function(e){return v(this.ace.session.$clipPositionToDocument(e.line,e.ch))},this.foldCode=function(e){this.ace.session.$toggleFoldWidget(e.line,{})},this.markText=function(e){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(e){var t="insert"==e.action,n=e.start,o=e.end,i=(o.row-n.row)*(t?1:-1),a=(o.column-n.column)*(t?1:-1);for(var s in t&&(o=n),this.marks){var c=this.marks[s],l=r.comparePoints(c,n);if(!(l<0)){if(0===l&&t){if(1!=c.bias){c.bias=-1;continue}l=1}var u=t?l:r.comparePoints(c,o);u>0?(c.row+=i,c.column+=c.row==o.row?a:0):!t&&u<=0&&(c.row=n.row,c.column=n.column,0===u&&(c.bias=1))}}};var e=function(e,t,n,r){this.cm=e,this.id=t,this.row=n,this.column=r,e.marks[this.id]=this};e.prototype.clear=function(){delete this.cm.marks[this.id]},e.prototype.find=function(){return v(this)},this.setBookmark=function(t,n){var r=new e(this,this.$uid++,t.line,t.ch);return n&&n.insertLeft||(r.$insertRight=!0),this.marks[r.id]=r,r},this.moveH=function(e,t){if("char"==t){var n=this.ace.selection;n.clearSelection(),n.moveCursorBy(0,e)}},this.findPosV=function(e,t,n,r){if("page"==n){var o=this.ace.renderer.layerConfig;t*=Math.floor(o.height/o.lineHeight),n="line"}if("line"==n){var i=this.ace.session.documentToScreenPosition(e.line,e.ch);return null!=r&&(i.column=r),i.row+=t,i.row=Math.min(Math.max(0,i.row),this.ace.session.getScreenLength()-1),v(this.ace.session.screenToDocumentPosition(i.row,i.column))}},this.charCoords=function(e,t){if("div"==t||!t)return{left:(r=this.ace.session.documentToScreenPosition(e.line,e.ch)).column,top:r.row};if("local"==t){var n=this.ace.renderer,r=this.ace.session.documentToScreenPosition(e.line,e.ch),o=n.layerConfig.lineHeight,i=n.layerConfig.characterWidth,a=o*r.row;return{left:r.column*i,top:a,bottom:a+o}}},this.coordsChar=function(e,t){var n=this.ace.renderer;if("local"==t){var r=Math.max(0,Math.floor(e.top/n.lineHeight)),o=Math.max(0,Math.floor(e.left/n.characterWidth));return v(n.session.screenToDocumentPosition(r,o))}if("div"==t)throw"not implemented"},this.getSearchCursor=function(e,t,n){var r=!1,o=!1;e instanceof RegExp&&!e.global&&(r=!e.ignoreCase,e=e.source,o=!0),"\\n"==e&&(e="\n",o=!1);var i=new l;null==t.ch&&(t.ch=Number.MAX_VALUE);var a={row:t.line,column:t.ch},s=this,c=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){i.setOptions({needle:e,caseSensitive:r,wrap:!1,backwards:t,regExp:o,start:c||a});var n=i.find(s.ace.session);return(c=n)&&[!c.isEmpty()]},from:function(){return c&&v(c.start)},to:function(){return c&&v(c.end)},replace:function(e){c&&(c.end=s.ace.session.doc.replace(c,e))}}},this.scrollTo=function(e,t){var n=this.ace.renderer,r=n.layerConfig,o=r.maxHeight;o-=(n.$size.scrollerHeight-n.lineHeight)*n.$scrollPastEnd,null!=t&&this.ace.session.setScrollTop(Math.max(0,Math.min(t,o))),null!=e&&this.ace.session.setScrollLeft(Math.max(0,Math.min(e,r.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(e,t){if(e){var n=this.ace.renderer,r={top:0,bottom:t};n.scrollCursorIntoView(g(e),2*n.lineHeight/n.$size.scrollerHeight,r)}},this.getLine=function(e){return this.ace.session.getLine(e)},this.getRange=function(e,t){return this.ace.session.getTextRange(new r(e.line,e.ch,t.line,t.ch))},this.replaceRange=function(e,t,n){n||(n=t);var o=new r(t.line,t.ch,n.line,n.ch);return this.ace.session.$clipRangeToDocument(o),this.ace.session.replace(o,e)},this.replaceSelection=this.replaceSelections=function(e){var t=this.ace.selection;if(this.ace.inVirtualSelectionMode)this.ace.session.replace(t.getRange(),e[0]||"");else{t.inVirtualSelectionMode=!0;var n=t.rangeList.ranges;n.length||(n=[this.ace.multiSelect.getRange()]);for(var r=n.length;r--;)this.ace.session.replace(n[r],e[r]||"");t.inVirtualSelectionMode=!1}},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map((function(e){return this.getRange(e.anchor,e.head)}),this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.container};var t={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(e,n){switch(this.state[e]=n,e){case"indentWithTabs":e=t[e],n=!n;break;case"keyMap":return void(this.state.$keyMap=n);default:e=t[e]}e&&this.ace.setOption(e,n)},this.getOption=function(e){var n,r=t[e];switch(r&&(n=this.ace.getOption(r)),e){case"indentWithTabs":return e=t[e],!n;case"keyMap":return this.state.$keyMap||"vim"}return r?n:this.state[e]},this.toggleOverwrite=function(e){return this.state.overwrite=e,this.ace.setOverwrite(e)},this.addOverlay=function(e){if(!this.$searchHighlight||!this.$searchHighlight.session){var t=new h(null,"ace_highlight-marker","text"),n=this.ace.session.addDynamicMarker(t);t.id=n.id,t.session=this.ace.session,t.destroy=function(e){t.session.off("change",t.updateOnChange),t.session.off("changeEditor",t.destroy),t.session.removeMarker(t.id),t.session=null},t.updateOnChange=function(e){var n=e.start.row;n==e.end.row?t.cache[n]=void 0:t.cache.splice(n,t.cache.length)},t.session.on("changeEditor",t.destroy),t.session.on("change",t.updateOnChange)}var r=new RegExp(e.query.source,"gmi");this.$searchHighlight=e.highlight=t,this.$searchHighlight.setRegexp(r),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(e){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var e=this.ace.renderer,t=e.layerConfig;return{left:e.scrollLeft,top:e.scrollTop,height:t.maxHeight,width:t.width,clientHeight:t.height,clientWidth:t.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(e){return this.ace.setValue(e,-1)},this.getTokenTypeAt=function(e){var t=this.ace.session.getTokenAt(e.line,e.ch);return t&&/comment|string/.test(t.type)?"string":""},this.findMatchingBracket=function(e){var t=this.ace.session.findMatchingBracket(g(e));return{to:t&&v(t)}},this.findMatchingTag=function(e){var t=this.ace.session.getMatchingTags(g(e));if(t)return{open:{from:v(t.openTag.start),to:v(t.openTag.end)},close:{from:v(t.closeTag.start),to:v(t.closeTag.end)}}},this.indentLine=function(e,t){!0===t?this.ace.session.indentRows(e,e,"\t"):!1===t&&this.ace.session.outdentRows(new r(e,0,e,0))},this.indexFromPos=function(e){return this.ace.session.doc.positionToIndex(g(e))},this.posFromIndex=function(e){return v(this.ace.session.doc.indexToPosition(e))},this.focus=function(e){return this.ace.textInput.focus()},this.blur=function(e){return this.ace.blur()},this.defaultTextHeight=function(e){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(e,t,n,r){var o=r.bracketRegex.source,i=/paren|text|operator|tag/;if(1==t)var a=this.ace.session.$findClosingBracket(o.slice(1,2),g(e),i);else a=this.ace.session.$findOpeningBracket(o.slice(-2,-1),{row:e.line,column:e.ch+1},i);return a&&{pos:v(a)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}},this.execCommand=function(e){return m.commands.hasOwnProperty(e)?m.commands[e](this):"indentAuto"==e?this.ace.execCommand("autoindent"):void console.log(e+" is not implemented")},this.getLineNumber=function(e){return e.row},this.getLineHandle=function(e){return{text:this.ace.session.getLine(e),row:e}}}.call(m.prototype),(m.StringStream=function(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0}).prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if("string"==typeof e)var n=t==e;else n=t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},eatWhile:function(e){for(var t=this.pos;this.eat(e););return this.pos>t},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(e,t,n){if("string"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var o=function(e){return n?e.toLowerCase():e};if(o(this.string.substr(this.pos,e.length))==o(e))return!1!==t&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}}},m.defineExtension=function(e,t){m.prototype[e]=t},i.importCssString(".normal-mode .ace_cursor{\n border: none;\n background-color: rgba(255,0,0,0.5);\n}\n.normal-mode .ace_hidden-cursors .ace_cursor{\n background-color: transparent;\n border: 1px solid red;\n opacity: 0.7\n}\n.ace_dialog {\n position: absolute;\n left: 0; right: 0;\n background: inherit;\n z-index: 15;\n padding: .1em .8em;\n overflow: hidden;\n color: inherit;\n}\n.ace_dialog-top {\n border-bottom: 1px solid #444;\n top: 0;\n}\n.ace_dialog-bottom {\n border-top: 1px solid #444;\n bottom: 0;\n}\n.ace_dialog input {\n border: none;\n outline: none;\n background: transparent;\n width: 20em;\n color: inherit;\n font-family: monospace;\n}","vimMode",!1),function(){function e(e,t,n){var r;return(r=e.ace.container.appendChild(document.createElement("div"))).className=n?"ace_dialog ace_dialog-bottom":"ace_dialog ace_dialog-top","string"==typeof t?r.innerHTML=t:r.appendChild(t),r}function t(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}m.defineExtension("openDialog",(function(n,r,o){if(!this.virtualSelectionMode()){o||(o={}),t(this,null);var i=e(this,n,o.bottom),a=!1,s=this;this.state.dialog=i;var c,l=i.getElementsByTagName("input")[0];return l?(o.value&&(l.value=o.value,!1!==o.selectValueOnOpen&&l.select()),o.onInput&&m.on(l,"input",(function(e){o.onInput(e,l.value,u)})),o.onKeyUp&&m.on(l,"keyup",(function(e){o.onKeyUp(e,l.value,u)})),m.on(l,"keydown",(function(e){o&&o.onKeyDown&&o.onKeyDown(e,l.value,u)||(13==e.keyCode&&r(l.value),(27==e.keyCode||!1!==o.closeOnEnter&&13==e.keyCode)&&(m.e_stop(e),u()))})),!1!==o.closeOnBlur&&m.on(l,"blur",u),l.focus()):(c=i.getElementsByTagName("button")[0])&&(m.on(c,"click",(function(){u(),s.focus()})),!1!==o.closeOnBlur&&m.on(c,"blur",u),c.focus()),u}function u(e){if("string"==typeof e)l.value=e;else{if(a)return;if(e&&"blur"==e.type&&document.activeElement===l)return;s.state.dialog==i&&(s.state.dialog=null,s.focus()),a=!0,i.remove(),o.onClose&&o.onClose(i);var t=s;t.state.vim&&(t.state.vim.status=null,t.ace._signal("changeStatus"),t.ace.renderer.$loop.schedule(t.ace.renderer.CHANGE_CURSOR))}}})),m.defineExtension("openNotification",(function(n,r){if(!this.virtualSelectionMode()){t(this,c);var o,i=e(this,n,r&&r.bottom),a=!1,s=r&&void 0!==r.duration?r.duration:5e3;return m.on(i,"click",(function(e){m.e_preventDefault(e),c()})),s&&(o=setTimeout(c,s)),c}function c(){a||(a=!0,clearTimeout(o),i.remove())}}))}();var y=m.Pos;function C(e,t){var n=e.state.vim;if(!n||n.insertMode)return t.head;var r=n.sel.head;return r?n.visualBlock&&t.head.line!=r.line?void 0:t.from()!=t.anchor||t.empty()||t.head.line!=r.line||t.head.ch==r.ch?t.head:new y(t.head.line,t.head.ch-1):t.head}function k(e,t,n){if(t.line===n.line&&t.ch>=n.ch-1){var r=e.getLine(t.line).charCodeAt(t.ch);55296<=r&&r<=55551&&(n.ch+=1)}return{start:t,end:n}}var w=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"<Del>",type:"keyToKey",toKeys:"x",context:"normal"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<character>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<character>",type:"action",action:"replayMacro"},{keys:"q<character>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<character>",type:"action",action:"setMark"},{keys:'"<character>',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<character>",type:"motion",motion:"textObjectManipulation"},{keys:"i<character>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],x=w.length,M=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"global",shortName:"g"}];function S(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),m.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",Ct),re(e),m.on(e.getInputField(),"paste",R(e))}function A(e){e.setOption("disableInput",!1),e.off("cursorActivity",Ct),m.off(e.getInputField(),"paste",R(e)),e.state.vim=null,it&&clearTimeout(it)}function b(e,t){this==m.keyMap.vim&&(e.options.$customCursor=null,m.rmClass(e.getWrapperElement(),"cm-fat-cursor")),t&&t.attach==L||A(e)}function L(e,t){this==m.keyMap.vim&&(e.curOp&&(e.curOp.selectionChanged=!0),e.options.$customCursor=C,m.addClass(e.getWrapperElement(),"cm-fat-cursor")),t&&t.attach==L||S(e)}function O(e,t){if(t){if(this[e])return this[e];var n=function(e){if("'"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),n=t[t.length-1];if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&"Shift"==t[0]&&1==n.length)return!1;for(var r=!1,o=0;o<t.length;o++){var i=t[o];i in T?t[o]=T[i]:r=!0,i in E&&(t[o]=E[i])}return!!r&&(W(n)&&(t[t.length-1]=n.toLowerCase()),"<"+t.join("-")+">")}(e);if(!n)return!1;var r=ie.findKey(t,n);return"function"==typeof r&&m.signal(t,"vim-keypress",n),r}}m.defineOption("vimMode",!1,(function(e,t,n){t&&"vim"!=e.getOption("keyMap")?e.setOption("keyMap","vim"):!t&&n!=m.Init&&/^vim/.test(e.getOption("keyMap"))&&e.setOption("keyMap","default")}));var T={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A",CapsLock:""},E={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"};function R(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(ye(e.getCursor(),0,1)),me.enterInsertMode(e,{},t))}),t.onPasteFn}var B=/[\d]/,I=[m.isWordChar,function(e){return e&&!m.isWordChar(e)&&!/\s/.test(e)}],K=[function(e){return/\S/.test(e)}];function P(e,t){for(var n=[],r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}var N,_=P(65,26),H=P(97,26),$=P(48,10),D=[].concat(_,H,$,["<",">"]),V=[].concat(_,H,$,["-",'"',".",":","_","/","+"]);try{N=new RegExp("^[\\p{Lu}]$","u")}catch(e){N=/^[A-Z]$/}function F(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function j(e){return/^[a-z]$/.test(e)}function W(e){return N.test(e)}function U(e){return/^\s*$/.test(e)}function z(e){return-1!=".?!".indexOf(e)}function J(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var q={};function Q(e,t,n,r,o){if(void 0===t&&!o)throw Error("defaultValue is required unless callback is provided");if(n||(n="string"),q[e]={type:n,defaultValue:t,callback:o},r)for(var i=0;i<r.length;i++)q[r[i]]=q[e];t&&G(e,t)}function G(e,t,n,r){var o=q[e],i=(r=r||{}).scope;if(!o)return new Error("Unknown option: "+e);if("boolean"==o.type){if(t&&!0!==t)return new Error("Invalid argument: "+e+"="+t);!1!==t&&(t=!0)}o.callback?("local"!==i&&o.callback(t,void 0),"global"!==i&&n&&o.callback(t,n)):("local"!==i&&(o.value="boolean"==o.type?!!t:t),"global"!==i&&n&&(n.state.vim.options[e]={value:t}))}function X(e,t,n){var r=q[e],o=(n=n||{}).scope;if(!r)return new Error("Unknown option: "+e);if(r.callback){var i=t&&r.callback(void 0,t);return"global"!==o&&void 0!==i?i:"local"!==o?r.callback():void 0}return((i="global"!==o&&t&&t.state.vim.options[e])||"local"!==o&&r||{}).value}Q("filetype",void 0,"string",["ft"],(function(e,t){if(void 0!==t){if(void 0===e)return"null"==(n=t.getOption("mode"))?"":n;var n=""==e?"null":e;t.setOption("mode",n)}}));var Z,Y,ee=function(){var e=100,t=-1,n=0,r=0,o=new Array(e);function i(i,a){(t+=a)>n?t=n:t<r&&(t=r);var s=o[(e+t)%e];if(s&&!s.find()){var c,l=a>0?1:-1,u=i.getCursor();do{if((s=o[(e+(t+=l))%e])&&(c=s.find())&&!xe(u,c))break}while(t<n&&t>r)}return s}return{cachedCursor:void 0,add:function(i,a,s){var c=o[t%e];function l(n){var r=++t%e,a=o[r];a&&a.clear(),o[r]=i.setBookmark(n)}if(c){var u=c.find();u&&!xe(u,a)&&l(a)}else l(a);l(s),n=t,(r=t-e+1)<0&&(r=0)},find:function(e,n){var r=t,o=i(e,n);return t=r,o&&o.find()},move:i}},te=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function ne(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=te()}function re(e){return e.state.vim||(e.state.vim={inputState:new ae,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function oe(){for(var e in Z={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ee(),macroModeState:new ne,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new le({}),searchHistoryController:new ue,exCommandHistoryController:new ue},q){var t=q[e];t.value=t.defaultValue}}ne.prototype={exitMacroRecordMode:function(){var e=Z.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=Z.registerController.getRegister(t);if(n){if(n.clear(),this.latestRegister=t,e.openDialog){var r=tt("span",{class:"cm-vim-message"},"recording @"+t);this.onRecordingDone=e.openDialog(r,null,{bottom:!0})}this.isRecording=!0}}};var ie={enterVimMode:S,leaveVimMode:A,buildKeyMap:function(){},getRegisterController:function(){return Z.registerController},resetVimGlobalState_:oe,getVimGlobalState_:function(){return Z},maybeInitVimState_:re,suppressErrorLogging:!1,InsertModeKey:wt,map:function(e,t,n){ft.map(e,t,n)},unmap:function(e,t){return ft.unmap(e,t)},noremap:function(e,t,n){function r(e){return e?[e]:["normal","insert","visual"]}for(var o=r(n),i=w.length,a=i-x;a<i&&o.length;a++){var s=w[a];if(!(s.keys!=t||n&&s.context&&s.context!==n||"ex"===s.type.substr(0,2)||"key"===s.type.substr(0,3))){var c={};for(var l in s)c[l]=s[l];c.keys=e,n&&!c.context&&(c.context=n),this._mapCommand(c);var u=r(s.context);o=o.filter((function(e){return-1===u.indexOf(e)}))}}},mapclear:function(e){var t=w.length,n=x,r=w.slice(0,t-n);if(w=w.slice(t-n),e)for(var o=r.length-1;o>=0;o--){var i=r[o];if(e!==i.context)if(i.context)this._mapCommand(i);else{var a=["normal","insert","visual"];for(var s in a)if(a[s]!==e){var c={};for(var l in i)c[l]=i[l];c.context=a[s],this._mapCommand(c)}}}},setOption:G,getOption:X,defineOption:Q,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered')}else t=e;dt[e]=n,ft.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if("function"==typeof r)return r()},multiSelectHandleKey:Ot,findKey:function(e,t,n){var r,o=re(e);function i(){if("<Esc>"==t){if(o.visualMode)Pe(e);else{if(!o.insertMode)return;mt(e)}return se(e),!0}}return!1===(r=o.insertMode?function(){if(i())return!0;for(var n=o.inputState.keyBuffer=o.inputState.keyBuffer+t,r=1==t.length,a=he.matchCommand(n,w,o.inputState,"insert");n.length>1&&"full"!=a.type;){n=o.inputState.keyBuffer=n.slice(1);var s=he.matchCommand(n,w,o.inputState,"insert");"none"!=s.type&&(a=s)}if("none"==a.type)return se(e),!1;if("partial"==a.type)return Y&&window.clearTimeout(Y),Y=window.setTimeout((function(){o.insertMode&&o.inputState.keyBuffer&&se(e)}),X("insertModeEscKeysTimeout")),!r;if(Y&&window.clearTimeout(Y),r){for(var c=e.listSelections(),l=0;l<c.length;l++){var u=c[l].head;e.replaceRange("",ye(u,0,-(n.length-1)),u,"+input")}Z.macroModeState.lastInsertModeChanges.changes.pop()}return se(e),a.command}():function(){if(function(){var r=Z.macroModeState;if(r.isRecording){if("q"==t)return r.exitMacroRecordMode(),se(e),!0;"mapping"!=n&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=Z.registerController.getRegister(n);r&&r.pushText(t)}}(r,t)}}()||i())return!0;var r=o.inputState.keyBuffer=o.inputState.keyBuffer+t;if(/^[1-9]\d*$/.test(r))return!0;var a=/^(\d*)(.*)$/.exec(r);if(!a)return se(e),!1;var s=o.visualMode?"visual":"normal",c=a[2]||a[1];o.inputState.operatorShortcut&&o.inputState.operatorShortcut.slice(-1)==c&&(c=o.inputState.operatorShortcut);var l=he.matchCommand(c,w,o.inputState,s);return"none"==l.type?(se(e),!1):"partial"==l.type||("clear"==l.type?(se(e),!0):(o.inputState.keyBuffer="",(a=/^(\d*)(.*)$/.exec(r))[1]&&"0"!=a[1]&&o.inputState.pushRepeatDigit(a[1]),l.command))}())?void 0:!0===r?function(){return!0}:function(){if(!r.operator&&!r.isEdit||!e.getOption("readOnly"))return e.operation((function(){e.curOp.isVimOp=!0;try{"keyToKey"==r.type?function(n){for(var r;n;)r=/<\w+-.+?>|<\w+>|./.exec(n),t=r[0],n=n.substring(r.index+t.length),ie.handleKey(e,t,"mapping")}(r.toKeys):he.processCommand(e,o,r)}catch(t){throw e.state.vim=void 0,re(e),ie.suppressErrorLogging||console.log(t),t}return!0}))}},handleEx:function(e,t){ft.processCommand(e,t)},defineMotion:function(e,t){pe[e]=t},defineAction:function(e,t){me[e]=t},defineOperator:function(e,t){fe[e]=t},mapCommand:function(e,t,n,r,o){var i={keys:e,type:t};for(var a in i[t]=n,i[t+"Args"]=r,o)i[a]=o[a];gt(i)},_mapCommand:gt,defineRegister:function(e,t){var n=Z.registerController.registers;if(!e||1!=e.length)throw Error("Register name must be 1 character");n[e]=t,V.push(e)},exitVisualMode:Pe,exitInsertMode:mt};function ae(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function se(e,t){e.state.vim.inputState=new ae,m.signal(e,"vim-command-done",t)}function ce(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function le(e){this.registers=e,this.unnamedRegister=e['"']=new ce,e["."]=new ce,e[":"]=new ce,e["/"]=new ce,e["+"]=new ce}function ue(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}ae.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},ae.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10))),e},ce.prototype={setText:function(e,t,n){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(te(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},le.prototype={pushText:function(e,t,n,r,o){if("_"!==e){r&&"\n"!==n.charAt(n.length-1)&&(n+="\n");var i=this.isValidRegister(e)?this.getRegister(e):null;if(i)W(e)?i.pushText(n,r):i.setText(n,r,o),"+"===e&&navigator.clipboard.writeText(n),this.unnamedRegister.setText(i.toString(),r);else{switch(t){case"yank":this.registers[0]=new ce(n,r,o);break;case"delete":case"change":-1==n.indexOf("\n")?this.registers["-"]=new ce(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new ce(n,r))}this.unnamedRegister.setText(n,r,o)}}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new ce),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&J(e,V)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},ue.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var o=this.iterator+r;t?o>=0:o<n.length;o+=r)for(var i=n[o],a=0;a<=i.length;a++)if(this.initialPrefix==i.substring(0,a))return this.iterator=o,i;return o>=n.length?(this.iterator=n.length,this.initialPrefix):o<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var he={matchCommand:function(e,t,n,r){var o,i=function(e,t,n,r){for(var o,i=[],a=[],s=0;s<t.length;s++){var c=t[s];"insert"==n&&"insert"!=c.context||c.context&&c.context!=n||r.operator&&"action"==c.type||!(o=Ce(e,c.keys))||("partial"==o&&i.push(c),"full"==o&&a.push(c))}return{partial:i.length&&i,full:a.length&&a}}(e,t,r,n);if(!i.full&&!i.partial)return{type:"none"};if(!i.full&&i.partial)return{type:"partial"};for(var a=0;a<i.full.length;a++){var s=i.full[a];o||(o=s)}if("<character>"==o.keys.slice(-11)){var c=function(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"<CR>":n="\n";break;case"<Space>":n=" ";break;default:n=""}return n}(e);if(!c||c.length>1)return{type:"clear"};n.selectedCharacter=c}return{type:"full",command:o}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=ve(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion="expandToLine",r.motionArgs={linewise:!0},void this.evalInput(e,t);se(e)}r.operator=n.operator,r.operatorArgs=ve(n.operatorArgs),n.keys.length>1&&(r.operatorShortcut=n.keys),n.exitVisualBlock&&(t.visualBlock=!1,Ie(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,o=ve(n.operatorMotionArgs);o&&r&&o.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,o=r.getRepeat(),i=!!o,a=ve(n.actionArgs)||{};r.selectedCharacter&&(a.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),a.repeat=o||1,a.repeatIsExplicit=i,a.registerName=r.registerName,se(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),me[n.action](e,a,t)},processSearch:function(e,t,n){if(e.getSearchCursor){var r=n.searchArgs.forward,o=n.searchArgs.wholeWordOnly;Ge(e).setReversed(!r);var i=r?"/":"?",a=Ge(e).getQuery(),s=e.getScrollInfo();switch(n.searchArgs.querySrc){case"prompt":var c=Z.macroModeState;c.isPlaying?p(h=c.replaySearchQueries.shift(),!0,!1):rt(e,{onClose:function(e){p(e,!0,!0);var t=Z.macroModeState;t.isRecording&&function(e,t){if(!e.isPlaying){var n=e.latestRegister,r=Z.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}(t,e)},prefix:i,desc:"(JavaScript regexp)",onKeyUp:function(t,n,o){var i,a,c,l=m.keyName(t);"Up"==l||"Down"==l?(i="Up"==l,a=t.target?t.target.selectionEnd:0,o(n=Z.searchHistoryController.nextMatch(n,i)||""),a&&t.target&&(t.target.selectionEnd=t.target.selectionStart=Math.min(a,t.target.value.length))):"Left"!=l&&"Right"!=l&&"Ctrl"!=l&&"Alt"!=l&&"Shift"!=l&&Z.searchHistoryController.reset();try{c=ot(e,n,!0,!0)}catch(t){}c?e.scrollIntoView(st(e,!r,c),30):(ct(e),e.scrollTo(s.left,s.top))},onKeyDown:function(t,n,r){var o=m.keyName(t);"Esc"==o||"Ctrl-C"==o||"Ctrl-["==o||"Backspace"==o&&""==n?(Z.searchHistoryController.pushInput(n),Z.searchHistoryController.reset(),ot(e,a),ct(e),e.scrollTo(s.left,s.top),m.e_stop(t),se(e),r(),e.focus()):"Up"==o||"Down"==o?m.e_stop(t):"Ctrl-U"==o&&(m.e_stop(t),r(""))}});break;case"wordUnderCursor":var l=_e(e,!1,0,!1,!0),u=!0;if(l||(l=_e(e,!1,0,!1,!1),u=!1),!l)return;var h=e.getLine(l.start.line).substring(l.start.ch,l.end.ch);h=u&&o?"\\b"+h+"\\b":h.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1"),Z.jumpList.cachedCursor=e.getCursor(),e.setCursor(l.start),p(h,!0,!1)}}function p(r,o,i){Z.searchHistoryController.pushInput(r),Z.searchHistoryController.reset();try{ot(e,r,o,i)}catch(t){return nt(e,"Invalid regex: "+r),void se(e)}he.processMotion(e,t,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:n.searchArgs.toJumplist}})}},processEx:function(e,t,n){function r(t){Z.exCommandHistoryController.pushInput(t),Z.exCommandHistoryController.reset(),ft.processCommand(e,t),e.state.vim&&se(e)}function o(t,n,r){var o,i,a=m.keyName(t);("Esc"==a||"Ctrl-C"==a||"Ctrl-["==a||"Backspace"==a&&""==n)&&(Z.exCommandHistoryController.pushInput(n),Z.exCommandHistoryController.reset(),m.e_stop(t),se(e),r(),e.focus()),"Up"==a||"Down"==a?(m.e_stop(t),o="Up"==a,i=t.target?t.target.selectionEnd:0,r(n=Z.exCommandHistoryController.nextMatch(n,o)||""),i&&t.target&&(t.target.selectionEnd=t.target.selectionStart=Math.min(i,t.target.value.length))):"Ctrl-U"==a?(m.e_stop(t),r("")):"Left"!=a&&"Right"!=a&&"Ctrl"!=a&&"Alt"!=a&&"Shift"!=a&&Z.exCommandHistoryController.reset()}"keyToEx"==n.type?ft.processCommand(e,n.exArgs.input):t.visualMode?rt(e,{onClose:r,prefix:":",value:"'<,'>",onKeyDown:o,selectValueOnOpen:!1}):rt(e,{onClose:r,prefix:":",onKeyDown:o})},evalInput:function(e,t){var n,r,o,i=t.inputState,a=i.motion,s=i.motionArgs||{},c=i.operator,l=i.operatorArgs||{},u=i.registerName,h=t.sel,p=we(t.visualMode?ge(e,h.head):e.getCursor("head")),d=we(t.visualMode?ge(e,h.anchor):e.getCursor("anchor")),f=we(p),m=we(d);if(c&&this.recordLastEdit(t,i),(o=void 0!==i.repeatOverride?i.repeatOverride:i.getRepeat())>0&&s.explicitRepeat?s.repeatIsExplicit=!0:(s.noRepeat||!s.explicitRepeat&&0===o)&&(o=1,s.repeatIsExplicit=!1),i.selectedCharacter&&(s.selectedCharacter=l.selectedCharacter=i.selectedCharacter),s.repeat=o,se(e),a){var g=pe[a](e,p,s,t,i);if(t.lastMotion=pe[a],!g)return;if(s.toJumplist){c||null==e.ace.curOp||(e.ace.curOp.command.scrollIntoView="center-animate");var v=Z.jumpList,C=v.cachedCursor;C?(He(e,C,g),delete v.cachedCursor):He(e,p,g)}g instanceof Array?(r=g[0],n=g[1]):n=g,n||(n=we(p)),t.visualMode?(t.visualBlock&&n.ch===1/0||(n=ge(e,n,f)),r&&(r=ge(e,r)),r=r||m,h.anchor=r,h.head=n,Ie(e),Ue(e,t,"<",Me(r,n)?r:n),Ue(e,t,">",Me(r,n)?n:r)):c||(n=ge(e,n,f),e.setCursor(n.line,n.ch))}if(c){if(l.lastSel){r=m;var w=l.lastSel,x=Math.abs(w.head.line-w.anchor.line),M=Math.abs(w.head.ch-w.anchor.ch);n=w.visualLine?new y(m.line+x,m.ch):w.visualBlock?new y(m.line+x,m.ch+M):w.head.line==w.anchor.line?new y(m.line,m.ch+M):new y(m.line+x,m.ch),t.visualMode=!0,t.visualLine=w.visualLine,t.visualBlock=w.visualBlock,h=t.sel={anchor:r,head:n},Ie(e)}else t.visualMode&&(l.lastSel={anchor:we(h.anchor),head:we(h.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var S,A,b,L,O;if(t.visualMode){if(S=Se(h.head,h.anchor),A=Ae(h.head,h.anchor),b=t.visualLine||l.linewise,L=t.visualBlock?"block":b?"line":"char",O=Ke(e,{anchor:(B=k(e,S,A)).start,head:B.end},L),b){var T=O.ranges;if("block"==L)for(var E=0;E<T.length;E++)T[E].head.ch=Le(e,T[E].head.line);else"line"==L&&(T[0].head=new y(T[0].head.line+1,0))}}else{if(S=we(r||m),Me(A=we(n||f),S)){var R=S;S=A,A=R}(b=s.linewise||l.linewise)?function(e,t,n){t.ch=0,n.ch=0,n.line++}(0,S,A):s.forward&&function(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var o=r.split("\n");o.pop();for(var i=o.pop();o.length>0&&i&&U(i);i=o.pop())n.line--,n.ch=0;i?(n.line--,n.ch=Le(e,n.line)):n.ch=0}}(e,S,A),L="char";var B,I=!s.inclusive||b;O=Ke(e,{anchor:(B=k(e,S,A)).start,head:B.end},L,I)}e.setSelections(O.ranges,O.primary),t.lastMotion=null,l.repeat=o,l.registerName=u,l.linewise=b;var K=fe[c](e,l,O.ranges,m,n);t.visualMode&&Pe(e,null!=K),K&&e.setCursor(K)}},recordLastEdit:function(e,t,n){var r=Z.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1,r.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},pe={moveToTopLine:function(e,t,n){var r=lt(e).top+n.repeat-1;return new y(r,Ne(e.getLine(r)))},moveToMiddleLine:function(e){var t=lt(e),n=Math.floor(.5*(t.top+t.bottom));return new y(n,Ne(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=lt(e).bottom-n.repeat+1;return new y(r,Ne(e.getLine(r)))},expandToLine:function(e,t,n){return new y(t.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r=Ge(e),o=r.getQuery();if(o){var i=!n.forward;return i=r.isReversed()?!i:i,at(e,o),st(e,i,o,n.repeat)}},findAndSelectNextInclusive:function(e,t,n,r,o){var i=Ge(e),a=i.getQuery();if(a){var s=!n.forward,c=function(e,t,n,r,o){return void 0===r&&(r=1),e.operation((function(){var i=e.getCursor(),a=e.getSearchCursor(n,i),s=a.find(!t);!o.visualMode&&s&&xe(a.from(),i)&&a.find(!t);for(var c=0;c<r;c++)if(!(s=a.find(t))&&!(a=e.getSearchCursor(n,t?new y(e.lastLine()):new y(e.firstLine(),0))).find(t))return;return[a.from(),a.to()]}))}(e,s=i.isReversed()?!s:s,a,n.repeat,r);if(c){if(o.operator)return c;var l=c[0],u=new y(c[1].line,c[1].ch-1);if(r.visualMode){(r.visualLine||r.visualBlock)&&(r.visualLine=!1,r.visualBlock=!1,m.signal(e,"vim-mode-change",{mode:"visual",subMode:""}));var h=r.sel.anchor;if(h)return i.isReversed()?n.forward?[h,l]:[h,u]:n.forward?[h,u]:[h,l]}else r.visualMode=!0,r.visualLine=!1,r.visualBlock=!1,m.signal(e,"vim-mode-change",{mode:"visual",subMode:""});return s?[u,l]:[l,u]}}},goToMark:function(e,t,n,r){var o=ut(e,r,n.selectedCharacter);return o?n.linewise?{line:o.line,ch:Ne(e.getLine(o.line))}:o:null},moveToOtherHighlightedEnd:function(e,t,n,r){if(r.visualBlock&&n.sameLine){var o=r.sel;return[ge(e,new y(o.anchor.line,o.head.ch)),ge(e,new y(o.head.line,o.anchor.ch))]}return[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){for(var o=t,i=0;i<n.repeat;i++){var a=o;for(var s in r.marks)if(j(s)){var c=r.marks[s].find();if(!((n.forward?Me(c,a):Me(a,c))||n.linewise&&c.line==a.line)){var l=xe(a,o),u=n.forward?be(a,c,o):be(o,c,a);(l||u)&&(o=c)}}}return n.linewise&&(o=new y(o.line,Ne(e.getLine(o.line)))),o},moveByCharacters:function(e,t,n){var r=t,o=n.repeat,i=n.forward?r.ch+o:r.ch-o;return new y(r.line,i)},moveByLines:function(e,t,n,r){var o=t,i=o.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:i=r.lastHPos;break;default:r.lastHPos=i}var a=n.repeat+(n.repeatOffset||0),s=n.forward?o.line+a:o.line-a,c=e.firstLine(),l=e.lastLine();if(s<c&&o.line==c)return this.moveToStartOfLine(e,t,n,r);if(s>l&&o.line==l)return je(e,t,n,r,!0);var u=e.ace.session.getFoldLine(s);return u&&(n.forward?s>u.start.row&&(s=u.end.row+1):s=u.start.row),n.toFirstChar&&(i=Ne(e.getLine(s)),r.lastHPos=i),r.lastHSPos=e.charCoords(new y(s,i),"div").left,new y(s,i)},moveByDisplayLines:function(e,t,n,r){var o=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(o,"div").left}var i=n.repeat;if((s=e.findPosV(o,n.forward?i:-i,"line",r.lastHSPos)).hitSide)if(n.forward)var a={top:e.charCoords(s,"div").top+8,left:r.lastHSPos},s=e.coordsChar(a,"div");else{var c=e.charCoords(new y(e.firstLine(),0),"div");c.left=r.lastHSPos,s=e.coordsChar(c,"div")}return r.lastHPos=s.ch,s},moveByPage:function(e,t,n){var r=t,o=n.repeat;return e.findPosV(r,n.forward?o:-o,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return Je(e,t,n.repeat,r)},moveBySentence:function(e,t,n){var r=n.forward?1:-1;return function(e,t,n,r){function o(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!F(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function i(e,t,n,r){var i=""===(l=e.getLine(t)),a={line:l,ln:t,pos:n,dir:r},s={ln:a.ln,pos:a.pos},c=""===a.line;for(o(e,a);null!==a.line;){if(s.ln=a.ln,s.pos=a.pos,""===a.line&&!c)return{ln:a.ln,pos:a.pos};if(i&&""!==a.line&&!U(a.line[a.pos]))return{ln:a.ln,pos:a.pos};!z(a.line[a.pos])||i||a.pos!==a.line.length-1&&!U(a.line[a.pos+1])||(i=!0),o(e,a)}var l=e.getLine(s.ln);s.pos=0;for(var u=l.length-1;u>=0;--u)if(!U(l[u])){s.pos=u;break}return s}function a(e,t,n,r){var i={line:e.getLine(t),ln:t,pos:n,dir:r},a={ln:i.ln,pos:null},s=""===i.line;for(o(e,i);null!==i.line;){if(""===i.line&&!s)return null!==a.pos?a:{ln:i.ln,pos:i.pos};if(z(i.line[i.pos])&&null!==a.pos&&(i.ln!==a.ln||i.pos+1!==a.pos))return a;""===i.line||U(i.line[i.pos])||(s=!1,a={ln:i.ln,pos:i.pos}),o(e,i)}var c=e.getLine(a.ln);a.pos=0;for(var l=0;l<c.length;++l)if(!U(c[l])){a.pos=l;break}return a}for(var s={ln:t.line,pos:t.ch};n>0;)s=r<0?a(e,s.ln,s.pos,r):i(e,s.ln,s.pos,r),n--;return new y(s.ln,s.pos)}(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var o,i=e.getScrollInfo(),a=n.repeat;a||(a=i.clientHeight/(2*e.defaultTextHeight()));var s=e.charCoords(t,"local");if(n.repeat=a,!(o=pe.moveByDisplayLines(e,t,n,r)))return null;var c=e.charCoords(o,"local");return e.scrollTo(null,i.top+c.top-s.top),o},moveByWords:function(e,t,n){return function(e,t,n,r,o,i){var a=we(t),s=[];(r&&!o||!r&&o)&&n++;for(var c=!(r&&o),l=0;l<n;l++){var u=Fe(e,t,r,i,c);if(!u){var h=Le(e,e.lastLine());s.push(r?{line:e.lastLine(),from:h,to:h}:{line:0,from:0,to:0});break}s.push(u),t=new y(u.line,r?u.to-1:u.from)}var p=s.length!=n,d=s[0],f=s.pop();return r&&!o?(p||d.from==a.ch&&d.line==a.line||(f=s.pop()),new y(f.line,f.from)):r&&o?new y(f.line,f.to-1):!r&&o?(p||d.to==a.ch&&d.line==a.line||(f=s.pop()),new y(f.line,f.to)):new y(f.line,f.from)}(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=We(e,n.repeat,n.forward,n.selectedCharacter),o=n.forward?-1:1;return $e(o,n),r?(r.ch+=o,r):null},moveToCharacter:function(e,t,n){var r=n.repeat;return $e(0,n),We(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){return function(e,t,n,r){var o=we(e.getCursor()),i=n?1:-1,a=n?e.lineCount():-1,s=o.ch,c=o.line,l=e.getLine(c),u={lineText:l,nextCh:l.charAt(s),lastCh:null,index:s,symb:r,reverseSymb:(n?{")":"(","}":"{"}:{"(":")","{":"}"})[r],forward:n,depth:0,curMoveThrough:!1},h=De[r];if(!h)return o;var p=Ve[h].init,d=Ve[h].isComplete;for(p&&p(u);c!==a&&t;){if(u.index+=i,u.nextCh=u.lineText.charAt(u.index),!u.nextCh){if(c+=i,u.lineText=e.getLine(c)||"",i>0)u.index=0;else{var f=u.lineText.length;u.index=f>0?f-1:0}u.nextCh=u.lineText.charAt(u.index)}d(u)&&(o.line=c,o.ch=u.index,t--)}return u.nextCh||u.curMoveThrough?new y(c,u.index):o}(e,n.repeat,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var o=n.repeat;return r.lastHPos=o-1,r.lastHSPos=e.charCoords(t,"div").left,function(e,t){var n=e.getCursor().line;return ge(e,new y(n,t-1))}(e,o)},moveToEol:function(e,t,n,r){return je(e,t,n,r,!1)},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return new y(n.line,Ne(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){for(var n,r=t,o=r.line,i=r.ch,a=e.getLine(o);i<a.length;i++)if((n=a.charAt(i))&&-1!="()[]{}".indexOf(n)){var s=e.getTokenTypeAt(new y(o,i+1));if("string"!==s&&"comment"!==s)break}if(i<a.length){var c=/[<>]/.test(a[i])?/[(){}[\]<>]/:/[(){}[\]]/;return e.findMatchingBracket(new y(o,i+1),{bracketRegex:c}).to}return r},moveToStartOfLine:function(e,t){return new y(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption("firstLineNumber")),new y(r,Ne(e.getLine(r)))},moveToStartOfDisplayLine:function(e){return e.execCommand("goLineLeft"),e.getCursor()},moveToEndOfDisplayLine:function(e){e.execCommand("goLineRight");var t=e.getCursor();return"before"==t.sticky&&t.ch--,t},textObjectManipulation:function(e,t,n,r){var o=n.selectedCharacter;"b"==o?o="(":"B"==o&&(o="{");var i,a=!n.textObjectInner;if({"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"}[o])i=function(e,t,n,r){var o,i,a=t,s={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[n],c={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[n],l=e.getLine(a.line).charAt(a.ch)===c?1:0;if(o=e.scanForBracket(new y(a.line,a.ch+l),-1,void 0,{bracketRegex:s}),i=e.scanForBracket(new y(a.line,a.ch+l),1,void 0,{bracketRegex:s}),!o||!i)return{start:a,end:a};if(o=o.pos,i=i.pos,o.line==i.line&&o.ch>i.ch||o.line>i.line){var u=o;o=i,i=u}return r?i.ch+=1:o.ch+=1,{start:o,end:i}}(e,t,o,a);else if({"'":!0,'"':!0,"`":!0}[o])i=function(e,t,n,r){var o,i,a,s,c=we(t),l=e.getLine(c.line).split(""),u=l.indexOf(n);if(c.ch<u?c.ch=u:u<c.ch&&l[c.ch]==n&&(i=c.ch,--c.ch),l[c.ch]!=n||i)for(a=c.ch;a>-1&&!o;a--)l[a]==n&&(o=a+1);else o=c.ch+1;if(o&&!i)for(a=o,s=l.length;a<s&&!i;a++)l[a]==n&&(i=a);return o&&i?(r&&(--o,++i),{start:new y(c.line,o),end:new y(c.line,i)}):{start:c,end:c}}(e,t,o,a);else if("W"===o)i=_e(e,a,0,!0);else if("w"===o)i=_e(e,a,0,!1);else if("p"===o)if(i=Je(e,t,n.repeat,0,a),n.linewise=!0,r.visualMode)r.visualLine||(r.visualLine=!0);else{var s=r.inputState.operatorArgs;s&&(s.linewise=!0),i.end.line--}else if("t"===o)i=function(e,t,n){var r=t;if(!m.findMatchingTag||!m.findEnclosingTag)return{start:r,end:r};var o=m.findMatchingTag(e,t)||m.findEnclosingTag(e,t);return o&&o.open&&o.close?n?{start:o.open.from,end:o.close.to}:{start:o.open.to,end:o.close.from}:{start:r,end:r}}(e,t,a);else{if("s"!==o)return null;var c=e.getLine(t.line);t.ch>0&&z(c[t.ch])&&(t.ch-=1);var l=qe(e,t,n.repeat,1,a),u=qe(e,t,n.repeat,-1,a);U(e.getLine(u.line)[u.ch])&&U(e.getLine(l.line)[l.ch-1])&&(u={line:u.line,ch:u.ch+1}),i={start:u,end:l}}return e.state.vim.visualMode?function(e,t,n){var r,o=e.state.vim.sel,i=o.head,a=o.anchor;return Me(n,t)&&(r=n,n=t,t=r),Me(i,a)?(i=Se(t,i),a=Ae(a,n)):(a=Se(t,a),-1==(i=ye(i=Ae(i,n),0,-1)).ch&&i.line!=e.firstLine()&&(i=new y(i.line-1,Le(e,i.line-1)))),[a,i]}(e,i.start,i.end):[i.start,i.end]},repeatLastCharacterSearch:function(e,t,n){var r=Z.lastCharacterSearch,o=n.repeat,i=n.forward===r.forward,a=(r.increment?1:0)*(i?-1:1);e.moveH(-a,"char"),n.inclusive=!!i;var s=We(e,o,i,r.selectedCharacter);return s?(s.ch+=a,s):(e.moveH(a,"char"),t)}};function de(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var fe={change:function(e,t,n){var r,o,i=e.state.vim,a=n[0].anchor,s=n[0].head;if(i.visualMode)if(t.fullLine)s.ch=Number.MAX_VALUE,s.line--,e.setSelection(a,s),o=e.getSelection(),e.replaceSelection(""),r=a;else{o=e.getSelection();var c=de("",n.length);e.replaceSelections(c),r=Se(n[0].head,n[0].anchor)}else{o=e.getRange(a,s);var l=i.lastEditInputState||{};if("moveByWords"==l.motion&&!U(o)){var u=/\s+$/.exec(o);u&&l.motionArgs&&l.motionArgs.forward&&(s=ye(s,0,-u[0].length),o=o.slice(0,-u[0].length))}var h=new y(a.line-1,Number.MAX_VALUE),p=e.firstLine()==e.lastLine();s.line>e.lastLine()&&t.linewise&&!p?e.replaceRange("",h,s):e.replaceRange("",a,s),t.linewise&&(p||(e.setCursor(h),m.commands.newlineAndIndent(e)),a.ch=Number.MAX_VALUE),r=a}Z.registerController.pushText(t.registerName,"change",o,t.linewise,n.length>1),me.enterInsertMode(e,{head:r},e.state.vim)},delete:function(e,t,n){var r,o,i=e.state.vim;if(i.visualBlock){o=e.getSelection();var a=de("",n.length);e.replaceSelections(a),r=Se(n[0].head,n[0].anchor)}else{var s=n[0].anchor,c=n[0].head;t.linewise&&c.line!=e.firstLine()&&s.line==e.lastLine()&&s.line==c.line-1&&(s.line==e.firstLine()?s.ch=0:s=new y(s.line-1,Le(e,s.line-1))),o=e.getRange(s,c),e.replaceRange("",s,c),r=s,t.linewise&&(r=pe.moveToFirstNonWhiteSpaceCharacter(e,s))}return Z.registerController.pushText(t.registerName,"delete",o,t.linewise,i.visualBlock),ge(e,r)},indent:function(e,t,n){var r=e.state.vim;if(e.indentMore)for(var o=r.visualMode?t.repeat:1,i=0;i<o;i++)t.indentRight?e.indentMore():e.indentLess();else{var a=n[0].anchor.line,s=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line;o=r.visualMode?t.repeat:1,t.linewise&&s--;for(var c=a;c<=s;c++)for(i=0;i<o;i++)e.indentLine(c,t.indentRight)}return pe.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},indentAuto:function(e,t,n){return n.length>1&&e.setSelection(n[0].anchor,n[n.length-1].head),e.execCommand("indentAuto"),pe.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,o){for(var i=e.getSelections(),a=[],s=t.toLower,c=0;c<i.length;c++){var l=i[c],u="";if(!0===s)u=l.toLowerCase();else if(!1===s)u=l.toUpperCase();else for(var h=0;h<l.length;h++){var p=l.charAt(h);u+=W(p)?p.toLowerCase():p.toUpperCase()}a.push(u)}return e.replaceSelections(a),t.shouldMoveCursor?o:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?pe.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:Se(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var o=e.state.vim,i=e.getSelection(),a=o.visualMode?Se(o.sel.anchor,o.sel.head,n[0].head,n[0].anchor):r;return Z.registerController.pushText(t.registerName,"yank",i,t.linewise,o.visualBlock),a}},me={jumpListWalk:function(e,t,n){if(!n.visualMode){var r=t.repeat,o=t.forward,i=Z.jumpList.move(e,o?r:-r),a=i?i.find():void 0;a=a||e.getCursor(),e.setCursor(a),e.ace.curOp.command.scrollIntoView="center-animate"}},scroll:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,o=e.defaultTextHeight(),i=e.getScrollInfo().top,a=o*r,s=t.forward?i+a:i-a,c=we(e.getCursor()),l=e.charCoords(c,"local");if(t.forward)s>l.top?(c.line+=(s-l.top)/o,c.line=Math.ceil(c.line),e.setCursor(c),l=e.charCoords(c,"local"),e.scrollTo(null,l.top)):e.scrollTo(null,s);else{var u=s+e.getScrollInfo().clientHeight;u<l.bottom?(c.line-=(l.bottom-u)/o,c.line=Math.floor(c.line),e.setCursor(c),l=e.charCoords(c,"local"),e.scrollTo(null,l.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,s)}}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(new y(n,0),"local"),o=e.getScrollInfo().clientHeight,i=r.top;switch(t.position){case"center":i=r.bottom-o/2;break;case"bottom":var a=new y(n,e.getLine(n).length-1);i=i-o+(e.charCoords(a,"local").bottom-i)}e.scrollTo(null,i)},replayMacro:function(e,t,n){var r=t.selectedCharacter,o=t.repeat,i=Z.macroModeState;for("@"==r?r=i.latestRegister:i.latestRegister=r;o--;)vt(e,n,i,r)},enterMacroRecordMode:function(e,t){var n=Z.macroModeState,r=t.selectedCharacter;Z.registerController.isValidRegister(r)&&n.enterMacroRecordMode(e,r)},toggleOverwrite:function(e){e.state.overwrite?(e.toggleOverwrite(!1),e.setOption("keyMap","vim-insert"),m.signal(e,"vim-mode-change",{mode:"insert"})):(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),m.signal(e,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(e,t,n){if(!e.getOption("readOnly")){n.insertMode=!0,n.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,o=n.sel,i=t.head||e.getCursor("head"),a=e.listSelections().length;if("eol"==r)i=new y(i.line,Le(e,i.line));else if("bol"==r)i=new y(i.line,0);else if("charAfter"==r)i=k(e,i,ye(i,0,1)).end;else if("firstNonBlank"==r)i=k(e,i,pe.moveToFirstNonWhiteSpaceCharacter(e,i)).end;else if("startOfSelectedArea"==r){if(!n.visualMode)return;n.visualBlock?(i=new y(Math.min(o.head.line,o.anchor.line),Math.min(o.head.ch,o.anchor.ch)),a=Math.abs(o.head.line-o.anchor.line)+1):i=o.head.line<o.anchor.line?o.head:new y(o.anchor.line,0)}else if("endOfSelectedArea"==r){if(!n.visualMode)return;n.visualBlock?(i=new y(Math.min(o.head.line,o.anchor.line),Math.max(o.head.ch,o.anchor.ch)+1),a=Math.abs(o.head.line-o.anchor.line)+1):i=o.head.line>=o.anchor.line?ye(o.head,0,1):new y(o.anchor.line,0)}else if("inplace"==r){if(n.visualMode)return}else"lastEdit"==r&&(i=ht(e)||i);e.setOption("disableInput",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),m.signal(e,"vim-mode-change",{mode:"replace"})):(e.toggleOverwrite(!1),e.setOption("keyMap","vim-insert"),m.signal(e,"vim-mode-change",{mode:"insert"})),Z.macroModeState.isPlaying||(e.on("change",yt),m.on(e.getInputField(),"keydown",xt)),n.visualMode&&Pe(e),Re(e,i,a)}},toggleVisualMode:function(e,t,n){var r,o=t.repeat,i=e.getCursor();if(n.visualMode)n.visualLine^t.linewise||n.visualBlock^t.blockwise?(n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,m.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),Ie(e)):Pe(e);else{n.visualMode=!0,n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise;var a=k(e,i,r=ge(e,new y(i.line,i.ch+o-1)));n.sel={anchor:a.start,head:a.end},m.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),Ie(e),Ue(e,n,"<",Se(i,r)),Ue(e,n,">",Ae(i,r))}},reselectLastSelection:function(e,t,n){var r=n.lastSelection;if(n.visualMode&&Be(e,n),r){var o=r.anchorMark.find(),i=r.headMark.find();if(!o||!i)return;n.sel={anchor:o,head:i},n.visualMode=!0,n.visualLine=r.visualLine,n.visualBlock=r.visualBlock,Ie(e),Ue(e,n,"<",Se(o,i)),Ue(e,n,">",Ae(o,i)),m.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""})}},joinLines:function(e,t,n){var r,o;if(n.visualMode){if(r=e.getCursor("anchor"),Me(o=e.getCursor("head"),r)){var i=o;o=r,r=i}o.ch=Le(e,o.line)-1}else{var a=Math.max(t.repeat,2);r=e.getCursor(),o=ge(e,new y(r.line+a-1,1/0))}for(var s=0,c=r.line;c<o.line;c++){s=Le(e,r.line);var l="",u=0;if(!t.keepSpaces){var h=e.getLine(r.line+1);-1==(u=h.search(/\S/))?u=h.length:l=" "}e.replaceRange(l,new y(r.line,s),new y(r.line+1,u))}var p=ge(e,new y(r.line,s));n.visualMode&&Pe(e,!1),e.setCursor(p)},newLineAndEnterInsertMode:function(e,t,n){n.insertMode=!0;var r=we(e.getCursor());r.line!==e.firstLine()||t.after?(r.line=t.after?r.line:r.line-1,r.ch=Le(e,r.line),e.setCursor(r),(m.commands.newlineAndIndentContinueComment||m.commands.newlineAndIndent)(e)):(e.replaceRange("\n",new y(e.firstLine(),0)),e.setCursor(e.firstLine(),0)),this.enterInsertMode(e,{repeat:t.repeat},n)},paste:function(e,t,n){var r=this,o=Z.registerController.getRegister(t.registerName);if("+"===t.registerName)navigator.clipboard.readText().then((function(i){r.continuePaste(e,t,n,i,o)}));else{var i=o.toString();this.continuePaste(e,t,n,i,o)}},continuePaste:function(e,t,n,r,o){var i=we(e.getCursor());if(r){if(t.matchIndent){var a=e.getOption("tabSize"),s=function(e){var t=e.split("\t").length-1,n=e.split(" ").length-1;return t*a+1*n},c=e.getLine(e.getCursor().line),l=s(c.match(/^\s*/)[0]),u=r.replace(/\n$/,""),h=r!==u,p=s(r.match(/^\s*/)[0]);r=u.replace(/^\s*/gm,(function(t){var n=l+(s(t)-p);if(n<0)return"";if(e.getOption("indentWithTabs")){var r=Math.floor(n/a);return Array(r+1).join("\t")}return Array(n+1).join(" ")})),r+=h?"\n":""}t.repeat>1&&(r=Array(t.repeat+1).join(r));var d,f,m=o.linewise,g=o.blockwise;if(g){r=r.split("\n"),m&&r.pop();for(var v=0;v<r.length;v++)r[v]=""==r[v]?" ":r[v];i.ch+=t.after?1:0,i.ch=Math.min(Le(e,i.line),i.ch)}else m?n.visualMode?r=n.visualLine?r.slice(0,-1):"\n"+r.slice(0,r.length-1)+"\n":t.after?(r="\n"+r.slice(0,r.length-1),i.ch=Le(e,i.line)):i.ch=0:i.ch+=t.after?1:0;if(n.visualMode){var C;n.lastPastedText=r;var k=function(e,t){var n=t.lastSelection;return t.visualMode?function(){var t=e.listSelections(),n=t[0],r=t[t.length-1];return[Me(n.anchor,n.head)?n.anchor:n.head,Me(r.anchor,r.head)?r.head:r.anchor]}():function(){var t=e.getCursor(),r=e.getCursor(),o=n.visualBlock;if(o){var i=o.width,a=o.height;r=new y(t.line+a,t.ch+i);for(var s=[],c=t.line;c<r.line;c++){var l={anchor:new y(c,t.ch),head:new y(c,r.ch)};s.push(l)}e.setSelections(s)}else{var u=n.anchorMark.find(),h=n.headMark.find(),p=h.line-u.line,d=h.ch-u.ch;r={line:r.line+p,ch:p?r.ch:d+r.ch},n.visualLine&&(t=new y(t.line,0),r=new y(r.line,Le(e,r.line))),e.setSelection(t,r)}return[t,r]}()}(e,n),w=k[0],x=k[1],M=e.getSelection(),S=e.listSelections(),A=new Array(S.length).join("1").split("1");n.lastSelection&&(C=n.lastSelection.headMark.find()),Z.registerController.unnamedRegister.setText(M),g?(e.replaceSelections(A),x=new y(w.line+r.length-1,w.ch),e.setCursor(w),Ee(e,x),e.replaceSelections(r),d=w):n.visualBlock?(e.replaceSelections(A),e.setCursor(w),e.replaceRange(r,w,w),d=w):(e.replaceRange(r,w,x),d=e.posFromIndex(e.indexFromPos(w)+r.length-1)),C&&(n.lastSelection.headMark=e.setBookmark(C)),m&&(d.ch=0)}else if(g){for(e.setCursor(i),v=0;v<r.length;v++){var b=i.line+v;b>e.lastLine()&&e.replaceRange("\n",new y(b,0)),Le(e,b)<i.ch&&Te(e,b,i.ch)}e.setCursor(i),Ee(e,new y(i.line+r.length-1,i.ch)),e.replaceSelections(r),d=i}else e.replaceRange(r,i),m&&t.after?d=new y(i.line+1,Ne(e.getLine(i.line+1))):m&&!t.after?d=new y(i.line,Ne(e.getLine(i.line))):!m&&t.after?(f=e.indexFromPos(i),d=e.posFromIndex(f+r.length-1)):(f=e.indexFromPos(i),d=e.posFromIndex(f+r.length));n.visualMode&&Pe(e,!1),e.setCursor(d)}},undo:function(e,t){e.operation((function(){ke(e,m.commands.undo,t.repeat)(),e.setCursor(ge(e,e.getCursor("start")))}))},redo:function(e,t){ke(e,m.commands.redo,t.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){Ue(e,n,t.selectedCharacter,e.getCursor())},replace:function(e,t,n){var r,o,i=t.selectedCharacter,a=e.getCursor(),s=e.listSelections();if(n.visualMode)a=e.getCursor("start"),o=e.getCursor("end");else{var c=e.getLine(a.line);(r=a.ch+t.repeat)>c.length&&(r=c.length),o=new y(a.line,r)}var l=k(e,a,o);if(a=l.start,o=l.end,"\n"==i)n.visualMode||e.replaceRange("",a,o),(m.commands.newlineAndIndentContinueComment||m.commands.newlineAndIndent)(e);else{var u=e.getRange(a,o);if(u=(u=u.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i)).replace(/[^\n]/g,i),n.visualBlock){var h=new Array(e.getOption("tabSize")+1).join(" ");u=(u=(u=e.getSelection()).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i)).replace(/\t/g,h).replace(/[^\n]/g,i).split("\n"),e.replaceSelections(u)}else e.replaceRange(u,a,o);n.visualMode?(a=Me(s[0].anchor,s[0].head)?s[0].anchor:s[0].head,e.setCursor(a),Pe(e,!1)):e.setCursor(ye(o,0,-1))}},incrementNumberToken:function(e,t){for(var n,r,o,i,a=e.getCursor(),s=e.getLine(a.line),c=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(n=c.exec(s))&&(o=(r=n.index)+n[0].length,!(a.ch<o)););if((t.backtrack||!(o<=a.ch))&&n){var l=n[2]||n[4],u=n[3]||n[5],h=t.increase?1:-1,p={"0b":2,0:8,"":10,"0x":16}[l.toLowerCase()];i=(parseInt(n[1]+u,p)+h*t.repeat).toString(p);var d=l?new Array(u.length-i.length+1+n[1].length).join("0"):"";i="-"===i.charAt(0)?"-"+l+d+i.substr(1):l+d+i;var f=new y(a.line,r),m=new y(a.line,o);e.replaceRange(i,f,m),e.setCursor(new y(a.line,r+i.length-1))}},repeatLastEdit:function(e,t,n){if(n.lastEditInputState){var r=t.repeat;r&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=r:r=n.lastEditInputState.repeatOverride||r,Mt(e,n,r,!1)}},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:mt};function ge(e,t,n){var r=e.state.vim,o=r.insertMode||r.visualMode,i=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),a=e.getLine(i),s=a.length-1+!!o,c=Math.min(Math.max(0,t.ch),s),l=a.charCodeAt(c);if(56320<l&&l<57343){var u=1;n&&n.line==i&&n.ch>c&&(u=-1),(c+=u)>s&&(c-=2)}return new y(i,c)}function ve(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function ye(e,t,n){return"object"==typeof t&&(n=t.ch,t=t.line),new y(e.line+t,e.ch+n)}function Ce(e,t){if("<character>"==t.slice(-11)){var n=t.length-11,r=e.slice(0,n),o=t.slice(0,n);return r==o&&e.length>n?"full":0==o.indexOf(r)&&"partial"}return e==t?"full":0==t.indexOf(e)&&"partial"}function ke(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function we(e){return new y(e.line,e.ch)}function xe(e,t){return e.ch==t.ch&&e.line==t.line}function Me(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function Se(e,t){return arguments.length>2&&(t=Se.apply(void 0,Array.prototype.slice.call(arguments,1))),Me(e,t)?e:t}function Ae(e,t){return arguments.length>2&&(t=Ae.apply(void 0,Array.prototype.slice.call(arguments,1))),Me(e,t)?t:e}function be(e,t,n){var r=Me(e,t),o=Me(t,n);return r&&o}function Le(e,t){return e.getLine(t).length}function Oe(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Te(e,t,n){var r=Le(e,t),o=new Array(n-r+1).join(" ");e.setCursor(new y(t,r)),e.replaceRange(o,e.getCursor())}function Ee(e,t){var n=[],r=e.listSelections(),o=we(e.clipPos(t)),i=!xe(t,o),a=function(e,t,n){for(var r=0;r<e.length;r++){var o=xe(e[r].anchor,t),i=xe(e[r].head,t);if(o||i)return r}return-1}(r,e.getCursor("head")),s=xe(r[a].head,r[a].anchor),c=r.length-1,l=c-a>a?c:0,u=r[l].anchor,h=Math.min(u.line,o.line),p=Math.max(u.line,o.line),d=u.ch,f=o.ch,m=r[l].head.ch-d,g=f-d;m>0&&g<=0?(d++,i||f--):m<0&&g>=0?(d--,s||f++):m<0&&-1==g&&(d--,f++);for(var v=h;v<=p;v++){var C={anchor:new y(v,d),head:new y(v,f)};n.push(C)}return e.setSelections(n),t.ch=f,u.ch=d,u}function Re(e,t,n){for(var r=[],o=0;o<n;o++){var i=ye(t,o,0);r.push({anchor:i,head:i})}e.setSelections(r,0)}function Be(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:we(n),head:we(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function Ie(e,t,n){var r=e.state.vim,o=Ke(e,t=t||r.sel,n=n||r.visualLine?"line":r.visualBlock?"block":"char");e.setSelections(o.ranges,o.primary)}function Ke(e,t,n,r){var o=we(t.head),i=we(t.anchor);if("char"==n){var a=r||Me(t.head,t.anchor)?0:1,s=Me(t.head,t.anchor)?1:0;return o=ye(t.head,0,a),{ranges:[{anchor:i=ye(t.anchor,0,s),head:o}],primary:0}}if("line"==n){if(Me(t.head,t.anchor))o.ch=0,i.ch=Le(e,i.line);else{i.ch=0;var c=e.lastLine();o.line>c&&(o.line=c),o.ch=Le(e,o.line)}return{ranges:[{anchor:i,head:o}],primary:0}}if("block"==n){var l=Math.min(i.line,o.line),u=i.ch,h=Math.max(i.line,o.line),p=o.ch;u<p?p+=1:u+=1;for(var d=h-l+1,f=o.line==l?0:d-1,m=[],g=0;g<d;g++)m.push({anchor:new y(l+g,u),head:new y(l+g,p)});return{ranges:m,primary:f}}}function Pe(e,t){var n=e.state.vim;!1!==t&&e.setCursor(ge(e,n.sel.head)),Be(e,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,n.insertMode||m.signal(e,"vim-mode-change",{mode:"normal"})}function Ne(e){if(!e)return 0;var t=e.search(/\S/);return-1==t?e.length:t}function _e(e,t,n,r,o){for(var i=function(e){var t=e.getCursor("head");return 1==e.getSelection().length&&(t=Se(t,e.getCursor("anchor"))),t}(e),a=e.getLine(i.line),s=i.ch,c=o?I[0]:K[0];!c(a.charAt(s));)if(++s>=a.length)return null;r?c=K[0]:(c=I[0])(a.charAt(s))||(c=I[1]);for(var l=s,u=s;c(a.charAt(l))&&l<a.length;)l++;for(;c(a.charAt(u))&&u>=0;)u--;if(u++,t){for(var h=l;/\s/.test(a.charAt(l))&&l<a.length;)l++;if(h==l){for(var p=u;/\s/.test(a.charAt(u-1))&&u>0;)u--;u||(u=p)}}return{start:new y(i.line,u),end:new y(i.line,l)}}function He(e,t,n){xe(t,n)||Z.jumpList.add(e,t,n)}function $e(e,t){Z.lastCharacterSearch.increment=e,Z.lastCharacterSearch.forward=t.forward,Z.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var De={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},Ve={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t="*"===e.lastCh&&"/"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb="m"===e.symb?"{":"}",e.reverseSymb="{"===e.symb?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if("#"===e.nextCh){var t=e.lineText.match(/^#(\w+)/)[1];if("endif"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if("if"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if("else"===t&&0===e.depth)return!0}return!1}}};function Fe(e,t,n,r,o){var i=t.line,a=t.ch,s=e.getLine(i),c=n?1:-1,l=r?K:I;if(o&&""==s){if(i+=c,s=e.getLine(i),!F(e,i))return null;a=n?0:s.length}for(;;){if(o&&""==s)return{from:0,to:0,line:i};for(var u=c>0?s.length:-1,h=u,p=u;a!=u;){for(var d=!1,f=0;f<l.length&&!d;++f)if(l[f](s.charAt(a))){for(h=a;a!=u&&l[f](s.charAt(a));)a+=c;if(d=h!=(p=a),h==t.ch&&i==t.line&&p==h+c)continue;return{from:Math.min(h,p+1),to:Math.max(h,p),line:i}}d||(a+=c)}if(!F(e,i+=c))return null;s=e.getLine(i),a=c>0?0:s.length}}function je(e,t,n,r,o){var i=new y(t.line+n.repeat-1,1/0),a=e.clipPos(i);return a.ch--,o||(r.lastHPos=1/0,r.lastHSPos=e.charCoords(a,"div").left),i}function We(e,t,n,r){for(var o,i=e.getCursor(),a=i.ch,s=0;s<t;s++){if(-1==(o=ze(a,e.getLine(i.line),r,n,!0)))return null;a=o}return new y(e.getCursor().line,o)}function Ue(e,t,n,r){J(n,D)&&(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function ze(e,t,n,r,o){var i;return r?-1==(i=t.indexOf(n,e+1))||o||(i-=1):-1==(i=t.lastIndexOf(n,e-1))||o||(i+=1),i}function Je(e,t,n,r,o){var i,a=t.line,s=e.firstLine(),c=e.lastLine(),l=a;function u(t){return!/\S/.test(e.getLine(t))}function h(e,t,n){return n?u(e)!=u(e+t):!u(e)&&u(e+t)}function p(t){r=r>0?1:-1;var n=e.ace.session.getFoldLine(t);n&&t+r>n.start.row&&t+r<n.end.row&&(r=(r>0?n.end.row:n.start.row)-t)}if(r){for(;s<=l&&l<=c&&n>0;)p(l),h(l,r)&&n--,l+=r;return new y(l,0)}var d=e.state.vim;if(d.visualLine&&h(a,1,!0)){var f=d.sel.anchor;h(f.line,-1,!0)&&(o&&f.line==a||(a+=1))}var m=u(a);for(l=a;l<=c&&n;l++)h(l,1,!0)&&(o&&u(l)==m||n--);for(i=new y(l,0),l>c&&!m?m=!0:o=!1,l=a;l>s&&(o&&u(l)!=m&&l!=a||!h(l,-1,!0));l--);return{start:new y(l,0),end:i}}function qe(e,t,n,r,o){function i(e){e.pos+e.dir<0||e.pos+e.dir>=e.line.length?e.line=null:e.pos+=e.dir}function a(e,t,n,r){var a={line:e.getLine(t),ln:t,pos:n,dir:r};if(""===a.line)return{ln:a.ln,pos:a.pos};var s=a.pos;for(i(a);null!==a.line;){if(s=a.pos,z(a.line[a.pos])){if(o){for(i(a);null!==a.line&&U(a.line[a.pos]);)s=a.pos,i(a);return{ln:a.ln,pos:s+1}}return{ln:a.ln,pos:a.pos+1}}i(a)}return{ln:a.ln,pos:s+1}}function s(e,t,n,r){var a=e.getLine(t),s={line:a,ln:t,pos:n,dir:r};if(""===s.line)return{ln:s.ln,pos:s.pos};var c=s.pos;for(i(s);null!==s.line;){if(U(s.line[s.pos])||z(s.line[s.pos])){if(z(s.line[s.pos]))return o&&U(s.line[s.pos+1])?{ln:s.ln,pos:s.pos+1}:{ln:s.ln,pos:c}}else c=s.pos;i(s)}return s.line=a,o&&U(s.line[s.pos])?{ln:s.ln,pos:s.pos}:{ln:s.ln,pos:c}}for(var c={ln:t.line,pos:t.ch};n>0;)c=r<0?s(e,c.ln,c.pos,r):a(e,c.ln,c.pos,r),n--;return new y(c.ln,c.pos)}function Qe(){}function Ge(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Qe)}function Xe(e,t){var n=Ze(e,t)||[];if(!n.length)return[];var r=[];if(0===n[0]){for(var o=0;o<n.length;o++)"number"==typeof n[o]&&r.push(e.substring(n[o]+1,n[o+1]));return r}}function Ze(e,t){t||(t="/");for(var n=!1,r=[],o=0;o<e.length;o++){var i=e.charAt(o);n||i!=t||r.push(o),n=!n&&"\\"==i}return r}Q("pcre",!0,"boolean"),Qe.prototype={getQuery:function(){return Z.query},setQuery:function(e){Z.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return Z.isReversed},setReversed:function(e){Z.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Ye={"\\n":"\n","\\r":"\r","\\t":"\t"},et={"\\/":"/","\\\\":"\\","\\n":"\n","\\r":"\r","\\t":"\t","\\&":"&"};function tt(e){"string"==typeof e&&(e=document.createElement(e));for(var t,n=1;n<arguments.length;n++)if(t=arguments[n])if("object"!=typeof t&&(t=document.createTextNode(t)),t.nodeType)e.appendChild(t);else for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&("$"===r[0]?e.style[r.slice(1)]=t[r]:e.setAttribute(r,t[r]));return e}function nt(e,t){var n=tt("div",{$color:"red",$whiteSpace:"pre",class:"cm-vim-message"},t);e.openNotification?e.openNotification(n,{bottom:!0,duration:5e3}):alert(n.innerText)}function rt(e,t){var n,r,o=(n=t.prefix,r=t.desc,tt(document.createDocumentFragment(),tt("span",{$fontFamily:"monospace",$whiteSpace:"pre"},n,tt("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false"})),r&&tt("span",{$color:"#888"},r)));if(e.openDialog)e.openDialog(o,t.onClose,{onKeyDown:t.onKeyDown,onKeyUp:t.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:t.value});else{var i="";"string"!=typeof t.prefix&&t.prefix&&(i+=t.prefix.textContent),t.desc&&(i+=" "+t.desc),t.onClose(prompt(i,""))}}function ot(e,t,n,r){if(t){var o=Ge(e),i=function(e,t,n){if(Z.registerController.getRegister("/").setText(e),e instanceof RegExp)return e;var r,o,i=Ze(e,"/");return i.length?(r=e.substring(0,i[0]),o=-1!=e.substring(i[0]).indexOf("i")):r=e,r?(X("pcre")||(r=function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var o=e.charAt(r)||"",i=e.charAt(r+1)||"",a=i&&-1!="|(){".indexOf(i);t?("\\"===o&&a||n.push(o),t=!1):"\\"===o?(t=!0,i&&-1!="}".indexOf(i)&&(a=!0),a&&"\\"!==i||n.push(o)):(n.push(o),a&&"\\"!==i&&n.push("\\"))}return n.join("")}(r)),n&&(t=/^[^A-Z]*$/.test(r)),new RegExp(r,t||o?"im":"m")):null}(t,!!n,!!r);if(i)return at(e,i),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var n=["global","multiline","ignoreCase","source"],r=0;r<n.length;r++){var o=n[r];if(e[o]!==t[o])return!1}return!0}return!1}(i,o.getQuery())||o.setQuery(i),i}}var it=0;function at(e,t){clearTimeout(it),it=setTimeout((function(){if(e.state.vim){var n=Ge(e),r=n.getOverlay();r&&t==r.query||(r&&e.removeOverlay(r),r=function(e){if("^"==e.source.charAt(0))var t=!0;return{token:function(n){if(!t||n.sol()){var r=n.match(e,!1);if(r)return 0==r[0].length?(n.next(),"searching"):n.sol()||(n.backUp(1),e.exec(n.next()+r[0]))?(n.match(e),"searching"):(n.next(),null);for(;!n.eol()&&(n.next(),!n.match(e,!1)););}else n.skipToEnd()},query:e}}(t),e.addOverlay(r),e.showMatchesOnScrollbar&&(n.getScrollbarAnnotate()&&n.getScrollbarAnnotate().clear(),n.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),n.setOverlay(r))}}),50)}function st(e,t,n,r){return void 0===r&&(r=1),e.operation((function(){for(var o=e.getCursor(),i=e.getSearchCursor(n,o),a=0;a<r;a++){var s=i.find(t);if(0==a&&s&&xe(i.from(),o)){var c=t?i.from():i.to();(s=i.find(t))&&!s[0]&&xe(i.from(),c)&&e.getLine(c.line).length==c.ch&&(s=i.find(t))}if(!s&&!(i=e.getSearchCursor(n,t?new y(e.lastLine()):new y(e.firstLine(),0))).find(t))return}return i.from()}))}function ct(e){var t=Ge(e);e.removeOverlay(Ge(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function lt(e){var t=e.ace.renderer;return{top:t.getFirstFullyVisibleRow(),bottom:t.getLastFullyVisibleRow()}}function ut(e,t,n){if("'"==n||"`"==n)return Z.jumpList.find(e,-1)||new y(0,0);if("."==n)return ht(e);var r=t.marks[n];return r&&r.find()}function ht(e){var t=e.ace.session.$undoManager;if(t&&t.$lastDelta)return v(t.$lastDelta.end)}var pt=function(){this.buildCommandMap_()};pt.prototype={processCommand:function(e,t,n){var r=this;e.operation((function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)}))},_processCommand:function(e,t,n){var r=e.state.vim,o=Z.registerController.getRegister(":"),i=o.toString();r.visualMode&&Pe(e);var a=new m.StringStream(t);o.setText(t);var s,c,l=n||{};l.input=t;try{this.parseInput_(e,a,l)}catch(t){throw nt(e,t.toString()),t}if(l.commandName){if(s=this.matchCommand_(l.commandName)){if(c=s.name,s.excludeFromCommandHistory&&o.setText(i),this.parseCommandArgs_(a,l,s),"exToKey"==s.type){for(var u=0;u<s.toKeys.length;u++)ie.handleKey(e,s.toKeys[u],"mapping");return}if("exToEx"==s.type)return void this.processCommand(e,s.toInput)}}else void 0!==l.line&&(c="move");if(c)try{dt[c](e,l),s&&s.possiblyAsync||!l.callback||l.callback()}catch(t){throw nt(e,t.toString()),t}else nt(e,'Not an editor command ":'+t+'"')},parseInput_:function(e,t,n){t.eatWhile(":"),t.eat("%")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),void 0!==n.line&&t.eat(",")&&(n.lineEnd=this.parseLineSpec_(e,t)));var r=t.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return n.commandName=r?r[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case".":return this.parseLineSpecOffset_(t,e.getCursor().line);case"$":return this.parseLineSpecOffset_(t,e.lastLine());case"'":var r=t.next(),o=ut(e,e.state.vim,r);if(!o)throw new Error("Mark not set");return this.parseLineSpecOffset_(t,o.line);case"-":case"+":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var n=e.match(/^([+-])?(\d+)/);if(n){var r=parseInt(n[2],10);"-"==n[1]?t-=r:t+=r}return t},parseCommandArgs_:function(e,t,n){if(!e.eol()){t.argString=e.match(/.*/)[0];var r=n.argDelimiter||/\s+/,o=Oe(t.argString).split(r);o.length&&o[0]&&(t.args=o)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var n=e.substring(0,t);if(this.commandMap_[n]){var r=this.commandMap_[n];if(0===r.name.indexOf(e))return r}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<M.length;e++){var t=M[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,t,n){if(":"!=e&&":"==e.charAt(0)){if(n)throw Error("Mode not supported for ex mappings");var r=e.substring(1);":"!=t&&":"==t.charAt(0)?this.commandMap_[r]={name:r,type:"exToEx",toInput:t.substring(1),user:!0}:this.commandMap_[r]={name:r,type:"exToKey",toKeys:t,user:!0}}else if(":"!=t&&":"==t.charAt(0)){var o={keys:e,type:"keyToEx",exArgs:{input:t.substring(1)}};n&&(o.context=n),w.unshift(o)}else o={keys:e,type:"keyToKey",toKeys:t},n&&(o.context=n),w.unshift(o)},unmap:function(e,t){if(":"!=e&&":"==e.charAt(0)){if(t)throw Error("Mode not supported for ex mappings");var n=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user)return delete this.commandMap_[n],!0}else for(var r=e,o=0;o<w.length;o++)if(r==w[o].keys&&w[o].context===t)return w.splice(o,1),!0}};var dt={colorscheme:function(e,t){!t.args||t.args.length<1?nt(e,e.getOption("theme")):e.setOption("theme",t.args[0])},map:function(e,t,n){var r=t.args;!r||r.length<2?e&&nt(e,"Invalid mapping: "+t.input):ft.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},unmap:function(e,t,n){var r=t.args;(!r||r.length<1||!ft.unmap(r[0],n))&&e&&nt(e,"No such mapping: "+t.input)},move:function(e,t){he.processCommand(e,e.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1)e&&nt(e,"Invalid mapping: "+t.input);else{var o=n[0].split("="),i=o[0],a=o[1],s=!1;if("?"==i.charAt(i.length-1)){if(a)throw Error("Trailing characters: "+t.argString);i=i.substring(0,i.length-1),s=!0}void 0===a&&"no"==i.substring(0,2)&&(i=i.substring(2),a=!1);var c=q[i]&&"boolean"==q[i].type;if(c&&null==a&&(a=!0),!c&&void 0===a||s){var l=X(i,e,r);l instanceof Error?nt(e,l.message):nt(e,!0===l||!1===l?" "+(l?"":"no")+i:" "+i+"="+l)}else{var u=G(i,a,e,r);u instanceof Error&&nt(e,u.message)}}},setlocal:function(e,t){t.setCfg={scope:"local"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:"global"},this.set(e,t)},registers:function(e,t){var n=t.args,r=Z.registerController.registers,o="----------Registers----------\n\n";if(n){n=n.join("");for(var i=0;i<n.length;i++)a=n.charAt(i),Z.registerController.isValidRegister(a)&&(o+='"'+a+" "+(r[a]||new ce).toString()+"\n")}else for(var a in r){var s=r[a].toString();s.length&&(o+='"'+a+" "+s+"\n")}nt(e,o)},sort:function(e,t){var n,r,o,i,a,s=function(){if(t.argString){var e=new m.StringStream(t.argString);if(e.eat("!")&&(n=!0),e.eol())return;if(!e.eatSpace())return"Invalid arguments";var s=e.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!s&&!e.eol())return"Invalid arguments";if(s[1]){r=-1!=s[1].indexOf("i"),o=-1!=s[1].indexOf("u");var c=-1!=s[1].indexOf("d")||-1!=s[1].indexOf("n")&&1,l=-1!=s[1].indexOf("x")&&1,u=-1!=s[1].indexOf("o")&&1;if(c+l+u>1)return"Invalid arguments";i=(c?"decimal":l&&"hex")||u&&"octal"}s[2]&&(a=new RegExp(s[2].substr(1,s[2].length-2),r?"i":""))}}();if(s)nt(e,s+": "+t.argString);else{var c=t.line||e.firstLine(),l=t.lineEnd||t.line||e.lastLine();if(c!=l){var u=new y(c,0),h=new y(l,Le(e,l)),p=e.getRange(u,h).split("\n"),d=a||("decimal"==i?/(-?)([\d]+)/:"hex"==i?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==i?/([0-7]+)/:null),f="decimal"==i?10:"hex"==i?16:"octal"==i?8:null,g=[],v=[];if(i||a)for(var C=0;C<p.length;C++){var k=a?p[C].match(a):null;k&&""!=k[0]?g.push(k):!a&&d.exec(p[C])?g.push(p[C]):v.push(p[C])}else v=p;if(g.sort(a?function(e,t){var o;return n&&(o=e,e=t,t=o),r&&(e[0]=e[0].toLowerCase(),t[0]=t[0].toLowerCase()),e[0]<t[0]?-1:1}:M),a)for(C=0;C<g.length;C++)g[C]=g[C].input;else i||v.sort(M);if(p=n?g.concat(v):v.concat(g),o){var w,x=p;for(p=[],C=0;C<x.length;C++)x[C]!=w&&p.push(x[C]),w=x[C]}e.replaceRange(p.join("\n"),u,h)}}function M(e,t){var o;n&&(o=e,e=t,t=o),r&&(e=e.toLowerCase(),t=t.toLowerCase());var a=i&&d.exec(e),s=i&&d.exec(t);return a?(a=parseInt((a[1]+a[2]).toLowerCase(),f))-(s=parseInt((s[1]+s[2]).toLowerCase(),f)):e<t?-1:1}},vglobal:function(e,t){this.global(e,t)},global:function(e,t){var n=t.argString;if(n){var r,o="v"===t.commandName[0],i=void 0!==t.line?t.line:e.firstLine(),a=t.lineEnd||t.line||e.lastLine(),s=function(e){return Xe(e,"/")}(n),c=n;if(s.length&&(c=s[0],r=s.slice(1,s.length).join("/")),c)try{ot(e,c,!0,!0)}catch(t){return void nt(e,"Invalid regex: "+c)}for(var l=Ge(e).getQuery(),u=[],h=i;h<=a;h++){var p=e.getLineHandle(h);l.test(p.text)!==o&&u.push(r?p:p.text)}if(r){var d=0,f=function(){if(d<u.length){var t=u[d++],n=e.getLineNumber(t);if(null==n)return void f();var o=n+1+r;ft.processCommand(e,o,{callback:f})}};f()}else nt(e,u.join("\n"))}else nt(e,"Regular Expression missing from global")},substitute:function(e,t){if(!e.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var n,r,o,i,a=t.argString,s=a?Xe(a,a[0]):[],c="",l=!1,u=!1;if(s.length)n=s[0],X("pcre")&&""!==n&&(n=new RegExp(n).source),void 0!==(c=s[1])&&(c=X("pcre")?function(e){for(var t=new m.StringStream(e),n=[];!t.eol();){for(;t.peek()&&"\\"!=t.peek();)n.push(t.next());var r=!1;for(var o in et)if(t.match(o,!0)){r=!0,n.push(et[o]);break}r||n.push(t.next())}return n.join("")}(c.replace(/([^\\])&/g,"$1$$&")):function(e){for(var t,n=!1,r=[],o=-1;o<e.length;o++){var i=e.charAt(o)||"",a=e.charAt(o+1)||"";Ye[i+a]?(r.push(Ye[i+a]),o++):n?(r.push(i),n=!1):"\\"===i?(n=!0,t=a,B.test(t)||"$"===a?r.push("$"):"/"!==a&&"\\"!==a&&r.push("\\")):("$"===i&&r.push("$"),r.push(i),"/"===a&&r.push("\\"))}return r.join("")}(c),Z.lastSubstituteReplacePart=c),r=s[2]?s[2].split(" "):[];else if(a&&a.length)return void nt(e,"Substitutions should be of the form :s/pattern/replace/");if(r&&(o=r[0],i=parseInt(r[1]),o&&(-1!=o.indexOf("c")&&(l=!0),-1!=o.indexOf("g")&&(u=!0),n=X("pcre")?n+"/"+o:n.replace(/\//g,"\\/")+"/"+o)),n)try{ot(e,n,!0,!0)}catch(t){return void nt(e,"Invalid regex: "+n)}if(void 0!==(c=c||Z.lastSubstituteReplacePart)){var h=Ge(e).getQuery(),p=void 0!==t.line?t.line:e.getCursor().line,d=t.lineEnd||p;p==e.firstLine()&&d==e.lastLine()&&(d=1/0),i&&(d=(p=d)+i-1);var f=ge(e,new y(p,0)),g=e.getSearchCursor(h,f);!function(e,t,n,r,o,i,a,s,c){e.state.vim.exMode=!0;var l,u,h,p=!1;function d(){e.operation((function(){for(;!p;)f(),g();v()}))}function f(){var t=e.getRange(i.from(),i.to()).replace(a,s),n=i.to().line;i.replace(t),u=i.to().line,o+=u-n,h=u<n}function g(){for(;c=void 0,d=void 0,c=l&&we(i.to()),(d=i.findNext())&&!d[0]&&c&&xe(i.from(),c)&&(d=i.findNext()),d&&(t=i.from(),a=r,s=o,"number"!=typeof t&&(t=t.line),a instanceof Array?J(t,a):"number"==typeof s?t>=a&&t<=s:t==a);)if(n||i.from().line!=u||h)return e.scrollIntoView(i.from(),30),e.setSelection(i.from(),i.to()),l=i.from(),void(p=!1);var t,a,s,c,d;p=!0}function v(t){if(t&&t(),e.focus(),l){e.setCursor(l);var n=e.state.vim;n.exMode=!1,n.lastHPos=n.lastHSPos=l.ch}c&&c()}if(g(),!p)return t?void rt(e,{prefix:tt("span","replace with ",tt("strong",s)," (y/n/a/q/l)"),onKeyDown:function(t,n,r){switch(m.e_stop(t),m.keyName(t)){case"Y":f(),g();break;case"N":g();break;case"A":var o=c;c=void 0,e.operation(d),c=o;break;case"L":f();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":v(r)}return p&&v(r),!0}}):(d(),void(c&&c()));nt(e,"No matches for "+a.source)}(e,l,u,p,d,g,h,c,t.callback)}else nt(e,"No previous substitute regular expression")},redo:m.commands.redo,undo:m.commands.undo,write:function(e){m.commands.save?m.commands.save(e):e.save&&e.save()},nohlsearch:function(e){ct(e)},yank:function(e){var t=we(e.getCursor()).line,n=e.getLine(t);Z.registerController.pushText("0","yank",n,!0,!0)},delmarks:function(e,t){if(t.argString&&Oe(t.argString))for(var n=e.state.vim,r=new m.StringStream(Oe(t.argString));!r.eol();){r.eatSpace();var o=r.pos;if(!r.match(/[a-zA-Z]/,!1))return void nt(e,"Invalid argument: "+t.argString.substring(o));var i=r.next();if(r.match("-",!0)){if(!r.match(/[a-zA-Z]/,!1))return void nt(e,"Invalid argument: "+t.argString.substring(o));var a=i,s=r.next();if(!(j(a)&&j(s)||W(a)&&W(s)))return void nt(e,"Invalid argument: "+a+"-");var c=a.charCodeAt(0),l=s.charCodeAt(0);if(c>=l)return void nt(e,"Invalid argument: "+t.argString.substring(o));for(var u=0;u<=l-c;u++){var h=String.fromCharCode(c+u);delete n.marks[h]}}else delete n.marks[i]}else nt(e,"Argument required")}},ft=new pt;function mt(e){var t=e.state.vim,n=Z.macroModeState,r=Z.registerController.getRegister("."),o=n.isPlaying,i=n.lastInsertModeChanges;o||(e.off("change",yt),m.off(e.getInputField(),"keydown",xt)),!o&&t.insertModeRepeat>1&&(Mt(e,t,t.insertModeRepeat-1,!0),t.lastEditInputState.repeatOverride=t.insertModeRepeat),delete t.insertModeRepeat,t.insertMode=!1,e.setCursor(e.getCursor().line,e.getCursor().ch-1),e.setOption("keyMap","vim"),e.setOption("disableInput",!0),e.toggleOverwrite(!1),r.setText(i.changes.join("")),m.signal(e,"vim-mode-change",{mode:"normal"}),n.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,n=Z.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}}(n)}function gt(e){w.unshift(e)}function vt(e,t,n,r){var o=Z.registerController.getRegister(r);if(":"==r)return o.keyBuffer[0]&&ft.processCommand(e,o.keyBuffer[0]),void(n.isPlaying=!1);var i=o.keyBuffer,a=0;n.isPlaying=!0,n.replaySearchQueries=o.searchQueries.slice(0);for(var s=0;s<i.length;s++)for(var c,l,u=i[s];u;)if(l=(c=/<\w+-.+?>|<\w+>|./.exec(u))[0],u=u.substring(c.index+l.length),ie.handleKey(e,l,"macro"),t.insertMode){var h=o.insertModeChanges[a++].changes;Z.macroModeState.lastInsertModeChanges.changes=h,St(e,h,1),mt(e)}n.isPlaying=!1}function yt(e,t){var n=Z.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(;t;){if(r.expectCursorActivityForChange=!0,r.ignoreCount>1)r.ignoreCount--;else if("+input"==t.origin||"paste"==t.origin||void 0===t.origin){var o=e.listSelections().length;o>1&&(r.ignoreCount=o);var i=t.text.join("\n");r.maybeReset&&(r.changes=[],r.maybeReset=!1),i&&(e.state.overwrite&&!/\n/.test(i)?r.changes.push([i]):r.changes.push(i))}t=t.next}}function Ct(e){var t=e.state.vim;if(t.insertMode){var n=Z.macroModeState;if(n.isPlaying)return;var r=n.lastInsertModeChanges;r.expectCursorActivityForChange?r.expectCursorActivityForChange=!1:r.maybeReset=!0}else e.curOp.isVimOp||kt(e,t)}function kt(e,t,n){var r=e.getCursor("anchor"),o=e.getCursor("head");if(t.visualMode&&!e.somethingSelected()?Pe(e,!1):t.visualMode||t.insertMode||!e.somethingSelected()||(t.visualMode=!0,t.visualLine=!1,m.signal(e,"vim-mode-change",{mode:"visual"})),t.visualMode){var i=Me(o,r)?0:-1,a=Me(o,r)?-1:0;o=ye(o,0,i),r=ye(r,0,a),t.sel={anchor:r,head:o},Ue(e,t,"<",Se(o,r)),Ue(e,t,">",Ae(o,r))}else t.insertMode||n||(t.lastHPos=e.getCursor().ch)}function wt(e){this.keyName=e}function xt(e){var t=Z.macroModeState.lastInsertModeChanges,n=m.keyName(e);n&&(-1==n.indexOf("Delete")&&-1==n.indexOf("Backspace")||m.lookupKey(n,"vim-insert",(function(){return t.maybeReset&&(t.changes=[],t.maybeReset=!1),t.changes.push(new wt(n)),!0})))}function Mt(e,t,n,r){var o=Z.macroModeState;o.isPlaying=!0;var i=!!t.lastEditActionCommand,a=t.inputState;function s(){i?he.processAction(e,t,t.lastEditActionCommand):he.evalInput(e,t)}function c(n){if(o.lastInsertModeChanges.changes.length>0){n=t.lastEditActionCommand?n:1;var r=o.lastInsertModeChanges;St(e,r.changes,n)}}if(t.inputState=t.lastEditInputState,i&&t.lastEditActionCommand.interlaceInsertRepeat)for(var l=0;l<n;l++)s(),c(1);else r||s(),c(n);t.inputState=a,t.insertMode&&!r&&mt(e),o.isPlaying=!1}function St(e,t,n){function r(t){return"string"==typeof t?m.commands[t](e):t(e),!0}var o=e.getCursor("head"),i=Z.macroModeState.lastInsertModeChanges.visualBlock;i&&(Re(e,o,i+1),n=e.listSelections().length,e.setCursor(o));for(var a=0;a<n;a++){i&&e.setCursor(ye(o,a,0));for(var s=0;s<t.length;s++){var c=t[s];if(c instanceof wt)m.lookupKey(c.keyName,"vim-insert",r);else if("string"==typeof c)e.replaceSelection(c);else{var l=e.getCursor(),u=ye(l,0,c[0].length);e.replaceRange(c[0],l,u),e.setCursor(u)}}}i&&e.setCursor(ye(o,0,1))}m.keyMap.vim={attach:L,detach:b,call:O},Q("insertModeEscKeysTimeout",200,"number"),m.keyMap["vim-insert"]={fallthrough:["default"],attach:L,detach:b,call:O},m.keyMap["vim-replace"]={Backspace:"goCharLeft",fallthrough:["vim-insert"],attach:L,detach:b,call:O},oe(),m.Vim=ie;var At={return:"CR",backspace:"BS",delete:"Del",esc:"Esc",left:"Left",right:"Right",up:"Up",down:"Down",space:"Space",insert:"Ins",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",enter:"CR"},bt=ie.handleKey.bind(ie);function Lt(e){var t=new e.constructor;return Object.keys(e).forEach((function(n){var r=e[n];Array.isArray(r)?r=r.slice():r&&"object"==typeof r&&r.constructor!=Object&&(r=Lt(r)),t[n]=r})),e.sel&&(t.sel={head:e.sel.head&&we(e.sel.head),anchor:e.sel.anchor&&we(e.sel.anchor)}),t}function Ot(e,t,n){var r=!1,o=ie.maybeInitVimState_(e),i=o.visualBlock||o.wasInVisualBlock,a=e.ace.inMultiSelectMode;if(o.wasInVisualBlock&&!a?o.wasInVisualBlock=!1:a&&o.visualBlock&&(o.wasInVisualBlock=!0),"<Esc>"!=t||o.insertMode||o.visualMode||!a)if(i||!a||e.ace.inVirtualSelectionMode)r=ie.handleKey(e,t,n);else{var s=Lt(o);e.operation((function(){e.ace.forEachSelection((function(){var o=e.ace.selection;e.state.vim.lastHPos=null==o.$desiredColumn?o.lead.column:o.$desiredColumn;var i=e.getCursor("head"),a=e.getCursor("anchor"),c=Me(i,a)?0:-1,l=Me(i,a)?-1:0;i=ye(i,0,c),a=ye(a,0,l),e.state.vim.sel.head=i,e.state.vim.sel.anchor=a,r=bt(e,t,n),o.$desiredColumn=-1==e.state.vim.lastHPos?null:e.state.vim.lastHPos,e.virtualSelectionMode()&&(e.state.vim=Lt(s))})),e.curOp.cursorActivity&&!r&&(e.curOp.cursorActivity=!1)}),!0)}else e.ace.exitMultiSelectMode();return!r||o.visualMode||o.insert||o.visualMode==e.somethingSelected()||kt(e,o,!0),r}ie.handleKey=function(e,t,n){return e.operation((function(){return bt(e,t,n)}),!0)},t.CodeMirror=m;var Tt=ie.maybeInitVimState_;function Et(e,t){t.off("beforeEndOperation",Et);var n=t.state.cm.vimCmd;n&&t.execCommand(n.exec?n:n.name,n.args),t.curOp=t.prevOp}t.handler={$id:"ace/keyboard/vim",drawCursor:function(e,t,n,o,a){var s=this.state.vim||{},c=n.characterWidth,l=n.lineHeight,u=t.top,h=t.left;s.insertMode||!(o.cursor?r.comparePoints(o.cursor,o.start)<=0:a.selection.isBackwards()||a.selection.isEmpty())&&h>c&&(h-=c),!s.insertMode&&s.status&&(u+=l/=2),i.translate(e,h,u),i.setStyle(e.style,"width",c+"px"),i.setStyle(e.style,"height",l+"px")},$getDirectionForHighlight:function(e){var t=e.state.cm;if(!Tt(t).insertMode)return e.session.selection.isBackwards()||e.session.selection.isEmpty()},handleKeyboard:function(e,t,n,r,o){var i=e.editor,a=i.state.cm,s=Tt(a);if(-1!=r){if(s.insertMode||(-1==t?(n.charCodeAt(0)>255&&e.inputKey&&(n=e.inputKey)&&4==e.inputHash&&(n=n.toUpperCase()),e.inputChar=n):4==t||0==t?e.inputKey==n&&e.inputHash==t&&e.inputChar?(n=e.inputChar,t=-1):(e.inputChar=null,e.inputKey=n,e.inputHash=t):e.inputChar=e.inputKey=null),a.state.overwrite&&s.insertMode&&"backspace"==n&&0==t)return{command:"gotoleft"};if("c"==n&&1==t&&!u.isMac&&i.getCopyText())return i.once("copy",(function(){s.insertMode?i.selection.clearSelection():a.operation((function(){Pe(a)}))})),{command:"null",passEvent:!0};if("esc"==n&&!s.insertMode&&!s.visualMode&&!a.ace.inMultiSelectMode){var c=Ge(a).getOverlay();c&&a.removeOverlay(c)}if(-1==t||1&t||0===t&&n.length>1){var l=s.insertMode,h=function(e,t,n){t.length>1&&"n"==t[0]&&(t=t.replace("numpad","")),t=At[t]||t;var r="";return n.ctrlKey&&(r+="C-"),n.altKey&&(r+="A-"),(r||t.length>1)&&n.shiftKey&&(r+="S-"),(r+=t).length>1&&(r="<"+r+">"),r}(0,n,o||{});null==s.status&&(s.status="");var p=Ot(a,h,"user");if(s=Tt(a),p&&null!=s.status?s.status+=h:null==s.status&&(s.status=""),a._signal("changeStatus"),!p&&(-1!=t||l))return;return{command:"null",passEvent:!p}}}},attach:function(e){e.state||(e.state={});var t=new m(e);function n(){var n=Tt(t).insertMode;t.ace.renderer.setStyle("normal-mode",!n),e.textInput.setCommandMode(!n),e.renderer.$keepTextAreaAtCursor=n,e.renderer.$blockCursor=!n}e.state.cm=t,e.$vimModeHandler=this,m.keyMap.vim.attach(t),Tt(t).status=null,t.on("vim-command-done",(function(){t.virtualSelectionMode()||(Tt(t).status=null,t.ace._signal("changeStatus"),t.ace.session.markUndoGroup())})),t.on("changeStatus",(function(){t.ace.renderer.updateCursor(),t.ace._signal("changeStatus")})),t.on("vim-mode-change",(function(){t.virtualSelectionMode()||(n(),t._signal("changeStatus"))})),n(),e.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(t)},detach:function(e){var t=e.state.cm;m.keyMap.vim.detach(t),t.destroy(),e.state.cm=null,e.$vimModeHandler=null,e.renderer.$cursorLayer.drawCursor=null,e.renderer.setStyle("normal-mode",!1),e.textInput.setCommandMode(!1),e.renderer.$keepTextAreaAtCursor=!0},getStatusText:function(e){var t=e.state.cm,n=Tt(t);if(n.insertMode)return"INSERT";var r="";return n.visualMode&&(r+="VISUAL",n.visualLine&&(r+=" LINE"),n.visualBlock&&(r+=" BLOCK")),n.status&&(r+=(r?" ":"")+n.status),r}},ie.defineOption({name:"wrap",set:function(e,t){t&&t.ace.setOption("wrap",e)},type:"boolean"},!1),ie.defineEx("write","w",(function(){console.log(":write is not implemented")})),w.push({keys:"zc",type:"action",action:"fold",actionArgs:{open:!1}},{keys:"zC",type:"action",action:"fold",actionArgs:{open:!1,all:!0}},{keys:"zo",type:"action",action:"fold",actionArgs:{open:!0}},{keys:"zO",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"za",type:"action",action:"fold",actionArgs:{toggle:!0}},{keys:"zA",type:"action",action:"fold",actionArgs:{toggle:!0,all:!0}},{keys:"zf",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"zd",type:"action",action:"fold",actionArgs:{open:!0,all:!0}},{keys:"<C-A-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAbove"}},{keys:"<C-A-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelow"}},{keys:"<C-A-S-k>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorAboveSkipCurrent"}},{keys:"<C-A-S-j>",type:"action",action:"aceCommand",actionArgs:{name:"addCursorBelowSkipCurrent"}},{keys:"<C-A-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreBefore"}},{keys:"<C-A-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectMoreAfter"}},{keys:"<C-A-S-h>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextBefore"}},{keys:"<C-A-S-l>",type:"action",action:"aceCommand",actionArgs:{name:"selectNextAfter"}}),w.push({keys:"gq",type:"operator",operator:"hardWrap"}),ie.defineOperator("hardWrap",(function(e,t,n,r,o){var i=n[0].anchor.line,a=n[0].head.line;return t.linewise&&a--,f(e.ace,{startRow:i,endRow:a}),y(a,0)})),Q("textwidth",void 0,"number",["tw"],(function(e,t){if(void 0!==t){if(void 0===e)return t.ace.getOption("printMarginColumn");var n=Math.round(e);n>1&&t.ace.setOption("printMarginColumn",n)}})),me.aceCommand=function(e,t,n){e.vimCmd=t,e.ace.inVirtualSelectionMode?e.ace.on("beforeEndOperation",Et):Et(0,e.ace)},me.fold=function(e,t,n){e.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][(t.all?2:0)+(t.open?1:0)])},t.handler.defaultKeymap=w,t.handler.actions=me,t.Vim=ie})),ace.require(["ace/keyboard/vim"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));
@@ -1 +0,0 @@
1
- ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},i.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(i,o),i.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},i.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},i.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=i})),ace.define("ace/mode/d_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],(function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,a=function(){var e="class|struct|union|template|interface|enum|macro",t={token:"constant.language.escape",regex:"\\\\(?:(?:x[0-9A-F]{2})|(?:[0-7]{1,3})|(?:['\"\\?0abfnrtv\\\\])|(?:u[0-9a-fA-F]{4})|(?:U[0-9a-fA-F]{8}))"},n="/|/\\=|&|&\\=|&&|\\|\\|\\=|\\|\\||\\-|\\-\\=|\\-\\-|\\+|\\+\\=|\\+\\+|\\<|\\<\\=|\\<\\<|\\<\\<\\=|\\<\\>|\\<\\>\\=|\\>|\\>\\=|\\>\\>\\=|\\>\\>\\>\\=|\\>\\>|\\>\\>\\>|\\!|\\!\\=|\\!\\<\\>|\\!\\<\\>\\=|\\!\\<|\\!\\<\\=|\\!\\>|\\!\\>\\=|\\?|\\$|\\=|\\=\\=|\\*|\\*\\=|%|%\\=|\\^|\\^\\=|\\^\\^|\\^\\^\\=|~|~\\=|\\=\\>|#",r=this.$keywords=this.createKeywordMapper({"keyword.modifier":"abstract|align|debug|deprecated|export|extern|const|final|in|inout|out|ref|immutable|lazy|nothrow|override|package|pragma|private|protected|public|pure|scope|shared|__gshared|synchronized|static|volatile","keyword.control":"break|case|continue|default|do|else|for|foreach|foreach_reverse|goto|if|return|switch|while|catch|try|throw|finally|version|assert|unittest|with","keyword.type":"auto|bool|char|dchar|wchar|byte|ubyte|float|double|real|cfloat|creal|cdouble|cent|ifloat|ireal|idouble|int|long|short|void|uint|ulong|ushort|ucent|function|delegate|string|wstring|dstring|size_t|ptrdiff_t|hash_t|Object",keyword:"this|super|import|module|body|mixin|__traits|invariant|alias|asm|delete|typeof|typeid|sizeof|cast|new|in|is|typedef|__vector|__parameters","keyword.storage":e,punctation:"\\.|\\,|;|\\.\\.|\\.\\.\\.","keyword.operator":n,"constant.language":"null|true|false|__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__"},"identifier"),i="[a-zA-Z_¡-￿][a-zA-Z\\d_¡-￿]*\\b";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},o.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"star-comment"},{token:"comment.shebang",regex:"^\\s*#!.*"},{token:"comment",regex:"\\/\\+",next:"plus-comment"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[\\[\\(\\{\\<]+)',next:"operator-heredoc-string"},{onMatch:function(e,t,n){return n.unshift(this.next,e.substr(2)),"string"},regex:'q"(?:[a-zA-Z_]+)$',next:"identifier-heredoc-string"},{token:"string",regex:'[xr]?"',next:"quote-string"},{token:"string",regex:"[xr]?`",next:"backtick-string"},{token:"string",regex:"[xr]?['](?:(?:\\\\.)|(?:[^'\\\\]))*?['][cdw]?"},{token:["keyword","text","paren.lparen"],regex:/(asm)(\s*)({)/,next:"d-asm"},{token:["keyword","text","paren.lparen","constant.language"],regex:"(__traits)(\\s*)(\\()("+i+")"},{token:["keyword","text","variable.module"],regex:"(import|module)(\\s+)((?:"+i+"\\.?)*)"},{token:["keyword.storage","text","entity.name.type"],regex:"("+e+")(\\s*)("+i+")"},{token:["keyword","text","variable.storage","text"],regex:"(alias|typedef)(\\s*)("+i+")(\\s*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F_]+(l|ul|u|f|F|L|U|UL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d[\\d_]*(?:(?:\\.[\\d_]*)?(?:[eE][+-]?[\\d_]+)?)?(l|ul|u|f|F|L|U|UL)?\\b"},{token:"entity.other.attribute-name",regex:"@"+i},{token:r,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:n},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\.|\\:"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],"star-comment":[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],"plus-comment":[{token:"comment",regex:"\\+\\/",next:"start"},{defaultToken:"comment"}],"quote-string":[t,{token:"string",regex:'"[cdw]?',next:"start"},{defaultToken:"string"}],"backtick-string":[t,{token:"string",regex:"`[cdw]?",next:"start"},{defaultToken:"string"}],"operator-heredoc-string":[{onMatch:function(e,t,n){e=e.substring(e.length-2,e.length-1);var r={">":"<","]":"[",")":"(","}":"{"};return-1!=Object.keys(r).indexOf(e)&&(e=r[e]),e!=n[1]||(n.shift(),n.shift()),"string"},regex:'(?:[\\]\\)}>]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"identifier-heredoc-string":[{onMatch:function(e,t,n){return(e=e.substring(0,e.length-1))!=n[1]||(n.shift(),n.shift()),"string"},regex:'^(?:[A-Za-z_][a-zA-Z0-9]+)"',next:"start"},{token:"string",regex:"[^\\]\\)}>]+"}],"d-asm":[{token:"paren.rparen",regex:"\\}",next:"start"},{token:"keyword.instruction",regex:"[a-zA-Z]+",next:"d-asm-instruction"},{token:"text",regex:"\\s+"}],"d-asm-instruction":[{token:"constant.language",regex:/AL|AH|AX|EAX|BL|BH|BX|EBX|CL|CH|CX|ECX|DL|DH|DX|EDX|BP|EBP|SP|ESP|DI|EDI|SI|ESI/i},{token:"identifier",regex:"[a-zA-Z]+"},{token:"string",regex:'"[^"]*"'},{token:"comment",regex:"//.*$"},{token:"constant.numeric",regex:"[0-9.xA-F]+"},{token:"punctuation.operator",regex:"\\,"},{token:"punctuation.operator",regex:";",next:"d-asm"},{token:"text",regex:"\\s+"}]},this.embedRules(o,"doc-",[o.getEndRule("start")])};a.metaData={comment:"D language",fileTypes:["d","di"],firstLineMatch:"^#!.*\\b[glr]?dmd\\b.",foldingStartMarker:"(?x)/\\*\\*(?!\\*)|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))",foldingStopMarker:"(?<!\\*)\\*\\*/|^\\s*\\}",keyEquivalent:"^~D",name:"D",scopeName:"source.d"},r.inherits(a,i),t.DHighlightRules=a})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,n){"use strict";var r=e("../../lib/oop"),o=e("../../range").Range,i=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,i),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(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);if(o=i.match(this.foldingStartMarker)){var a=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,a);var s=e.getCommentFoldRange(n,a+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}return"markbegin"!==t&&(o=i.match(this.foldingStopMarker))?(a=o.index+o[0].length,o[1]?this.closingBracketBlock(e,o[1],n,a):e.getCommentFoldRange(n,a,-1)):void 0},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),i=t,a=n.length,s=t+=1,g=e.getLength();++t<g;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(r>l)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=i)break;if(c.isMultiLine())t=c.end.row;else if(r==l)break}s=t}}return new o(i,a,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),i=e.getLength(),a=n,s=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,g=1;++n<i;){t=e.getLine(n);var l=s.exec(t);if(l&&(l[1]?g--:g++,!g))break}if(n>a)return new o(a,r,n,t.length)}}.call(a.prototype)})),ace.define("ace/mode/d",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/d_highlight_rules","ace/mode/folding/cstyle"],(function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,i=e("./d_highlight_rules").DHighlightRules,a=e("./folding/cstyle").FoldMode,s=function(){this.HighlightRules=i,this.foldingRules=new a,this.$behaviour=this.$defaultBehaviour};r.inherits(s,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/d"}.call(s.prototype),t.Mode=s})),ace.require(["ace/mode/d"],(function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}));