openc3-cosmos-tool-admin 6.6.0 → 6.7.0

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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/{ArrayWidget-Ck6pzAyW-779601a040a8ed9276d2.js → ArrayWidget-BSG8KEtf-20ba46b888f4d0a2ab13.js} +2 -2
  3. data/tools/admin/ArrayplotWidget-WVu76Kqn-c5d631acd4826caf9a2b.js +1 -0
  4. data/tools/admin/{BarColumn-Bgz2YJ59-4353a43b097fda230751.js → BarColumn-Cflh9pUz-abe81b153e1d09452376.js} +1 -1
  5. data/tools/admin/BlockWidget-B7ryWGCq-14457dcee8d216a445db.js +2 -0
  6. data/tools/admin/{ButtonWidget-D_tupiPB-e56e03cfe8a69e89513e.js → ButtonWidget-BKih3ix9-d65410874af26ea05dda.js} +2 -2
  7. data/tools/admin/CanvasWidget-DT9xMSfb-7a50f1c52a3a5cc3b707.js +1 -0
  8. data/tools/admin/CanvasdotWidget-7H5Hvcn--5187351e1459e1dd6535.js +1 -0
  9. data/tools/admin/{CanvasimageWidget-CNJlzLqo-e2a7aa51bbf8312843e9.js → CanvasimageWidget-BbWYx6Gj-4460db11c86936417199.js} +1 -1
  10. data/tools/admin/{CanvasimagevalueWidget-DudwwOD6-31eaa8969a91d280b4db.js → CanvasimagevalueWidget-Blvoe2X4-2b419bf95c00863f1c4c.js} +1 -1
  11. data/tools/admin/CanvaslabelWidget-BPx_Rm4o-3d86097dc0bbe408cb4f.js +1 -0
  12. data/tools/admin/{CanvaslabelvalueWidget-CHS36Te9-3b266beb7707b9800b59.js → CanvaslabelvalueWidget-DzdWvL0W-89bf05a5d8c49efb0364.js} +1 -1
  13. data/tools/admin/CanvaslineWidget-CqskilGk-39d2192df486374badf7.js +1 -0
  14. data/tools/admin/{CanvaslinevalueWidget-DsyIDkJy-708fcfda62ae860bee49.js → CanvaslinevalueWidget-C0JIKdvZ-6d9007a1c241a73cc54e.js} +1 -1
  15. data/tools/admin/{CheckbuttonWidget-DCam7Jd0-86b0d9b7015e77ed91b2.js → CheckbuttonWidget-C9FbJx2v-e993f69eb1a426849691.js} +1 -1
  16. data/tools/admin/ComboboxWidget-BbNKT0s8-66e71387985b678f52e8.js +1 -0
  17. data/tools/admin/{DateWidget-DuJ5uC2t-c7adc2f9e6394f2d1bc8.js → DateWidget-CBMsdRUE-727a33589d5e4b7ee566.js} +1 -1
  18. data/tools/admin/DetailsDialog-DRVahE5z-2c0386cfe9009510e385.js +1 -0
  19. data/tools/admin/{DynamicWidget-CfMtj7H8-1b516670161e2b012bb0.js → DynamicWidget-CfMtj7H8-d2375e0b1602a30d4eea.js} +1 -1
  20. data/tools/admin/{FormatvalueWidget-DYICPNcx-24caf5b88530863af1a9.js → FormatvalueWidget-BLWsqhIZ-38e569045cd54673c7c7.js} +1 -1
  21. data/tools/admin/Graph-BiU56Qj2-3c747ad09b1edad1ae38.js +1 -0
  22. data/tools/admin/GraphWidget-Ga0AEfrJ-f76dc828c89b6471cbbf.js +1 -0
  23. data/tools/admin/HorizontalWidget-CsVhLwZO-da13a9c090bb08ec4344.js +1 -0
  24. data/tools/admin/HorizontalboxWidget-xC6PADl3-158bd779c176fcfddd01.js +1 -0
  25. data/tools/admin/{HorizontallineWidget-DEODVJCk-bc6a43e80f2c4b47468e.js → HorizontallineWidget-NZIxmRVN-78a8376fce4e57764ea9.js} +1 -1
  26. data/tools/admin/{IframeWidget-n8lNXrpt-6c46cfb47b60dbd50fdf.js → IframeWidget-BgzjSfag-6e48828428003053b380.js} +1 -1
  27. data/tools/admin/{ImageLoader-CfcErydq-7e23aa2cc25b26756dbb.js → ImageLoader-DbFVK1Ui-e772ff7585454a2b929e.js} +1 -1
  28. data/tools/admin/{ImageviewerWidget-DE8fj06Z-f7c319d7ab4cb139389c.js → ImageviewerWidget-BnT5m-nw-de9ac7dc8e5a5e863849.js} +1 -1
  29. data/tools/admin/{InterfacesTab-BF-Wx5gk-dae4d469b7c6636d2ee1.js → InterfacesTab-Cd_RITVP-24021c28c4cc79c2a89b.js} +1 -1
  30. data/tools/admin/{LabelWidget-iUIJLhdA-50afbcb5603618940ea4.js → LabelWidget-DSDYmz6X-55f1a88737f42055f2e2.js} +1 -1
  31. data/tools/admin/LabelledWidget-DMb-myxs-a6d38f4b7d122cb702fc.js +1 -0
  32. data/tools/admin/LabelprogressbarWidget-CkjDJBao-7fad8afe99f0f688153d.js +1 -0
  33. data/tools/admin/LabelsparklineWidget-DBYPFz3Y-b97bc67b908ad43ae84a.js +1 -0
  34. data/tools/admin/{LabelvalueWidget-oiW-JDw6-251dd3b42812012b92d2.js → LabelvalueWidget-DlTkJC4i-67a3d7f58536b7fdbe7b.js} +1 -1
  35. data/tools/admin/{LabelvaluedescWidget-Ck0AJ9g0-bf16d94c48d9560d765e.js → LabelvaluedescWidget-dRqnGZub-ae4ef207123b81d69970.js} +1 -1
  36. data/tools/admin/LabelvaluelimitsbarWidget-CS4NAPJ1-86985b928b42e358aea6.js +1 -0
  37. data/tools/admin/LabelvaluelimitscolumnWidget-D9x4Ppv8-df7cf77122322442bf4c.js +1 -0
  38. data/tools/admin/{LabelvaluerangebarWidget-Bs9locqu-7019cfc0c093901e0451.js → LabelvaluerangebarWidget-Dhyng4-n-48f8ed77e3ba71f6fd91.js} +1 -1
  39. data/tools/admin/{Layout-1z8iJV5--18c4292fcaf8fb39baf3.js → Layout-mWR35VAD-39a647edf3a2c7bcc7e0.js} +1 -1
  40. data/tools/admin/LedWidget-D8cq4pUv-bcd4f242b5818abad49f.js +1 -0
  41. data/tools/admin/{LimitsbarWidget-BxxoKTjp-d8242d9d65a9592bcbc5.js → LimitsbarWidget-VGJnDuVM-3cfca67d733b6bb6eece.js} +1 -1
  42. data/tools/admin/{LimitscolorWidget-DFDwf4In-6c4293f2156086cc5f68.js → LimitscolorWidget-CG6Pqi12-281b3f6397f79113407a.js} +1 -1
  43. data/tools/admin/{LimitscolumnWidget-CdBh2mJu-c928ad44fcb1a3114294.js → LimitscolumnWidget-DjovQdiT-18d5cd14232cb26ca07f.js} +1 -1
  44. data/tools/admin/LinegraphWidget-DSWAhXgZ-a316c027af373cbc6428.js +1 -0
  45. data/tools/admin/MatrixbycolumnsWidget-C3cuhRxz-bf95ff6809f55ee14c50.js +1 -0
  46. data/tools/admin/MicroservicesTab-Dbp02UlV-b2ad97d61b4e78b8f548.js +1 -0
  47. data/tools/admin/{OutputDialog-CcSp-Uqo-fbaabfae3953d9e070fa.js → OutputDialog-M5Xc_DqH-a239ed910e350ae7686f.js} +1 -1
  48. data/tools/admin/PackagesTab-HQCOIGZK-74801e7efb140e5b32a4.js +1 -0
  49. data/tools/admin/PluginsTab-CZApRILr-43a7620adfe4ff70420a.js +5 -0
  50. data/tools/admin/{ProgressbarWidget-Cdu5nJC3-ae5f918decd25909caad.js → ProgressbarWidget-oCgAEFBO-6d62d36197407a29ea26.js} +1 -1
  51. data/tools/admin/RadiobuttonWidget-D4Dak3lc-9af14f8876edfd7ee308.js +1 -0
  52. data/tools/admin/{RadiogroupWidget-CQN3v8Ip-168171fb0436b8c62d1a.js → RadiogroupWidget-Dbe9T4fp-205d20c3a3374a51efdf.js} +1 -1
  53. data/tools/admin/{RangebarWidget-dZN9WjoZ-6def4fdd1a80c9f7ee10.js → RangebarWidget-CIVrgqrW-a45b38d7062832440586.js} +1 -1
  54. data/tools/admin/RedisTab-B8U-vEQZ-b1dbbc4dc5eb84ea2f8e.js +1 -0
  55. data/tools/admin/{RollupWidget-i9DnNJl6-691c622c311716951642.js → RollupWidget-CH1-XNLV-3d1449d0398eab6eea3c.js} +1 -1
  56. data/tools/admin/RoutersTab-WKa6K7B8-36314d08dbea45e21fa0.js +1 -0
  57. data/tools/admin/ScrollwindowWidget-BwFG6Wn8-43d175b7375e2f894439.js +1 -0
  58. data/tools/admin/{SecretsTab-uWRVI1EE-a0f4a5e02672ea3353e9.js → SecretsTab-Vtvbb_1U-3bd2fd68c55d2e087118.js} +1 -1
  59. data/tools/admin/SettingsTab-DilFIQ3K-dda9d859454babe6c6a7.js +2 -0
  60. data/tools/admin/{SignalWidget-B_kA9eCJ-60707fbd726073ebad6d.js → SignalWidget-Gz2gHrUm-8a49663fba001cac4eff.js} +1 -1
  61. data/tools/admin/{SimpleTextDialog-BulqUrdH-76731d52443549a011a7.js → SimpleTextDialog-Cmtrmt79-9609170816297cb4f468.js} +1 -1
  62. data/tools/admin/{SpacerWidget-XoMPHak8-ea1faa6e28e899726b51.js → SpacerWidget-Bg7VDB0k-add14f816ad330e9a2e7.js} +1 -1
  63. data/tools/admin/{SparklineWidget-DQNsvEj9-967e0db01b37e23eb878.js → SparklineWidget-D_b5rfJv-cfc3f3094a4df93f1586.js} +1 -1
  64. data/tools/admin/TabbookWidget-C30f9B6z-310bff478662a78ca069.js +1 -0
  65. data/tools/admin/TargetsTab-CEPId9dL-794b06b3e676ea1d7946.js +1 -0
  66. data/tools/admin/TextboxWidget-CDqxsgys-9c634432e47faaebdb85.js +1 -0
  67. data/tools/admin/TextfieldWidget-CAyjKJs6-bc08ae97839d927befdb.js +1 -0
  68. data/tools/admin/{TimeWidget-C67uwMGH-e6a958538f751e9a3dd3.js → TimeWidget-BQsP0G2X-75f5f0b930c4e50dadf6.js} +1 -1
  69. data/tools/admin/TitleWidget-DXVba53S-71a6c71ac4cc39f3dae2.js +1 -0
  70. data/tools/admin/{ToolsTab-DKYeIlXu-900f24ca189c61db308a.js → ToolsTab-CSmjz1H7-4e604eb843eb46bf3af4.js} +2 -2
  71. data/tools/admin/{VWidget-j2GIGGSX-b209e54885cf666cf826.js → VWidget-CFTCukCL-72e7882a3fbfd94f549f.js} +1 -1
  72. data/tools/admin/ValueWidget-B-TWLPdM-1ba1d1bc65d10bcf55be.js +1 -0
  73. data/tools/admin/ValuelimitsbarWidget-jsDXdPdC-86cae1aabd46c33e233e.js +1 -0
  74. data/tools/admin/{ValuelimitscolumnWidget-HR1TNHwQ-792d41841e65195bb70f.js → ValuelimitscolumnWidget-I-uwnXM2-c3f763c94ccb0b86f320.js} +1 -1
  75. data/tools/admin/ValuerangebarWidget-OyhSTScu-4f4e30313ef6c4edcb85.js +1 -0
  76. data/tools/admin/VerticalWidget-CkFbX1Gq-585c58b950987b462cec.js +1 -0
  77. data/tools/admin/VerticalboxWidget-FEQgPM9r-9fe46aa217c5bff83355.js +1 -0
  78. data/tools/admin/{Widget-Bn_S-zBo-604800ad1a79f919b9ad.js → Widget-C3-TBgP7-607301ae75b96dae73bd.js} +1 -1
  79. data/tools/admin/main-27386b9493374f3ca41a.js +1508 -0
  80. data/tools/admin/main.js +1 -1
  81. data/tools/admin/settings-spKii1fI-96058b76a3ba925c4a2b.js +1 -0
  82. metadata +81 -80
  83. data/tools/admin/ArrayplotWidget-ntRLh6-B-4543404493b8d53f1ccc.js +0 -1
  84. data/tools/admin/BlockWidget-DGH3Zz5p-c60e945cedfcef240d20.js +0 -2
  85. data/tools/admin/CanvasWidget-CzG2jYQb-f18830408e350a8c5276.js +0 -1
  86. data/tools/admin/CanvasdotWidget-0FAaw4G2-354014b8b366b2fe00cb.js +0 -1
  87. data/tools/admin/CanvaslabelWidget-BZQp16dH-4272f8dbc6cf41abd6be.js +0 -1
  88. data/tools/admin/CanvaslineWidget-nhKEAGhs-ab32332da7b831906639.js +0 -1
  89. data/tools/admin/ComboboxWidget-ZX-k-_aK-c96fa5d26616c0100113.js +0 -1
  90. data/tools/admin/DetailsDialog-BQE0TraI-942c5fe1fc5290a1a532.js +0 -1
  91. data/tools/admin/Graph-DCihpnT0-6cf1bea3ce9c8656b5b7.js +0 -1
  92. data/tools/admin/GraphWidget-cTVq29cY-8e9eebb599d9153eeae6.js +0 -1
  93. data/tools/admin/HorizontalWidget-v1pfd94Z-cf50b3047ddc30468e5b.js +0 -1
  94. data/tools/admin/HorizontalboxWidget-B06-c_n4-9c7030525a698408d9a7.js +0 -1
  95. data/tools/admin/LabelledWidget-KI6fMlsr-82d50d76b2b125777605.js +0 -1
  96. data/tools/admin/LabelprogressbarWidget-C2lzmqBH-ed7b0b5cd24aa3cca775.js +0 -1
  97. data/tools/admin/LabelsparklineWidget-Ci6GGm29-ee5c9209312fe5ae94d0.js +0 -1
  98. data/tools/admin/LabelvaluelimitsbarWidget-aaVLaejn-41b2a62958740b4becb7.js +0 -1
  99. data/tools/admin/LabelvaluelimitscolumnWidget-Uur6aqOg-bde0b0e1d7328dcafe6a.js +0 -1
  100. data/tools/admin/LedWidget-BN8IgAxJ-9691a30e94927446da2a.js +0 -1
  101. data/tools/admin/LinegraphWidget-jXksfbPb-9b668649baa145b7e31f.js +0 -1
  102. data/tools/admin/MatrixbycolumnsWidget-DCwxPjwS-86de794317b78d392d0c.js +0 -1
  103. data/tools/admin/MicroservicesTab-B-SdMwek-bba8350c78bac3721298.js +0 -1
  104. data/tools/admin/PackagesTab-Dx25CfF0-21e4078acfb18f1e0892.js +0 -1
  105. data/tools/admin/PluginsTab-lHDR5v6S-b97df87eb009adc6aa8b.js +0 -5
  106. data/tools/admin/RadiobuttonWidget-CZZGbvdG-b9a9138e19e1bf3f76b5.js +0 -1
  107. data/tools/admin/RedisTab-CkSwEwTZ-b6fc0d9bb04904b7f0ea.js +0 -1
  108. data/tools/admin/RoutersTab-DiYEI1Nq-1069508501ed437c8433.js +0 -1
  109. data/tools/admin/ScrollwindowWidget-54GU96Ve-183b3cb6a98783f97789.js +0 -1
  110. data/tools/admin/SettingsTab-BVnr4OtU-7142a06b22e7c9f2d018.js +0 -2
  111. data/tools/admin/TabbookWidget-_HVA72t5-b92376861c537be9fa0f.js +0 -1
  112. data/tools/admin/TargetsTab-BfoRYnTP-eed4524a400e0cc4826a.js +0 -1
  113. data/tools/admin/TextboxWidget-0JXn4bMH-1f4f32fad873404e9838.js +0 -1
  114. data/tools/admin/TextfieldWidget-BXr9MkVW-e78f038fb85df8060a2a.js +0 -1
  115. data/tools/admin/TitleWidget-t_YLgUMB-695f37e785a8ae5bee94.js +0 -1
  116. data/tools/admin/ValueWidget-3jNtnh5i-74d2990510367ae00673.js +0 -1
  117. data/tools/admin/ValuelimitsbarWidget-JSceOzGS-b6763c7664dc00108304.js +0 -1
  118. data/tools/admin/ValuerangebarWidget-DnZrho8S-ce7c7bf62df762b7e4b0.js +0 -1
  119. data/tools/admin/VerticalWidget-DJvoxqLE-c9423678425ab88c12e4.js +0 -1
  120. data/tools/admin/VerticalboxWidget-CYYyLBoO-a7f9b35c7d31f5b66921.js +0 -1
  121. data/tools/admin/main-6ce07f8d99f937f91520.js +0 -1507
@@ -0,0 +1,1508 @@
1
+ System.register(["vue","vue-router","single-spa","vuex","vuetify"],function(er,Je){"use strict";var He,Wt,nt,Ne,Be,Jt,Mn,kp,_p,Ap,un,ei,Zi,Mt,bl,uu,zr,ss,Us,Sa,Sp,$p,Mp,Tp,hu,Ep,Ip,Lp,Rp,Op,du,Dp,Np,Fp,Pp,Wp,Bp,zp;return{setters:[wt=>{He=wt.resolveComponent,Wt=wt.createBlock,nt=wt.openBlock,Ne=wt.withCtx,Be=wt.createVNode,Jt=wt.createElementBlock,Mn=wt.createElementVNode,kp=wt.useCssVars,_p=wt.defineAsyncComponent,Ap=wt.Teleport,un=wt.toDisplayString,ei=wt.Fragment,Zi=wt.renderList,Mt=wt.createTextVNode,bl=wt.mergeProps,uu=wt.createSlots,zr=wt.createCommentVNode,ss=wt.normalizeStyle,Us=wt.h,Sa=wt.withModifiers,Sp=wt.toRaw,$p=wt.defineComponent,Mp=wt.warn,Tp=wt.inject,hu=wt.computed,Ep=wt.shallowRef,Ip=wt.watchEffect,Lp=wt.normalizeClass,Rp=wt.getCurrentInstance,Op=wt.provide,du=wt.createApp,Dp=wt.withDirectives,Np=wt.vShow},wt=>{Fp=wt.createRouter,Pp=wt.createWebHistory},wt=>{Wp=wt.getMountedApps},wt=>{Bp=wt.createStore},wt=>{zp=wt.createVuetify}],execute:function(){er({$:Yp,a:Kn,c:HT,f:xr,l:yn,p:Po,z:vd});var wt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(d){return Object.getOwnPropertyDescriptor(n,d).enumerable})),t.push.apply(t,r)}return t}function as(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hp(Object(t),!0).forEach(function(r){xb(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function xb(n,e,t){return(e=function(r){var d=function(p,f){if(ls(p)!=="object"||p===null)return p;var w=p[Symbol.toPrimitive];if(w!==void 0){var h=w.call(p,f);if(ls(h)!=="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return(f==="string"?String:Number)(p)}(r,"string");return ls(d)==="symbol"?d:String(d)}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function ls(n){return ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ls(n)}(function(n){if(n.CSS&&n.CSS.escape)return n.CSS.escape;var e=function(t){if(arguments.length==0)throw new TypeError("`CSS.escape` requires an argument.");for(var r,d=String(t),p=d.length,f=-1,w="",h=d.charCodeAt(0);++f<p;)(r=d.charCodeAt(f))!=0?w+=r>=1&&r<=31||r==127||f==0&&r>=48&&r<=57||f==1&&r>=48&&r<=57&&h==45?"\\"+r.toString(16)+" ":f==0&&p==1&&r==45||!(r>=128||r==45||r==95||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122)?"\\"+d.charAt(f):d.charAt(f):w+="�";return w};n.CSS||(n.CSS={}),n.CSS.escape=e})(wt);var Cb={appOptions:null,template:null,Vue:null,createApp:null,handleInstance:null};function kb(n){if(ls(n)!=="object")throw new Error("single-spa-vue requires a configuration object");var e=as(as({},Cb),n);if(!e.Vue&&!e.createApp)throw Error("single-spa-vue must be passed opts.Vue or opts.createApp");if(!e.appOptions)throw Error("single-spa-vue must be passed opts.appOptions");if(e.appOptions.el&&typeof e.appOptions.el!="string"&&!(e.appOptions.el instanceof HTMLElement))throw Error("single-spa-vue: appOptions.el must be a string CSS selector, an HTMLElement, or not provided at all. Was given ".concat(ls(e.appOptions.el)));e.createApp=e.createApp||e.Vue&&e.Vue.createApp;var t={};return{bootstrap:_b.bind(null,e,t),mount:Ab.bind(null,e,t),unmount:$b.bind(null,e,t),update:Sb.bind(null,e,t)}}function _b(n){return n.loadRootComponent?n.loadRootComponent().then(function(e){return n.rootComponent=e}):Promise.resolve()}function Ab(n,e,t){var r={};return Promise.resolve().then(function(){return function(d,p){return typeof d.appOptions=="function"?d.appOptions(p):Promise.resolve(as({},d.appOptions))}(n,t).then(function(d){var p;if(t.domElement&&!d.el&&(d.el=t.domElement),d.el)if(typeof d.el=="string"){if(!(p=document.querySelector(d.el)))throw Error("If appOptions.el is provided to single-spa-vue, the dom element must exist in the dom. Was provided as ".concat(d.el))}else(p=d.el).id||(p.id="single-spa-application:".concat(t.name)),d.el="#".concat(CSS.escape(p.id));else{var f="single-spa-application:".concat(t.name);d.el="#".concat(CSS.escape(f)),(p=document.getElementById(f))||((p=document.createElement("div")).id=f,document.body.appendChild(p))}if(!n.replaceMode&&(d.el=d.el+" .single-spa-container",!p.querySelector(".single-spa-container"))){var w=document.createElement("div");w.className="single-spa-container",p.appendChild(w)}r.domEl=p,d.render||d.template||!n.rootComponent||(d.render=function(g){return g(n.rootComponent)}),d.data||(d.data={});var h=d.data;if(d.data=function(){return as(as({},typeof h=="function"?h.call(this,this):h),t)},n.createApp){if(r.vueInstance=n.createApp(d),n.handleInstance)return Promise.resolve(n.handleInstance(r.vueInstance,t)).then(function(){return r.root=r.vueInstance.mount(d.el),e[t.name]=r,r.vueInstance});r.root=r.vueInstance.mount(d.el)}else if(r.vueInstance=new n.Vue(d),r.vueInstance.bind&&(r.vueInstance=r.vueInstance.bind(r.vueInstance)),n.handleInstance)return Promise.resolve(n.handleInstance(r.vueInstance,t)).then(function(){return e[t.name]=r,r.vueInstance});return e[t.name]=r,r.vueInstance})})}function Sb(n,e,t){return Promise.resolve().then(function(){var r=e[t.name],d=as(as({},n.appOptions.data||{}),t),p=r.root||r.vueInstance;for(var f in d)p[f]=d[f]})}function $b(n,e,t){return Promise.resolve().then(function(){var r=e[t.name];n.createApp?r.vueInstance.unmount(r.domEl):(r.vueInstance.$destroy(),r.vueInstance.$el.innerHTML=""),delete r.vueInstance,r.domEl&&(r.domEl.innerHTML="",delete r.domEl)})}const Mb=(n,e)=>{const t=n.__vccOpts||n;for(const[r,d]of e)t[r]=d;return t},Tb={};function Eb(n,e){const t=He("router-view"),r=He("v-app");return nt(),Wt(r,{id:"innerapp"},{default:Ne(()=>[Be(t)]),_:1})}const Ib=Mb(Tb,[["render",Eb]]),jp=function(n){var e;!n.name!=="NotFound"&&(n.path=`/tools/admin/${n.path.replace(/^\//,"")}`),(e=n.children)==null||e.forEach(jp)},LN="modulepreload",RN=function(n){return"/"+n},ON={},et=function(e,t,r){let d=Promise.resolve();function p(f){const w=new Event("vite:preloadError",{cancelable:!0});if(w.payload=f,window.dispatchEvent(w),!w.defaultPrevented)throw f}return d.then(f=>{for(const w of f||[])w.status==="rejected"&&p(w.reason);return e().catch(p)})},Li=er("d",(n,e)=>{const t=n.__vccOpts||n;for(const[r,d]of e)t[r]=d;return t}),Lb="/icons/customIcons.svg",pu={props:{icon:{type:String},size:{type:String,default:"small"},color:{type:String,default:"white"}},computed:{iconSrc:function(){return Lb+"#"+this.icon}}},Up=()=>{kp(n=>({"259824e2":n.color}))},Vp=pu.setup;pu.setup=Vp?(n,e)=>(Up(),Vp(n,e)):Up;const Rb={class:"cosmos-custom-icon"},Ob={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",preserveAspectRatio:"xMidYMid meet",focusable:"false"},Db=["href"];function Nb(n,e,t,r,d,p){return nt(),Jt("span",Rb,[(nt(),Jt("svg",Ob,[Mn("use",{href:p.iconSrc},null,8,Db)]))])}const Fb=Li(pu,[["render",Nb],["__scopeId","data-v-4b6f1199"]]),xl=6e4,fu=36e5,Pb=1e3,Gp=Symbol.for("constructDateFrom");function Kn(n,e){return typeof n=="function"?n(e):n&&typeof n=="object"&&Gp in n?n[Gp](e):n instanceof Date?new n.constructor(e):new Date(e)}function yn(n,e){return Kn(e||n,n)}let Wb={};function Vs(){return Wb}function No(n,e){var t,r,d,p;const f=Vs(),w=(e==null?void 0:e.weekStartsOn)??((r=(t=e==null?void 0:e.locale)==null?void 0:t.options)==null?void 0:r.weekStartsOn)??f.weekStartsOn??((p=(d=f.locale)==null?void 0:d.options)==null?void 0:p.weekStartsOn)??0,h=yn(n,e==null?void 0:e.in),g=h.getDay(),o=(g<w?7:0)+g-w;return h.setDate(h.getDate()-o),h.setHours(0,0,0,0),h}function Gs(n,e){return No(n,{...e,weekStartsOn:1})}function Kp(n,e){const t=yn(n,void 0),r=t.getFullYear(),d=Kn(t,0);d.setFullYear(r+1,0,4),d.setHours(0,0,0,0);const p=Gs(d),f=Kn(t,0);f.setFullYear(r,0,4),f.setHours(0,0,0,0);const w=Gs(f);return t.getTime()>=p.getTime()?r+1:t.getTime()>=w.getTime()?r:r-1}function Cl(n){const e=yn(n),t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+n-+t}function Bb(n,...e){const t=Kn.bind(null,e.find(r=>typeof r=="object"));return e.map(t)}function qp(n,e){const t=yn(n,void 0);return t.setHours(0,0,0,0),t}function zb(n,e,t){const[r,d]=Bb(void 0,n,e),p=qp(r),f=qp(d),w=+p-Cl(p),h=+f-Cl(f);return Math.round((w-h)/864e5)}function Hb(n,e){const t=Kp(n),r=Kn(n,0);return r.setFullYear(t,0,4),r.setHours(0,0,0,0),Gs(r)}function jb(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function Yp(n){return!(!jb(n)&&typeof n!="number"||isNaN(+yn(n)))}function Ub(n,e){const t=yn(n,void 0);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}const Vb={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Gb=(n,e,t)=>{let r;const d=Vb[n];return typeof d=="string"?r=d:e===1?r=d.one:r=d.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r};function gu(n){return(e={})=>{const t=e.width?String(e.width):n.defaultWidth;return n.formats[t]||n.formats[n.defaultWidth]}}const Kb={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},qb={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Yb={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Xb={date:gu({formats:Kb,defaultWidth:"full"}),time:gu({formats:qb,defaultWidth:"full"}),dateTime:gu({formats:Yb,defaultWidth:"full"})},Zb={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Qb=(n,e,t,r)=>Zb[n];function $a(n){return(e,t)=>{const r=t!=null&&t.context?String(t.context):"standalone";let d;if(r==="formatting"&&n.formattingValues){const f=n.defaultFormattingWidth||n.defaultWidth,w=t!=null&&t.width?String(t.width):f;d=n.formattingValues[w]||n.formattingValues[f]}else{const f=n.defaultWidth,w=t!=null&&t.width?String(t.width):n.defaultWidth;d=n.values[w]||n.values[f]}const p=n.argumentCallback?n.argumentCallback(e):e;return d[p]}}const Jb={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ex={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},tx={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},nx={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},rx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ix={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ox=(n,e)=>{const t=Number(n),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},sx={ordinalNumber:ox,era:$a({values:Jb,defaultWidth:"wide"}),quarter:$a({values:ex,defaultWidth:"wide",argumentCallback:n=>n-1}),month:$a({values:tx,defaultWidth:"wide"}),day:$a({values:nx,defaultWidth:"wide"}),dayPeriod:$a({values:rx,defaultWidth:"wide",formattingValues:ix,defaultFormattingWidth:"wide"})};function Ma(n){return(e,t={})=>{const r=t.width,d=r&&n.matchPatterns[r]||n.matchPatterns[n.defaultMatchWidth],p=e.match(d);if(!p)return null;const f=p[0],w=r&&n.parsePatterns[r]||n.parsePatterns[n.defaultParseWidth],h=Array.isArray(w)?lx(w,a=>a.test(f)):ax(w,a=>a.test(f));let g;g=n.valueCallback?n.valueCallback(h):h,g=t.valueCallback?t.valueCallback(g):g;const o=e.slice(f.length);return{value:g,rest:o}}}function ax(n,e){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&e(n[t]))return t}function lx(n,e){for(let t=0;t<n.length;t++)if(e(n[t]))return t}function cx(n){return(e,t={})=>{const r=e.match(n.matchPattern);if(!r)return null;const d=r[0],p=e.match(n.parsePattern);if(!p)return null;let f=n.valueCallback?n.valueCallback(p[0]):p[0];f=t.valueCallback?t.valueCallback(f):f;const w=e.slice(d.length);return{value:f,rest:w}}}const ux=/^(\d+)(th|st|nd|rd)?/i,hx=/\d+/i,dx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},px={any:[/^b/i,/^(a|c)/i]},fx={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},gx={any:[/1/i,/2/i,/3/i,/4/i]},mx={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},vx={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},yx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},wx={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},bx={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},xx={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Cx={ordinalNumber:cx({matchPattern:ux,parsePattern:hx,valueCallback:n=>parseInt(n,10)}),era:Ma({matchPatterns:dx,defaultMatchWidth:"wide",parsePatterns:px,defaultParseWidth:"any"}),quarter:Ma({matchPatterns:fx,defaultMatchWidth:"wide",parsePatterns:gx,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Ma({matchPatterns:mx,defaultMatchWidth:"wide",parsePatterns:vx,defaultParseWidth:"any"}),day:Ma({matchPatterns:yx,defaultMatchWidth:"wide",parsePatterns:wx,defaultParseWidth:"any"}),dayPeriod:Ma({matchPatterns:bx,defaultMatchWidth:"any",parsePatterns:xx,defaultParseWidth:"any"})},Xp={code:"en-US",formatDistance:Gb,formatLong:Xb,formatRelative:Qb,localize:sx,match:Cx,options:{weekStartsOn:0,firstWeekContainsDate:1}};function kx(n,e){const t=yn(n,void 0);return zb(t,Ub(t))+1}function Zp(n,e){const t=yn(n,void 0),r=+Gs(t)-+Hb(t);return Math.round(r/6048e5)+1}function mu(n,e){var t,r,d,p;const f=yn(n,e==null?void 0:e.in),w=f.getFullYear(),h=Vs(),g=(e==null?void 0:e.firstWeekContainsDate)??((r=(t=e==null?void 0:e.locale)==null?void 0:t.options)==null?void 0:r.firstWeekContainsDate)??h.firstWeekContainsDate??((p=(d=h.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??1,o=Kn((e==null?void 0:e.in)||n,0);o.setFullYear(w+1,0,g),o.setHours(0,0,0,0);const a=No(o,e),l=Kn((e==null?void 0:e.in)||n,0);l.setFullYear(w,0,g),l.setHours(0,0,0,0);const c=No(l,e);return+f>=+a?w+1:+f>=+c?w:w-1}function _x(n,e){var t,r,d,p;const f=Vs(),w=(e==null?void 0:e.firstWeekContainsDate)??((r=(t=e==null?void 0:e.locale)==null?void 0:t.options)==null?void 0:r.firstWeekContainsDate)??f.firstWeekContainsDate??((p=(d=f.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??1,h=mu(n,e),g=Kn((e==null?void 0:e.in)||n,0);return g.setFullYear(h,0,w),g.setHours(0,0,0,0),No(g,e)}function Qp(n,e){const t=yn(n,e==null?void 0:e.in),r=+No(t,e)-+_x(t,e);return Math.round(r/6048e5)+1}function en(n,e){const t=n<0?"-":"",r=Math.abs(n).toString().padStart(e,"0");return t+r}const Fo={y(n,e){const t=n.getFullYear(),r=t>0?t:1-t;return en(e==="yy"?r%100:r,e.length)},M(n,e){const t=n.getMonth();return e==="M"?String(t+1):en(t+1,2)},d(n,e){return en(n.getDate(),e.length)},a(n,e){const t=n.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(n,e){return en(n.getHours()%12||12,e.length)},H(n,e){return en(n.getHours(),e.length)},m(n,e){return en(n.getMinutes(),e.length)},s(n,e){return en(n.getSeconds(),e.length)},S(n,e){const t=e.length,r=n.getMilliseconds(),d=Math.trunc(r*Math.pow(10,t-3));return en(d,e.length)}},Ks={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jp={G:function(n,e,t){const r=n.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return t.era(r,{width:"abbreviated"});case"GGGGG":return t.era(r,{width:"narrow"});case"GGGG":default:return t.era(r,{width:"wide"})}},y:function(n,e,t){if(e==="yo"){const r=n.getFullYear(),d=r>0?r:1-r;return t.ordinalNumber(d,{unit:"year"})}return Fo.y(n,e)},Y:function(n,e,t,r){const d=mu(n,r),p=d>0?d:1-d;if(e==="YY"){const f=p%100;return en(f,2)}return e==="Yo"?t.ordinalNumber(p,{unit:"year"}):en(p,e.length)},R:function(n,e){const t=Kp(n);return en(t,e.length)},u:function(n,e){const t=n.getFullYear();return en(t,e.length)},Q:function(n,e,t){const r=Math.ceil((n.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return en(r,2);case"Qo":return t.ordinalNumber(r,{unit:"quarter"});case"QQQ":return t.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(r,{width:"wide",context:"formatting"})}},q:function(n,e,t){const r=Math.ceil((n.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return en(r,2);case"qo":return t.ordinalNumber(r,{unit:"quarter"});case"qqq":return t.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(r,{width:"wide",context:"standalone"})}},M:function(n,e,t){const r=n.getMonth();switch(e){case"M":case"MM":return Fo.M(n,e);case"Mo":return t.ordinalNumber(r+1,{unit:"month"});case"MMM":return t.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(r,{width:"wide",context:"formatting"})}},L:function(n,e,t){const r=n.getMonth();switch(e){case"L":return String(r+1);case"LL":return en(r+1,2);case"Lo":return t.ordinalNumber(r+1,{unit:"month"});case"LLL":return t.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(r,{width:"wide",context:"standalone"})}},w:function(n,e,t,r){const d=Qp(n,r);return e==="wo"?t.ordinalNumber(d,{unit:"week"}):en(d,e.length)},I:function(n,e,t){const r=Zp(n);return e==="Io"?t.ordinalNumber(r,{unit:"week"}):en(r,e.length)},d:function(n,e,t){return e==="do"?t.ordinalNumber(n.getDate(),{unit:"date"}):Fo.d(n,e)},D:function(n,e,t){const r=kx(n);return e==="Do"?t.ordinalNumber(r,{unit:"dayOfYear"}):en(r,e.length)},E:function(n,e,t){const r=n.getDay();switch(e){case"E":case"EE":case"EEE":return t.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(r,{width:"short",context:"formatting"});case"EEEE":default:return t.day(r,{width:"wide",context:"formatting"})}},e:function(n,e,t,r){const d=n.getDay(),p=(d-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(p);case"ee":return en(p,2);case"eo":return t.ordinalNumber(p,{unit:"day"});case"eee":return t.day(d,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(d,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(d,{width:"short",context:"formatting"});case"eeee":default:return t.day(d,{width:"wide",context:"formatting"})}},c:function(n,e,t,r){const d=n.getDay(),p=(d-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(p);case"cc":return en(p,e.length);case"co":return t.ordinalNumber(p,{unit:"day"});case"ccc":return t.day(d,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(d,{width:"narrow",context:"standalone"});case"cccccc":return t.day(d,{width:"short",context:"standalone"});case"cccc":default:return t.day(d,{width:"wide",context:"standalone"})}},i:function(n,e,t){const r=n.getDay(),d=r===0?7:r;switch(e){case"i":return String(d);case"ii":return en(d,e.length);case"io":return t.ordinalNumber(d,{unit:"day"});case"iii":return t.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(r,{width:"short",context:"formatting"});case"iiii":default:return t.day(r,{width:"wide",context:"formatting"})}},a:function(n,e,t){const r=n.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,e,t){const r=n.getHours();let d;switch(r===12?d=Ks.noon:r===0?d=Ks.midnight:d=r/12>=1?"pm":"am",e){case"b":case"bb":return t.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(d,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(d,{width:"wide",context:"formatting"})}},B:function(n,e,t){const r=n.getHours();let d;switch(r>=17?d=Ks.evening:r>=12?d=Ks.afternoon:r>=4?d=Ks.morning:d=Ks.night,e){case"B":case"BB":case"BBB":return t.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(d,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(d,{width:"wide",context:"formatting"})}},h:function(n,e,t){if(e==="ho"){let r=n.getHours()%12;return r===0&&(r=12),t.ordinalNumber(r,{unit:"hour"})}return Fo.h(n,e)},H:function(n,e,t){return e==="Ho"?t.ordinalNumber(n.getHours(),{unit:"hour"}):Fo.H(n,e)},K:function(n,e,t){const r=n.getHours()%12;return e==="Ko"?t.ordinalNumber(r,{unit:"hour"}):en(r,e.length)},k:function(n,e,t){let r=n.getHours();return r===0&&(r=24),e==="ko"?t.ordinalNumber(r,{unit:"hour"}):en(r,e.length)},m:function(n,e,t){return e==="mo"?t.ordinalNumber(n.getMinutes(),{unit:"minute"}):Fo.m(n,e)},s:function(n,e,t){return e==="so"?t.ordinalNumber(n.getSeconds(),{unit:"second"}):Fo.s(n,e)},S:function(n,e){return Fo.S(n,e)},X:function(n,e,t){const r=n.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return tf(r);case"XXXX":case"XX":return cs(r);case"XXXXX":case"XXX":default:return cs(r,":")}},x:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"x":return tf(r);case"xxxx":case"xx":return cs(r);case"xxxxx":case"xxx":default:return cs(r,":")}},O:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+ef(r,":");case"OOOO":default:return"GMT"+cs(r,":")}},z:function(n,e,t){const r=n.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+ef(r,":");case"zzzz":default:return"GMT"+cs(r,":")}},t:function(n,e,t){const r=Math.trunc(+n/1e3);return en(r,e.length)},T:function(n,e,t){return en(+n,e.length)}};function ef(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),d=Math.trunc(r/60),p=r%60;return p===0?t+String(d):t+String(d)+e+en(p,2)}function tf(n,e){return n%60===0?(n>0?"-":"+")+en(Math.abs(n)/60,2):cs(n,e)}function cs(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),d=en(Math.trunc(r/60),2),p=en(r%60,2);return t+d+e+p}const nf=(n,e)=>{switch(n){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},rf=(n,e)=>{switch(n){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},Ax=(n,e)=>{const t=n.match(/(P+)(p+)?/)||[],r=t[1],d=t[2];if(!d)return nf(n,e);let p;switch(r){case"P":p=e.dateTime({width:"short"});break;case"PP":p=e.dateTime({width:"medium"});break;case"PPP":p=e.dateTime({width:"long"});break;case"PPPP":default:p=e.dateTime({width:"full"});break}return p.replace("{{date}}",nf(r,e)).replace("{{time}}",rf(d,e))},vu={p:rf,P:Ax},Sx=/^D+$/,$x=/^Y+$/,Mx=["D","DD","YY","YYYY"];function of(n){return Sx.test(n)}function sf(n){return $x.test(n)}function yu(n,e,t){const r=Tx(n,e,t);if(console.warn(r),Mx.includes(n))throw new RangeError(r)}function Tx(n,e,t){const r=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${e}\`) for formatting ${r} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Ex=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ix=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Lx=/^'([^]*?)'?$/,Rx=/''/g,Ox=/[a-zA-Z]/;function Po(n,e,t){var r,d,p,f,w,h,g,o;const a=Vs(),l=(t==null?void 0:t.locale)??a.locale??Xp,c=(t==null?void 0:t.firstWeekContainsDate)??((d=(r=t==null?void 0:t.locale)==null?void 0:r.options)==null?void 0:d.firstWeekContainsDate)??a.firstWeekContainsDate??((f=(p=a.locale)==null?void 0:p.options)==null?void 0:f.firstWeekContainsDate)??1,s=(t==null?void 0:t.weekStartsOn)??((h=(w=t==null?void 0:t.locale)==null?void 0:w.options)==null?void 0:h.weekStartsOn)??a.weekStartsOn??((o=(g=a.locale)==null?void 0:g.options)==null?void 0:o.weekStartsOn)??0,u=yn(n,t==null?void 0:t.in);if(!Yp(u))throw new RangeError("Invalid time value");let m=e.match(Ix).map(x=>{const E=x[0];if(E==="p"||E==="P"){const $=vu[E];return $(x,l.formatLong)}return x}).join("").match(Ex).map(x=>{if(x==="''")return{isToken:!1,value:"'"};const E=x[0];if(E==="'")return{isToken:!1,value:Dx(x)};if(Jp[E])return{isToken:!0,value:x};if(E.match(Ox))throw new RangeError("Format string contains an unescaped latin alphabet character `"+E+"`");return{isToken:!1,value:x}});l.localize.preprocessor&&(m=l.localize.preprocessor(u,m));const b={firstWeekContainsDate:c,weekStartsOn:s,locale:l};return m.map(x=>{if(!x.isToken)return x.value;const E=x.value;(!(t!=null&&t.useAdditionalWeekYearTokens)&&sf(E)||!(t!=null&&t.useAdditionalDayOfYearTokens)&&of(E))&&yu(E,e,String(n));const $=Jp[E[0]];return $(u,E,l.localize,b)}).join("")}function Dx(n){const e=n.match(Lx);return e?e[1].replace(Rx,"'"):n}var Wo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kl(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var af={exports:{}},lf;function Nx(){return lf||(lf=1,function(n,e){(function(){var t="ace",r=function(){return this}();!r&&typeof window<"u"&&(r=window);var d=function(o,a,l){if(typeof o!="string"){d.original?d.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(l=a),d.modules[o]||(d.payloads[o]=l,d.modules[o]=null)};d.modules={},d.payloads={};var p=function(o,a,l){if(typeof a=="string"){var c=h(o,a);if(c!=null)return l&&l(),c}else if(Object.prototype.toString.call(a)==="[object Array]"){for(var s=[],u=0,m=a.length;u<m;++u){var b=h(o,a[u]);if(b==null&&f.original)return;s.push(b)}return l&&l.apply(null,s)||!0}},f=function(o,a){var l=p("",o,a);return l==null&&f.original?f.original.apply(this,arguments):l},w=function(o,a){if(a.indexOf("!")!==-1){var l=a.split("!");return w(o,l[0])+"!"+w(o,l[1])}if(a.charAt(0)=="."){var c=o.split("/").slice(0,-1).join("/");for(a=c+"/"+a;a.indexOf(".")!==-1&&s!=a;){var s=a;a=a.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return a},h=function(o,a){a=w(o,a);var l=d.modules[a];if(!l){if(l=d.payloads[a],typeof l=="function"){var c={},s={id:a,uri:"",exports:c,packaged:!0},u=function(b,x){return p(a,b,x)},m=l(u,c,s);c=m||s.exports,d.modules[a]=c,delete d.payloads[a]}l=d.modules[a]=c||l}return l};function g(o){var a=r;r[o]||(r[o]={}),a=r[o],(!a.define||!a.define.packaged)&&(d.original=a.define,a.define=d,a.define.packaged=!0),(!a.require||!a.require.packaged)&&(f.original=a.require,a.require=f,a.require.packaged=!0)}g(t)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(t,r,d){function p(f,w,h){Object.defineProperty(f,w,{value:h,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||p(String.prototype,"startsWith",function(f,w){return w=w||0,this.lastIndexOf(f,w)===w}),String.prototype.endsWith||p(String.prototype,"endsWith",function(f,w){var h=this;(w===void 0||w>h.length)&&(w=h.length),w-=f.length;var g=h.indexOf(f,w);return g!==-1&&g===w}),String.prototype.repeat||p(String.prototype,"repeat",function(f){for(var w="",h=this;f>0;)f&1&&(w+=h),(f>>=1)&&(h+=h);return w}),String.prototype.includes||p(String.prototype,"includes",function(f,w){return this.indexOf(f,w)!=-1}),Object.assign||(Object.assign=function(f){if(f==null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(f),h=1;h<arguments.length;h++){var g=arguments[h];g!=null&&Object.keys(g).forEach(function(o){w[o]=g[o]})}return w}),Object.values||(Object.values=function(f){return Object.keys(f).map(function(w){return f[w]})}),Array.prototype.find||p(Array.prototype,"find",function(f){for(var w=this.length,h=arguments[1],g=0;g<w;g++){var o=this[g];if(f.call(h,o,g,this))return o}}),Array.prototype.findIndex||p(Array.prototype,"findIndex",function(f){for(var w=this.length,h=arguments[1],g=0;g<w;g++){var o=this[g];if(f.call(h,o,g,this))return g}}),Array.prototype.includes||p(Array.prototype,"includes",function(f,w){return this.indexOf(f,w)!=-1}),Array.prototype.fill||p(Array.prototype,"fill",function(f){for(var w=this,h=w.length>>>0,g=arguments[1],o=g>>0,a=o<0?Math.max(h+o,0):Math.min(o,h),l=arguments[2],c=l===void 0?h:l>>0,s=c<0?Math.max(h+c,0):Math.min(c,h);a<s;)w[a]=f,a++;return w}),Array.of||p(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(t,r,d){t("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(t,r,d){r.deepCopy=function p(f){if(typeof f!="object"||!f)return f;var w;if(Array.isArray(f)){w=[];for(var h=0;h<f.length;h++)w[h]=p(f[h]);return w}if(Object.prototype.toString.call(f)!=="[object Object]")return f;w={};for(var h in f)w[h]=p(f[h]);return w}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(t,r,d){r.last=function(w){return w[w.length-1]},r.stringReverse=function(w){return w.split("").reverse().join("")},r.stringRepeat=function(w,h){for(var g="";h>0;)h&1&&(g+=w),(h>>=1)&&(w+=w);return g};var p=/^\s\s*/,f=/\s\s*$/;r.stringTrimLeft=function(w){return w.replace(p,"")},r.stringTrimRight=function(w){return w.replace(f,"")},r.copyObject=function(w){var h={};for(var g in w)h[g]=w[g];return h},r.copyArray=function(w){for(var h=[],g=0,o=w.length;g<o;g++)w[g]&&typeof w[g]=="object"?h[g]=this.copyObject(w[g]):h[g]=w[g];return h},r.deepCopy=t("./deep_copy").deepCopy,r.arrayToMap=function(w){for(var h={},g=0;g<w.length;g++)h[w[g]]=1;return h},r.createMap=function(w){var h=Object.create(null);for(var g in w)h[g]=w[g];return h},r.arrayRemove=function(w,h){for(var g=0;g<=w.length;g++)h===w[g]&&w.splice(g,1)},r.escapeRegExp=function(w){return w.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},r.escapeHTML=function(w){return(""+w).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},r.getMatchOffsets=function(w,h){var g=[];return w.replace(h,function(o){g.push({offset:arguments[arguments.length-2],length:o.length})}),g},r.deferredCall=function(w){var h=null,g=function(){h=null,w()},o=function(a){return o.cancel(),h=setTimeout(g,a||0),o};return o.schedule=o,o.call=function(){return this.cancel(),w(),o},o.cancel=function(){return clearTimeout(h),h=null,o},o.isPending=function(){return h},o},r.delayedCall=function(w,h){var g=null,o=function(){g=null,w()},a=function(l){g==null&&(g=setTimeout(o,l||h))};return a.delay=function(l){g&&clearTimeout(g),g=setTimeout(o,l||h)},a.schedule=a,a.call=function(){this.cancel(),w()},a.cancel=function(){g&&clearTimeout(g),g=null},a.isPending=function(){return g},a},r.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},r.skipEmptyMatch=function(w,h,g){return g&&w.codePointAt(h)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(t,r,d){r.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},r.getOS=function(){return r.isMac?r.OS.MAC:r.isLinux?r.OS.LINUX:r.OS.WINDOWS};var p=typeof navigator=="object"?navigator:{},f=(/mac|win|linux/i.exec(p.platform)||["other"])[0].toLowerCase(),w=p.userAgent||"",h=p.appName||"";r.isWin=f=="win",r.isMac=f=="mac",r.isLinux=f=="linux",r.isIE=h=="Microsoft Internet Explorer"||h.indexOf("MSAppHost")>=0?parseFloat((w.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((w.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),r.isOldIE=r.isIE&&r.isIE<9,r.isGecko=r.isMozilla=w.match(/ Gecko\/\d+/),r.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",r.isWebKit=parseFloat(w.split("WebKit/")[1])||void 0,r.isChrome=parseFloat(w.split(" Chrome/")[1])||void 0,r.isSafari=parseFloat(w.split(" Safari/")[1])&&!r.isChrome||void 0,r.isEdge=parseFloat(w.split(" Edge/")[1])||void 0,r.isAIR=w.indexOf("AdobeAIR")>=0,r.isAndroid=w.indexOf("Android")>=0,r.isChromeOS=w.indexOf(" CrOS ")>=0,r.isIOS=/iPad|iPhone|iPod/.test(w)&&!window.MSStream,r.isIOS&&(r.isMac=!0),r.isMobile=r.isIOS||r.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(t,r,d){var p=t("./useragent"),f="http://www.w3.org/1999/xhtml";r.buildDom=function l(c,s,u){if(typeof c=="string"&&c){var m=document.createTextNode(c);return s&&s.appendChild(m),m}if(!Array.isArray(c))return c&&c.appendChild&&s&&s.appendChild(c),c;if(typeof c[0]!="string"||!c[0]){for(var b=[],x=0;x<c.length;x++){var E=l(c[x],s,u);E&&b.push(E)}return b}var $=document.createElement(c[0]),k=c[1],C=1;k&&typeof k=="object"&&!Array.isArray(k)&&(C=2);for(var x=C;x<c.length;x++)l(c[x],$,u);return C==2&&Object.keys(k).forEach(function(R){var O=k[R];R==="class"?$.className=Array.isArray(O)?O.join(" "):O:typeof O=="function"||R=="value"||R[0]=="$"?$[R]=O:R==="ref"?u&&(u[O]=$):R==="style"?typeof O=="string"&&($.style.cssText=O):O!=null&&$.setAttribute(R,O)}),s&&s.appendChild($),$},r.getDocumentHead=function(l){return l||(l=document),l.head||l.getElementsByTagName("head")[0]||l.documentElement},r.createElement=function(l,c){return document.createElementNS?document.createElementNS(c||f,l):document.createElement(l)},r.removeChildren=function(l){l.innerHTML=""},r.createTextNode=function(l,c){var s=c?c.ownerDocument:document;return s.createTextNode(l)},r.createFragment=function(l){var c=l?l.ownerDocument:document;return c.createDocumentFragment()},r.hasCssClass=function(l,c){var s=(l.className+"").split(/\s+/g);return s.indexOf(c)!==-1},r.addCssClass=function(l,c){r.hasCssClass(l,c)||(l.className+=" "+c)},r.removeCssClass=function(l,c){for(var s=l.className.split(/\s+/g);;){var u=s.indexOf(c);if(u==-1)break;s.splice(u,1)}l.className=s.join(" ")},r.toggleCssClass=function(l,c){for(var s=l.className.split(/\s+/g),u=!0;;){var m=s.indexOf(c);if(m==-1)break;u=!1,s.splice(m,1)}return u&&s.push(c),l.className=s.join(" "),u},r.setCssClass=function(l,c,s){s?r.addCssClass(l,c):r.removeCssClass(l,c)},r.hasCssString=function(l,c){var s=0,u;if(c=c||document,u=c.querySelectorAll("style")){for(;s<u.length;)if(u[s++].id===l)return!0}},r.removeElementById=function(l,c){c=c||document,c.getElementById(l)&&c.getElementById(l).remove()};var w,h=[];r.useStrictCSP=function(l){w=l,l==!1?g():h||(h=[])};function g(){var l=h;h=null,l&&l.forEach(function(c){o(c[0],c[1])})}function o(l,c,s){if(!(typeof document>"u")){if(h){if(s)g();else if(s===!1)return h.push([l,c])}if(!w){var u=s;!s||!s.getRootNode?u=document:(u=s.getRootNode(),(!u||u==s)&&(u=document));var m=u.ownerDocument||u;if(c&&r.hasCssString(c,u))return null;c&&(l+=`
2
+ /*# sourceURL=ace/css/`+c+" */");var b=r.createElement("style");b.appendChild(m.createTextNode(l)),c&&(b.id=c),u==m&&(u=r.getDocumentHead(m)),u.insertBefore(b,u.firstChild)}}}if(r.importCssString=o,r.importCssStylsheet=function(l,c){r.buildDom(["link",{rel:"stylesheet",href:l}],r.getDocumentHead(c))},r.scrollbarWidth=function(l){var c=r.createElement("ace_inner");c.style.width="100%",c.style.minWidth="0px",c.style.height="200px",c.style.display="block";var s=r.createElement("ace_outer"),u=s.style;u.position="absolute",u.left="-10000px",u.overflow="hidden",u.width="200px",u.minWidth="0px",u.height="150px",u.display="block",s.appendChild(c);var m=l&&l.documentElement||document&&document.documentElement;if(!m)return 0;m.appendChild(s);var b=c.offsetWidth;u.overflow="scroll";var x=c.offsetWidth;return b===x&&(x=s.clientWidth),m.removeChild(s),b-x},r.computedStyle=function(l,c){return window.getComputedStyle(l,"")||{}},r.setStyle=function(l,c,s){l[c]!==s&&(l[c]=s)},r.HAS_CSS_ANIMATION=!1,r.HAS_CSS_TRANSFORMS=!1,r.HI_DPI=p.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,p.isChromeOS&&(r.HI_DPI=!1),typeof document<"u"){var a=document.createElement("div");r.HI_DPI&&a.style.transform!==void 0&&(r.HAS_CSS_TRANSFORMS=!0),!p.isEdge&&typeof a.style.animationName<"u"&&(r.HAS_CSS_ANIMATION=!0),a=null}r.HAS_CSS_TRANSFORMS?r.translate=function(l,c,s){l.style.transform="translate("+Math.round(c)+"px, "+Math.round(s)+"px)"}:r.translate=function(l,c,s){l.style.top=Math.round(s)+"px",l.style.left=Math.round(c)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(t,r,d){/*
3
+ * based on code from:
4
+ *
5
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
6
+ * Available via the MIT or new BSD license.
7
+ * see: http://github.com/jrburke/requirejs for details
8
+ */var p=t("./dom");r.get=function(f,w){var h=new XMLHttpRequest;h.open("GET",f,!0),h.onreadystatechange=function(){h.readyState===4&&w(h.responseText)},h.send(null)},r.loadScript=function(f,w){var h=p.getDocumentHead(),g=document.createElement("script");g.src=f,h.appendChild(g),g.onload=g.onreadystatechange=function(o,a){(a||!g.readyState||g.readyState=="loaded"||g.readyState=="complete")&&(g=g.onload=g.onreadystatechange=null,a||w())}},r.qualifyURL=function(f){var w=document.createElement("a");return w.href=f,w.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(t,r,d){r.inherits=function(p,f){p.super_=f,p.prototype=Object.create(f.prototype,{constructor:{value:p,enumerable:!1,writable:!0,configurable:!0}})},r.mixin=function(p,f){for(var w in f)p[w]=f[w];return p},r.implement=function(p,f){r.mixin(p,f)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(t,r,d){var p={},f=function(){this.propagationStopped=!0},w=function(){this.defaultPrevented=!0};p._emit=p._dispatchEvent=function(h,g){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var o=this._eventRegistry[h]||[],a=this._defaultHandlers[h];if(!(!o.length&&!a)){(typeof g!="object"||!g)&&(g={}),g.type||(g.type=h),g.stopPropagation||(g.stopPropagation=f),g.preventDefault||(g.preventDefault=w),o=o.slice();for(var l=0;l<o.length&&(o[l](g,this),!g.propagationStopped);l++);if(a&&!g.defaultPrevented)return a(g,this)}},p._signal=function(h,g){var o=(this._eventRegistry||{})[h];if(o){o=o.slice();for(var a=0;a<o.length;a++)o[a](g,this)}},p.once=function(h,g){var o=this;if(this.on(h,function a(){o.off(h,a),g.apply(null,arguments)}),!g)return new Promise(function(a){g=a})},p.setDefaultHandler=function(h,g){var o=this._defaultHandlers;if(o||(o=this._defaultHandlers={_disabled_:{}}),o[h]){var a=o[h],l=o._disabled_[h];l||(o._disabled_[h]=l=[]),l.push(a);var c=l.indexOf(g);c!=-1&&l.splice(c,1)}o[h]=g},p.removeDefaultHandler=function(h,g){var o=this._defaultHandlers;if(o){var a=o._disabled_[h];if(o[h]==g)a&&this.setDefaultHandler(h,a.pop());else if(a){var l=a.indexOf(g);l!=-1&&a.splice(l,1)}}},p.on=p.addEventListener=function(h,g,o){this._eventRegistry=this._eventRegistry||{};var a=this._eventRegistry[h];return a||(a=this._eventRegistry[h]=[]),a.indexOf(g)==-1&&a[o?"unshift":"push"](g),g},p.off=p.removeListener=p.removeEventListener=function(h,g){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[h];if(o){var a=o.indexOf(g);a!==-1&&o.splice(a,1)}},p.removeAllListeners=function(h){h||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[h]=void 0),this._defaultHandlers&&(this._defaultHandlers[h]=void 0)},r.EventEmitter=p}),ace.define("ace/lib/report_error",["require","exports","module"],function(t,r,d){r.reportError=function(p,f){var w=new Error(p);w.data=f,typeof console=="object"&&console.error&&console.error(w),setTimeout(function(){throw w})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(t,r,d){var p={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};r.defaultEnglishMessages=p}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(t,r,d){"no use strict";var p=t("./oop"),f=t("./event_emitter").EventEmitter,w=t("./report_error").reportError,h=t("./default_english_messages").defaultEnglishMessages,g={setOptions:function(s){Object.keys(s).forEach(function(u){this.setOption(u,s[u])},this)},getOptions:function(s){var u={};if(s)Array.isArray(s)||(s=Object.keys(s));else{var m=this.$options;s=Object.keys(m).filter(function(b){return!m[b].hidden})}return s.forEach(function(b){u[b]=this.getOption(b)},this),u},setOption:function(s,u){if(this["$"+s]!==u){var m=this.$options[s];if(!m)return o('misspelled option "'+s+'"');if(m.forwardTo)return this[m.forwardTo]&&this[m.forwardTo].setOption(s,u);m.handlesSet||(this["$"+s]=u),m&&m.set&&m.set.call(this,u)}},getOption:function(s){var u=this.$options[s];return u?u.forwardTo?this[u.forwardTo]&&this[u.forwardTo].getOption(s):u&&u.get?u.get.call(this):this["$"+s]:o('misspelled option "'+s+'"')}};function o(s){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var a,l,c=function(){function s(){this.$defaultOptions={},a=h,l="dollarSigns"}return s.prototype.defineOptions=function(u,m,b){return u.$options||(this.$defaultOptions[m]=u.$options={}),Object.keys(b).forEach(function(x){var E=b[x];typeof E=="string"&&(E={forwardTo:E}),E.name||(E.name=x),u.$options[E.name]=E,"initialValue"in E&&(u["$"+E.name]=E.initialValue)}),p.implement(u,g),this},s.prototype.resetOptions=function(u){Object.keys(u.$options).forEach(function(m){var b=u.$options[m];"value"in b&&u.setOption(m,b.value)})},s.prototype.setDefaultValue=function(u,m,b){if(!u){for(u in this.$defaultOptions)if(this.$defaultOptions[u][m])break;if(!this.$defaultOptions[u][m])return!1}var x=this.$defaultOptions[u]||(this.$defaultOptions[u]={});x[m]&&(x.forwardTo?this.setDefaultValue(x.forwardTo,m,b):x[m].value=b)},s.prototype.setDefaultValues=function(u,m){Object.keys(m).forEach(function(b){this.setDefaultValue(u,b,m[b])},this)},s.prototype.setMessages=function(u,m){a=u,m&&m.placeholders&&(l=m.placeholders)},s.prototype.nls=function(u,m,b){a[u]||(o("No message found for the key '"+u+"' in messages with id "+a.$id+", trying to find a translation for the default string '"+m+"'."),a[m]||o("No message found for the default string '"+m+"' in the provided messages. Falling back to the default English message."));var x=a[u]||a[m]||m;return b&&(l==="dollarSigns"&&(x=x.replace(/\$(\$|[\d]+)/g,function(E,$){return $=="$"?"$":b[$]})),l==="curlyBrackets"&&(x=x.replace(/\{([^\}]+)\}/g,function(E,$){return b[$]}))),x},s}();c.prototype.warn=o,c.prototype.reportError=w,p.implement(c.prototype,f),r.AppConfig=c}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(t,r,d){d.exports=`.ace-tm .ace_gutter {
9
+ background: #f0f0f0;
10
+ color: #333;
11
+ }
12
+
13
+ .ace-tm .ace_print-margin {
14
+ width: 1px;
15
+ background: #e8e8e8;
16
+ }
17
+
18
+ .ace-tm .ace_fold {
19
+ background-color: #6B72E6;
20
+ }
21
+
22
+ .ace-tm {
23
+ background-color: #FFFFFF;
24
+ color: black;
25
+ }
26
+
27
+ .ace-tm .ace_cursor {
28
+ color: black;
29
+ }
30
+
31
+ .ace-tm .ace_invisible {
32
+ color: rgb(191, 191, 191);
33
+ }
34
+
35
+ .ace-tm .ace_storage,
36
+ .ace-tm .ace_keyword {
37
+ color: blue;
38
+ }
39
+
40
+ .ace-tm .ace_constant {
41
+ color: rgb(197, 6, 11);
42
+ }
43
+
44
+ .ace-tm .ace_constant.ace_buildin {
45
+ color: rgb(88, 72, 246);
46
+ }
47
+
48
+ .ace-tm .ace_constant.ace_language {
49
+ color: rgb(88, 92, 246);
50
+ }
51
+
52
+ .ace-tm .ace_constant.ace_library {
53
+ color: rgb(6, 150, 14);
54
+ }
55
+
56
+ .ace-tm .ace_invalid {
57
+ background-color: rgba(255, 0, 0, 0.1);
58
+ color: red;
59
+ }
60
+
61
+ .ace-tm .ace_support.ace_function {
62
+ color: rgb(60, 76, 114);
63
+ }
64
+
65
+ .ace-tm .ace_support.ace_constant {
66
+ color: rgb(6, 150, 14);
67
+ }
68
+
69
+ .ace-tm .ace_support.ace_type,
70
+ .ace-tm .ace_support.ace_class {
71
+ color: rgb(109, 121, 222);
72
+ }
73
+
74
+ .ace-tm .ace_keyword.ace_operator {
75
+ color: rgb(104, 118, 135);
76
+ }
77
+
78
+ .ace-tm .ace_string {
79
+ color: rgb(3, 106, 7);
80
+ }
81
+
82
+ .ace-tm .ace_comment {
83
+ color: rgb(76, 136, 107);
84
+ }
85
+
86
+ .ace-tm .ace_comment.ace_doc {
87
+ color: rgb(0, 102, 255);
88
+ }
89
+
90
+ .ace-tm .ace_comment.ace_doc.ace_tag {
91
+ color: rgb(128, 159, 191);
92
+ }
93
+
94
+ .ace-tm .ace_constant.ace_numeric {
95
+ color: rgb(0, 0, 205);
96
+ }
97
+
98
+ .ace-tm .ace_variable {
99
+ color: rgb(49, 132, 149);
100
+ }
101
+
102
+ .ace-tm .ace_xml-pe {
103
+ color: rgb(104, 104, 91);
104
+ }
105
+
106
+ .ace-tm .ace_entity.ace_name.ace_function {
107
+ color: #0000A2;
108
+ }
109
+
110
+
111
+ .ace-tm .ace_heading {
112
+ color: rgb(12, 7, 255);
113
+ }
114
+
115
+ .ace-tm .ace_list {
116
+ color:rgb(185, 6, 144);
117
+ }
118
+
119
+ .ace-tm .ace_meta.ace_tag {
120
+ color:rgb(0, 22, 142);
121
+ }
122
+
123
+ .ace-tm .ace_string.ace_regex {
124
+ color: rgb(255, 0, 0)
125
+ }
126
+
127
+ .ace-tm .ace_marker-layer .ace_selection {
128
+ background: rgb(181, 213, 255);
129
+ }
130
+ .ace-tm.ace_multiselect .ace_selection.ace_start {
131
+ box-shadow: 0 0 3px 0px white;
132
+ }
133
+ .ace-tm .ace_marker-layer .ace_step {
134
+ background: rgb(252, 255, 0);
135
+ }
136
+
137
+ .ace-tm .ace_marker-layer .ace_stack {
138
+ background: rgb(164, 229, 101);
139
+ }
140
+
141
+ .ace-tm .ace_marker-layer .ace_bracket {
142
+ margin: -1px 0 0 -1px;
143
+ border: 1px solid rgb(192, 192, 192);
144
+ }
145
+
146
+ .ace-tm .ace_marker-layer .ace_active-line {
147
+ background: rgba(0, 0, 0, 0.07);
148
+ }
149
+
150
+ .ace-tm .ace_gutter-active-line {
151
+ background-color : #dcdcdc;
152
+ }
153
+
154
+ .ace-tm .ace_marker-layer .ace_selected-word {
155
+ background: rgb(250, 250, 255);
156
+ border: 1px solid rgb(200, 200, 250);
157
+ }
158
+
159
+ .ace-tm .ace_indent-guide {
160
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
161
+ }
162
+
163
+ .ace-tm .ace_indent-guide-active {
164
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
165
+ }
166
+ `}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(t,r,d){r.isDark=!1,r.cssClass="ace-tm",r.cssText=t("./textmate-css"),r.$id="ace/theme/textmate";var p=t("../lib/dom");p.importCssString(r.cssText,r.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(t,r,d){"no use strict";var p=t("./lib/lang"),f=t("./lib/net"),w=t("./lib/dom"),h=t("./lib/app_config").AppConfig;d.exports=r=new h;var g={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};r.get=function(c){if(!g.hasOwnProperty(c))throw new Error("Unknown config key: "+c);return g[c]},r.set=function(c,s){if(g.hasOwnProperty(c))g[c]=s;else if(this.setDefaultValue("",c,s)==!1)throw new Error("Unknown config key: "+c);c=="useStrictCSP"&&w.useStrictCSP(s)},r.all=function(){return p.copyObject(g)},r.$modes={},r.moduleUrl=function(c,s){if(g.$moduleUrls[c])return g.$moduleUrls[c];var u=c.split("/");s=s||u[u.length-2]||"";var m=s=="snippets"?"/":"-",b=u[u.length-1];if(s=="worker"&&m=="-"){var x=new RegExp("^"+s+"[\\-_]|[\\-_]"+s+"$","g");b=b.replace(x,"")}(!b||b==s)&&u.length>1&&(b=u[u.length-2]);var E=g[s+"Path"];return E==null?E=g.basePath:m=="/"&&(s=m=""),E&&E.slice(-1)!="/"&&(E+="/"),E+s+m+b+this.get("suffix")},r.setModuleUrl=function(c,s){return g.$moduleUrls[c]=s};var o=function(c,s){if(c==="ace/theme/textmate"||c==="./theme/textmate")return s(null,t("./theme/textmate"));if(a)return a(c,s);console.error("loader is not configured")},a;r.setLoader=function(c){a=c},r.dynamicModules=Object.create(null),r.$loading={},r.$loaded={},r.loadModule=function(c,s){var u;if(Array.isArray(c))var m=c[0],b=c[1];else if(typeof c=="string")var b=c;var x=function(E){if(E&&!r.$loading[b])return s&&s(E);if(r.$loading[b]||(r.$loading[b]=[]),r.$loading[b].push(s),!(r.$loading[b].length>1)){var $=function(){o(b,function(k,C){C&&(r.$loaded[b]=C),r._emit("load.module",{name:b,module:C});var R=r.$loading[b];r.$loading[b]=null,R.forEach(function(O){O&&O(C)})})};if(!r.get("packaged"))return $();f.loadScript(r.moduleUrl(b,m),$),l()}};if(r.dynamicModules[b])r.dynamicModules[b]().then(function(E){E.default?x(E.default):x(E)});else{try{u=this.$require(b)}catch{}x(u||r.$loaded[b])}},r.$require=function(c){if(typeof d.require=="function"){var s="require";return d[s](c)}},r.setModuleLoader=function(c,s){r.dynamicModules[c]=s};var l=function(){!g.basePath&&!g.workerPath&&!g.modePath&&!g.themePath&&!Object.keys(g.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),l=function(){})};r.version="1.43.2"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(t,r,d){t("./lib/fixoldbrowsers");var p=t("./config");p.setLoader(function(g,o){t([g],function(a){o(null,a)})});var f=function(){return this||typeof window<"u"&&window}();d.exports=function(g){p.init=w,p.$require=t,g.require=t},w(!0);function w(g){if(!(!f||!f.document)){p.set("packaged",g||t.packaged||d.packaged||f.define&&(void 0).packaged);var o={},a="",l=document.currentScript||document._currentScript,c=l&&l.ownerDocument||document;l&&l.src&&(a=l.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var s=c.getElementsByTagName("script"),u=0;u<s.length;u++){var m=s[u],b=m.src||m.getAttribute("src");if(b){for(var x=m.attributes,E=0,$=x.length;E<$;E++){var k=x[E];k.name.indexOf("data-ace-")===0&&(o[h(k.name.replace(/^data-ace-/,""))]=k.value)}var C=b.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);C&&(a=C[1])}}a&&(o.base=o.base||a,o.packaged=!0),o.basePath=o.base,o.workerPath=o.workerPath||o.base,o.modePath=o.modePath||o.base,o.themePath=o.themePath||o.base,delete o.base;for(var R in o)typeof o[R]<"u"&&p.set(R,o[R])}}function h(g){return g.replace(/-(.)/g,function(o,a){return a.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(t,r,d){var p=function(){function f(w,h,g,o){this.start={row:w,column:h},this.end={row:g,column:o}}return f.prototype.isEqual=function(w){return this.start.row===w.start.row&&this.end.row===w.end.row&&this.start.column===w.start.column&&this.end.column===w.end.column},f.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},f.prototype.contains=function(w,h){return this.compare(w,h)==0},f.prototype.compareRange=function(w){var h,g=w.end,o=w.start;return h=this.compare(g.row,g.column),h==1?(h=this.compare(o.row,o.column),h==1?2:h==0?1:0):h==-1?-2:(h=this.compare(o.row,o.column),h==-1?-1:h==1?42:0)},f.prototype.comparePoint=function(w){return this.compare(w.row,w.column)},f.prototype.containsRange=function(w){return this.comparePoint(w.start)==0&&this.comparePoint(w.end)==0},f.prototype.intersects=function(w){var h=this.compareRange(w);return h==-1||h==0||h==1},f.prototype.isEnd=function(w,h){return this.end.row==w&&this.end.column==h},f.prototype.isStart=function(w,h){return this.start.row==w&&this.start.column==h},f.prototype.setStart=function(w,h){typeof w=="object"?(this.start.column=w.column,this.start.row=w.row):(this.start.row=w,this.start.column=h)},f.prototype.setEnd=function(w,h){typeof w=="object"?(this.end.column=w.column,this.end.row=w.row):(this.end.row=w,this.end.column=h)},f.prototype.inside=function(w,h){return this.compare(w,h)==0?!(this.isEnd(w,h)||this.isStart(w,h)):!1},f.prototype.insideStart=function(w,h){return this.compare(w,h)==0?!this.isEnd(w,h):!1},f.prototype.insideEnd=function(w,h){return this.compare(w,h)==0?!this.isStart(w,h):!1},f.prototype.compare=function(w,h){return!this.isMultiLine()&&w===this.start.row?h<this.start.column?-1:h>this.end.column?1:0:w<this.start.row?-1:w>this.end.row?1:this.start.row===w?h>=this.start.column?0:-1:this.end.row===w?h<=this.end.column?0:1:0},f.prototype.compareStart=function(w,h){return this.start.row==w&&this.start.column==h?-1:this.compare(w,h)},f.prototype.compareEnd=function(w,h){return this.end.row==w&&this.end.column==h?1:this.compare(w,h)},f.prototype.compareInside=function(w,h){return this.end.row==w&&this.end.column==h?1:this.start.row==w&&this.start.column==h?-1:this.compare(w,h)},f.prototype.clipRows=function(w,h){if(this.end.row>h)var g={row:h+1,column:0};else if(this.end.row<w)var g={row:w,column:0};if(this.start.row>h)var o={row:h+1,column:0};else if(this.start.row<w)var o={row:w,column:0};return f.fromPoints(o||this.start,g||this.end)},f.prototype.extend=function(w,h){var g=this.compare(w,h);if(g==0)return this;if(g==-1)var o={row:w,column:h};else var a={row:w,column:h};return f.fromPoints(o||this.start,a||this.end)},f.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},f.prototype.isMultiLine=function(){return this.start.row!==this.end.row},f.prototype.clone=function(){return f.fromPoints(this.start,this.end)},f.prototype.collapseRows=function(){return this.end.column==0?new f(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new f(this.start.row,0,this.end.row,0)},f.prototype.toScreenRange=function(w){var h=w.documentToScreenPosition(this.start),g=w.documentToScreenPosition(this.end);return new f(h.row,h.column,g.row,g.column)},f.prototype.moveBy=function(w,h){this.start.row+=w,this.start.column+=h,this.end.row+=w,this.end.column+=h},f}();p.fromPoints=function(f,w){return new p(f.row,f.column,w.row,w.column)},p.comparePoints=function(f,w){return f.row-w.row||f.column-w.column},r.Range=p}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(t,r,d){for(var p=t("./oop"),f={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},w={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},h=0;h<10;h++)w["Digit"+h]=48+h,w["Numpad"+h]=96+h,f.PRINTABLE_KEYS[48+h]=""+h,f.FUNCTION_KEYS[96+h]="Numpad"+h;for(var h=65;h<91;h++){var g=String.fromCharCode(h+32);w["Key"+g.toUpperCase()]=h,f.PRINTABLE_KEYS[h]=g}for(var h=1;h<13;h++)w["F"+h]=111+h,f.FUNCTION_KEYS[111+h]="F"+h;var o={Shift:16,Control:17,Alt:18,Meta:224};for(var a in o)w[a]=w[a+"Left"]=w[a+"Right"]=o[a];r.$codeToKeyCode=w,f.PRINTABLE_KEYS[173]="-";for(var l in f.FUNCTION_KEYS){var c=f.FUNCTION_KEYS[l].toLowerCase();f[c]=parseInt(l,10)}for(var l in f.PRINTABLE_KEYS){var c=f.PRINTABLE_KEYS[l].toLowerCase();f[c]=parseInt(l,10)}p.mixin(f,f.MODIFIER_KEYS),p.mixin(f,f.PRINTABLE_KEYS),p.mixin(f,f.FUNCTION_KEYS),f.enter=f.return,f.escape=f.esc,f.del=f.delete,function(){for(var s=["cmd","ctrl","alt","shift"],u=Math.pow(2,s.length);u--;)f.KEY_MODS[u]=s.filter(function(m){return u&f.KEY_MODS[m]}).join("-")+"-"}(),f.KEY_MODS[0]="",f.KEY_MODS[-1]="input-",p.mixin(r,f),r.default=r,r.keyCodeToString=function(s){var u=f[s];return typeof u!="string"&&(u=String.fromCharCode(s)),u.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(t,r,d){var p=t("./keys"),f=t("./useragent"),w=null,h=0,g;function o(){g=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return g={passive:!1},!0}})}catch{}}function a(){return g==null&&o(),g}function l(E,$,k){this.elem=E,this.type=$,this.callback=k}l.prototype.destroy=function(){s(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var c=r.addListener=function(E,$,k,C){E.addEventListener($,k,a()),C&&C.$toDestroy.push(new l(E,$,k))},s=r.removeListener=function(E,$,k){E.removeEventListener($,k,a())};r.stopEvent=function(E){return r.stopPropagation(E),r.preventDefault(E),!1},r.stopPropagation=function(E){E.stopPropagation&&E.stopPropagation()},r.preventDefault=function(E){E.preventDefault&&E.preventDefault()},r.getButton=function(E){return E.type=="dblclick"?0:E.type=="contextmenu"||f.isMac&&E.ctrlKey&&!E.altKey&&!E.shiftKey?2:E.button},r.capture=function(E,$,k){var C=E&&E.ownerDocument||document;function R(O){$&&$(O),k&&k(O),s(C,"mousemove",$),s(C,"mouseup",R),s(C,"dragstart",R)}return c(C,"mousemove",$),c(C,"mouseup",R),c(C,"dragstart",R),R},r.addMouseWheelListener=function(E,$,k){c(E,"wheel",function(C){var R=.15,O=C.deltaX||0,L=C.deltaY||0;switch(C.deltaMode){case C.DOM_DELTA_PIXEL:C.wheelX=O*R,C.wheelY=L*R;break;case C.DOM_DELTA_LINE:var I=15;C.wheelX=O*I,C.wheelY=L*I;break;case C.DOM_DELTA_PAGE:var B=150;C.wheelX=O*B,C.wheelY=L*B;break}$(C)},k)},r.addMultiMouseDownListener=function(E,$,k,C,R){var O=0,L,I,B,P={2:"dblclick",3:"tripleclick",4:"quadclick"};function D(S){if(r.getButton(S)!==0?O=0:S.detail>1?(O++,O>4&&(O=1)):O=1,f.isIE){var _=Math.abs(S.clientX-L)>5||Math.abs(S.clientY-I)>5;(!B||_)&&(O=1),B&&clearTimeout(B),B=setTimeout(function(){B=null},$[O-1]||600),O==1&&(L=S.clientX,I=S.clientY)}if(S._clicks=O,k[C]("mousedown",S),O>4)O=0;else if(O>1)return k[C](P[O],S)}Array.isArray(E)||(E=[E]),E.forEach(function(S){c(S,"mousedown",D,R)})};function u(E){return 0|(E.ctrlKey?1:0)|(E.altKey?2:0)|(E.shiftKey?4:0)|(E.metaKey?8:0)}r.getModifierString=function(E){return p.KEY_MODS[u(E)]};function m(E,$,k){var C=u($);if(!k&&$.code&&(k=p.$codeToKeyCode[$.code]||k),!f.isMac&&w){if($.getModifierState&&($.getModifierState("OS")||$.getModifierState("Win"))&&(C|=8),w.altGr)if((3&C)!=3)w.altGr=0;else return;if(k===18||k===17){var R=$.location;if(k===17&&R===1)w[k]==1&&(h=$.timeStamp);else if(k===18&&C===3&&R===2){var O=$.timeStamp-h;O<50&&(w.altGr=!0)}}}if(k in p.MODIFIER_KEYS&&(k=-1),!(!C&&k===13&&$.location===3&&(E($,C,-k),$.defaultPrevented))){if(f.isChromeOS&&C&8){if(E($,C,k),$.defaultPrevented)return;C&=-9}return!C&&!(k in p.FUNCTION_KEYS)&&!(k in p.PRINTABLE_KEYS)?!1:E($,C,k)}}r.addCommandKeyListener=function(E,$,k){var C=null;c(E,"keydown",function(R){w[R.keyCode]=(w[R.keyCode]||0)+1;var O=m($,R,R.keyCode);return C=R.defaultPrevented,O},k),c(E,"keypress",function(R){C&&(R.ctrlKey||R.altKey||R.shiftKey||R.metaKey)&&(r.stopEvent(R),C=null)},k),c(E,"keyup",function(R){w[R.keyCode]=null},k),w||(b(),c(window,"focus",b))};function b(){w=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!f.isOldIE){var x=1;r.nextTick=function(E,$){$=$||window;var k="zero-timeout-message-"+x++,C=function(R){R.data==k&&(r.stopPropagation(R),s($,"message",C),E())};c($,"message",C),$.postMessage(k,"*")}}r.$idleBlocked=!1,r.onIdle=function(E,$){return setTimeout(function k(){r.$idleBlocked?setTimeout(k,100):E()},$)},r.$idleBlockId=null,r.blockIdle=function(E){r.$idleBlockId&&clearTimeout(r.$idleBlockId),r.$idleBlocked=!0,r.$idleBlockId=setTimeout(function(){r.$idleBlocked=!1},E||100)},r.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),r.nextFrame?r.nextFrame=r.nextFrame.bind(window):r.nextFrame=function(E){setTimeout(E,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(t,r,d){var p;d.exports={lineMode:!1,pasteCancelled:function(){return p&&p>Date.now()-50?!0:p=!1},cancel:function(){p=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(t,r,d){var p=t("../lib/event"),f=t("../config").nls,w=t("../lib/useragent"),h=t("../lib/dom"),g=t("../lib/lang"),o=t("../clipboard"),a=w.isChrome<18,l=w.isIE,c=w.isChrome>63,s=400,u=t("../lib/keys"),m=u.KEY_MODS,b=w.isIOS,x=b?/\s/:/\n/,E=w.isMobile,$=function(){function k(C,R){var O=this;this.host=R,this.text=h.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",C.insertBefore(this.text,C.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",E||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),p.addListener(this.text,"blur",function(L){O.ignoreFocusEvents||(R.onBlur(L),O.$isFocused=!1)},R),p.addListener(this.text,"focus",function(L){if(!O.ignoreFocusEvents){if(O.$isFocused=!0,w.isEdge)try{if(!document.hasFocus())return}catch{}R.onFocus(L),w.isEdge?setTimeout(O.resetSelection.bind(O)):O.resetSelection()}},R),this.$focusScroll=!1,R.on("beforeEndOperation",function(){var L=R.curOp,I=L&&L.command&&L.command.name;if(I!="insertstring"){var B=I&&(L.docChanged||L.selectionChanged);O.inComposition&&B&&(O.lastValue=O.text.value="",O.onCompositionEnd()),O.resetSelection()}}),R.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=b?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&R.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,p.addCommandKeyListener(this.text,function(L,I,B){if(!O.inComposition)return R.onCommandKey(L,I,B)},R),p.addListener(this.text,"select",this.onSelect.bind(this),R),p.addListener(this.text,"input",this.onInput.bind(this),R),p.addListener(this.text,"cut",this.onCut.bind(this),R),p.addListener(this.text,"copy",this.onCopy.bind(this),R),p.addListener(this.text,"paste",this.onPaste.bind(this),R),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&p.addListener(C,"keydown",function(L){if(!(w.isMac&&!L.metaKey||!L.ctrlKey))switch(L.keyCode){case 67:O.onCopy(L);break;case 86:O.onPaste(L);break;case 88:O.onCut(L);break}},R),this.syncComposition=g.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),p.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),R),p.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),R),p.addListener(this.text,"keyup",this.onKeyup.bind(this),R),p.addListener(this.text,"keydown",this.syncComposition.bind(this),R),p.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),R),this.closeTimeout,p.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),R),p.addListener(this.text,"mousedown",function(L){L.preventDefault(),O.onContextMenuClose()},R),p.addListener(R.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),R),p.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),R),b&&this.addIosSelectionHandler(C,R,this.text)}return k.prototype.addIosSelectionHandler=function(C,R,O){var L=this,I=null,B=!1;O.addEventListener("keydown",function(D){I&&clearTimeout(I),B=!0},!0),O.addEventListener("keyup",function(D){I=setTimeout(function(){B=!1},100)},!0);var P=function(D){if(document.activeElement===O&&!(B||L.inComposition||R.$mouseHandler.isMousePressed)&&!L.copied){var S=O.selectionStart,_=O.selectionEnd,N=null,H=0;if(S==0?N=u.up:S==1?N=u.home:_>L.lastSelectionEnd&&L.lastValue[_]==`
167
+ `?N=u.end:S<L.lastSelectionStart&&L.lastValue[S-1]==" "?(N=u.left,H=m.option):S<L.lastSelectionStart||S==L.lastSelectionStart&&L.lastSelectionEnd!=L.lastSelectionStart&&S==_?N=u.left:_>L.lastSelectionEnd&&L.lastValue.slice(0,_).split(`
168
+ `).length>2?N=u.down:_>L.lastSelectionEnd&&L.lastValue[_-1]==" "?(N=u.right,H=m.option):(_>L.lastSelectionEnd||_==L.lastSelectionEnd&&L.lastSelectionEnd!=L.lastSelectionStart&&S==_)&&(N=u.right),S!==_&&(H|=m.shift),N){var U=R.onCommandKey({},H,N);if(!U&&R.commands){N=u.keyCodeToString(N);var q=R.commands.findKeyCommand(H,N);q&&R.execCommand(q)}L.lastSelectionStart=S,L.lastSelectionEnd=_,L.resetSelection("")}}};document.addEventListener("selectionchange",P),R.on("destroy",function(){document.removeEventListener("selectionchange",P)})},k.prototype.onContextMenuClose=function(){var C=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){C.tempStyle&&(C.text.style.cssText=C.tempStyle,C.tempStyle=""),C.host.renderer.$isMousePressed=!1,C.host.renderer.$keepTextAreaAtCursor&&C.host.renderer.$moveTextAreaToCursor()},0)},k.prototype.$onContextMenu=function(C){this.host.textInput.onContextMenu(C),this.onContextMenuClose()},k.prototype.onKeyup=function(C){C.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},k.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},k.prototype.onCompositionStart=function(C){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){C.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var R=this.host.getSelectionRange();R.end.row=R.start.row,R.end.column=R.start.column,this.inComposition.markerRange=R,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},k.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var C=this.text.value;this.sendText(C),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},k.prototype.onCompositionEnd=function(C){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),C&&this.onInput())},k.prototype.onCut=function(C){this.doCopy(C,!0)},k.prototype.onCopy=function(C){this.doCopy(C,!1)},k.prototype.onPaste=function(C){var R=this.handleClipboardData(C);o.pasteCancelled()||(typeof R=="string"?(R&&this.host.onPaste(R,C),w.isIE&&setTimeout(this.resetSelection),p.preventDefault(C)):(this.text.value="",this.pasted=!0))},k.prototype.doCopy=function(C,R){var O=this,L=this.host.getCopyText();if(!L)return p.preventDefault(C);this.handleClipboardData(C,L)?(b&&(this.resetSelection(L),this.copied=L,setTimeout(function(){O.copied=!1},10)),R?this.host.onCut():this.host.onCopy(),p.preventDefault(C)):(this.copied=!0,this.text.value=L,this.text.select(),setTimeout(function(){O.copied=!1,O.resetSelection(),R?O.host.onCut():O.host.onCopy()}))},k.prototype.handleClipboardData=function(C,R,O){var L=C.clipboardData||window.clipboardData;if(!(!L||a)){var I=l||O?"Text":"text/plain";try{return R?L.setData(I,R)!==!1:L.getData(I)}catch(B){if(!O)return this.handleClipboardData(B,R,!0)}}},k.prototype.onInput=function(C){if(this.inComposition)return this.onCompositionUpdate();if(C&&C.inputType){if(C.inputType=="historyUndo")return this.host.execCommand("undo");if(C.inputType=="historyRedo")return this.host.execCommand("redo")}var R=this.text.value,O=this.sendText(R,!0);(R.length>s+100||x.test(O)||E&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},k.prototype.sendText=function(C,R){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),C&&this.host.onPaste(C),this.pasted=!1,"";for(var O=this.text.selectionStart,L=this.text.selectionEnd,I=this.lastSelectionStart,B=this.lastValue.length-this.lastSelectionEnd,P=C,D=C.length-O,S=C.length-L,_=0;I>0&&this.lastValue[_]==C[_];)_++,I--;for(P=P.slice(_),_=1;B>0&&this.lastValue.length-_>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-_]==C[C.length-_];)_++,B--;D-=_-1,S-=_-1;var N=P.length-_+1;if(N<0&&(I=-N,N=0),P=P.slice(0,N),!R&&!P&&!D&&!I&&!B&&!S)return"";this.sendingText=!0;var H=!1;return w.isAndroid&&P==". "&&(P=" ",H=!0),P&&!I&&!B&&!D&&!S||this.commandMode?this.host.onTextInput(P):this.host.onTextInput(P,{extendLeft:I,extendRight:B,restoreStart:D,restoreEnd:S}),this.sendingText=!1,this.lastValue=C,this.lastSelectionStart=O,this.lastSelectionEnd=L,this.lastRestoreEnd=S,H?`
169
+ `:P},k.prototype.onSelect=function(C){var R=this;if(!this.inComposition){var O=function(L){return L.selectionStart===0&&L.selectionEnd>=R.lastValue.length&&L.value===R.lastValue&&R.lastValue&&L.selectionEnd!==R.lastSelectionEnd};this.copied?this.copied=!1:O(this.text)?(this.host.selectAll(),this.resetSelection()):E&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},k.prototype.$resetSelectionIOS=function(C){if(!(!this.$isFocused||this.copied&&!C||this.sendingText)){C||(C="");var R=`
170
+ ab`+C+`cde fg
171
+ `;R!=this.text.value&&(this.text.value=this.lastValue=R);var O=4,L=4+(C.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=O||this.lastSelectionEnd!=L)&&this.text.setSelectionRange(O,L),this.lastSelectionStart=O,this.lastSelectionEnd=L}},k.prototype.$resetSelection=function(){var C=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var R=0,O=0,L="",I=function(q,Q){for(var te=Q,he=1;he<=q-C.rowStart&&he<2*C.numberOfExtraLines+1;he++)te+=C.host.session.getLine(q-he).length+1;return te};if(this.host.session){var B=this.host.selection,P=B.getRange(),D=B.cursor.row;D===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):D===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(D<this.rowStart-1||D>this.rowEnd+1)&&(this.rowStart=D>this.numberOfExtraLines?D-this.numberOfExtraLines:0,this.rowEnd=D>this.numberOfExtraLines?D+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var S=[],_=this.rowStart;_<=this.rowEnd;_++)S.push(this.host.session.getLine(_));if(L=S.join(`
172
+ `),R=I(P.start.row,P.start.column),O=I(P.end.row,P.end.column),P.start.row<this.rowStart){var N=this.host.session.getLine(this.rowStart-1);R=P.start.row<this.rowStart-1?0:R,O+=N.length+1,L=N+`
173
+ `+L}else if(P.end.row>this.rowEnd){var H=this.host.session.getLine(this.rowEnd+1);O=P.end.row>this.rowEnd+1?H.length:P.end.column,O+=L.length+1,L=L+`
174
+ `+H}else E&&D>0&&(L=`
175
+ `+L,O+=1,R+=1);L.length>s&&(R<s&&O<s?L=L.slice(0,s):(L=`
176
+ `,R==O?R=O=0:(R=0,O=1)));var U=L+`
177
+
178
+ `;U!=this.lastValue&&(this.text.value=this.lastValue=U,this.lastSelectionStart=this.lastSelectionEnd=U.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=O||this.lastSelectionStart!=R||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(R,O),this.lastSelectionStart=R,this.lastSelectionEnd=O}catch{}this.inComposition=!1}},k.prototype.setHost=function(C){this.host=C},k.prototype.setNumberOfExtraLines=function(C){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,C<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=C},k.prototype.setAriaLabel=function(){var C="";if(this.host.$textInputAriaLabel&&(C+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var R=this.host.session.selection.cursor.row;C+=f("text-input.aria-label","Cursor at row $0",[R+1])}this.text.setAttribute("aria-label",C)},k.prototype.setAriaOptions=function(C){C.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",C.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",C.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),C.role&&this.text.setAttribute("role",C.role),C.setLabel&&(this.text.setAttribute("aria-roledescription",f("text-input.aria-roledescription","editor")),this.setAriaLabel())},k.prototype.focus=function(){var C=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||c||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var R=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var O=this.text.getBoundingClientRect().top!=0}catch{return}var L=[];if(O)for(var I=this.text.parentElement;I&&I.nodeType==1;)L.push(I),I.setAttribute("ace_nocontext","true"),!I.parentElement&&I.getRootNode?I=I.getRootNode().host:I=I.parentElement;this.text.focus({preventScroll:!0}),O&&L.forEach(function(B){B.removeAttribute("ace_nocontext")}),setTimeout(function(){C.text.style.position="",C.text.style.top=="0px"&&(C.text.style.top=R)},0)},k.prototype.blur=function(){this.text.blur()},k.prototype.isFocused=function(){return this.$isFocused},k.prototype.setInputHandler=function(C){this.inputHandler=C},k.prototype.getInputHandler=function(){return this.inputHandler},k.prototype.getElement=function(){return this.text},k.prototype.setCommandMode=function(C){this.commandMode=C,this.text.readOnly=!1},k.prototype.setReadOnly=function(C){this.commandMode||(this.text.readOnly=C)},k.prototype.setCopyWithEmptySelection=function(C){},k.prototype.onContextMenu=function(C){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:C}),this.moveToMouse(C,!0)},k.prototype.moveToMouse=function(C,R){var O=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(R?"z-index:100000;":"")+(w.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var L=this.host.container.getBoundingClientRect(),I=h.computedStyle(this.host.container),B=L.top+(parseInt(I.borderTopWidth)||0),P=L.left+(parseInt(I.borderLeftWidth)||0),D=L.bottom-B-this.text.clientHeight-2,S=function(_){h.translate(O.text,_.clientX-P-2,Math.min(_.clientY-B-2,D))};S(C),C.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),w.isWin&&p.capture(this.host.container,S,this.onContextMenuClose.bind(this)))},k.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},k}();r.TextInput=$,r.$setUserAgentForTests=function(k,C){E=k,b=C}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(t,r,d){var p=t("../lib/useragent"),f=0,w=550,h=function(){function a(l){l.$clickSelection=null;var c=l.editor;c.setDefaultHandler("mousedown",this.onMouseDown.bind(l)),c.setDefaultHandler("dblclick",this.onDoubleClick.bind(l)),c.setDefaultHandler("tripleclick",this.onTripleClick.bind(l)),c.setDefaultHandler("quadclick",this.onQuadClick.bind(l)),c.setDefaultHandler("mousewheel",this.onMouseWheel.bind(l));var s=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];s.forEach(function(u){l[u]=this[u]},this),l.selectByLines=this.extendSelectionBy.bind(l,"getLineRange"),l.selectByWords=this.extendSelectionBy.bind(l,"getWordRange")}return a.prototype.onMouseDown=function(l){var c=l.inSelection(),s=l.getDocumentPosition();this.mousedownEvent=l;var u=this.editor,m=l.getButton();if(m!==0){var b=u.getSelectionRange(),x=b.isEmpty();(x||m==1)&&u.selection.moveToPosition(s),m==2&&(u.textInput.onContextMenu(l.domEvent),p.isMozilla||l.preventDefault());return}if(this.mousedownEvent.time=Date.now(),c&&!u.isFocused()&&(u.focus(),this.$focusTimeout&&!this.$clickSelection&&!u.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(l);return}return this.captureMouse(l),this.startSelect(s,l.domEvent._clicks>1),l.preventDefault()},a.prototype.startSelect=function(l,c){l=l||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var s=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?s.selection.selectToPosition(l):c||s.selection.moveToPosition(l),c||this.select(),s.setStyle("ace_selecting"),this.setState("select"))},a.prototype.select=function(){var l,c=this.editor,s=c.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var u=this.$clickSelection.comparePoint(s);if(u==-1)l=this.$clickSelection.end;else if(u==1)l=this.$clickSelection.start;else{var m=o(this.$clickSelection,s);s=m.cursor,l=m.anchor}c.selection.setSelectionAnchor(l.row,l.column)}c.selection.selectToPosition(s),c.renderer.scrollCursorIntoView()},a.prototype.extendSelectionBy=function(l){var c,s=this.editor,u=s.renderer.screenToTextCoordinates(this.x,this.y),m=s.selection[l](u.row,u.column);if(this.$clickSelection){var b=this.$clickSelection.comparePoint(m.start),x=this.$clickSelection.comparePoint(m.end);if(b==-1&&x<=0)c=this.$clickSelection.end,(m.end.row!=u.row||m.end.column!=u.column)&&(u=m.start);else if(x==1&&b>=0)c=this.$clickSelection.start,(m.start.row!=u.row||m.start.column!=u.column)&&(u=m.end);else if(b==-1&&x==1)u=m.end,c=m.start;else{var E=o(this.$clickSelection,u);u=E.cursor,c=E.anchor}s.selection.setSelectionAnchor(c.row,c.column)}s.selection.selectToPosition(u),s.renderer.scrollCursorIntoView()},a.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},a.prototype.focusWait=function(){var l=g(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),c=Date.now();(l>f||c-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},a.prototype.onDoubleClick=function(l){var c=l.getDocumentPosition(),s=this.editor,u=s.session,m=u.getBracketRange(c);m?(m.isEmpty()&&(m.start.column--,m.end.column++),this.setState("select")):(m=s.selection.getWordRange(c.row,c.column),this.setState("selectByWords")),this.$clickSelection=m,this.select()},a.prototype.onTripleClick=function(l){var c=l.getDocumentPosition(),s=this.editor;this.setState("selectByLines");var u=s.getSelectionRange();u.isMultiLine()&&u.contains(c.row,c.column)?(this.$clickSelection=s.selection.getLineRange(u.start.row),this.$clickSelection.end=s.selection.getLineRange(u.end.row).end):this.$clickSelection=s.selection.getLineRange(c.row),this.select()},a.prototype.onQuadClick=function(l){var c=this.editor;c.selectAll(),this.$clickSelection=c.getSelectionRange(),this.setState("selectAll")},a.prototype.onMouseWheel=function(l){if(!l.getAccelKey()){l.getShiftKey()&&l.wheelY&&!l.wheelX&&(l.wheelX=l.wheelY,l.wheelY=0);var c=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var s=this.$lastScroll,u=l.domEvent.timeStamp,m=u-s.t,b=m?l.wheelX/m:s.vx,x=m?l.wheelY/m:s.vy;m<w&&(b=(b+s.vx)/2,x=(x+s.vy)/2);var E=Math.abs(b/x),$=!1;if(E>=1&&c.renderer.isScrollableBy(l.wheelX*l.speed,0)&&($=!0),E<=1&&c.renderer.isScrollableBy(0,l.wheelY*l.speed)&&($=!0),$)s.allowed=u;else if(u-s.allowed<w){var k=Math.abs(b)<=1.5*Math.abs(s.vx)&&Math.abs(x)<=1.5*Math.abs(s.vy);k?($=!0,s.allowed=u):s.allowed=0}if(s.t=u,s.vx=b,s.vy=x,$)return c.renderer.scrollBy(l.wheelX*l.speed,l.wheelY*l.speed),l.stop()}},a}();h.prototype.selectEnd=h.prototype.selectByLinesEnd,h.prototype.selectAllEnd=h.prototype.selectByLinesEnd,h.prototype.selectByWordsEnd=h.prototype.selectByLinesEnd,r.DefaultHandlers=h;function g(a,l,c,s){return Math.sqrt(Math.pow(c-a,2)+Math.pow(s-l,2))}function o(a,l){if(a.start.row==a.end.row)var c=2*l.column-a.start.column-a.end.column;else if(a.start.row==a.end.row-1&&!a.start.column&&!a.end.column)var c=l.column-4;else var c=2*l.row-a.start.row-a.end.row;return c<0?{cursor:a.start,anchor:a.end}:{cursor:a.end,anchor:a.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(t,r,d){r.preventParentScroll=function(p){p.stopPropagation();var f=p.currentTarget,w=f.scrollHeight>f.clientHeight;w||p.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(t,r,d){var p=this&&this.__extends||function(){var u=function(m,b){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,E){x.__proto__=E}||function(x,E){for(var $ in E)Object.prototype.hasOwnProperty.call(E,$)&&(x[$]=E[$])},u(m,b)};return function(m,b){if(typeof b!="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");u(m,b);function x(){this.constructor=m}m.prototype=b===null?Object.create(b):(x.prototype=b.prototype,new x)}}(),f=this&&this.__values||function(u){var m=typeof Symbol=="function"&&Symbol.iterator,b=m&&u[m],x=0;if(b)return b.call(u);if(u&&typeof u.length=="number")return{next:function(){return u&&x>=u.length&&(u=void 0),{value:u&&u[x++],done:!u}}};throw new TypeError(m?"Object is not iterable.":"Symbol.iterator is not defined.")},w=t("./lib/dom");t("./lib/event");var h=t("./range").Range,g=t("./lib/scroll").preventParentScroll,o="ace_tooltip",a=function(){function u(m){this.isOpen=!1,this.$element=null,this.$parentNode=m}return u.prototype.$init=function(){return this.$element=w.createElement("div"),this.$element.className=o,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},u.prototype.getElement=function(){return this.$element||this.$init()},u.prototype.setText=function(m){this.getElement().textContent=m},u.prototype.setHtml=function(m){this.getElement().innerHTML=m},u.prototype.setPosition=function(m,b){this.getElement().style.left=m+"px",this.getElement().style.top=b+"px"},u.prototype.setClassName=function(m){w.addCssClass(this.getElement(),m)},u.prototype.setTheme=function(m){this.$element.className=o+" "+(m.isDark?"ace_dark ":"")+(m.cssClass||"")},u.prototype.show=function(m,b,x){m!=null&&this.setText(m),b!=null&&x!=null&&this.setPosition(b,x),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},u.prototype.hide=function(m){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=o,this.isOpen=!1)},u.prototype.getHeight=function(){return this.getElement().offsetHeight},u.prototype.getWidth=function(){return this.getElement().offsetWidth},u.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},u}(),l=function(){function u(){this.popups=[]}return u.prototype.addPopup=function(m){this.popups.push(m),this.updatePopups()},u.prototype.removePopup=function(m){var b=this.popups.indexOf(m);b!==-1&&(this.popups.splice(b,1),this.updatePopups())},u.prototype.updatePopups=function(){var m,b,x,E;this.popups.sort(function(P,D){return D.priority-P.priority});var $=[];try{for(var k=f(this.popups),C=k.next();!C.done;C=k.next()){var R=C.value,O=!0;try{for(var L=(x=void 0,f($)),I=L.next();!I.done;I=L.next()){var B=I.value;if(this.doPopupsOverlap(B,R)){O=!1;break}}}catch(P){x={error:P}}finally{try{I&&!I.done&&(E=L.return)&&E.call(L)}finally{if(x)throw x.error}}O?$.push(R):R.hide()}}catch(P){m={error:P}}finally{try{C&&!C.done&&(b=k.return)&&b.call(k)}finally{if(m)throw m.error}}},u.prototype.doPopupsOverlap=function(m,b){var x=m.getElement().getBoundingClientRect(),E=b.getElement().getBoundingClientRect();return x.left<E.right&&x.right>E.left&&x.top<E.bottom&&x.bottom>E.top},u}(),c=new l;r.popupManager=c,r.Tooltip=a;var s=function(u){p(m,u);function m(b){b===void 0&&(b=document.body);var x=u.call(this,b)||this;x.timeout=void 0,x.lastT=0,x.idleTime=350,x.lastEvent=void 0,x.onMouseOut=x.onMouseOut.bind(x),x.onMouseMove=x.onMouseMove.bind(x),x.waitForHover=x.waitForHover.bind(x),x.hide=x.hide.bind(x);var E=x.getElement();return E.style.whiteSpace="pre-wrap",E.style.pointerEvents="auto",E.addEventListener("mouseout",x.onMouseOut),E.tabIndex=-1,E.addEventListener("blur",(function(){E.contains(document.activeElement)||this.hide()}).bind(x)),E.addEventListener("wheel",g),x}return m.prototype.addToEditor=function(b){b.on("mousemove",this.onMouseMove),b.on("mousedown",this.hide),b.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},m.prototype.removeFromEditor=function(b){b.off("mousemove",this.onMouseMove),b.off("mousedown",this.hide),b.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},m.prototype.onMouseMove=function(b,x){this.lastEvent=b,this.lastT=Date.now();var E=x.$mouseHandler.isMousePressed;if(this.isOpen){var $=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains($.row,$.column)||E||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||E||(this.lastEvent=b,this.timeout=setTimeout(this.waitForHover,this.idleTime))},m.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var b=Date.now()-this.lastT;if(this.idleTime-b>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-b);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},m.prototype.isOutsideOfText=function(b){var x=b.editor,E=b.getDocumentPosition(),$=x.session.getLine(E.row);if(E.column==$.length){var k=x.renderer.pixelToScreenCoordinates(b.clientX,b.clientY),C=x.session.documentToScreenPosition(E.row,E.column);if(C.column!=k.column||C.row!=k.row)return!0}return!1},m.prototype.setDataProvider=function(b){this.$gatherData=b},m.prototype.showForRange=function(b,x,E,$){var k=10;if(!($&&$!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var C=b.renderer;this.isOpen||(c.addPopup(this),this.$registerCloseEvents(),this.setTheme(C.theme)),this.isOpen=!0,this.addMarker(x,b.session),this.range=h.fromPoints(x.start,x.end);var R=C.textToScreenCoordinates(x.start.row,x.start.column),O=C.scroller.getBoundingClientRect();R.pageX<O.left&&(R.pageX=O.left);var L=this.getElement();L.innerHTML="",L.appendChild(E),L.style.maxHeight="",L.style.display="block";var I=L.clientHeight,B=L.clientWidth,P=window.innerHeight-R.pageY-C.lineHeight,D=!0;R.pageY-I<0&&R.pageY<P&&(D=!1),L.style.maxHeight=(D?R.pageY:P)-k+"px",L.style.top=D?"":R.pageY+C.lineHeight+"px",L.style.bottom=D?window.innerHeight-R.pageY+"px":"",L.style.left=Math.min(R.pageX,window.innerWidth-B-k)+"px"}},m.prototype.addMarker=function(b,x){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=x,this.marker=x&&x.addMarker(b,"ace_highlight-marker","text")},m.prototype.hide=function(b){!b&&document.activeElement==this.getElement()||b&&b.target&&(b.type!="keydown"||b.ctrlKey||b.metaKey)&&this.$element.contains(b.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,c.removePopup(this)))},m.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},m.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},m.prototype.onMouseOut=function(b){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!b.relatedTarget||this.getElement().contains(b.relatedTarget)||b&&b.currentTarget.contains(b.relatedTarget)||b.relatedTarget.classList.contains("ace_content")||this.hide())},m}(a);r.HoverTooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(t,r,d){var p=this&&this.__extends||function(){var u=function(m,b){return u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,E){x.__proto__=E}||function(x,E){for(var $ in E)Object.prototype.hasOwnProperty.call(E,$)&&(x[$]=E[$])},u(m,b)};return function(m,b){if(typeof b!="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");u(m,b);function x(){this.constructor=m}m.prototype=b===null?Object.create(b):(x.prototype=b.prototype,new x)}}(),f=this&&this.__values||function(u){var m=typeof Symbol=="function"&&Symbol.iterator,b=m&&u[m],x=0;if(b)return b.call(u);if(u&&typeof u.length=="number")return{next:function(){return u&&x>=u.length&&(u=void 0),{value:u&&u[x++],done:!u}}};throw new TypeError(m?"Object is not iterable.":"Symbol.iterator is not defined.")},w=t("../lib/dom"),h=t("../lib/event"),g=t("../tooltip").Tooltip,o=t("../config").nls,a=5,l=3;r.GUTTER_TOOLTIP_LEFT_OFFSET=a,r.GUTTER_TOOLTIP_TOP_OFFSET=l;function c(u){var m=u.editor,b=m.renderer.$gutterLayer,x=new s(m,!0);u.editor.setDefaultHandler("guttermousedown",function(O){if(!(!m.isFocused()||O.getButton()!=0)){var L=b.getRegion(O);if(L!="foldWidgets"){var I=O.getDocumentPosition().row,B=m.session.selection;if(O.getShiftKey())B.selectTo(I,0);else{if(O.domEvent.detail==2)return m.selectAll(),O.preventDefault();u.$clickSelection=m.selection.getLineRange(I)}return u.setState("selectByLines"),u.captureMouse(O),O.preventDefault()}}});var E,$;function k(){var O=$.getDocumentPosition().row,L=m.session.getLength();if(O==L){var I=m.renderer.pixelToScreenCoordinates(0,$.y).row,B=$.$pos;if(I>m.session.documentToScreenRow(B.row,B.column))return C()}if(x.showTooltip(O),!!x.isOpen)if(m.on("mousewheel",C),m.on("changeSession",C),window.addEventListener("keydown",C,!0),u.$tooltipFollowsMouse)R($);else{var P=$.getGutterRow(),D=b.$lines.get(P);if(D){var S=D.element.querySelector(".ace_gutter_annotation"),_=S.getBoundingClientRect(),N=x.getElement().style;N.left=_.right-a+"px",N.top=_.bottom-l+"px"}else R($)}}function C(O){O&&O.type==="keydown"&&(O.ctrlKey||O.metaKey)||O&&O.type==="mouseout"&&(!O.relatedTarget||x.getElement().contains(O.relatedTarget))||(E&&(E=clearTimeout(E)),x.isOpen&&(x.hideTooltip(),m.off("mousewheel",C),m.off("changeSession",C),window.removeEventListener("keydown",C,!0)))}function R(O){x.setPosition(O.x,O.y)}u.editor.setDefaultHandler("guttermousemove",function(O){var L=O.domEvent.target||O.domEvent.srcElement;if(w.hasCssClass(L,"ace_fold-widget")||w.hasCssClass(L,"ace_custom-widget"))return C();x.isOpen&&u.$tooltipFollowsMouse&&R(O),$=O,!E&&(E=setTimeout(function(){E=null,$&&!u.isMousePressed&&k()},50))}),h.addListener(m.renderer.$gutter,"mouseout",function(O){$=null,x.isOpen&&(E=setTimeout(function(){E=null,C(O)},50))},m)}r.GutterHandler=c;var s=function(u){p(m,u);function m(b,x){x===void 0&&(x=!1);var E=u.call(this,b.container)||this;E.id="gt"+ ++m.$uid,E.editor=b,E.visibleTooltipRow;var $=E.getElement();return $.setAttribute("role","tooltip"),$.setAttribute("id",E.id),$.style.pointerEvents="auto",x&&(E.onMouseOut=E.onMouseOut.bind(E),$.addEventListener("mouseout",E.onMouseOut)),E}return m.prototype.onMouseOut=function(b){this.isOpen&&(!b.relatedTarget||this.getElement().contains(b.relatedTarget)||b&&b.currentTarget.contains(b.relatedTarget)||this.hideTooltip())},m.prototype.setPosition=function(b,x){var E=window.innerWidth||document.documentElement.clientWidth,$=window.innerHeight||document.documentElement.clientHeight,k=this.getWidth(),C=this.getHeight();b+=15,x+=15,b+k>E&&(b-=b+k-E),x+C>$&&(x-=20+C),g.prototype.setPosition.call(this,b,x)},Object.defineProperty(m,"annotationLabels",{get:function(){return{error:{singular:o("gutter-tooltip.aria-label.error.singular","error"),plural:o("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:o("gutter-tooltip.aria-label.security.singular","security finding"),plural:o("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:o("gutter-tooltip.aria-label.warning.singular","warning"),plural:o("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:o("gutter-tooltip.aria-label.info.singular","information message"),plural:o("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:o("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:o("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),m.prototype.showTooltip=function(b){var x,E=this.editor.renderer.$gutterLayer,$=E.$annotations[b],k;$?k={displayText:Array.from($.displayText),type:Array.from($.type)}:k={displayText:[],type:[]};var C=E.session.getFoldLine(b);if(C&&E.$showFoldedAnnotations){for(var R={error:[],security:[],warning:[],info:[],hint:[]},O={error:1,security:2,warning:3,info:4,hint:5},L,I=b+1;I<=C.end.row;I++)if(E.$annotations[I])for(var B=0;B<E.$annotations[I].text.length;B++){var P=E.$annotations[I].type[B];R[P].push(E.$annotations[I].text[B]),(!L||O[P]<O[L])&&(L=P)}if(["error","security","warning"].includes(L)){var D="".concat(m.annotationsToSummaryString(R)," in folded code.");k.displayText.push(D),k.type.push(L+"_fold")}}if(k.displayText.length===0)return this.hideTooltip();for(var S={error:[],security:[],warning:[],info:[],hint:[]},_=E.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",I=0;I<k.displayText.length;I++){var N=w.createElement("span"),H=w.createElement("span");(x=H.classList).add.apply(x,["ace_".concat(k.type[I]),_]),H.setAttribute("aria-label","".concat(m.annotationLabels[k.type[I].replace("_fold","")].singular)),H.setAttribute("role","img"),H.appendChild(w.createTextNode(" ")),N.appendChild(H),N.appendChild(w.createTextNode(k.displayText[I])),N.appendChild(w.createElement("br")),S[k.type[I].replace("_fold","")].push(N)}var U=this.getElement();w.removeChildren(U),S.error.forEach(function(Q){return U.appendChild(Q)}),S.security.forEach(function(Q){return U.appendChild(Q)}),S.warning.forEach(function(Q){return U.appendChild(Q)}),S.info.forEach(function(Q){return U.appendChild(Q)}),S.hint.forEach(function(Q){return U.appendChild(Q)}),U.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip"));var q=this.$findLinkedAnnotationNode(b);q&&q.setAttribute("aria-describedby",this.id),this.show(),this.visibleTooltipRow=b,this.editor._signal("showGutterTooltip",this)},m.prototype.$findLinkedAnnotationNode=function(b){var x=this.$findCellByRow(b);if(x){var E=x.element;if(E.childNodes.length>2)return E.childNodes[2]}},m.prototype.$findCellByRow=function(b){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(x){return x.row===b})},m.prototype.hideTooltip=function(){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow!=null){var b=this.$findLinkedAnnotationNode(this.visibleTooltipRow);b&&b.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this)}},m.annotationsToSummaryString=function(b){var x,E,$=[],k=["error","security","warning","info","hint"];try{for(var C=f(k),R=C.next();!R.done;R=C.next()){var O=R.value;if(b[O].length){var L=b[O].length===1?m.annotationLabels[O].singular:m.annotationLabels[O].plural;$.push("".concat(b[O].length," ").concat(L))}}}catch(I){x={error:I}}finally{try{R&&!R.done&&(E=C.return)&&E.call(C)}finally{if(x)throw x.error}}return $.join(", ")},m}(g);s.$uid=0,r.GutterTooltip=s}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(t,r,d){var p=t("../lib/event"),f=t("../lib/useragent"),w=function(){function h(g,o){this.speed,this.wheelX,this.wheelY,this.domEvent=g,this.editor=o,this.x=this.clientX=g.clientX,this.y=this.clientY=g.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return h.prototype.stopPropagation=function(){p.stopPropagation(this.domEvent),this.propagationStopped=!0},h.prototype.preventDefault=function(){p.preventDefault(this.domEvent),this.defaultPrevented=!0},h.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},h.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},h.prototype.getGutterRow=function(){var g=this.getDocumentPosition().row,o=this.editor.session.documentToScreenRow(g,0),a=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return o-a},h.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var g=this.editor,o=g.getSelectionRange();if(o.isEmpty())this.$inSelection=!1;else{var a=this.getDocumentPosition();this.$inSelection=o.contains(a.row,a.column)}return this.$inSelection},h.prototype.getButton=function(){return p.getButton(this.domEvent)},h.prototype.getShiftKey=function(){return this.domEvent.shiftKey},h.prototype.getAccelKey=function(){return f.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},h}();r.MouseEvent=w}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(t,r,d){var p=t("../lib/dom"),f=t("../lib/event"),w=t("../lib/useragent"),h=200,g=200,o=5;function a(c){var s=c.editor,u=p.createElement("div");u.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",u.textContent=" ";var m=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];m.forEach(function(ne){c[ne]=this[ne]},this),s.on("mousedown",this.onMouseDown.bind(c));var b=s.container,x,E,$,k,C,R,O=0,L,I,B,P,D;this.onDragStart=function(ne){if(this.cancelDrag||!b.draggable){var le=this;return setTimeout(function(){le.startSelect(),le.captureMouse(ne)},0),ne.preventDefault()}C=s.getSelectionRange();var ue=ne.dataTransfer;ue.effectAllowed=s.getReadOnly()?"copy":"copyMove",s.container.appendChild(u),ue.setDragImage&&ue.setDragImage(u,0,0),setTimeout(function(){s.container.removeChild(u)}),ue.clearData(),ue.setData("Text",s.session.getTextRange()),I=!0,this.setState("drag")},this.onDragEnd=function(ne){if(b.draggable=!1,I=!1,this.setState(null),!s.getReadOnly()){var le=ne.dataTransfer.dropEffect;!L&&le=="move"&&s.session.remove(s.getSelectionRange()),s.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(ne){if(!(s.getReadOnly()||!te(ne.dataTransfer)))return E=ne.clientX,$=ne.clientY,x||H(),O++,ne.dataTransfer.dropEffect=L=he(ne),f.preventDefault(ne)},this.onDragOver=function(ne){if(!(s.getReadOnly()||!te(ne.dataTransfer)))return E=ne.clientX,$=ne.clientY,x||(H(),O++),q!==null&&(q=null),ne.dataTransfer.dropEffect=L=he(ne),f.preventDefault(ne)},this.onDragLeave=function(ne){if(O--,O<=0&&x)return U(),L=null,f.preventDefault(ne)},this.onDrop=function(ne){if(R){var le=ne.dataTransfer;if(I)switch(L){case"move":C.contains(R.row,R.column)?C={start:R,end:R}:C=s.moveText(C,R);break;case"copy":C=s.moveText(C,R,!0);break}else{var ue=le.getData("Text");C={start:R,end:s.session.insert(R,ue)},s.focus(),L=null}return U(),f.preventDefault(ne)}},f.addListener(b,"dragstart",this.onDragStart.bind(c),s),f.addListener(b,"dragend",this.onDragEnd.bind(c),s),f.addListener(b,"dragenter",this.onDragEnter.bind(c),s),f.addListener(b,"dragover",this.onDragOver.bind(c),s),f.addListener(b,"dragleave",this.onDragLeave.bind(c),s),f.addListener(b,"drop",this.onDrop.bind(c),s);function S(ne,le){var ue=Date.now(),ce=!le||ne.row!=le.row,ge=!le||ne.column!=le.column;if(!P||ce||ge)s.moveCursorToPosition(ne),P=ue,D={x:E,y:$};else{var Se=l(D.x,D.y,E,$);Se>o?P=null:ue-P>=g&&(s.renderer.scrollCursorIntoView(),P=null)}}function _(ne,le){var ue=Date.now(),ce=s.renderer.layerConfig.lineHeight,ge=s.renderer.layerConfig.characterWidth,Se=s.renderer.scroller.getBoundingClientRect(),$e={x:{left:E-Se.left,right:Se.right-E},y:{top:$-Se.top,bottom:Se.bottom-$}},Te=Math.min($e.x.left,$e.x.right),Ze=Math.min($e.y.top,$e.y.bottom),qe={row:ne.row,column:ne.column};Te/ge<=2&&(qe.column+=$e.x.left<$e.x.right?-3:2),Ze/ce<=1&&(qe.row+=$e.y.top<$e.y.bottom?-1:1);var dt=ne.row!=qe.row,ot=ne.column!=qe.column,gt=!le||ne.row!=le.row;dt||ot&&!gt?B?ue-B>=h&&s.renderer.scrollCursorIntoView(qe):B=ue:B=null}function N(){var ne=R;R=s.renderer.screenToTextCoordinates(E,$),S(R,ne),_(R,ne)}function H(){C=s.selection.toOrientedRange(),x=s.session.addMarker(C,"ace_selection",s.getSelectionStyle()),s.clearSelection(),s.isFocused()&&s.renderer.$cursorLayer.setBlinking(!1),clearInterval(k),N(),k=setInterval(N,20),O=0,f.addListener(document,"mousemove",Q)}function U(){clearInterval(k),s.session.removeMarker(x),x=null,s.selection.fromOrientedRange(C),s.isFocused()&&!I&&s.$resetCursorStyle(),C=null,R=null,O=0,B=null,P=null,f.removeListener(document,"mousemove",Q)}var q=null;function Q(){q==null&&(q=setTimeout(function(){q!=null&&x&&U()},20))}function te(ne){var le=ne.types;return!le||Array.prototype.some.call(le,function(ue){return ue=="text/plain"||ue=="Text"})}function he(ne){var le=["copy","copymove","all","uninitialized"],ue=["move","copymove","linkmove","all","uninitialized"],ce=w.isMac?ne.altKey:ne.ctrlKey,ge="uninitialized";try{ge=ne.dataTransfer.effectAllowed.toLowerCase()}catch{}var Se="none";return ce&&le.indexOf(ge)>=0?Se="copy":ue.indexOf(ge)>=0?Se="move":le.indexOf(ge)>=0&&(Se="copy"),Se}}(function(){this.dragWait=function(){var c=Date.now()-this.mousedownEvent.time;c>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var c=this.editor.container;c.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(c){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var c=this.editor,s=c.container;s.draggable=!0,c.renderer.$cursorLayer.setBlinking(!1),c.setStyle("ace_dragging");var u=w.isWin?"default":"move";c.renderer.setCursorStyle(u),this.setState("dragReady")},this.onMouseDrag=function(c){var s=this.editor.container;if(w.isIE&&this.state=="dragReady"){var u=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);u>3&&s.dragDrop()}if(this.state==="dragWait"){var u=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);u>0&&(s.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(c){if(this.$dragEnabled){this.mousedownEvent=c;var s=this.editor,u=c.inSelection(),m=c.getButton(),b=c.domEvent.detail||1;if(b===1&&m===0&&u){if(c.editor.inMultiSelectMode&&(c.getAccelKey()||c.getShiftKey()))return;this.mousedownEvent.time=Date.now();var x=c.domEvent.target||c.domEvent.srcElement;if("unselectable"in x&&(x.unselectable="on"),s.getDragDelay()){if(w.isWebKit){this.cancelDrag=!0;var E=s.container;E.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(c,this.onMouseDrag.bind(this)),c.defaultPrevented=!0}}}}).call(a.prototype);function l(c,s,u,m){return Math.sqrt(Math.pow(u-c,2)+Math.pow(m-s,2))}r.DragdropHandler=a}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(t,r,d){var p=t("./mouse_event").MouseEvent,f=t("../lib/event"),w=t("../lib/dom");r.addTouchListeners=function(h,g){var o="scroll",a,l,c,s,u,m,b=0,x,E=0,$=0,k=0,C,R;function O(){var S=window.navigator&&window.navigator.clipboard,_=!1,N=function(){var q=g.getCopyText(),Q=g.session.getUndoManager().hasUndo();R.replaceChild(w.buildDom(_?["span",!q&&H("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],q&&H("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],q&&H("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],S&&H("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],Q&&H("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],H("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],H("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),R.firstChild)},H=function(q){return g.commands.canExecute(q,g)},U=function(q){var Q=q.target.getAttribute("action");if(Q=="more"||!_)return _=!_,N();Q=="paste"?S.readText().then(function(te){g.execCommand(Q,te)}):Q&&((Q=="cut"||Q=="copy")&&(S?S.writeText(g.getCopyText()):document.execCommand("copy")),g.execCommand(Q)),R.firstChild.style.display="none",_=!1,Q!="openCommandPalette"&&g.focus()};R=w.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(q){o="menu",q.stopPropagation(),q.preventDefault(),g.textInput.focus()},ontouchend:function(q){q.stopPropagation(),q.preventDefault(),U(q)},onclick:U},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],g.container)}function L(){if(!g.getOption("enableMobileMenu")){R&&I();return}R||O();var S=g.selection.cursor,_=g.renderer.textToScreenCoordinates(S.row,S.column),N=g.renderer.textToScreenCoordinates(0,0).pageX,H=g.renderer.scrollLeft,U=g.container.getBoundingClientRect();R.style.top=_.pageY-U.top-3+"px",_.pageX-U.left<U.width-70?(R.style.left="",R.style.right="10px"):(R.style.right="",R.style.left=N+H-U.left+"px"),R.style.display="",R.firstChild.style.display="none",g.on("input",I)}function I(S){R&&(R.style.display="none"),g.off("input",I)}function B(){u=null,clearTimeout(u);var S=g.selection.getRange(),_=S.contains(x.row,x.column);(S.isEmpty()||!_)&&(g.selection.moveToPosition(x),g.selection.selectWord()),o="wait",L()}function P(){u=null,clearTimeout(u),g.selection.moveToPosition(x);var S=E>=2?g.selection.getLineRange(x.row):g.session.getBracketRange(x);S&&!S.isEmpty()?g.selection.setRange(S):g.selection.selectWord(),o="wait"}f.addListener(h,"contextmenu",function(S){if(C){var _=g.textInput.getElement();_.focus()}},g),f.addListener(h,"touchstart",function(S){var _=S.touches;if(u||_.length>1){clearTimeout(u),u=null,c=-1,o="zoom";return}C=g.$mouseHandler.isMousePressed=!0;var N=g.renderer.layerConfig.lineHeight,H=g.renderer.layerConfig.lineHeight,U=S.timeStamp;s=U;var q=_[0],Q=q.clientX,te=q.clientY;Math.abs(a-Q)+Math.abs(l-te)>N&&(c=-1),a=S.clientX=Q,l=S.clientY=te,$=k=0;var he=new p(S,g);if(x=he.getDocumentPosition(),U-c<500&&_.length==1&&!b)E++,S.preventDefault(),S.button=0,P();else{E=0;var ne=g.selection.cursor,le=g.selection.isEmpty()?ne:g.selection.anchor,ue=g.renderer.$cursorLayer.getPixelPosition(ne,!0),ce=g.renderer.$cursorLayer.getPixelPosition(le,!0),ge=g.renderer.scroller.getBoundingClientRect(),Se=g.renderer.layerConfig.offset,$e=g.renderer.scrollLeft,Te=function(dt,ot){return dt=dt/H,ot=ot/N-.75,dt*dt+ot*ot};if(S.clientX<ge.left){o="zoom";return}var Ze=Te(S.clientX-ge.left-ue.left+$e,S.clientY-ge.top-ue.top+Se),qe=Te(S.clientX-ge.left-ce.left+$e,S.clientY-ge.top-ce.top+Se);Ze<3.5&&qe<3.5&&(o=Ze>qe?"cursor":"anchor"),qe<3.5?o="anchor":Ze<3.5?o="cursor":o="scroll",u=setTimeout(B,450)}c=U},g),f.addListener(h,"touchend",function(S){C=g.$mouseHandler.isMousePressed=!1,m&&clearInterval(m),o=="zoom"?(o="",b=0):u?(g.selection.moveToPosition(x),b=0,L()):o=="scroll"?(D(),I()):L(),clearTimeout(u),u=null},g),f.addListener(h,"touchmove",function(S){u&&(clearTimeout(u),u=null);var _=S.touches;if(!(_.length>1||o=="zoom")){var N=_[0],H=a-N.clientX,U=l-N.clientY;if(o=="wait")if(H*H+U*U>4)o="cursor";else return S.preventDefault();a=N.clientX,l=N.clientY,S.clientX=N.clientX,S.clientY=N.clientY;var q=S.timeStamp,Q=q-s;if(s=q,o=="scroll"){var te=new p(S,g);te.speed=1,te.wheelX=H,te.wheelY=U,10*Math.abs(H)<Math.abs(U)&&(H=0),10*Math.abs(U)<Math.abs(H)&&(U=0),Q!=0&&($=H/Q,k=U/Q),g._emit("mousewheel",te),te.propagationStopped||($=k=0)}else{var he=new p(S,g),ne=he.getDocumentPosition();o=="cursor"?g.selection.moveCursorToPosition(ne):o=="anchor"&&g.selection.setSelectionAnchor(ne.row,ne.column),g.renderer.scrollCursorIntoView(ne),S.preventDefault()}}},g);function D(){b+=60,m=setInterval(function(){b--<=0&&(clearInterval(m),m=null),Math.abs($)<.01&&($=0),Math.abs(k)<.01&&(k=0),b<20&&($=.9*$),b<20&&(k=.9*k);var S=g.session.getScrollTop();g.renderer.scrollBy(10*$,10*k),S==g.session.getScrollTop()&&(b=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(t,r,d){var p=t("../lib/event"),f=t("../lib/useragent"),w=t("./default_handlers").DefaultHandlers,h=t("./default_gutter_handler").GutterHandler,g=t("./mouse_event").MouseEvent,o=t("./dragdrop_handler").DragdropHandler,a=t("./touch_handler").addTouchListeners,l=t("../config"),c=function(){function s(u){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var m=this;this.editor=u,new w(this),new h(this),new o(this);var b=function($){var k=!document.hasFocus||!document.hasFocus()||!u.isFocused()&&document.activeElement==(u.textInput&&u.textInput.getElement());k&&window.focus(),u.focus(),setTimeout(function(){u.isFocused()||u.focus()})},x=u.renderer.getMouseEventTarget();p.addListener(x,"click",this.onMouseEvent.bind(this,"click"),u),p.addListener(x,"mousemove",this.onMouseMove.bind(this,"mousemove"),u),p.addMultiMouseDownListener([x,u.renderer.scrollBarV&&u.renderer.scrollBarV.inner,u.renderer.scrollBarH&&u.renderer.scrollBarH.inner,u.textInput&&u.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",u),p.addMouseWheelListener(u.container,this.onMouseWheel.bind(this,"mousewheel"),u),a(u.container,u);var E=u.renderer.$gutter;p.addListener(E,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),u),p.addListener(E,"click",this.onMouseEvent.bind(this,"gutterclick"),u),p.addListener(E,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),u),p.addListener(E,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),u),p.addListener(x,"mousedown",b,u),p.addListener(E,"mousedown",b,u),f.isIE&&u.renderer.scrollBarV&&(p.addListener(u.renderer.scrollBarV.element,"mousedown",b,u),p.addListener(u.renderer.scrollBarH.element,"mousedown",b,u)),u.on("mousemove",function($){if(!(m.state||m.$dragDelay||!m.$dragEnabled)){var k=u.renderer.screenToTextCoordinates($.x,$.y),C=u.session.selection.getRange(),R=u.renderer;!C.isEmpty()&&C.insideStart(k.row,k.column)?R.setCursorStyle("default"):R.setCursorStyle("")}},u)}return s.prototype.onMouseEvent=function(u,m){this.editor.session&&this.editor._emit(u,new g(m,this.editor))},s.prototype.onMouseMove=function(u,m){var b=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!b||!b.length||this.editor._emit(u,new g(m,this.editor))},s.prototype.onMouseWheel=function(u,m){var b=new g(m,this.editor);b.speed=this.$scrollSpeed*2,b.wheelX=m.wheelX,b.wheelY=m.wheelY,this.editor._emit(u,b)},s.prototype.setState=function(u){this.state=u},s.prototype.captureMouse=function(u,m){this.x=u.x,this.y=u.y,this.isMousePressed=!0;var b=this.editor,x=this.editor.renderer;x.$isMousePressed=!0;var E=this,$=!0,k=function(I){if(I){if(f.isWebKit&&!I.which&&E.releaseMouse)return E.releaseMouse();E.x=I.clientX,E.y=I.clientY,m&&m(I),E.mouseEvent=new g(I,E.editor),E.$mouseMoved=!0}},C=function(I){b.off("beforeEndOperation",L),$=!1,b.session&&R(),E[E.state+"End"]&&E[E.state+"End"](I),E.state="",E.isMousePressed=x.$isMousePressed=!1,x.$keepTextAreaAtCursor&&x.$moveTextAreaToCursor(),E.$onCaptureMouseMove=E.releaseMouse=null,I&&E.onMouseEvent("mouseup",I),b.endOperation()},R=function(){E[E.state]&&E[E.state](),E.$mouseMoved=!1},O=function(){$&&(R(),p.nextFrame(O))};if(f.isOldIE&&u.domEvent.type=="dblclick")return setTimeout(function(){C(u)});var L=function(I){E.releaseMouse&&b.curOp.command.name&&b.curOp.selectionChanged&&(E[E.state+"End"]&&E[E.state+"End"](),E.state="",E.releaseMouse())};b.on("beforeEndOperation",L),b.startOperation({command:{name:"mouse"}}),E.$onCaptureMouseMove=k,E.releaseMouse=p.capture(this.editor.container,k,C),O()},s.prototype.cancelContextMenu=function(){var u=(function(m){m&&m.domEvent&&m.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",u),m&&m.domEvent&&p.stopEvent(m.domEvent))}).bind(this);setTimeout(u,10),this.editor.on("nativecontextmenu",u)},s.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},s}();c.prototype.releaseMouse=null,l.defineOptions(c.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:f.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),r.MouseHandler=c}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(t,r,d){var p=t("../lib/dom"),f=function(){function w(h){h.on("click",function(g){var o=g.getDocumentPosition(),a=h.session,l=a.getFoldAt(o.row,o.column,1);l&&(g.getAccelKey()?a.removeFold(l):a.expandFold(l),g.stop());var c=g.domEvent&&g.domEvent.target;c&&p.hasCssClass(c,"ace_inline_button")&&p.hasCssClass(c,"ace_toggle_wrap")&&(a.setOption("wrap",!a.getUseWrapMode()),h.renderer.scrollCursorIntoView())}),h.on("gutterclick",function(g){var o=h.renderer.$gutterLayer.getRegion(g);if(o=="foldWidgets"){var a=g.getDocumentPosition().row,l=h.session;l.foldWidgets&&l.foldWidgets[a]&&h.session.onFoldWidgetClick(a,g),h.isFocused()||h.focus(),g.stop()}}),h.on("gutterdblclick",function(g){var o=h.renderer.$gutterLayer.getRegion(g);if(o=="foldWidgets"){var a=g.getDocumentPosition().row,l=h.session,c=l.getParentFoldRangeData(a,!0),s=c.range||c.firstRange;if(s){a=s.start.row;var u=l.getFoldAt(a,l.getLine(a).length,1);u?l.removeFold(u):(l.addFold("...",s),h.renderer.scrollCursorIntoView({row:s.start.row,column:0}))}g.stop()}})}return w}();r.FoldHandler=f}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(t,r,d){var p=t("../lib/keys"),f=t("../lib/event"),w=function(){function h(g){this.$editor=g,this.$data={editor:g},this.$handlers=[],this.setDefaultHandler(g.commands)}return h.prototype.setDefaultHandler=function(g){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=g,this.addKeyboardHandler(g,0)},h.prototype.setKeyboardHandler=function(g){var o=this.$handlers;if(o[o.length-1]!=g){for(;o[o.length-1]&&o[o.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(o[o.length-1]);this.addKeyboardHandler(g,1)}},h.prototype.addKeyboardHandler=function(g,o){if(g){typeof g=="function"&&!g.handleKeyboard&&(g.handleKeyboard=g);var a=this.$handlers.indexOf(g);a!=-1&&this.$handlers.splice(a,1),o==null?this.$handlers.push(g):this.$handlers.splice(o,0,g),a==-1&&g.attach&&g.attach(this.$editor)}},h.prototype.removeKeyboardHandler=function(g){var o=this.$handlers.indexOf(g);return o==-1?!1:(this.$handlers.splice(o,1),g.detach&&g.detach(this.$editor),!0)},h.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},h.prototype.getStatusText=function(){var g=this.$data,o=g.editor;return this.$handlers.map(function(a){return a.getStatusText&&a.getStatusText(o,g)||""}).filter(Boolean).join(" ")},h.prototype.$callKeyboardHandlers=function(g,o,a,l){for(var c,s=!1,u=this.$editor.commands,m=this.$handlers.length;m--&&(c=this.$handlers[m].handleKeyboard(this.$data,g,o,a,l),!(!(!c||!c.command)&&(c.command=="null"?s=!0:s=u.exec(c.command,this.$editor,c.args,l),s&&l&&g!=-1&&c.passEvent!=!0&&c.command.passEvent!=!0&&f.stopEvent(l),s))););return!s&&g==-1&&(c={command:"insertstring"},s=u.exec("insertstring",this.$editor,o)),s&&this.$editor._signal&&this.$editor._signal("keyboardActivity",c),s},h.prototype.onCommandKey=function(g,o,a){var l=p.keyCodeToString(a);return this.$callKeyboardHandlers(o,l,a,g)},h.prototype.onTextInput=function(g){return this.$callKeyboardHandlers(-1,g)},h}();r.KeyBinding=w}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(t,r,d){var p=0,f=0,w=!1,h=!1,g=!1,o=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],a=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],l=0,c=1,s=0,u=1,m=2,b=3,x=4,E=5,$=6,k=7,C=8,R=9,O=10,L=11,I=12,B=13,P=14,D=15,S=16,_=17,N=18,H=[N,N,N,N,N,N,N,N,N,$,E,$,C,E,N,N,N,N,N,N,N,N,N,N,N,N,N,N,E,E,E,$,C,x,x,L,L,L,x,x,x,x,x,O,R,O,R,R,m,m,m,m,m,m,m,m,m,m,R,x,x,x,x,x,x,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,x,x,x,x,x,x,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,x,x,x,x,N,N,N,N,N,N,E,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,R,x,L,L,L,L,x,x,x,x,s,x,x,N,x,x,L,L,m,m,x,s,x,x,x,m,s,x,x,x,x,x],U=[C,C,C,C,C,C,C,C,C,C,C,N,N,N,s,u,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,C,E,B,P,D,S,_,R,L,L,L,L,L,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,R,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,C];function q(ne,le,ue,ce){var ge=p?a:o,Se=null,$e=null,Te=null,Ze=0,qe=null,dt=null,ot=-1,gt=null,tn=null,zn=[];if(!ce)for(gt=0,ce=[];gt<ue;gt++)ce[gt]=he(ne[gt]);for(f=p,w=!1,h=!1,g=!1,tn=0;tn<ue;tn++){if(Se=Ze,zn[tn]=$e=te(ne,ce,zn,tn),Ze=ge[Se][$e],qe=Ze&240,Ze&=15,le[tn]=Te=ge[Ze][5],qe>0)if(qe==16){for(gt=ot;gt<tn;gt++)le[gt]=1;ot=-1}else ot=-1;if(dt=ge[Ze][6],dt)ot==-1&&(ot=tn);else if(ot>-1){for(gt=ot;gt<tn;gt++)le[gt]=Te;ot=-1}ce[tn]==E&&(le[tn]=0),f|=Te}if(g){for(gt=0;gt<ue;gt++)if(ce[gt]==$){le[gt]=p;for(var Zt=gt-1;Zt>=0&&ce[Zt]==C;Zt--)le[Zt]=p}}}function Q(ne,le,ue){if(!(f<ne)){if(ne==1&&p==c&&!h){ue.reverse();return}for(var ce=ue.length,ge=0,Se,$e,Te,Ze;ge<ce;){if(le[ge]>=ne){for(Se=ge+1;Se<ce&&le[Se]>=ne;)Se++;for($e=ge,Te=Se-1;$e<Te;$e++,Te--)Ze=ue[$e],ue[$e]=ue[Te],ue[Te]=Ze;ge=Se}ge++}}}function te(ne,le,ue,ce){var ge=le[ce],Se,$e,Te,Ze;switch(ge){case s:case u:w=!1;case x:case b:return ge;case m:return w?b:m;case k:return w=!0,u;case C:return x;case R:return ce<1||ce+1>=le.length||(Se=ue[ce-1])!=m&&Se!=b||($e=le[ce+1])!=m&&$e!=b?x:(w&&($e=b),$e==Se?$e:x);case O:return Se=ce>0?ue[ce-1]:E,Se==m&&ce+1<le.length&&le[ce+1]==m?m:x;case L:if(ce>0&&ue[ce-1]==m)return m;if(w)return x;for(Ze=ce+1,Te=le.length;Ze<Te&&le[Ze]==L;)Ze++;return Ze<Te&&le[Ze]==m?m:x;case I:for(Te=le.length,Ze=ce+1;Ze<Te&&le[Ze]==I;)Ze++;if(Ze<Te){var qe=ne[ce],dt=qe>=1425&&qe<=2303||qe==64286;if(Se=le[Ze],dt&&(Se==u||Se==k))return u}return ce<1||(Se=le[ce-1])==E?x:ue[ce-1];case E:return w=!1,h=!0,p;case $:return g=!0,x;case B:case P:case S:case _:case D:w=!1;case N:return x}}function he(ne){var le=ne.charCodeAt(0),ue=le>>8;return ue==0?le>191?s:H[le]:ue==5?/[\u0591-\u05f4]/.test(ne)?u:s:ue==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(ne)?I:/[\u0660-\u0669\u066b-\u066c]/.test(ne)?b:le==1642?L:/[\u06f0-\u06f9]/.test(ne)?m:k:ue==32&&le<=8287?U[le&255]:ue==254&&le>=65136?k:x}r.L=s,r.R=u,r.EN=m,r.ON_R=3,r.AN=4,r.R_H=5,r.B=6,r.RLE=7,r.DOT="·",r.doBidiReorder=function(ne,le,ue){if(ne.length<2)return{};var ce=ne.split(""),ge=new Array(ce.length),Se=new Array(ce.length),$e=[];p=ue?c:l,q(ce,$e,ce.length,le);for(var Te=0;Te<ge.length;ge[Te]=Te,Te++);Q(2,$e,ge),Q(1,$e,ge);for(var Te=0;Te<ge.length-1;Te++)le[Te]===b?$e[Te]=r.AN:$e[Te]===u&&(le[Te]>k&&le[Te]<B||le[Te]===x||le[Te]===N)?$e[Te]=r.ON_R:Te>0&&ce[Te-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(ce[Te])&&($e[Te-1]=$e[Te]=r.R_H,Te++);ce[ce.length-1]===r.DOT&&($e[ce.length-1]=r.B),ce[0]==="‫"&&($e[0]=r.RLE);for(var Te=0;Te<ge.length;Te++)Se[Te]=$e[ge[Te]];return{logicalFromVisual:ge,bidiLevels:Se}},r.hasBidiCharacters=function(ne,le){for(var ue=!1,ce=0;ce<ne.length;ce++)le[ce]=he(ne.charAt(ce)),!ue&&(le[ce]==u||le[ce]==k||le[ce]==b)&&(ue=!0);return ue},r.getVisualFromLogicalIdx=function(ne,le){for(var ue=0;ue<le.logicalFromVisual.length;ue++)if(le.logicalFromVisual[ue]==ne)return ue;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(t,r,d){var p=t("./lib/bidiutil"),f=t("./lib/lang"),w=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,h=function(){function g(o){this.session=o,this.bidiMap={},this.currentRow=null,this.bidiUtil=p,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=w.test(o.getValue())}return g.prototype.isBidiRow=function(o,a,l){return this.seenBidi?(o!==this.currentRow&&(this.currentRow=o,this.updateRowLine(a,l),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},g.prototype.onChange=function(o){this.seenBidi?this.currentRow=null:o.action=="insert"&&w.test(o.lines.join(`
179
+ `))&&(this.seenBidi=!0,this.currentRow=null)},g.prototype.getDocumentRow=function(){var o=0,a=this.session.$screenRowCache;if(a.length){var l=this.session.$getRowCacheIndex(a,this.currentRow);l>=0&&(o=this.session.$docRowCache[l])}return o},g.prototype.getSplitIndex=function(){var o=0,a=this.session.$screenRowCache;if(a.length)for(var l,c=this.session.$getRowCacheIndex(a,this.currentRow);this.currentRow-o>0&&(l=this.session.$getRowCacheIndex(a,this.currentRow-o-1),l===c);)c=l,o++;else o=this.currentRow;return o},g.prototype.updateRowLine=function(o,a){o===void 0&&(o=this.getDocumentRow());var l=o===this.session.getLength()-1,c=l?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(o),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var s=this.session.$wrapData[o];s&&(a===void 0&&(a=this.getSplitIndex()),a>0&&s.length?(this.wrapIndent=s.indent,this.wrapOffset=this.wrapIndent*this.charWidths[p.L],this.line=a<s.length?this.line.substring(s[a-1],s[a]):this.line.substring(s[s.length-1])):this.line=this.line.substring(0,s[a]),a==s.length&&(this.line+=this.showInvisibles?c:p.DOT))}else this.line+=this.showInvisibles?c:p.DOT;var u=this.session,m=0,b;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(x,E){return x===" "||u.isFullWidth(x.charCodeAt(0))?(b=x===" "?u.getScreenTabSize(E+m):2,m+=b-1,f.stringRepeat(p.DOT,b)):x}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==p.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},g.prototype.updateBidiMap=function(){var o=[];p.hasBidiCharacters(this.line,o)||this.isRtlDir?this.bidiMap=p.doBidiReorder(this.line,o,this.isRtlDir):this.bidiMap={}},g.prototype.markAsDirty=function(){this.currentRow=null},g.prototype.updateCharacterWidths=function(o){if(this.characterWidth!==o.$characterSize.width){this.fontMetrics=o;var a=this.characterWidth=o.$characterSize.width,l=o.$measureCharWidth("ה");this.charWidths[p.L]=this.charWidths[p.EN]=this.charWidths[p.ON_R]=a,this.charWidths[p.R]=this.charWidths[p.AN]=l,this.charWidths[p.R_H]=l*.45,this.charWidths[p.B]=this.charWidths[p.RLE]=0,this.currentRow=null}},g.prototype.setShowInvisibles=function(o){this.showInvisibles=o,this.currentRow=null},g.prototype.setEolChar=function(o){this.EOL=o},g.prototype.setContentWidth=function(o){this.contentWidth=o},g.prototype.isRtlLine=function(o){return this.$isRtl?!0:o!=null?this.session.getLine(o).charAt(0)==this.RLE:this.isRtlDir},g.prototype.setRtlDirection=function(o,a){for(var l=o.getCursorPosition(),c=o.selection.getSelectionAnchor().row;c<=l.row;c++)!a&&o.session.getLine(c).charAt(0)===o.session.$bidiHandler.RLE?o.session.doc.removeInLine(c,0,1):a&&o.session.getLine(c).charAt(0)!==o.session.$bidiHandler.RLE&&o.session.doc.insert({column:0,row:c},o.session.$bidiHandler.RLE)},g.prototype.getPosLeft=function(o){o-=this.wrapIndent;var a=this.line.charAt(0)===this.RLE?1:0,l=o>a?this.session.getOverwrite()?o:o-1:a,c=p.getVisualFromLogicalIdx(l,this.bidiMap),s=this.bidiMap.bidiLevels,u=0;!this.session.getOverwrite()&&o<=a&&s[c]%2!==0&&c++;for(var m=0;m<c;m++)u+=this.charWidths[s[m]];return!this.session.getOverwrite()&&o>a&&s[c]%2===0&&(u+=this.charWidths[s[c]]),this.wrapIndent&&(u+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(u+=this.rtlLineOffset),u},g.prototype.getSelections=function(o,a){var l=this.bidiMap,c=l.bidiLevels,s,u=[],m=0,b=Math.min(o,a)-this.wrapIndent,x=Math.max(o,a)-this.wrapIndent,E=!1,$=!1,k=0;this.wrapIndent&&(m+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var C,R=0;R<c.length;R++)C=l.logicalFromVisual[R],s=c[R],E=C>=b&&C<x,E&&!$?k=m:!E&&$&&u.push({left:k,width:m-k}),m+=this.charWidths[s],$=E;if(E&&R===c.length&&u.push({left:k,width:m-k}),this.isRtlDir)for(var O=0;O<u.length;O++)u[O].left+=this.rtlLineOffset;return u},g.prototype.offsetToCol=function(l){this.isRtlDir&&(l-=this.rtlLineOffset);var a=0,l=Math.max(l,0),c=0,s=0,u=this.bidiMap.bidiLevels,m=this.charWidths[u[s]];for(this.wrapIndent&&(l-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);l>c+m/2;){if(c+=m,s===u.length-1){m=0;break}m=this.charWidths[u[++s]]}return s>0&&u[s-1]%2!==0&&u[s]%2===0?(l<c&&s--,a=this.bidiMap.logicalFromVisual[s]):s>0&&u[s-1]%2===0&&u[s]%2!==0?a=1+(l>c?this.bidiMap.logicalFromVisual[s]:this.bidiMap.logicalFromVisual[s-1]):this.isRtlDir&&s===u.length-1&&m===0&&u[s-1]%2===0||!this.isRtlDir&&s===0&&u[s]%2!==0?a=1+this.bidiMap.logicalFromVisual[s]:(s>0&&u[s-1]%2!==0&&m!==0&&s--,a=this.bidiMap.logicalFromVisual[s]),a===0&&this.isRtlDir&&a++,a+this.wrapIndent},g}();r.BidiHandler=h}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(t,r,d){var p=t("./lib/oop"),f=t("./lib/lang"),w=t("./lib/event_emitter").EventEmitter,h=t("./range").Range,g=function(){function o(a){this.session=a,this.doc=a.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var l=this;this.cursor.on("change",function(c){l.$cursorChanged=!0,l.$silent||l._emit("changeCursor"),!l.$isEmpty&&!l.$silent&&l._emit("changeSelection"),!l.$keepDesiredColumnOnChange&&c.old.column!=c.value.column&&(l.$desiredColumn=null)}),this.anchor.on("change",function(){l.$anchorChanged=!0,!l.$isEmpty&&!l.$silent&&l._emit("changeSelection")})}return o.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},o.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},o.prototype.getCursor=function(){return this.lead.getPosition()},o.prototype.setAnchor=function(a,l){this.$isEmpty=!1,this.anchor.setPosition(a,l)},o.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},o.prototype.getSelectionLead=function(){return this.lead.getPosition()},o.prototype.isBackwards=function(){var a=this.anchor,l=this.lead;return a.row>l.row||a.row==l.row&&a.column>l.column},o.prototype.getRange=function(){var a=this.anchor,l=this.lead;return this.$isEmpty?h.fromPoints(l,l):this.isBackwards()?h.fromPoints(l,a):h.fromPoints(a,l)},o.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},o.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},o.prototype.setRange=function(a,l){var c=l?a.end:a.start,s=l?a.start:a.end;this.$setSelection(c.row,c.column,s.row,s.column)},o.prototype.$setSelection=function(a,l,c,s){if(!this.$silent){var u=this.$isEmpty,m=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(a,l),this.cursor.setPosition(c,s),this.$isEmpty=!h.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||u!=this.$isEmpty||m)&&this._emit("changeSelection")}},o.prototype.$moveSelection=function(a){var l=this.lead;this.$isEmpty&&this.setSelectionAnchor(l.row,l.column),a.call(this)},o.prototype.selectTo=function(a,l){this.$moveSelection(function(){this.moveCursorTo(a,l)})},o.prototype.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},o.prototype.moveTo=function(a,l){this.clearSelection(),this.moveCursorTo(a,l)},o.prototype.moveToPosition=function(a){this.clearSelection(),this.moveCursorToPosition(a)},o.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},o.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},o.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},o.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},o.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},o.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},o.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},o.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},o.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},o.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},o.prototype.getWordRange=function(a,l){if(typeof l>"u"){var c=a||this.lead;a=c.row,l=c.column}return this.session.getWordRange(a,l)},o.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},o.prototype.selectAWord=function(){var a=this.getCursor(),l=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(l)},o.prototype.getLineRange=function(a,l){var c=typeof a=="number"?a:this.lead.row,s,u=this.session.getFoldLine(c);return u?(c=u.start.row,s=u.end.row):s=c,l===!0?new h(c,0,s,this.session.getLine(s).length):new h(c,0,s+1,0)},o.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},o.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},o.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},o.prototype.wouldMoveIntoSoftTab=function(a,l,c){var s=a.column,u=a.column+l;return c<0&&(s=a.column-l,u=a.column),this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(s,u).split(" ").length-1==l},o.prototype.moveCursorLeft=function(){var a=this.lead.getPosition(),l;if(l=this.session.getFoldAt(a.row,a.column,-1))this.moveCursorTo(l.start.row,l.start.column);else if(a.column===0)a.row>0&&this.moveCursorTo(a.row-1,this.doc.getLine(a.row-1).length);else{var c=this.session.getTabSize();this.wouldMoveIntoSoftTab(a,c,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},o.prototype.moveCursorRight=function(){var a=this.lead.getPosition(),l;if(l=this.session.getFoldAt(a.row,a.column,1))this.moveCursorTo(l.end.row,l.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var c=this.session.getTabSize(),a=this.lead;this.wouldMoveIntoSoftTab(a,c,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,c):this.moveCursorBy(0,1)}},o.prototype.moveCursorLineStart=function(){var a=this.lead.row,l=this.lead.column,c=this.session.documentToScreenRow(a,l),s=this.session.screenToDocumentPosition(c,0),u=this.session.getDisplayLine(a,null,s.row,s.column),m=u.match(/^\s*/);m[0].length!=l&&!this.session.$useEmacsStyleLineStart&&(s.column+=m[0].length),this.moveCursorToPosition(s)},o.prototype.moveCursorLineEnd=function(){var a=this.lead,l=this.session.getDocumentLastRowColumnPosition(a.row,a.column);if(this.lead.column==l.column){var c=this.session.getLine(l.row);if(l.column==c.length){var s=c.search(/\s+$/);s>0&&(l.column=s)}}this.moveCursorTo(l.row,l.column)},o.prototype.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,l=this.doc.getLine(a).length;this.moveCursorTo(a,l)},o.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},o.prototype.moveCursorLongWordRight=function(){var a=this.lead.row,l=this.lead.column,c=this.doc.getLine(a),s=c.substring(l);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var u=this.session.getFoldAt(a,l,1);if(u){this.moveCursorTo(u.end.row,u.end.column);return}if(this.session.nonTokenRe.exec(s)&&(l+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,s=c.substring(l)),l>=c.length){this.moveCursorTo(a,c.length),this.moveCursorRight(),a<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(s)&&(l+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(a,l)},o.prototype.moveCursorLongWordLeft=function(){var a=this.lead.row,l=this.lead.column,c;if(c=this.session.getFoldAt(a,l,-1)){this.moveCursorTo(c.start.row,c.start.column);return}var s=this.session.getFoldStringAt(a,l,-1);s==null&&(s=this.doc.getLine(a).substring(0,l));var u=f.stringReverse(s);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(u)&&(l-=this.session.nonTokenRe.lastIndex,u=u.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),l<=0){this.moveCursorTo(a,0),this.moveCursorLeft(),a>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(u)&&(l-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(a,l)},o.prototype.$shortWordEndIndex=function(a){var l=0,c,s=/\s/,u=this.session.tokenRe;if(u.lastIndex=0,this.session.tokenRe.exec(a))l=this.session.tokenRe.lastIndex;else{for(;(c=a[l])&&s.test(c);)l++;if(l<1){for(u.lastIndex=0;(c=a[l])&&!u.test(c);)if(u.lastIndex=0,l++,s.test(c))if(l>2){l--;break}else{for(;(c=a[l])&&s.test(c);)l++;if(l>2)break}}}return u.lastIndex=0,l},o.prototype.moveCursorShortWordRight=function(){var a=this.lead.row,l=this.lead.column,c=this.doc.getLine(a),s=c.substring(l),u=this.session.getFoldAt(a,l,1);if(u)return this.moveCursorTo(u.end.row,u.end.column);if(l==c.length){var m=this.doc.getLength();do a++,s=this.doc.getLine(a);while(a<m&&/^\s*$/.test(s));/^\s+/.test(s)||(s=""),l=0}var b=this.$shortWordEndIndex(s);this.moveCursorTo(a,l+b)},o.prototype.moveCursorShortWordLeft=function(){var a=this.lead.row,l=this.lead.column,c;if(c=this.session.getFoldAt(a,l,-1))return this.moveCursorTo(c.start.row,c.start.column);var s=this.session.getLine(a).substring(0,l);if(l===0){do a--,s=this.doc.getLine(a);while(a>0&&/^\s*$/.test(s));l=s.length,/\s+$/.test(s)||(s="")}var u=f.stringReverse(s),m=this.$shortWordEndIndex(u);return this.moveCursorTo(a,l-m)},o.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},o.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},o.prototype.moveCursorBy=function(a,l){var c=this.session.documentToScreenPosition(this.lead.row,this.lead.column),s;if(l===0&&(a!==0&&(this.session.$bidiHandler.isBidiRow(c.row,this.lead.row)?(s=this.session.$bidiHandler.getPosLeft(c.column),c.column=Math.round(s/this.session.$bidiHandler.charWidths[0])):s=c.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?c.column=this.$desiredColumn:this.$desiredColumn=c.column),a!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var u=this.session.lineWidgets[this.lead.row];a<0?a-=u.rowsAbove||0:a>0&&(a+=u.rowCount-(u.rowsAbove||0))}var m=this.session.screenToDocumentPosition(c.row+a,c.column,s);a!==0&&l===0&&m.row===this.lead.row&&(m.column,this.lead.column),this.moveCursorTo(m.row,m.column+l,l===0)},o.prototype.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},o.prototype.moveCursorTo=function(a,l,c){var s=this.session.getFoldAt(a,l,1);s&&(a=s.start.row,l=s.start.column),this.$keepDesiredColumnOnChange=!0;var u=this.session.getLine(a);/[\uDC00-\uDFFF]/.test(u.charAt(l))&&u.charAt(l-1)&&(this.lead.row==a&&this.lead.column==l+1?l=l-1:l=l+1),this.lead.setPosition(a,l),this.$keepDesiredColumnOnChange=!1,c||(this.$desiredColumn=null)},o.prototype.moveCursorToScreen=function(a,l,c){var s=this.session.screenToDocumentPosition(a,l);this.moveCursorTo(s.row,s.column,c)},o.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},o.prototype.fromOrientedRange=function(a){this.setSelectionRange(a,a.cursor==a.start),this.$desiredColumn=a.desiredColumn||this.$desiredColumn},o.prototype.toOrientedRange=function(a){var l=this.getRange();return a?(a.start.column=l.start.column,a.start.row=l.start.row,a.end.column=l.end.column,a.end.row=l.end.row):a=l,a.cursor=this.isBackwards()?a.start:a.end,a.desiredColumn=this.$desiredColumn,a},o.prototype.getRangeOfMovements=function(a){var l=this.getCursor();try{a(this);var c=this.getCursor();return h.fromPoints(l,c)}catch{return h.fromPoints(l,l)}finally{this.moveCursorToPosition(l)}},o.prototype.toJSON=function(){if(this.rangeCount)var a=this.ranges.map(function(l){var c=l.clone();return c.isBackwards=l.cursor==l.start,c});else{var a=this.getRange();a.isBackwards=this.isBackwards()}return a},o.prototype.fromJSON=function(a){if(a.start==null)if(this.rangeList&&a.length>1){this.toSingleRange(a[0]);for(var l=a.length;l--;){var c=h.fromPoints(a[l].start,a[l].end);a[l].isBackwards&&(c.cursor=c.start),this.addRange(c,!0)}return}else a=a[0];this.rangeList&&this.toSingleRange(a),this.setSelectionRange(a,a.isBackwards)},o.prototype.isEqual=function(a){if((a.length||this.rangeCount)&&a.length!=this.rangeCount)return!1;if(!a.length||!this.ranges)return this.getRange().isEqual(a);for(var l=this.ranges.length;l--;)if(!this.ranges[l].isEqual(a[l]))return!1;return!0},o}();g.prototype.setSelectionAnchor=g.prototype.setAnchor,g.prototype.getSelectionAnchor=g.prototype.getAnchor,g.prototype.setSelectionRange=g.prototype.setRange,p.implement(g.prototype,w),r.Selection=g}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(t,r,d){var p=t("./lib/report_error").reportError,f=2e3,w=function(){function h(g){this.splitRegex,this.states=g,this.regExps={},this.matchMappings={};for(var o in this.states){for(var a=this.states[o],l=[],c=0,s=this.matchMappings[o]={defaultToken:"text"},u="g",m=[],b=0;b<a.length;b++){var x=a[b];if(x.defaultToken&&(s.defaultToken=x.defaultToken),x.caseInsensitive&&u.indexOf("i")===-1&&(u+="i"),x.unicode&&u.indexOf("u")===-1&&(u+="u"),x.regex!=null){x.regex instanceof RegExp&&(x.regex=x.regex.toString().slice(1,-1));var E=x.regex,$=new RegExp("(?:("+E+")|(.))").exec("a").length-2;Array.isArray(x.token)?x.token.length==1||$==1?x.token=x.token[0]:$-1!=x.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:x,groupCount:$-1}),x.token=x.token[0]):(x.tokenArray=x.token,x.token=null,x.onMatch=this.$arrayTokens):typeof x.token=="function"&&!x.onMatch&&($>1?x.onMatch=this.$applyToken:x.onMatch=x.token),$>1&&(/\\\d/.test(x.regex)?E=x.regex.replace(/\\([0-9]+)/g,function(k,C){return"\\"+(parseInt(C,10)+c+1)}):($=1,E=this.removeCapturingGroups(x.regex)),!x.splitRegex&&typeof x.token!="string"&&m.push(x)),s[c]=b,c+=$,l.push(E),x.onMatch||(x.onMatch=null)}}l.length||(s[0]=0,l.push("$")),m.forEach(function(k){k.splitRegex=this.createSplitterRegexp(k.regex,u)},this),this.regExps[o]=new RegExp("("+l.join(")|(")+")|($)",u)}}return h.prototype.$setMaxTokenCount=function(g){f=g|0},h.prototype.$applyToken=function(g){var o=this.splitRegex.exec(g).slice(1),a=this.token.apply(this,o);if(typeof a=="string")return[{type:a,value:g}];for(var l=[],c=0,s=a.length;c<s;c++)o[c]&&(l[l.length]={type:a[c],value:o[c]});return l},h.prototype.$arrayTokens=function(g){if(!g)return[];var o=this.splitRegex.exec(g);if(!o)return"text";for(var a=[],l=this.tokenArray,c=0,s=l.length;c<s;c++)o[c+1]&&(a[a.length]={type:l[c],value:o[c+1]});return a},h.prototype.removeCapturingGroups=function(g){var o=g.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(a,l){return l?"(?:":a});return o},h.prototype.createSplitterRegexp=function(g,o){if(g.indexOf("(?=")!=-1){var a=0,l=!1,c={};g.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(s,u,m,b,x,E){return l?l=x!="]":x?l=!0:b?(a==c.stack&&(c.end=E+1,c.stack=-1),a--):m&&(a++,m.length!=1&&(c.stack=a,c.start=E)),s}),c.end!=null&&/^\)*$/.test(g.substr(c.end))&&(g=g.substring(0,c.start)+g.substr(c.end))}return g.charAt(0)!="^"&&(g="^"+g),g.charAt(g.length-1)!="$"&&(g+="$"),new RegExp(g,(o||"").replace("g",""))},h.prototype.getLineTokens=function(g,o){if(o&&typeof o!="string"){var a=o.slice(0);o=a[0],o==="#tmp"&&(a.shift(),o=a.shift())}else var a=[];var l=o||"start",c=this.states[l];c||(l="start",c=this.states[l]);var s=this.matchMappings[l],u=this.regExps[l];u.lastIndex=0;for(var m,b=[],x=0,E=0,$={type:null,value:""};m=u.exec(g);){var k=s.defaultToken,C=null,R=m[0],O=u.lastIndex;if(O-R.length>x){var L=g.substring(x,O-R.length);$.type==k?$.value+=L:($.type&&b.push($),$={type:k,value:L})}for(var I=0;I<m.length-2;I++)if(m[I+1]!==void 0){C=c[s[I]],C.onMatch?k=C.onMatch(R,l,a,g):k=C.token,C.next&&(typeof C.next=="string"?l=C.next:l=C.next(l,a),c=this.states[l],c||(this.reportError("state doesn't exist",l),l="start",c=this.states[l]),s=this.matchMappings[l],x=O,u=this.regExps[l],u.lastIndex=O),C.consumeLineEnd&&(x=O);break}if(R){if(typeof k=="string")(!C||C.merge!==!1)&&$.type===k?$.value+=R:($.type&&b.push($),$={type:k,value:R});else if(k){$.type&&b.push($),$={type:null,value:""};for(var I=0;I<k.length;I++)b.push(k[I])}}if(x==g.length)break;if(x=O,E++>f){for(E>2*g.length&&this.reportError("infinite loop with in ace tokenizer",{startState:o,line:g});x<g.length;)$.type&&b.push($),$={value:g.substring(x,x+=500),type:"overflow"};l="start",a=[];break}}return $.type&&b.push($),a.length>1&&a[0]!==l&&a.unshift("#tmp",l),{tokens:b,state:a.length?a:l}},h}();w.prototype.reportError=p,r.Tokenizer=w}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(t,r,d){var p=t("../lib/deep_copy").deepCopy,f;f=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(g,o){if(!o){for(var a in g)this.$rules[a]=g[a];return}for(var a in g){for(var l=g[a],c=0;c<l.length;c++){var s=l[c];(s.next||s.onMatch)&&(typeof s.next=="string"&&s.next.indexOf(o)!==0&&(s.next=o+s.next),s.nextState&&s.nextState.indexOf(o)!==0&&(s.nextState=o+s.nextState))}this.$rules[o+a]=l}},this.getRules=function(){return this.$rules},this.embedRules=function(g,o,a,l,c){var s=typeof g=="function"?new g().getRules():g;if(l)for(var u=0;u<l.length;u++)l[u]=o+l[u];else{l=[];for(var m in s)l.push(o+m)}if(this.addRules(s,o),a)for(var b=Array.prototype[c?"push":"unshift"],u=0;u<l.length;u++)b.apply(this.$rules[l[u]],p(a));this.$embeds||(this.$embeds=[]),this.$embeds.push(o)},this.getEmbeds=function(){return this.$embeds};var w=function(g,o){return(g!="start"||o.length)&&o.unshift(this.nextState,g),this.nextState},h=function(g,o){return o.shift(),o.shift()||"start"};this.normalizeRules=function(){var g=0,o=this.$rules;function a(l){var c=o[l];c.processed=!0;for(var s=0;s<c.length;s++){var u=c[s],m=null;Array.isArray(u)&&(m=u,u={}),!u.regex&&u.start&&(u.regex=u.start,u.next||(u.next=[]),u.next.push({defaultToken:u.token},{token:u.token+".end",regex:u.end||u.start,next:"pop"}),u.token=u.token+".start",u.push=!0);var b=u.next||u.push;if(b&&Array.isArray(b)){var x=u.stateName;x||(x=u.token,typeof x!="string"&&(x=x[0]||""),o[x]&&(x+=g++)),o[x]=b,u.next=x,a(x)}else b=="pop"&&(u.next=h);if(u.push&&(u.nextState=u.next||u.push,u.next=w,delete u.push),u.rules)for(var E in u.rules)o[E]?o[E].push&&o[E].push.apply(o[E],u.rules[E]):o[E]=u.rules[E];var $=typeof u=="string"?u:u.include;if($&&($==="$self"&&($="start"),Array.isArray($)?m=$.map(function(C){return o[C]}):m=o[$]),m){var k=[s,1].concat(m);u.noEscape&&(k=k.filter(function(C){return!C.next})),c.splice.apply(c,k),s--}u.keywordMap&&(u.token=this.createKeywordMapper(u.keywordMap,u.defaultToken||"text",u.caseInsensitive),delete u.defaultToken)}}Object.keys(o).forEach(a,this)},this.createKeywordMapper=function(g,o,a,l){var c=Object.create(null);return this.$keywordList=[],Object.keys(g).forEach(function(s){for(var u=g[s],m=u.split(l||"|"),b=m.length;b--;){var x=m[b];this.$keywordList.push(x),a&&(x=x.toLowerCase()),c[x]=s}},this),g=null,a?function(s){return c[s.toLowerCase()]||o}:function(s){return c[s]||o}},this.getKeywords=function(){return this.$keywords}}).call(f.prototype),r.TextHighlightRules=f}),ace.define("ace/mode/behaviour",["require","exports","module"],function(t,r,d){var p;p=function(){this.$behaviours={}},(function(){this.add=function(f,w,h){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[f]:this.$behaviours[f]={}}this.$behaviours[f][w]=h},this.addBehaviours=function(f){for(var w in f)for(var h in f[w])this.add(w,h,f[w][h])},this.remove=function(f){this.$behaviours&&this.$behaviours[f]&&delete this.$behaviours[f]},this.inherit=function(f,w){if(typeof f=="function")var h=new f().getBehaviours(w);else var h=f.getBehaviours(w);this.addBehaviours(h)},this.getBehaviours=function(f){if(f){for(var w={},h=0;h<f.length;h++)this.$behaviours[f[h]]&&(w[f[h]]=this.$behaviours[f[h]]);return w}else return this.$behaviours}}).call(p.prototype),r.Behaviour=p}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(t,r,d){var p=t("./range").Range,f=function(){function w(h,g,o){this.$session=h,this.$row=g,this.$rowTokens=h.getTokens(g);var a=h.getTokenAt(g,o);this.$tokenIndex=a?a.index:-1}return w.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},w.prototype.stepForward=function(){this.$tokenIndex+=1;for(var h;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,h||(h=this.$session.getLength()),this.$row>=h)return this.$row=h-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},w.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},w.prototype.getCurrentTokenRow=function(){return this.$row},w.prototype.getCurrentTokenColumn=function(){var h=this.$rowTokens,g=this.$tokenIndex,o=h[g].start;if(o!==void 0)return o;for(o=0;g>0;)g-=1,o+=h[g].value.length;return o},w.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},w.prototype.getCurrentTokenRange=function(){var h=this.$rowTokens[this.$tokenIndex],g=this.getCurrentTokenColumn();return new p(this.$row,g,this.$row,g+h.value.length)},w}();r.TokenIterator=f}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(t,r,d){var p=t("../../lib/oop"),f=t("../behaviour").Behaviour,w=t("../../token_iterator").TokenIterator,h=t("../../lib/lang"),g=["text","paren.rparen","rparen","paren","punctuation.operator"],o=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],a,l={},c={'"':'"',"'":"'"},s=function(b){var x=-1;if(b.multiSelect&&(x=b.selection.index,l.rangeCount!=b.multiSelect.rangeCount&&(l={rangeCount:b.multiSelect.rangeCount})),l[x])return a=l[x];a=l[x]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},u=function(b,x,E,$){var k=b.end.row-b.start.row;return{text:E+x+$,selection:[0,b.start.column+1,k,b.end.column+(k?0:1)]}},m;m=function(b){b=b||{},this.add("braces","insertion",function(x,E,$,k,C){var R=$.getCursorPosition(),O=k.doc.getLine(R.row);if(C=="{"){s($);var L=$.getSelectionRange(),I=k.doc.getTextRange(L),B=k.getTokenAt(R.row,R.column);if(I!==""&&I!=="{"&&$.getWrapBehavioursEnabled())return u(L,I,"{","}");if(B&&/(?:string)\.quasi|\.xml/.test(B.type)){var P=[/tag\-(?:open|name)/,/attribute\-name/];return P.some(function(q){return q.test(B.type)})||/(string)\.quasi/.test(B.type)&&B.value[R.column-B.start-1]!=="$"?void 0:(m.recordAutoInsert($,k,"}"),{text:"{}",selection:[1,1]})}else if(m.isSaneInsertion($,k))return/[\]\}\)]/.test(O[R.column])||$.inMultiSelectMode||b.braces?(m.recordAutoInsert($,k,"}"),{text:"{}",selection:[1,1]}):(m.recordMaybeInsert($,k,"{"),{text:"{",selection:[1,1]})}else if(C=="}"){s($);var D=O.substring(R.column,R.column+1);if(D=="}"){var S=k.$findOpeningBracket("}",{column:R.column+1,row:R.row});if(S!==null&&m.isAutoInsertedClosing(R,O,C))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(C==`
180
+ `||C==`\r
181
+ `){s($);var _="";m.isMaybeInsertedClosing(R,O)&&(_=h.stringRepeat("}",a.maybeInsertedBrackets),m.clearMaybeInsertedClosing());var D=O.substring(R.column,R.column+1);if(D==="}"){var N=k.findMatchingBracket({row:R.row,column:R.column+1},"}");if(!N)return null;var H=this.$getIndent(k.getLine(N.row))}else if(_)var H=this.$getIndent(O);else{m.clearMaybeInsertedClosing();return}var U=H+k.getTabString();return{text:`
182
+ `+U+`
183
+ `+H+_,selection:[1,U.length,1,U.length]}}else m.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(x,E,$,k,C){var R=k.doc.getTextRange(C);if(!C.isMultiLine()&&R=="{"){s($);var O=k.doc.getLine(C.start.row),L=O.substring(C.end.column,C.end.column+1);if(L=="}")return C.end.column++,C;a.maybeInsertedBrackets--}}),this.add("parens","insertion",function(x,E,$,k,C){if(C=="("){s($);var R=$.getSelectionRange(),O=k.doc.getTextRange(R);if(O!==""&&$.getWrapBehavioursEnabled())return u(R,O,"(",")");if(m.isSaneInsertion($,k))return m.recordAutoInsert($,k,")"),{text:"()",selection:[1,1]}}else if(C==")"){s($);var L=$.getCursorPosition(),I=k.doc.getLine(L.row),B=I.substring(L.column,L.column+1);if(B==")"){var P=k.$findOpeningBracket(")",{column:L.column+1,row:L.row});if(P!==null&&m.isAutoInsertedClosing(L,I,C))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(x,E,$,k,C){var R=k.doc.getTextRange(C);if(!C.isMultiLine()&&R=="("){s($);var O=k.doc.getLine(C.start.row),L=O.substring(C.start.column+1,C.start.column+2);if(L==")")return C.end.column++,C}}),this.add("brackets","insertion",function(x,E,$,k,C){if(C=="["){s($);var R=$.getSelectionRange(),O=k.doc.getTextRange(R);if(O!==""&&$.getWrapBehavioursEnabled())return u(R,O,"[","]");if(m.isSaneInsertion($,k))return m.recordAutoInsert($,k,"]"),{text:"[]",selection:[1,1]}}else if(C=="]"){s($);var L=$.getCursorPosition(),I=k.doc.getLine(L.row),B=I.substring(L.column,L.column+1);if(B=="]"){var P=k.$findOpeningBracket("]",{column:L.column+1,row:L.row});if(P!==null&&m.isAutoInsertedClosing(L,I,C))return m.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(x,E,$,k,C){var R=k.doc.getTextRange(C);if(!C.isMultiLine()&&R=="["){s($);var O=k.doc.getLine(C.start.row),L=O.substring(C.start.column+1,C.start.column+2);if(L=="]")return C.end.column++,C}}),this.add("string_dquotes","insertion",function(x,E,$,k,C){var R=k.$mode.$quotes||c;if(C.length==1&&R[C]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(C)!=-1)return;s($);var O=C,L=$.getSelectionRange(),I=k.doc.getTextRange(L);if(I!==""&&(I.length!=1||!R[I])&&$.getWrapBehavioursEnabled())return u(L,I,O,O);if(!I){var B=$.getCursorPosition(),P=k.doc.getLine(B.row),D=P.substring(B.column-1,B.column),S=P.substring(B.column,B.column+1),_=k.getTokenAt(B.row,B.column),N=k.getTokenAt(B.row,B.column+1);if(D=="\\"&&_&&/escape/.test(_.type))return null;var H=_&&/string|escape/.test(_.type),U=!N||/string|escape/.test(N.type),q;if(S==O)q=H!==U,q&&/string\.end/.test(N.type)&&(q=!1);else{if(H&&!U||H&&U)return null;var Q=k.$mode.tokenRe;Q.lastIndex=0;var te=Q.test(D);Q.lastIndex=0;var he=Q.test(S),ne=k.$mode.$pairQuotesAfter,le=ne&&ne[O]&&ne[O].test(D);if(!le&&te||he||S&&!/[\s;,.})\]\\]/.test(S))return null;var ue=P[B.column-2];if(D==O&&(ue==O||Q.test(ue)))return null;q=!0}return{text:q?O+O:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(x,E,$,k,C){var R=k.$mode.$quotes||c,O=k.doc.getTextRange(C);if(!C.isMultiLine()&&R.hasOwnProperty(O)){s($);var L=k.doc.getLine(C.start.row),I=L.substring(C.start.column+1,C.start.column+2);if(I==O)return C.end.column++,C}}),b.closeDocComment!==!1&&this.add("doc comment end","insertion",function(x,E,$,k,C){if(x==="doc-start"&&(C===`
184
+ `||C===`\r
185
+ `)&&$.selection.isEmpty()){var R=$.getCursorPosition();if(R.column===0)return;for(var O=k.doc.getLine(R.row),L=k.doc.getLine(R.row+1),I=k.getTokens(R.row),B=0,P=0;P<I.length;P++){B+=I[P].value.length;var D=I[P];if(B>=R.column){if(B===R.column){if(!/\.doc/.test(D.type))return;if(/\*\//.test(D.value)){var S=I[P+1];if(!S||!/\.doc/.test(S.type))return}}var _=R.column-(B-D.value.length),N=D.value.indexOf("*/"),H=D.value.indexOf("/**",N>-1?N+2:0);if(H!==-1&&_>H&&_<H+3||N!==-1&&H!==-1&&_>=N&&_<=H||!/\.doc/.test(D.type))return;break}}var U=this.$getIndent(O);if(/\s*\*/.test(L))return/^\s*\*/.test(O)?{text:C+U+"* ",selection:[1,2+U.length,1,2+U.length]}:{text:C+U+" * ",selection:[1,3+U.length,1,3+U.length]};if(/\/\*\*/.test(O.substring(0,R.column)))return{text:C+U+" * "+C+" "+U+"*/",selection:[1,4+U.length,1,4+U.length]}}})},m.isSaneInsertion=function(b,x){var E=b.getCursorPosition(),$=new w(x,E.row,E.column);if(!this.$matchTokenType($.getCurrentToken()||"text",g)){if(/[)}\]]/.test(b.session.getLine(E.row)[E.column]))return!0;var k=new w(x,E.row,E.column+1);if(!this.$matchTokenType(k.getCurrentToken()||"text",g))return!1}return $.stepForward(),$.getCurrentTokenRow()!==E.row||this.$matchTokenType($.getCurrentToken()||"text",o)},m.$matchTokenType=function(b,x){return x.indexOf(b.type||b)>-1},m.recordAutoInsert=function(b,x,E){var $=b.getCursorPosition(),k=x.doc.getLine($.row);this.isAutoInsertedClosing($,k,a.autoInsertedLineEnd[0])||(a.autoInsertedBrackets=0),a.autoInsertedRow=$.row,a.autoInsertedLineEnd=E+k.substr($.column),a.autoInsertedBrackets++},m.recordMaybeInsert=function(b,x,E){var $=b.getCursorPosition(),k=x.doc.getLine($.row);this.isMaybeInsertedClosing($,k)||(a.maybeInsertedBrackets=0),a.maybeInsertedRow=$.row,a.maybeInsertedLineStart=k.substr(0,$.column)+E,a.maybeInsertedLineEnd=k.substr($.column),a.maybeInsertedBrackets++},m.isAutoInsertedClosing=function(b,x,E){return a.autoInsertedBrackets>0&&b.row===a.autoInsertedRow&&E===a.autoInsertedLineEnd[0]&&x.substr(b.column)===a.autoInsertedLineEnd},m.isMaybeInsertedClosing=function(b,x){return a.maybeInsertedBrackets>0&&b.row===a.maybeInsertedRow&&x.substr(b.column)===a.maybeInsertedLineEnd&&x.substr(0,b.column)==a.maybeInsertedLineStart},m.popAutoInsertedClosing=function(){a.autoInsertedLineEnd=a.autoInsertedLineEnd.substr(1),a.autoInsertedBrackets--},m.clearMaybeInsertedClosing=function(){a&&(a.maybeInsertedBrackets=0,a.maybeInsertedRow=-1)},p.inherits(m,f),r.CstyleBehaviour=m}),ace.define("ace/unicode",["require","exports","module"],function(t,r,d){for(var p=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],f=0,w=[],h=0;h<p.length;h+=2)w.push(f+=p[h]),p[h+1]&&w.push(45,f+=p[h+1]);r.wordChars=String.fromCharCode.apply(null,w)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(t,r,d){var p=t("../config"),f=t("../tokenizer").Tokenizer,w=t("./text_highlight_rules").TextHighlightRules,h=t("./behaviour/cstyle").CstyleBehaviour,g=t("../unicode"),o=t("../lib/lang"),a=t("../token_iterator").TokenIterator,l=t("../range").Range,c;c=function(){this.HighlightRules=w},(function(){this.$defaultBehaviour=new h,this.tokenRe=new RegExp("^["+g.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+g.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new f(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(s,u,m,b){var x=u.doc,E=!0,$=!0,k=1/0,C=u.getTabSize(),R=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var O=this.lineCommentStart.map(o.escapeRegExp).join("|"),L=this.lineCommentStart[0];else var O=o.escapeRegExp(this.lineCommentStart),L=this.lineCommentStart;O=new RegExp("^(\\s*)(?:"+O+") ?"),R=u.getUseSoftTabs();var I=function(q,Q){var te=q.match(O);if(te){var he=te[1].length,ne=te[0].length;!S(q,he,ne)&&te[0][ne-1]==" "&&ne--,x.removeInLine(Q,he,ne)}},B=L+" ",P=function(q,Q){(!E||/\S/.test(q))&&(S(q,k,k)?x.insertInLine({row:Q,column:k},B):x.insertInLine({row:Q,column:k},L))},D=function(q,Q){return O.test(q)},S=function(q,Q,te){for(var he=0;Q--&&q.charAt(Q)==" ";)he++;if(he%C!=0)return!1;for(var he=0;q.charAt(te++)==" ";)he++;return C>2?he%C!=C-1:he%C==0}}else{if(!this.blockComment)return!1;var L=this.blockComment.start,_=this.blockComment.end,O=new RegExp("^(\\s*)(?:"+o.escapeRegExp(L)+")"),N=new RegExp("(?:"+o.escapeRegExp(_)+")\\s*$"),P=function(le,ue){D(le,ue)||(!E||/\S/.test(le))&&(x.insertInLine({row:ue,column:le.length},_),x.insertInLine({row:ue,column:k},L))},I=function(le,ue){var ce;(ce=le.match(N))&&x.removeInLine(ue,le.length-ce[0].length,le.length),(ce=le.match(O))&&x.removeInLine(ue,ce[1].length,ce[0].length)},D=function(le,ue){if(O.test(le))return!0;for(var ce=u.getTokens(ue),ge=0;ge<ce.length;ge++)if(ce[ge].type==="comment")return!0}}function H(q){for(var Q=m;Q<=b;Q++)q(x.getLine(Q),Q)}var U=1/0;H(function(q,Q){var te=q.search(/\S/);te!==-1?(te<k&&(k=te),$&&!D(q,Q)&&($=!1)):U>q.length&&(U=q.length)}),k==1/0&&(k=U,E=!1,$=!1),R&&k%C!=0&&(k=Math.floor(k/C)*C),H($?I:P)},this.toggleBlockComment=function(s,u,m,b){var x=this.blockComment;if(x){!x.start&&x[0]&&(x=x[0]);var E=new a(u,b.row,b.column),$=E.getCurrentToken();u.selection;var k=u.selection.toOrientedRange(),C,R;if($&&/comment/.test($.type)){for(var O,L;$&&/comment/.test($.type);){var I=$.value.indexOf(x.start);if(I!=-1){var B=E.getCurrentTokenRow(),P=E.getCurrentTokenColumn()+I;O=new l(B,P,B,P+x.start.length);break}$=E.stepBackward()}for(var E=new a(u,b.row,b.column),$=E.getCurrentToken();$&&/comment/.test($.type);){var I=$.value.indexOf(x.end);if(I!=-1){var B=E.getCurrentTokenRow(),P=E.getCurrentTokenColumn()+I;L=new l(B,P,B,P+x.end.length);break}$=E.stepForward()}L&&u.remove(L),O&&(u.remove(O),C=O.start.row,R=-x.start.length)}else R=x.start.length,C=m.start.row,u.insert(m.end,x.end),u.insert(m.start,x.start);k.start.row==C&&(k.start.column+=R),k.end.row==C&&(k.end.column+=R),u.selection.fromOrientedRange(k)}},this.getNextLineIndent=function(s,u,m){return this.$getIndent(u)},this.checkOutdent=function(s,u,m){return!1},this.autoOutdent=function(s,u,m){},this.$getIndent=function(s){return s.match(/^\s*/)[0]},this.createWorker=function(s){return null},this.createModeDelegates=function(s){this.$embeds=[],this.$modes={};for(var u in s)if(s[u]){var m=s[u],b=m.prototype.$id,x=p.$modes[b];x||(p.$modes[b]=x=new m),p.$modes[u]||(p.$modes[u]=x),this.$embeds.push(u),this.$modes[u]=x}for(var E=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],$=function(R){(function(O){var L=E[R],I=O[L];O[E[R]]=function(){return this.$delegator(L,arguments,I)}})(k)},k=this,u=0;u<E.length;u++)$(u)},this.$delegator=function(s,u,m){var b=u[0]||"start";if(typeof b!="string"){if(Array.isArray(b[2])){var x=b[2][b[2].length-1],E=this.$modes[x];if(E)return E[s].apply(E,[b[1]].concat([].slice.call(u,1)))}b=b[0]||"start"}for(var $=0;$<this.$embeds.length;$++)if(this.$modes[this.$embeds[$]]){var k=b.split(this.$embeds[$]);if(!k[0]&&k[1]){u[0]=k[1];var E=this.$modes[this.$embeds[$]];return E[s].apply(E,u)}}var C=m.apply(this,u);return m?C:void 0},this.transformAction=function(s,u,m,b,x){if(this.$behaviour){var E=this.$behaviour.getBehaviours();for(var $ in E)if(E[$][u]){var k=E[$][u].apply(this,arguments);if(k)return k}}},this.getKeywords=function(s){if(!this.completionKeywords){var u=this.$tokenizer.rules,m=[];for(var b in u)for(var x=u[b],E=0,$=x.length;E<$;E++)if(typeof x[E].token=="string")/keyword|support|storage/.test(x[E].token)&&m.push(x[E].regex);else if(typeof x[E].token=="object"){for(var k=0,C=x[E].token.length;k<C;k++)if(/keyword|support|storage/.test(x[E].token[k])){var b=x[E].regex.match(/\(.+?\)/g)[k];m.push(b.substr(1,b.length-2))}}this.completionKeywords=m}return s?m.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(s,u,m,b){var x=this.$keywordList||this.$createKeywordList();return x.map(function(E){return{name:E,value:E,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(c.prototype),r.Mode=c}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(t,r,d){var p=t("./lib/dom"),f=function(){function w(h){this.session=h,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return w.prototype.getRowLength=function(h){var g;return this.lineWidgets?g=this.lineWidgets[h]&&this.lineWidgets[h].rowCount||0:g=0,!this.$useWrapMode||!this.$wrapData[h]?1+g:this.$wrapData[h].length+1+g},w.prototype.$getWidgetScreenLength=function(){var h=0;return this.lineWidgets.forEach(function(g){g&&g.rowCount&&!g.hidden&&(h+=g.rowCount)}),h},w.prototype.$onChangeEditor=function(h){this.attach(h.editor)},w.prototype.attach=function(h){h&&h.widgetManager&&h.widgetManager!=this&&h.widgetManager.detach(),this.editor!=h&&(this.detach(),this.editor=h,h&&(h.widgetManager=this,h.renderer.on("beforeRender",this.measureWidgets),h.renderer.on("afterRender",this.renderWidgets)))},w.prototype.detach=function(h){var g=this.editor;if(g){this.editor=null,g.widgetManager=null,g.renderer.off("beforeRender",this.measureWidgets),g.renderer.off("afterRender",this.renderWidgets);var o=this.session.lineWidgets;o&&o.forEach(function(a){a&&a.el&&a.el.parentNode&&(a._inDocument=!1,a.el.parentNode.removeChild(a.el))})}},w.prototype.updateOnFold=function(h,g){var o=g.lineWidgets;if(!(!o||!h.action)){for(var a=h.data,l=a.start.row,c=a.end.row,s=h.action=="add",u=l+1;u<c;u++)o[u]&&(o[u].hidden=s);o[c]&&(s?o[l]?o[c].hidden=s:o[l]=o[c]:(o[l]==o[c]&&(o[l]=void 0),o[c].hidden=s))}},w.prototype.updateOnChange=function(h){var g=this.session.lineWidgets;if(g){var o=h.start.row,a=h.end.row-o;if(a!==0)if(h.action=="remove"){var l=g.splice(o+1,a);!g[o]&&l[l.length-1]&&(g[o]=l.pop()),l.forEach(function(s){s&&this.removeLineWidget(s)},this),this.$updateRows()}else{var c=new Array(a);g[o]&&g[o].column!=null&&h.start.column>g[o].column&&o++,c.unshift(o,0),g.splice.apply(g,c),this.$updateRows()}}},w.prototype.$updateRows=function(){var h=this.session.lineWidgets;if(h){var g=!0;h.forEach(function(o,a){if(o)for(g=!1,o.row=a;o.$oldWidget;)o.$oldWidget.row=a,o=o.$oldWidget}),g&&(this.session.lineWidgets=null)}},w.prototype.$registerLineWidget=function(h){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var g=this.session.lineWidgets[h.row];return g&&(h.$oldWidget=g,g.el&&g.el.parentNode&&(g.el.parentNode.removeChild(g.el),g._inDocument=!1)),this.session.lineWidgets[h.row]=h,h},w.prototype.addLineWidget=function(h){if(this.$registerLineWidget(h),h.session=this.session,!this.editor)return h;var g=this.editor.renderer;h.html&&!h.el&&(h.el=p.createElement("div"),h.el.innerHTML=h.html),h.text&&!h.el&&(h.el=p.createElement("div"),h.el.textContent=h.text),h.el&&(p.addCssClass(h.el,"ace_lineWidgetContainer"),h.className&&p.addCssClass(h.el,h.className),h.el.style.position="absolute",h.el.style.zIndex="5",g.container.appendChild(h.el),h._inDocument=!0,h.coverGutter||(h.el.style.zIndex="3"),h.pixelHeight==null&&(h.pixelHeight=h.el.offsetHeight)),h.rowCount==null&&(h.rowCount=h.pixelHeight/g.layerConfig.lineHeight);var o=this.session.getFoldAt(h.row,0);if(h.$fold=o,o){var a=this.session.lineWidgets;h.row==o.end.row&&!a[o.start.row]?a[o.start.row]=h:h.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:h.row}}}),this.$updateRows(),this.renderWidgets(null,g),this.onWidgetChanged(h),h},w.prototype.removeLineWidget=function(h){if(h._inDocument=!1,h.session=null,h.el&&h.el.parentNode&&h.el.parentNode.removeChild(h.el),h.editor&&h.editor.destroy)try{h.editor.destroy()}catch{}if(this.session.lineWidgets){var g=this.session.lineWidgets[h.row];if(g==h)this.session.lineWidgets[h.row]=h.$oldWidget,h.$oldWidget&&this.onWidgetChanged(h.$oldWidget);else for(;g;){if(g.$oldWidget==h){g.$oldWidget=h.$oldWidget;break}g=g.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:h.row}}}),this.$updateRows()},w.prototype.getWidgetsAtRow=function(h){for(var g=this.session.lineWidgets,o=g&&g[h],a=[];o;)a.push(o),o=o.$oldWidget;return a},w.prototype.onWidgetChanged=function(h){this.session._changedWidgets.push(h),this.editor&&this.editor.renderer.updateFull()},w.prototype.measureWidgets=function(h,g){var o=this.session._changedWidgets,a=g.layerConfig;if(!(!o||!o.length)){for(var l=1/0,c=0;c<o.length;c++){var s=o[c];if(!(!s||!s.el)&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,g.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/a.characterWidth));var u=s.h/a.lineHeight;s.coverLine&&(u-=this.session.getRowLineCount(s.row),u<0&&(u=0)),s.rowCount!=u&&(s.rowCount=u,s.row<l&&(l=s.row))}}l!=1/0&&(this.session._emit("changeFold",{data:{start:{row:l}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},w.prototype.renderWidgets=function(h,g){var o=g.layerConfig,a=this.session.lineWidgets;if(a){for(var l=Math.min(this.firstRow,o.firstRow),c=Math.max(this.lastRow,o.lastRow,a.length);l>0&&!a[l];)l--;this.firstRow=o.firstRow,this.lastRow=o.lastRow,g.$cursorLayer.config=o;for(var s=l;s<=c;s++){var u=a[s];if(!(!u||!u.el)){if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,g.container.appendChild(u.el));var m=g.$cursorLayer.getPixelPosition({row:s,column:0},!0).top;u.coverLine||(m+=o.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=m-o.offset+"px";var b=u.coverGutter?0:g.gutterWidth;u.fixedWidth||(b-=g.scrollLeft),u.el.style.left=b+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=o.width+2*o.padding+"px"),u.fixedWidth?u.el.style.right=g.scrollBar.getWidth()+"px":u.el.style.right=""}}}},w}();r.LineWidgets=f}),ace.define("ace/apply_delta",["require","exports","module"],function(t,r,d){r.applyDelta=function(p,f,w){var h=f.start.row,g=f.start.column,o=p[h]||"";switch(f.action){case"insert":var a=f.lines;if(a.length===1)p[h]=o.substring(0,g)+f.lines[0]+o.substring(g);else{var l=[h,1].concat(f.lines);p.splice.apply(p,l),p[h]=o.substring(0,g)+p[h],p[h+f.lines.length-1]+=o.substring(g)}break;case"remove":var c=f.end.column,s=f.end.row;h===s?p[h]=o.substring(0,g)+o.substring(c):p.splice(h,s-h+1,o.substring(0,g)+p[s].substring(c));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(t,r,d){var p=t("./lib/oop"),f=t("./lib/event_emitter").EventEmitter,w=function(){function o(a,l,c){this.$onChange=this.onChange.bind(this),this.attach(a),typeof l!="number"?this.setPosition(l.row,l.column):this.setPosition(l,c)}return o.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},o.prototype.getDocument=function(){return this.document},o.prototype.onChange=function(a){if(!(a.start.row==a.end.row&&a.start.row!=this.row)&&!(a.start.row>this.row)){var l=g(a,{row:this.row,column:this.column},this.$insertRight);this.setPosition(l.row,l.column,!0)}},o.prototype.setPosition=function(a,l,c){var s;if(c?s={row:a,column:l}:s=this.$clipPositionToDocument(a,l),!(this.row==s.row&&this.column==s.column)){var u={row:this.row,column:this.column};this.row=s.row,this.column=s.column,this._signal("change",{old:u,value:s})}},o.prototype.detach=function(){this.document.off("change",this.$onChange)},o.prototype.attach=function(a){this.document=a||this.document,this.document.on("change",this.$onChange)},o.prototype.$clipPositionToDocument=function(a,l){var c={};return a>=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,l))),l<0&&(c.column=0),c},o}();w.prototype.$insertRight=!1,p.implement(w.prototype,f);function h(o,a,l){var c=l?o.column<=a.column:o.column<a.column;return o.row<a.row||o.row==a.row&&c}function g(o,a,l){var c=o.action=="insert",s=(c?1:-1)*(o.end.row-o.start.row),u=(c?1:-1)*(o.end.column-o.start.column),m=o.start,b=c?m:o.end;return h(a,m,l)?{row:a.row,column:a.column}:h(b,a,!l)?{row:a.row+s,column:a.column+(a.row==b.row?u:0)}:{row:m.row,column:m.column}}r.Anchor=w}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(t,r,d){var p=t("./lib/oop"),f=t("./apply_delta").applyDelta,w=t("./lib/event_emitter").EventEmitter,h=t("./range").Range,g=t("./anchor").Anchor,o=function(){function a(l){this.$lines=[""],l.length===0?this.$lines=[""]:Array.isArray(l)?this.insertMergedLines({row:0,column:0},l):this.insert({row:0,column:0},l)}return a.prototype.setValue=function(l){var c=this.getLength()-1;this.remove(new h(0,0,c,this.getLine(c).length)),this.insert({row:0,column:0},l||"")},a.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},a.prototype.createAnchor=function(l,c){return new g(this,l,c)},a.prototype.$detectNewLine=function(l){var c=l.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=c?c[1]:`
186
+ `,this._signal("changeNewLineMode")},a.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
187
+ `;case"unix":return`
188
+ `;default:return this.$autoNewLine||`
189
+ `}},a.prototype.setNewLineMode=function(l){this.$newLineMode!==l&&(this.$newLineMode=l,this._signal("changeNewLineMode"))},a.prototype.getNewLineMode=function(){return this.$newLineMode},a.prototype.isNewLine=function(l){return l==`\r
190
+ `||l=="\r"||l==`
191
+ `},a.prototype.getLine=function(l){return this.$lines[l]||""},a.prototype.getLines=function(l,c){return this.$lines.slice(l,c+1)},a.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},a.prototype.getLength=function(){return this.$lines.length},a.prototype.getTextRange=function(l){return this.getLinesForRange(l).join(this.getNewLineCharacter())},a.prototype.getLinesForRange=function(l){var c;if(l.start.row===l.end.row)c=[this.getLine(l.start.row).substring(l.start.column,l.end.column)];else{c=this.getLines(l.start.row,l.end.row),c[0]=(c[0]||"").substring(l.start.column);var s=c.length-1;l.end.row-l.start.row==s&&(c[s]=c[s].substring(0,l.end.column))}return c},a.prototype.insertLines=function(l,c){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(l,c)},a.prototype.removeLines=function(l,c){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(l,c)},a.prototype.insertNewLine=function(l){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(l,["",""])},a.prototype.insert=function(l,c){return this.getLength()<=1&&this.$detectNewLine(c),this.insertMergedLines(l,this.$split(c))},a.prototype.insertInLine=function(l,c){var s=this.clippedPos(l.row,l.column),u=this.pos(l.row,l.column+c.length);return this.applyDelta({start:s,end:u,action:"insert",lines:[c]},!0),this.clonePos(u)},a.prototype.clippedPos=function(l,c){var s=this.getLength();l===void 0?l=s:l<0?l=0:l>=s&&(l=s-1,c=void 0);var u=this.getLine(l);return c==null&&(c=u.length),c=Math.min(Math.max(c,0),u.length),{row:l,column:c}},a.prototype.clonePos=function(l){return{row:l.row,column:l.column}},a.prototype.pos=function(l,c){return{row:l,column:c}},a.prototype.$clipPosition=function(l){var c=this.getLength();return l.row>=c?(l.row=Math.max(0,c-1),l.column=this.getLine(c-1).length):(l.row=Math.max(0,l.row),l.column=Math.min(Math.max(l.column,0),this.getLine(l.row).length)),l},a.prototype.insertFullLines=function(l,c){l=Math.min(Math.max(l,0),this.getLength());var s=0;l<this.getLength()?(c=c.concat([""]),s=0):(c=[""].concat(c),l--,s=this.$lines[l].length),this.insertMergedLines({row:l,column:s},c)},a.prototype.insertMergedLines=function(l,c){var s=this.clippedPos(l.row,l.column),u={row:s.row+c.length-1,column:(c.length==1?s.column:0)+c[c.length-1].length};return this.applyDelta({start:s,end:u,action:"insert",lines:c}),this.clonePos(u)},a.prototype.remove=function(l){var c=this.clippedPos(l.start.row,l.start.column),s=this.clippedPos(l.end.row,l.end.column);return this.applyDelta({start:c,end:s,action:"remove",lines:this.getLinesForRange({start:c,end:s})}),this.clonePos(c)},a.prototype.removeInLine=function(l,c,s){var u=this.clippedPos(l,c),m=this.clippedPos(l,s);return this.applyDelta({start:u,end:m,action:"remove",lines:this.getLinesForRange({start:u,end:m})},!0),this.clonePos(u)},a.prototype.removeFullLines=function(l,c){l=Math.min(Math.max(0,l),this.getLength()-1),c=Math.min(Math.max(0,c),this.getLength()-1);var s=c==this.getLength()-1&&l>0,u=c<this.getLength()-1,m=s?l-1:l,b=s?this.getLine(m).length:0,x=u?c+1:c,E=u?0:this.getLine(x).length,$=new h(m,b,x,E),k=this.$lines.slice(l,c+1);return this.applyDelta({start:$.start,end:$.end,action:"remove",lines:this.getLinesForRange($)}),k},a.prototype.removeNewLine=function(l){l<this.getLength()-1&&l>=0&&this.applyDelta({start:this.pos(l,this.getLine(l).length),end:this.pos(l+1,0),action:"remove",lines:["",""]})},a.prototype.replace=function(l,c){if(l instanceof h||(l=h.fromPoints(l.start,l.end)),c.length===0&&l.isEmpty())return l.start;if(c==this.getTextRange(l))return l.end;this.remove(l);var s;return c?s=this.insert(l.start,c):s=l.start,s},a.prototype.applyDeltas=function(l){for(var c=0;c<l.length;c++)this.applyDelta(l[c])},a.prototype.revertDeltas=function(l){for(var c=l.length-1;c>=0;c--)this.revertDelta(l[c])},a.prototype.applyDelta=function(l,c){var s=l.action=="insert";(s?l.lines.length<=1&&!l.lines[0]:!h.comparePoints(l.start,l.end))||(s&&l.lines.length>2e4?this.$splitAndapplyLargeDelta(l,2e4):(f(this.$lines,l,c),this._signal("change",l)))},a.prototype.$safeApplyDelta=function(l){var c=this.$lines.length;(l.action=="remove"&&l.start.row<c&&l.end.row<c||l.action=="insert"&&l.start.row<=c)&&this.applyDelta(l)},a.prototype.$splitAndapplyLargeDelta=function(l,c){for(var s=l.lines,u=s.length-c+1,m=l.start.row,b=l.start.column,x=0,E=0;x<u;x=E){E+=c-1;var $=s.slice(x,E);$.push(""),this.applyDelta({start:this.pos(m+x,b),end:this.pos(m+E,b=0),action:l.action,lines:$},!0)}l.lines=s.slice(x),l.start.row=m+x,l.start.column=b,this.applyDelta(l,!0)},a.prototype.revertDelta=function(l){this.$safeApplyDelta({start:this.clonePos(l.start),end:this.clonePos(l.end),action:l.action=="insert"?"remove":"insert",lines:l.lines.slice()})},a.prototype.indexToPosition=function(l,c){for(var s=this.$lines||this.getAllLines(),u=this.getNewLineCharacter().length,m=c||0,b=s.length;m<b;m++)if(l-=s[m].length+u,l<0)return{row:m,column:l+s[m].length+u};return{row:b-1,column:l+s[b-1].length+u}},a.prototype.positionToIndex=function(l,c){for(var s=this.$lines||this.getAllLines(),u=this.getNewLineCharacter().length,m=0,b=Math.min(l.row,s.length),x=c||0;x<b;++x)m+=s[x].length+u;return m+l.column},a.prototype.$split=function(l){return l.split(/\r\n|\r|\n/)},a}();o.prototype.$autoNewLine="",o.prototype.$newLineMode="auto",p.implement(o.prototype,w),r.Document=o}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(t,r,d){var p=t("./lib/oop"),f=t("./lib/event_emitter").EventEmitter,w=function(){function h(g,o){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=g;var a=this;this.$worker=function(){if(a.running){for(var l=new Date,c=a.currentLine,s=-1,u=a.doc,m=c;a.lines[c];)c++;var b=u.getLength(),x=0;for(a.running=!1;c<b;){a.$tokenizeRow(c),s=c;do c++;while(a.lines[c]);if(x++,x%5===0&&new Date-l>20){a.running=setTimeout(a.$worker,20);break}}a.currentLine=c,s==-1&&(s=c),m<=s&&a.fireUpdateEvent(m,s)}}}return h.prototype.setTokenizer=function(g){this.tokenizer=g,this.lines=[],this.states=[],this.start(0)},h.prototype.setDocument=function(g){this.doc=g,this.lines=[],this.states=[],this.stop()},h.prototype.fireUpdateEvent=function(g,o){var a={first:g,last:o};this._signal("update",{data:a})},h.prototype.start=function(g){this.currentLine=Math.min(g||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},h.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},h.prototype.$updateOnChange=function(g){var o=g.start.row,a=g.end.row-o;if(a===0)this.lines[o]=null;else if(g.action=="remove")this.lines.splice(o,a+1,null),this.states.splice(o,a+1,null);else{var l=Array(a+1);l.unshift(o,1),this.lines.splice.apply(this.lines,l),this.states.splice.apply(this.states,l)}this.currentLine=Math.min(o,this.currentLine,this.doc.getLength()),this.stop()},h.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},h.prototype.getTokens=function(g){return this.lines[g]||this.$tokenizeRow(g)},h.prototype.getState=function(g){return this.currentLine==g&&this.$tokenizeRow(g),this.states[g]||"start"},h.prototype.$tokenizeRow=function(g){var o=this.doc.getLine(g),a=this.states[g-1],l=this.tokenizer.getLineTokens(o,a,g);return this.states[g]+""!=l.state+""?(this.states[g]=l.state,this.lines[g+1]=null,this.currentLine>g+1&&(this.currentLine=g+1)):this.currentLine==g&&(this.currentLine=g+1),this.lines[g]=l.tokens},h.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},h}();p.implement(w.prototype,f),r.BackgroundTokenizer=w}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(t,r,d){var p=t("./lib/lang"),f=t("./range").Range,w=function(){function h(g,o,a){a===void 0&&(a="text"),this.setRegexp(g),this.clazz=o,this.type=a,this.docLen=0}return h.prototype.setRegexp=function(g){this.regExp+""!=g+""&&(this.regExp=g,this.cache=[])},h.prototype.update=function(g,o,a,l){if(this.regExp){for(var c=l.firstRow,s=l.lastRow,u={},m=a.$editor&&a.$editor.$search,b=m&&m.$isMultilineSearch(a.$editor.getLastSearchOptions()),x=c;x<=s;x++){var E=this.cache[x];if(E==null||a.getValue().length!=this.docLen){if(b){E=[];var $=m.$multiLineForward(a,this.regExp,x,s);if($){var k=$.endRow<=s?$.endRow-1:s;k>x&&(x=k),E.push(new f($.startRow,$.startCol,$.endRow,$.endCol))}E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES))}else E=p.getMatchOffsets(a.getLine(x),this.regExp),E.length>this.MAX_RANGES&&(E=E.slice(0,this.MAX_RANGES)),E=E.map(function(L){return new f(x,L.offset,x,L.offset+L.length)});this.cache[x]=E.length?E:""}if(E.length!==0)for(var C=E.length;C--;){var R=E[C].toScreenRange(a),O=R.toString();u[O]||(u[O]=!0,o.drawSingleLineMarker(g,R,this.clazz,l))}}this.docLen=a.getValue().length}},h}();w.prototype.MAX_RANGES=500,r.SearchHighlight=w}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(t,r,d){var p=function(){function k(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return k.prototype.addSession=function(C){this.$session=C},k.prototype.add=function(C,R,O){if(!this.$fromUndo&&C!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),R===!1||!this.lastDeltas){this.lastDeltas=[];var L=this.$undoStack.length;L>this.$undoDepth-1&&this.$undoStack.splice(0,L-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),C.id=this.$rev=++this.$maxRev}(C.action=="remove"||C.action=="insert")&&(this.$lastDelta=C),this.lastDeltas.push(C)}},k.prototype.addSelection=function(C,R){this.selections.push({value:C,rev:R||this.$rev})},k.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},k.prototype.markIgnored=function(C,R){R==null&&(R=this.$rev+1);for(var O=this.$undoStack,L=O.length;L--;){var I=O[L][0];if(I.id<=C)break;I.id<R&&(I.ignore=!0)}this.lastDeltas=null},k.prototype.getSelection=function(C,R){for(var O=this.selections,L=O.length;L--;){var I=O[L];if(I.rev<C)return R&&(I=O[L+1]),I}},k.prototype.getRevision=function(){return this.$rev},k.prototype.getDeltas=function(C,R){R==null&&(R=this.$rev+1);for(var O=this.$undoStack,L=null,I=0,B=O.length;B--;){var P=O[B][0];if(P.id<R&&!L&&(L=B+1),P.id<=C){I=B+1;break}}return O.slice(I,L)},k.prototype.getChangedRanges=function(C,R){R==null&&(R=this.$rev+1)},k.prototype.getChangedLines=function(C,R){R==null&&(R=this.$rev+1)},k.prototype.undo=function(C,R){this.lastDeltas=null;var O=this.$undoStack;if(f(O,O.length)){C||(C=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var L=O.pop(),I=null;return L&&(I=C.undoChanges(L,R),this.$redoStack.push(L),this.$syncRev()),this.$fromUndo=!1,I}},k.prototype.redo=function(C,R){if(this.lastDeltas=null,C||(C=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var O=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);$(this.$redoStack,O),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(B){B[0].id=++this.$maxRev},this)}var L=this.$redoStack.pop(),I=null;return L&&(I=C.redoChanges(L,R),this.$undoStack.push(L),this.$syncRev()),this.$fromUndo=!1,I},k.prototype.$syncRev=function(){var C=this.$undoStack,R=C[C.length-1],O=R&&R[0].id||0;this.$redoStackBaseRev=O,this.$rev=O},k.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},k.prototype.canUndo=function(){return this.$undoStack.length>0},k.prototype.canRedo=function(){return this.$redoStack.length>0},k.prototype.bookmark=function(C){C==null&&(C=this.$rev),this.mark=C},k.prototype.isAtBookmark=function(){return this.$rev===this.mark},k.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},k.prototype.fromJSON=function(C){this.reset(),this.$undoStack=C.$undoStack,this.$redoStack=C.$redoStack},k.prototype.$prettyPrint=function(C){return C?a(C):a(this.$undoStack)+`
192
+ ---
193
+ `+a(this.$redoStack)},k}();p.prototype.hasUndo=p.prototype.canUndo,p.prototype.hasRedo=p.prototype.canRedo,p.prototype.isClean=p.prototype.isAtBookmark,p.prototype.markClean=p.prototype.bookmark;function f(k,C){for(var R=C;R--;){var O=k[R];if(O&&!O[0].ignore){for(;R<C-1;){var L=s(k[R],k[R+1]);k[R]=L[0],k[R+1]=L[1],R++}return!0}}}var w=t("./range").Range,h=w.comparePoints;w.comparePoints;function g(k){return{row:k.row,column:k.column}}function o(k){return{start:g(k.start),end:g(k.end),action:k.action,lines:k.lines.slice()}}function a(k){if(k=k||this,Array.isArray(k))return k.map(a).join(`
194
+ `);var C="";return k.action?(C=k.action=="insert"?"+":"-",C+="["+k.lines+"]"):k.value&&(Array.isArray(k.value)?C=k.value.map(l).join(`
195
+ `):C=l(k.value)),k.start&&(C+=l(k)),(k.id||k.rev)&&(C+=" ("+(k.id||k.rev)+")"),C}function l(k){return k.start.row+":"+k.start.column+"=>"+k.end.row+":"+k.end.column}function c(k,C){var R=k.action=="insert",O=C.action=="insert";if(R&&O)if(h(C.start,k.end)>=0)m(C,k,-1);else if(h(C.start,k.start)<=0)m(k,C,1);else return null;else if(R&&!O)if(h(C.start,k.end)>=0)m(C,k,-1);else if(h(C.end,k.start)<=0)m(k,C,-1);else return null;else if(!R&&O)if(h(C.start,k.start)>=0)m(C,k,1);else if(h(C.start,k.start)<=0)m(k,C,1);else return null;else if(!R&&!O)if(h(C.start,k.start)>=0)m(C,k,1);else if(h(C.end,k.start)<=0)m(k,C,-1);else return null;return[C,k]}function s(k,C){for(var R=k.length;R--;)for(var O=0;O<C.length;O++)if(!c(k[R],C[O])){for(;R<k.length;){for(;O--;)c(C[O],k[R]);O=C.length,R++}return[k,C]}return k.selectionBefore=C.selectionBefore=k.selectionAfter=C.selectionAfter=null,[C,k]}function u(k,C){var R=k.action=="insert",O=C.action=="insert";if(R&&O)h(k.start,C.start)<0?m(C,k,1):m(k,C,1);else if(R&&!O)h(k.start,C.end)>=0?m(k,C,-1):(h(k.start,C.start)<=0||m(k,w.fromPoints(C.start,k.start),-1),m(C,k,1));else if(!R&&O)h(C.start,k.end)>=0?m(C,k,-1):(h(C.start,k.start)<=0||m(C,w.fromPoints(k.start,C.start),-1),m(k,C,1));else if(!R&&!O)if(h(C.start,k.end)>=0)m(C,k,-1);else if(h(C.end,k.start)<=0)m(k,C,-1);else{var L,I;return h(k.start,C.start)<0&&(L=k,k=x(k,C.start)),h(k.end,C.end)>0&&(I=x(k,C.end)),b(C.end,k.start,k.end,-1),I&&!L&&(k.lines=I.lines,k.start=I.start,k.end=I.end,I=k),[C,L,I].filter(Boolean)}return[C,k]}function m(k,C,R){b(k.start,C.start,C.end,R),b(k.end,C.start,C.end,R)}function b(k,C,R,O){k.row==(O==1?C:R).row&&(k.column+=O*(R.column-C.column)),k.row+=O*(R.row-C.row)}function x(k,C){var R=k.lines,O=k.end;k.end=g(C);var L=k.end.row-k.start.row,I=R.splice(L,R.length),B=L?C.column:C.column-k.start.column;R.push(I[0].substring(0,B)),I[0]=I[0].substr(B);var P={start:g(C),end:O,lines:I,action:k.action};return P}function E(k,C){C=o(C);for(var R=k.length;R--;){for(var O=k[R],L=0;L<O.length;L++){var I=O[L],B=u(I,C);C=B[0],B.length!=2&&(B[2]?(O.splice(L+1,1,B[1],B[2]),L++):B[1]||(O.splice(L,1),L--))}O.length||k.splice(R,1)}return k}function $(k,C){for(var R=0;R<C.length;R++)for(var O=C[R],L=0;L<O.length;L++)E(k,O[L])}r.UndoManager=p}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(t,r,d){var p=t("../range").Range,f=function(){function w(h,g){this.foldData=h,Array.isArray(g)?this.folds=g:g=this.folds=[g];var o=g[g.length-1];this.range=new p(g[0].start.row,g[0].start.column,o.end.row,o.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}return w.prototype.shiftRow=function(h){this.start.row+=h,this.end.row+=h,this.folds.forEach(function(g){g.start.row+=h,g.end.row+=h})},w.prototype.addFold=function(h){if(h.sameRow){if(h.start.row<this.startRow||h.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(h),this.folds.sort(function(g,o){return-g.range.compareEnd(o.start.row,o.start.column)}),this.range.compareEnd(h.start.row,h.start.column)>0?(this.end.row=h.end.row,this.end.column=h.end.column):this.range.compareStart(h.end.row,h.end.column)<0&&(this.start.row=h.start.row,this.start.column=h.start.column)}else if(h.start.row==this.end.row)this.folds.push(h),this.end.row=h.end.row,this.end.column=h.end.column;else if(h.end.row==this.start.row)this.folds.unshift(h),this.start.row=h.start.row,this.start.column=h.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");h.foldLine=this},w.prototype.containsRow=function(h){return h>=this.start.row&&h<=this.end.row},w.prototype.walk=function(h,g,o){var a=0,l=this.folds,c,s,u,m=!0;g==null&&(g=this.end.row,o=this.end.column);for(var b=0;b<l.length;b++){if(c=l[b],s=c.range.compareStart(g,o),s==-1){h(null,g,o,a,m);return}if(u=h(null,c.start.row,c.start.column,a,m),u=!u&&h(c.placeholder,c.start.row,c.start.column,a),u||s===0)return;m=!c.sameRow,a=c.end.column}h(null,g,o,a,m)},w.prototype.getNextFoldTo=function(h,g){for(var o,a,l=0;l<this.folds.length;l++){if(o=this.folds[l],a=o.range.compareEnd(h,g),a==-1)return{fold:o,kind:"after"};if(a===0)return{fold:o,kind:"inside"}}return null},w.prototype.addRemoveChars=function(h,g,o){var a=this.getNextFoldTo(h,g),l,c;if(a){if(l=a.fold,a.kind=="inside"&&l.start.column!=g&&l.start.row!=h)window.console&&window.console.log(h,g,l);else if(l.start.row==h){c=this.folds;var s=c.indexOf(l);for(s===0&&(this.start.column+=o),s;s<c.length;s++){if(l=c[s],l.start.column+=o,!l.sameRow)return;l.end.column+=o}this.end.column+=o}}},w.prototype.split=function(h,g){var o=this.getNextFoldTo(h,g);if(!o||o.kind=="inside")return null;var a=o.fold,l=this.folds,c=this.foldData,s=l.indexOf(a),u=l[s-1];this.end.row=u.end.row,this.end.column=u.end.column,l=l.splice(s,l.length-s);var m=new w(c,l);return c.splice(c.indexOf(this)+1,0,m),m},w.prototype.merge=function(h){for(var g=h.folds,o=0;o<g.length;o++)this.addFold(g[o]);var a=this.foldData;a.splice(a.indexOf(h),1)},w.prototype.toString=function(){var h=[this.range.toString()+": ["];return this.folds.forEach(function(g){h.push(" "+g.toString())}),h.push("]"),h.join(`
196
+ `)},w.prototype.idxToPosition=function(h){for(var g=0,o=0;o<this.folds.length;o++){var a=this.folds[o];if(h-=a.start.column-g,h<0)return{row:a.start.row,column:a.start.column+h};if(h-=a.placeholder.length,h<0)return a.start;g=a.end.column}return{row:this.end.row,column:this.end.column+h}},w}();r.FoldLine=f}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(t,r,d){var p=t("./range").Range,f=p.comparePoints,w=function(){function h(){this.ranges=[],this.$bias=1}return h.prototype.pointIndex=function(g,o,a){for(var l=this.ranges,c=a||0;c<l.length;c++){var s=l[c],u=f(g,s.end);if(!(u>0)){var m=f(g,s.start);return u===0?o&&m!==0?-c-2:c:m>0||m===0&&!o?c:-c-1}}return-c-1},h.prototype.add=function(g){var o=!g.isEmpty(),a=this.pointIndex(g.start,o);a<0&&(a=-a-1);var l=this.pointIndex(g.end,o,a);return l<0?l=-l-1:l++,this.ranges.splice(a,l-a,g)},h.prototype.addList=function(g){for(var o=[],a=g.length;a--;)o.push.apply(o,this.add(g[a]));return o},h.prototype.substractPoint=function(g){var o=this.pointIndex(g);if(o>=0)return this.ranges.splice(o,1)},h.prototype.merge=function(){var g=[],o=this.ranges;o=o.sort(function(u,m){return f(u.start,m.start)});for(var a=o[0],l,c=1;c<o.length;c++){l=a,a=o[c];var s=f(l.end,a.start);s<0||s==0&&!l.isEmpty()&&!a.isEmpty()||(f(l.end,a.end)<0&&(l.end.row=a.end.row,l.end.column=a.end.column),o.splice(c,1),g.push(a),a=l,c--)}return this.ranges=o,g},h.prototype.contains=function(g,o){return this.pointIndex({row:g,column:o})>=0},h.prototype.containsPoint=function(g){return this.pointIndex(g)>=0},h.prototype.rangeAtPoint=function(g){var o=this.pointIndex(g);if(o>=0)return this.ranges[o]},h.prototype.clipRows=function(g,o){var a=this.ranges;if(a[0].start.row>o||a[a.length-1].start.row<g)return[];var l=this.pointIndex({row:g,column:0});l<0&&(l=-l-1);var c=this.pointIndex({row:o,column:0},l);c<0&&(c=-c-1);for(var s=[],u=l;u<c;u++)s.push(a[u]);return s},h.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},h.prototype.attach=function(g){this.session&&this.detach(),this.session=g,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},h.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},h.prototype.$onChange=function(g){for(var o=g.start,a=g.end,l=o.row,c=a.row,s=this.ranges,u=0,m=s.length;u<m;u++){var b=s[u];if(b.end.row>=l)break}if(g.action=="insert")for(var x=c-l,E=-o.column+a.column;u<m;u++){var b=s[u];if(b.start.row>l)break;if(b.start.row==l&&b.start.column>=o.column&&(b.start.column==o.column&&this.$bias<=0||(b.start.column+=E,b.start.row+=x)),b.end.row==l&&b.end.column>=o.column){if(b.end.column==o.column&&this.$bias<0)continue;b.end.column==o.column&&E>0&&u<m-1&&b.end.column>b.start.column&&b.end.column==s[u+1].start.column&&(b.end.column-=E),b.end.column+=E,b.end.row+=x}}else for(var x=l-c,E=o.column-a.column;u<m;u++){var b=s[u];if(b.start.row>c)break;b.end.row<c&&(l<b.end.row||l==b.end.row&&o.column<b.end.column)?(b.end.row=l,b.end.column=o.column):b.end.row==c?b.end.column<=a.column?(x||b.end.column>o.column)&&(b.end.column=o.column,b.end.row=o.row):(b.end.column+=E,b.end.row+=x):b.end.row>c&&(b.end.row+=x),b.start.row<c&&(l<b.start.row||l==b.start.row&&o.column<b.start.column)?(b.start.row=l,b.start.column=o.column):b.start.row==c?b.start.column<=a.column?(x||b.start.column>o.column)&&(b.start.column=o.column,b.start.row=o.row):(b.start.column+=E,b.start.row+=x):b.start.row>c&&(b.start.row+=x)}if(x!=0&&u<m)for(;u<m;u++){var b=s[u];b.start.row+=x,b.end.row+=x}},h}();w.prototype.comparePoints=f,r.RangeList=w}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(t,r,d){var p=this&&this.__extends||function(){var l=function(c,s){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,m){u.__proto__=m}||function(u,m){for(var b in m)Object.prototype.hasOwnProperty.call(m,b)&&(u[b]=m[b])},l(c,s)};return function(c,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");l(c,s);function u(){this.constructor=c}c.prototype=s===null?Object.create(s):(u.prototype=s.prototype,new u)}}(),f=t("../range_list").RangeList,w=function(l){p(c,l);function c(s,u){var m=l.call(this)||this;return m.foldLine=null,m.placeholder=u,m.range=s,m.start=s.start,m.end=s.end,m.sameRow=s.start.row==s.end.row,m.subFolds=m.ranges=[],m}return c.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},c.prototype.setFoldLine=function(s){this.foldLine=s,this.subFolds.forEach(function(u){u.setFoldLine(s)})},c.prototype.clone=function(){var s=this.range.clone(),u=new c(s,this.placeholder);return this.subFolds.forEach(function(m){u.subFolds.push(m.clone())}),u.collapseChildren=this.collapseChildren,u},c.prototype.addSubFold=function(s){if(!this.range.isEqual(s)){g(s,this.start);for(var u=s.start.row,m=s.start.column,b=0,x=-1;b<this.subFolds.length&&(x=this.subFolds[b].range.compare(u,m),x==1);b++);var E=this.subFolds[b],$=0;if(x==0){if(E.range.containsRange(s))return E.addSubFold(s);$=1}for(var u=s.range.end.row,m=s.range.end.column,k=b,x=-1;k<this.subFolds.length&&(x=this.subFolds[k].range.compare(u,m),x==1);k++);x==0&&k++;for(var C=this.subFolds.splice(b,k-b,s),R=x==0?C.length-1:C.length,O=$;O<R;O++)s.addSubFold(C[O]);return s.setFoldLine(this.foldLine),s}},c.prototype.restoreRange=function(s){return a(s,this.start)},c}(f);function h(l,c){l.row-=c.row,l.row==0&&(l.column-=c.column)}function g(l,c){h(l.start,c),h(l.end,c)}function o(l,c){l.row==0&&(l.column+=c.column),l.row+=c.row}function a(l,c){o(l.start,c),o(l.end,c)}r.Fold=w}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(t,r,d){var p=t("../range").Range,f=t("./fold_line").FoldLine,w=t("./fold").Fold,h=t("../token_iterator").TokenIterator,g=t("../mouse/mouse_event").MouseEvent;function o(){this.getFoldAt=function(a,l,c){var s=this.getFoldLine(a);if(!s)return null;for(var u=s.folds,m=0;m<u.length;m++){var b=u[m].range;if(b.contains(a,l)){if(c==1&&b.isEnd(a,l)&&!b.isEmpty()||c==-1&&b.isStart(a,l)&&!b.isEmpty())continue;return u[m]}}},this.getFoldsInRange=function(a){var l=a.start,c=a.end,s=this.$foldData,u=[];l.column+=1,c.column-=1;for(var m=0;m<s.length;m++){var b=s[m].range.compareRange(a);if(b!=2){if(b==-2)break;for(var x=s[m].folds,E=0;E<x.length;E++){var $=x[E];if(b=$.range.compareRange(a),b==-2)break;if(b!=2){if(b==42)break;u.push($)}}}}return l.column-=1,c.column+=1,u},this.getFoldsInRangeList=function(a){if(Array.isArray(a)){var l=[];a.forEach(function(s){l=l.concat(this.getFoldsInRange(s))},this)}else var l=this.getFoldsInRange(a);return l},this.getAllFolds=function(){for(var a=[],l=this.$foldData,c=0;c<l.length;c++)for(var s=0;s<l[c].folds.length;s++)a.push(l[c].folds[s]);return a},this.getFoldStringAt=function(a,l,c,s){if(s=s||this.getFoldLine(a),!s)return null;for(var u={end:{column:0}},m,b,x=0;x<s.folds.length;x++){b=s.folds[x];var E=b.range.compareEnd(a,l);if(E==-1){m=this.getLine(b.start.row).substring(u.end.column,b.start.column);break}else if(E===0)return null;u=b}return m||(m=this.getLine(b.start.row).substring(u.end.column)),c==-1?m.substring(0,l-u.end.column):c==1?m.substring(l-u.end.column):m},this.getFoldLine=function(a,l){var c=this.$foldData,s=0;for(l&&(s=c.indexOf(l)),s==-1&&(s=0),s;s<c.length;s++){var u=c[s];if(u.start.row<=a&&u.end.row>=a)return u;if(u.end.row>a)return null}return null},this.getNextFoldLine=function(a,l){var c=this.$foldData,s=0;for(l&&(s=c.indexOf(l)),s==-1&&(s=0),s;s<c.length;s++){var u=c[s];if(u.end.row>=a)return u}return null},this.getFoldedRowCount=function(a,l){for(var c=this.$foldData,s=l-a+1,u=0;u<c.length;u++){var m=c[u],b=m.end.row,x=m.start.row;if(b>=l){x<l&&(x>=a?s-=l-x:s=0);break}else b>=a&&(x>=a?s-=b-x:s-=b-a+1)}return s},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(l,c){return l.start.row-c.start.row}),a},this.addFold=function(a,l){var c=this.$foldData,s=!1,u;a instanceof w?u=a:(u=new w(l,a),u.collapseChildren=l.collapseChildren),this.$clipRangeToDocument(u.range);var m=u.start.row,b=u.start.column,x=u.end.row,E=u.end.column,$=this.getFoldAt(m,b,1),k=this.getFoldAt(x,E,-1);if($&&k==$)return $.addSubFold(u);$&&!$.range.isStart(m,b)&&this.removeFold($),k&&!k.range.isEnd(x,E)&&this.removeFold(k);var C=this.getFoldsInRange(u.range);C.length>0&&(this.removeFolds(C),u.collapseChildren||C.forEach(function(I){u.addSubFold(I)}));for(var R=0;R<c.length;R++){var O=c[R];if(x==O.start.row){O.addFold(u),s=!0;break}else if(m==O.end.row){if(O.addFold(u),s=!0,!u.sameRow){var L=c[R+1];if(L&&L.start.row==x){O.merge(L);break}}break}else if(x<=O.start.row)break}return s||(O=this.$addFoldLine(new f(this.$foldData,u))),this.$useWrapMode?this.$updateWrapData(O.start.row,O.start.row):this.$updateRowLengthCache(O.start.row,O.start.row),this.$modified=!0,this._signal("changeFold",{data:u,action:"add"}),u},this.addFolds=function(a){a.forEach(function(l){this.addFold(l)},this)},this.removeFold=function(a){var l=a.foldLine,c=l.start.row,s=l.end.row,u=this.$foldData,m=l.folds;if(m.length==1)u.splice(u.indexOf(l),1);else if(l.range.isEnd(a.end.row,a.end.column))m.pop(),l.end.row=m[m.length-1].end.row,l.end.column=m[m.length-1].end.column;else if(l.range.isStart(a.start.row,a.start.column))m.shift(),l.start.row=m[0].start.row,l.start.column=m[0].start.column;else if(a.sameRow)m.splice(m.indexOf(a),1);else{var b=l.split(a.start.row,a.start.column);m=b.folds,m.shift(),b.start.row=m[0].start.row,b.start.column=m[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(c,s):this.$updateRowLengthCache(c,s)),this.$modified=!0,this._signal("changeFold",{data:a,action:"remove"})},this.removeFolds=function(a){for(var l=[],c=0;c<a.length;c++)l.push(a[c]);l.forEach(function(s){this.removeFold(s)},this),this.$modified=!0},this.expandFold=function(a){this.removeFold(a),a.subFolds.forEach(function(l){a.restoreRange(l),this.addFold(l)},this),a.collapseChildren>0&&this.foldAll(a.start.row+1,a.end.row,a.collapseChildren-1),a.subFolds=[]},this.expandFolds=function(a){a.forEach(function(l){this.expandFold(l)},this)},this.unfold=function(a,l){var c,s;if(a==null)c=new p(0,0,this.getLength(),0),l==null&&(l=!0);else if(typeof a=="number")c=new p(a,0,a,this.getLine(a).length);else if("row"in a)c=p.fromPoints(a,a);else{if(Array.isArray(a))return s=[],a.forEach(function(m){s=s.concat(this.unfold(m))},this),s;c=a}s=this.getFoldsInRangeList(c);for(var u=s;s.length==1&&p.comparePoints(s[0].start,c.start)<0&&p.comparePoints(s[0].end,c.end)>0;)this.expandFolds(s),s=this.getFoldsInRangeList(c);if(l!=!1?this.removeFolds(s):this.expandFolds(s),u.length)return u},this.isRowFolded=function(a,l){return!!this.getFoldLine(a,l)},this.getRowFoldEnd=function(a,l){var c=this.getFoldLine(a,l);return c?c.end.row:a},this.getRowFoldStart=function(a,l){var c=this.getFoldLine(a,l);return c?c.start.row:a},this.getFoldDisplayLine=function(a,l,c,s,u){s==null&&(s=a.start.row),u==null&&(u=0),l==null&&(l=a.end.row),c==null&&(c=this.getLine(l).length);var m=this.doc,b="";return a.walk(function(x,E,$,k){if(!(E<s)){if(E==s){if($<u)return;k=Math.max(u,k)}x!=null?b+=x:b+=m.getLine(E).substring(k,$)}},l,c),b},this.getDisplayLine=function(a,l,c,s){var u=this.getFoldLine(a);if(u)return this.getFoldDisplayLine(u,a,l,c,s);var m;return m=this.doc.getLine(a),m.substring(s||0,l||m.length)},this.$cloneFoldData=function(){var a=[];return a=this.$foldData.map(function(l){var c=l.folds.map(function(s){return s.clone()});return new f(a,c)}),a},this.toggleFold=function(a){var l=this.selection,c=l.getRange(),s,u;if(c.isEmpty()){var m=c.start;if(s=this.getFoldAt(m.row,m.column),s){this.expandFold(s);return}else if(a){var b=this.getFoldLine(m.row);b&&this.expandFolds(b.folds);return}else(u=this.findMatchingBracket(m))?c.comparePoint(u)==1?c.end=u:(c.start=u,c.start.column++,c.end.column--):(u=this.findMatchingBracket({row:m.row,column:m.column+1}))?(c.comparePoint(u)==1?c.end=u:c.start=u,c.start.column++):c=this.getCommentFoldRange(m.row,m.column)||c}else{var x=this.getFoldsInRange(c);if(a&&x.length){this.expandFolds(x);return}else x.length==1&&(s=x[0])}if(s||(s=this.getFoldAt(c.start.row,c.start.column)),s&&s.range.toString()==c.toString()){this.expandFold(s);return}var E="...";if(!c.isMultiLine()){if(E=this.getTextRange(c),E.length<4)return;E=E.trim().substring(0,2)+".."}this.addFold(E,c)},this.getCommentFoldRange=function(a,l,c){var s=new h(this,a,l),u=s.getCurrentToken(),m=u&&u.type;if(u&&/^comment|string/.test(m)){m=m.match(/comment|string/)[0],m=="comment"&&(m+="|doc-start|\\.doc");var b=new RegExp(m),x=new p;if(c!=1){do u=s.stepBackward();while(u&&b.test(u.type));u=s.stepForward()}x.start.row=s.getCurrentTokenRow(),x.start.column=s.getCurrentTokenColumn()+u.value.length,s=new h(this,a,l);var E=this.getState(s.$row);if(c!=-1){var $=-1;do if(u=s.stepForward(),$==-1){var k=this.getState(s.$row);E.toString()!==k.toString()&&($=s.$row)}else if(s.$row>$)break;while(u&&b.test(u.type));u=s.stepBackward()}else u=s.getCurrentToken();return x.end.row=s.getCurrentTokenRow(),x.end.column=s.getCurrentTokenColumn(),x.start.row==x.end.row&&x.start.column>x.end.column?void 0:x}},this.foldAll=function(a,l,c,s){c==null&&(c=1e5);var u=this.foldWidgets;if(u){l=l||this.getLength(),a=a||0;for(var m=a;m<l;m++)if(u[m]==null&&(u[m]=this.getFoldWidget(m)),u[m]=="start"&&!(s&&!s(m))){var b=this.getFoldWidgetRange(m);b&&b.isMultiLine()&&b.end.row<=l&&b.start.row>=a&&(m=b.end.row,b.collapseChildren=c,this.addFold("...",b))}}},this.foldToLevel=function(a){for(this.foldAll();a-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var a=this;this.foldAll(null,null,null,function(l){for(var c=a.getTokens(l),s=0;s<c.length;s++){var u=c[s];if(!(u.type=="text"&&/^\s+$/.test(u.value)))return!!/comment/.test(u.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(a){if(!this.$foldStyles[a])throw new Error("invalid fold style: "+a+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=a){this.$foldStyle=a,a=="manual"&&this.unfold();var l=this.$foldMode;this.$setFolding(null),this.$setFolding(l)}},this.$setFolding=function(a){if(this.$foldMode!=a){if(this.$foldMode=a,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!a||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(a,l){var c=this.foldWidgets;if(!c||l&&c[a])return{};for(var s=a-1,u;s>=0;){var m=c[s];if(m==null&&(m=c[s]=this.getFoldWidget(s)),m=="start"){var b=this.getFoldWidgetRange(s);if(u||(u=b),b&&b.end.row>=a)break}s--}return{range:s!==-1&&b,firstRange:u}},this.onFoldWidgetClick=function(a,l){l instanceof g&&(l=l.domEvent);var c={children:l.shiftKey,all:l.ctrlKey||l.metaKey,siblings:l.altKey},s=this.$toggleFoldWidget(a,c);if(!s){var u=l.target||l.srcElement;u&&/ace_fold-widget/.test(u.className)&&(u.className+=" ace_invalid")}},this.$toggleFoldWidget=function(a,l){if(this.getFoldWidget){var c=this.getFoldWidget(a),s=this.getLine(a),u=c==="end"?-1:1,m=this.getFoldAt(a,u===-1?0:s.length,u);if(m)return l.children||l.all?this.removeFold(m):this.expandFold(m),m;var b=this.getFoldWidgetRange(a,!0);if(b&&!b.isMultiLine()&&(m=this.getFoldAt(b.start.row,b.start.column,1),m&&b.isEqual(m.range)))return this.removeFold(m),m;if(l.siblings){var x=this.getParentFoldRangeData(a);if(x.range)var E=x.range.start.row+1,$=x.range.end.row;this.foldAll(E,$,l.all?1e4:0)}else l.children?($=b?b.end.row:this.getLength(),this.foldAll(a+1,$,l.all?1e4:0)):b&&(l.all&&(b.collapseChildren=1e4),this.addFold("...",b));return b}},this.toggleFoldWidget=function(a){var l=this.selection.getCursor().row;l=this.getRowFoldStart(l);var c=this.$toggleFoldWidget(l,{});if(!c){var s=this.getParentFoldRangeData(l,!0);if(c=s.range||s.firstRange,c){l=c.start.row;var u=this.getFoldAt(l,this.getLine(l).length,1);u?this.removeFold(u):this.addFold("...",c)}}},this.updateFoldWidgets=function(a){var l=a.start.row,c=a.end.row-l;if(c===0)this.foldWidgets[l]=null;else if(a.action=="remove")this.foldWidgets.splice(l,c+1,null);else{var s=Array(c+1);s.unshift(l,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}},this.tokenizerUpdateFoldWidgets=function(a){var l=a.data;l.first!=l.last&&this.foldWidgets.length>l.first&&this.foldWidgets.splice(l.first,this.foldWidgets.length)}}r.Folding=o}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(t,r,d){var p=t("../token_iterator").TokenIterator,f=t("../range").Range;function w(){this.findMatchingBracket=function(h,g){if(h.column==0)return null;var o=g||this.getLine(h.row).charAt(h.column-1);if(o=="")return null;var a=o.match(/([\(\[\{])|([\)\]\}])/);return a?a[1]?this.$findClosingBracket(a[1],h):this.$findOpeningBracket(a[2],h):null},this.getBracketRange=function(h){var g=this.getLine(h.row),o=!0,a,l=g.charAt(h.column-1),c=l&&l.match(/([\(\[\{])|([\)\]\}])/);if(c||(l=g.charAt(h.column),h={row:h.row,column:h.column+1},c=l&&l.match(/([\(\[\{])|([\)\]\}])/),o=!1),!c)return null;if(c[1]){var s=this.$findClosingBracket(c[1],h);if(!s)return null;a=f.fromPoints(h,s),o||(a.end.column++,a.start.column--),a.cursor=a.end}else{var s=this.$findOpeningBracket(c[2],h);if(!s)return null;a=f.fromPoints(s,h),o||(a.start.column++,a.end.column--),a.cursor=a.start}return a},this.getMatchingBracketRanges=function(h,g){var o=this.getLine(h.row),a=/([\(\[\{])|([\)\]\}])/,l=!g&&o.charAt(h.column-1),c=l&&l.match(a);if(c||(l=(g===void 0||g)&&o.charAt(h.column),h={row:h.row,column:h.column+1},c=l&&l.match(a)),!c)return null;var s=new f(h.row,h.column-1,h.row,h.column),u=c[1]?this.$findClosingBracket(c[1],h):this.$findOpeningBracket(c[2],h);if(!u)return[s];var m=new f(u.row,u.column,u.row,u.column+1);return[s,m]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(h,g,o){var a=this.$brackets[h],l=1,c=new p(this,g.row,g.column),s=c.getCurrentToken();if(s||(s=c.stepForward()),!!s){o||(o=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var u=g.column-c.getCurrentTokenColumn()-2,m=s.value;;){for(;u>=0;){var b=m.charAt(u);if(b==a){if(l-=1,l==0)return{row:c.getCurrentTokenRow(),column:u+c.getCurrentTokenColumn()}}else b==h&&(l+=1);u-=1}do s=c.stepBackward();while(s&&!o.test(s.type));if(s==null)break;m=s.value,u=m.length-1}return null}},this.$findClosingBracket=function(h,g,o){var a=this.$brackets[h],l=1,c=new p(this,g.row,g.column),s=c.getCurrentToken();if(s||(s=c.stepForward()),!!s){o||(o=new RegExp("(\\.?"+s.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var u=g.column-c.getCurrentTokenColumn();;){for(var m=s.value,b=m.length;u<b;){var x=m.charAt(u);if(x==a){if(l-=1,l==0)return{row:c.getCurrentTokenRow(),column:u+c.getCurrentTokenColumn()}}else x==h&&(l+=1);u+=1}do s=c.stepForward();while(s&&!o.test(s.type));if(s==null)break;u=0}return null}},this.getMatchingTags=function(h){var g=new p(this,h.row,h.column),o=this.$findTagName(g);if(o){var a=g.stepBackward();return a.value==="<"?this.$findClosingTag(g,o):this.$findOpeningTag(g,o)}},this.$findTagName=function(h){var g=h.getCurrentToken(),o=!1,a=!1;if(g&&g.type.indexOf("tag-name")===-1)do a?g=h.stepBackward():g=h.stepForward(),g&&(g.value==="/>"?a=!0:g.type.indexOf("tag-name")!==-1&&(o=!0));while(g&&!o);return g},this.$findClosingTag=function(h,g){var o,a=g.value,l=g.value,c=0,s=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);g=h.stepForward();var u=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+g.value.length),m=!1;do{if(o=g,o.type.indexOf("tag-close")!==-1&&!m){var b=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);m=!0}if(g=h.stepForward(),g){if(g.value===">"&&!m){var b=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);m=!0}if(g.type.indexOf("tag-name")!==-1){if(a=g.value,l===a){if(o.value==="<")c++;else if(o.value==="</"&&(c--,c<0)){h.stepBackward();var x=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+2);g=h.stepForward();var E=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=h.stepForward()),g&&g.value===">")var $=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);else return}}}else if(l===a&&g.value==="/>"&&(c--,c<0))var x=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+2),E=x,$=E,b=new f(u.end.row,u.end.column,u.end.row,u.end.column+1)}}while(g&&c>=0);if(s&&b&&x&&$&&u&&E)return{openTag:new f(s.start.row,s.start.column,b.end.row,b.end.column),closeTag:new f(x.start.row,x.start.column,$.end.row,$.end.column),openTagName:u,closeTagName:E}},this.$findOpeningTag=function(h,g){var o=h.getCurrentToken(),a=g.value,l=0,c=h.getCurrentTokenRow(),s=h.getCurrentTokenColumn(),u=s+2,m=new f(c,s,c,u);h.stepForward();var b=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+g.value.length);if(g.type.indexOf("tag-close")===-1&&(g=h.stepForward()),!(!g||g.value!==">")){var x=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);h.stepBackward(),h.stepBackward();do if(g=o,c=h.getCurrentTokenRow(),s=h.getCurrentTokenColumn(),u=s+g.value.length,o=h.stepBackward(),g){if(g.type.indexOf("tag-name")!==-1){if(a===g.value)if(o.value==="<"){if(l++,l>0){var E=new f(c,s,c,u),$=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1);do g=h.stepForward();while(g&&g.value!==">");var k=new f(h.getCurrentTokenRow(),h.getCurrentTokenColumn(),h.getCurrentTokenRow(),h.getCurrentTokenColumn()+1)}}else o.value==="</"&&l--}else if(g.value==="/>"){for(var C=0,R=o;R;){if(R.type.indexOf("tag-name")!==-1&&R.value===a){l--;break}else if(R.value==="<")break;R=h.stepBackward(),C++}for(var O=0;O<C;O++)h.stepForward()}}while(o&&l<=0);if($&&k&&m&&x&&E&&b)return{openTag:new f($.start.row,$.start.column,k.end.row,k.end.column),closeTag:new f(m.start.row,m.start.column,x.end.row,x.end.column),openTagName:E,closeTagName:b}}}}r.BracketMatch=w}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(t,r,d){var p=t("./lib/oop"),f=t("./lib/lang"),w=t("./bidihandler").BidiHandler,h=t("./config"),g=t("./lib/event_emitter").EventEmitter,o=t("./selection").Selection,a=t("./mode/text").Mode,l=t("./range").Range,c=t("./line_widgets").LineWidgets,s=t("./document").Document,u=t("./background_tokenizer").BackgroundTokenizer,m=t("./search_highlight").SearchHighlight,b=t("./undomanager").UndoManager,x=function(){function P(D,S){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++P.$uid,this.$foldData.toString=function(){return this.join(`
197
+ `)},this.$gutterCustomWidgets={},this.bgTokenizer=new u(new a().getTokenizer(),this);var _=this;this.bgTokenizer.on("update",function(N){_._signal("tokenizerUpdate",N)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof D!="object"||!D.getLine)&&(D=new s(D)),this.setDocument(D),this.selection=new o(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new w(this),h.resetOptions(this),this.setMode(S),h._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return P.prototype.$initOperationListeners=function(){var D=this;this.curOp=null,this.on("change",function(){D.curOp||(D.startOperation(),D.curOp.selectionBefore=D.$lastSel),D.curOp.docChanged=!0},!0),this.on("changeSelection",function(){D.curOp||(D.startOperation(),D.curOp.selectionBefore=D.$lastSel),D.curOp.selectionChanged=!0},!0),this.$operationResetTimer=f.delayedCall(this.endOperation.bind(this,!0))},P.prototype.startOperation=function(D){if(this.curOp){if(!D||this.curOp.command)return;this.prevOp=this.curOp}D||(D={}),this.$operationResetTimer.schedule(),this.curOp={command:D.command||{},args:D.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",D)},P.prototype.endOperation=function(D){if(this.curOp){if(D&&D.returnValue===!1){this.curOp=null,this._signal("endOperation",D);return}if(D==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var S=this.selection.toJSON();this.curOp.selectionAfter=S,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(S),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",D)}},P.prototype.setDocument=function(D){this.doc&&this.doc.off("change",this.$onChange),this.doc=D,D.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},P.prototype.getDocument=function(){return this.doc},Object.defineProperty(P.prototype,"widgetManager",{get:function(){var D=new c(this);return this.widgetManager=D,this.$editor&&D.attach(this.$editor),D},set:function(D){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:D})},enumerable:!1,configurable:!0}),P.prototype.$resetRowCache=function(D){if(!D){this.$docRowCache=[],this.$screenRowCache=[];return}var S=this.$docRowCache.length,_=this.$getRowCacheIndex(this.$docRowCache,D)+1;S>_&&(this.$docRowCache.splice(_,S),this.$screenRowCache.splice(_,S))},P.prototype.$getRowCacheIndex=function(D,S){for(var _=0,N=D.length-1;_<=N;){var H=_+N>>1,U=D[H];if(S>U)_=H+1;else if(S<U)N=H-1;else return H}return _-1},P.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},P.prototype.onChangeFold=function(D){var S=D.data;this.$resetRowCache(S.start.row)},P.prototype.onChange=function(D){this.$modified=!0,this.$bidiHandler.onChange(D),this.$resetRowCache(D.start.row);var S=this.$updateInternalDataOnChange(D);!this.$fromUndo&&this.$undoManager&&(S&&S.length&&(this.$undoManager.add({action:"removeFolds",folds:S},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(D,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(D),this._signal("change",D)},P.prototype.onSelectionChange=function(){this._signal("changeSelection")},P.prototype.setValue=function(D){this.doc.setValue(D),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},P.fromJSON=function(D){typeof D=="string"&&(D=JSON.parse(D));var S=new b;S.$undoStack=D.history.undo,S.$redoStack=D.history.redo,S.mark=D.history.mark,S.$rev=D.history.rev;var _=new P(D.value);return D.folds.forEach(function(N){_.addFold("...",l.fromPoints(N.start,N.end))}),_.setAnnotations(D.annotations),_.setBreakpoints(D.breakpoints),_.setMode(D.mode),_.setScrollLeft(D.scrollLeft),_.setScrollTop(D.scrollTop),_.setUndoManager(S),_.selection.fromJSON(D.selection),_},P.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(D){return D.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},P.prototype.toString=function(){return this.doc.getValue()},P.prototype.getSelection=function(){return this.selection},P.prototype.getState=function(D){return this.bgTokenizer.getState(D)},P.prototype.getTokens=function(D){return this.bgTokenizer.getTokens(D)},P.prototype.getTokenAt=function(D,S){var _=this.bgTokenizer.getTokens(D),N,H=0;if(S==null){var U=_.length-1;H=this.getLine(D).length}else for(var U=0;U<_.length&&(H+=_[U].value.length,!(H>=S));U++);return N=_[U],N?(N.index=U,N.start=H-N.value.length,N):null},P.prototype.setUndoManager=function(D){if(this.$undoManager=D,this.$informUndoManager&&this.$informUndoManager.cancel(),D){var S=this;D.addSession(this),this.$syncInformUndoManager=function(){S.$informUndoManager.cancel(),S.mergeUndoDeltas=!1},this.$informUndoManager=f.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},P.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},P.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},P.prototype.getTabString=function(){return this.getUseSoftTabs()?f.stringRepeat(" ",this.getTabSize()):" "},P.prototype.setUseSoftTabs=function(D){this.setOption("useSoftTabs",D)},P.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},P.prototype.setTabSize=function(D){this.setOption("tabSize",D)},P.prototype.getTabSize=function(){return this.$tabSize},P.prototype.isTabStop=function(D){return this.$useSoftTabs&&D.column%this.$tabSize===0},P.prototype.setNavigateWithinSoftTabs=function(D){this.setOption("navigateWithinSoftTabs",D)},P.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},P.prototype.setOverwrite=function(D){this.setOption("overwrite",D)},P.prototype.getOverwrite=function(){return this.$overwrite},P.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},P.prototype.addGutterDecoration=function(D,S){this.$decorations[D]||(this.$decorations[D]=""),this.$decorations[D]+=" "+S,this._signal("changeBreakpoint",{})},P.prototype.removeGutterCustomWidget=function(D){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(D)},P.prototype.addGutterCustomWidget=function(D,S){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(D,S)},P.prototype.removeGutterDecoration=function(D,S){this.$decorations[D]=(this.$decorations[D]||"").replace(" "+S,""),this._signal("changeBreakpoint",{})},P.prototype.getBreakpoints=function(){return this.$breakpoints},P.prototype.setBreakpoints=function(D){this.$breakpoints=[];for(var S=0;S<D.length;S++)this.$breakpoints[D[S]]="ace_breakpoint";this._signal("changeBreakpoint",{})},P.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},P.prototype.setBreakpoint=function(D,S){S===void 0&&(S="ace_breakpoint"),S?this.$breakpoints[D]=S:delete this.$breakpoints[D],this._signal("changeBreakpoint",{})},P.prototype.clearBreakpoint=function(D){delete this.$breakpoints[D],this._signal("changeBreakpoint",{})},P.prototype.addMarker=function(D,S,_,N){var H=this.$markerId++,U={range:D,type:_||"line",renderer:typeof _=="function"?_:null,clazz:S,inFront:!!N,id:H};return N?(this.$frontMarkers[H]=U,this._signal("changeFrontMarker")):(this.$backMarkers[H]=U,this._signal("changeBackMarker")),H},P.prototype.addDynamicMarker=function(D,S){if(D.update){var _=this.$markerId++;return D.id=_,D.inFront=!!S,S?(this.$frontMarkers[_]=D,this._signal("changeFrontMarker")):(this.$backMarkers[_]=D,this._signal("changeBackMarker")),D}},P.prototype.removeMarker=function(D){var S=this.$frontMarkers[D]||this.$backMarkers[D];if(S){var _=S.inFront?this.$frontMarkers:this.$backMarkers;delete _[D],this._signal(S.inFront?"changeFrontMarker":"changeBackMarker")}},P.prototype.getMarkers=function(D){return D?this.$frontMarkers:this.$backMarkers},P.prototype.highlight=function(D){if(!this.$searchHighlight){var S=new m(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(S)}this.$searchHighlight.setRegexp(D)},P.prototype.highlightLines=function(D,S,_,N){typeof S!="number"&&(_=S,S=D),_||(_="ace_step");var H=new l(D,0,S,1/0);return H.id=this.addMarker(H,_,"fullLine",N),H},P.prototype.setAnnotations=function(D){this.$annotations=D,this._signal("changeAnnotation",{})},P.prototype.getAnnotations=function(){return this.$annotations||[]},P.prototype.clearAnnotations=function(){this.setAnnotations([])},P.prototype.$detectNewLine=function(D){var S=D.match(/^.*?(\r?\n)/m);S?this.$autoNewLine=S[1]:this.$autoNewLine=`
198
+ `},P.prototype.getWordRange=function(D,S){var _=this.getLine(D),N=!1;if(S>0&&(N=!!_.charAt(S-1).match(this.tokenRe)),N||(N=!!_.charAt(S).match(this.tokenRe)),N)var H=this.tokenRe;else if(/^\s+$/.test(_.slice(S-1,S+1)))var H=/\s/;else var H=this.nonTokenRe;var U=S;if(U>0){do U--;while(U>=0&&_.charAt(U).match(H));U++}for(var q=S;q<_.length&&_.charAt(q).match(H);)q++;return new l(D,U,D,q)},P.prototype.getAWordRange=function(D,S){for(var _=this.getWordRange(D,S),N=this.getLine(_.end.row);N.charAt(_.end.column).match(/[ \t]/);)_.end.column+=1;return _},P.prototype.setNewLineMode=function(D){this.doc.setNewLineMode(D)},P.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},P.prototype.setUseWorker=function(D){this.setOption("useWorker",D)},P.prototype.getUseWorker=function(){return this.$useWorker},P.prototype.onReloadTokenizer=function(D){var S=D.data;this.bgTokenizer.start(S.first),this._signal("tokenizerUpdate",D)},P.prototype.setMode=function(D,S){if(D&&typeof D=="object"){if(D.getTokenizer)return this.$onChangeMode(D);var _=D,N=_.path}else N=D||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new a),this.$modes[N]&&!_){this.$onChangeMode(this.$modes[N]),S&&S();return}this.$modeId=N,h.loadModule(["mode",N],(function(H){if(!this.destroyed){if(this.$modeId!==N)return S&&S();this.$modes[N]&&!_?this.$onChangeMode(this.$modes[N]):H&&H.Mode&&(H=new H.Mode(_),_||(this.$modes[N]=H,H.$id=N),this.$onChangeMode(H)),S&&S()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},P.prototype.$onChangeMode=function(D,S){if(S||(this.$modeId=D.$id),this.$mode!==D){var _=this.$mode;this.$mode=D,this.$stopWorker(),this.$useWorker&&this.$startWorker();var N=D.getTokenizer();if(N.on!==void 0){var H=this.onReloadTokenizer.bind(this);N.on("update",H)}this.bgTokenizer.setTokenizer(N),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=D.tokenRe,this.nonTokenRe=D.nonTokenRe,S||(D.attachToSession&&D.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(D.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:_,mode:D}))}},P.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},P.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(D){h.warn("Could not load worker",D),this.$worker=null}},P.prototype.getMode=function(){return this.$mode},P.prototype.setScrollTop=function(D){this.$scrollTop===D||isNaN(D)||(this.$scrollTop=D,this._signal("changeScrollTop",D))},P.prototype.getScrollTop=function(){return this.$scrollTop},P.prototype.setScrollLeft=function(D){this.$scrollLeft===D||isNaN(D)||(this.$scrollLeft=D,this._signal("changeScrollLeft",D))},P.prototype.getScrollLeft=function(){return this.$scrollLeft},P.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},P.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var D=0;return this.lineWidgets.forEach(function(S){S&&S.screenWidth>D&&(D=S.screenWidth)}),this.lineWidgetWidth=D},P.prototype.$computeWidth=function(D){if(this.$modified||D){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var S=this.doc.getAllLines(),_=this.$rowLengthCache,N=0,H=0,U=this.$foldData[H],q=U?U.start.row:1/0,Q=S.length,te=0;te<Q;te++){if(te>q){if(te=U.end.row+1,te>=Q)break;U=this.$foldData[H++],q=U?U.start.row:1/0}_[te]==null&&(_[te]=this.$getStringScreenWidth(S[te])[0]),_[te]>N&&(N=_[te])}this.screenWidth=N}},P.prototype.getLine=function(D){return this.doc.getLine(D)},P.prototype.getLines=function(D,S){return this.doc.getLines(D,S)},P.prototype.getLength=function(){return this.doc.getLength()},P.prototype.getTextRange=function(D){return this.doc.getTextRange(D||this.selection.getRange())},P.prototype.insert=function(D,S){return this.doc.insert(D,S)},P.prototype.remove=function(D){return this.doc.remove(D)},P.prototype.removeFullLines=function(D,S){return this.doc.removeFullLines(D,S)},P.prototype.undoChanges=function(D,S){if(D.length){this.$fromUndo=!0;for(var _=D.length-1;_!=-1;_--){var N=D[_];N.action=="insert"||N.action=="remove"?this.doc.revertDelta(N):N.folds&&this.addFolds(N.folds)}!S&&this.$undoSelect&&(D.selectionBefore?this.selection.fromJSON(D.selectionBefore):this.selection.setRange(this.$getUndoSelection(D,!0))),this.$fromUndo=!1}},P.prototype.redoChanges=function(D,S){if(D.length){this.$fromUndo=!0;for(var _=0;_<D.length;_++){var N=D[_];(N.action=="insert"||N.action=="remove")&&this.doc.$safeApplyDelta(N)}!S&&this.$undoSelect&&(D.selectionAfter?this.selection.fromJSON(D.selectionAfter):this.selection.setRange(this.$getUndoSelection(D,!1))),this.$fromUndo=!1}},P.prototype.setUndoSelect=function(D){this.$undoSelect=D},P.prototype.$getUndoSelection=function(D,S){function _(Q){return S?Q.action!=="insert":Q.action==="insert"}for(var N,H,U=0;U<D.length;U++){var q=D[U];if(q.start){if(!N){_(q)?N=l.fromPoints(q.start,q.end):N=l.fromPoints(q.start,q.start);continue}_(q)?(H=q.start,N.compare(H.row,H.column)==-1&&N.setStart(H),H=q.end,N.compare(H.row,H.column)==1&&N.setEnd(H)):(H=q.start,N.compare(H.row,H.column)==-1&&(N=l.fromPoints(q.start,q.start)))}}return N},P.prototype.replace=function(D,S){return this.doc.replace(D,S)},P.prototype.moveText=function(D,S,_){var N=this.getTextRange(D),H=this.getFoldsInRange(D),U=l.fromPoints(S,S);if(!_){this.remove(D);var q=D.start.row-D.end.row,Q=q?-D.end.column:D.start.column-D.end.column;Q&&(U.start.row==D.end.row&&U.start.column>D.end.column&&(U.start.column+=Q),U.end.row==D.end.row&&U.end.column>D.end.column&&(U.end.column+=Q)),q&&U.start.row>=D.end.row&&(U.start.row+=q,U.end.row+=q)}if(U.end=this.insert(U.start,N),H.length){var te=D.start,he=U.start,q=he.row-te.row,Q=he.column-te.column;this.addFolds(H.map(function(ue){return ue=ue.clone(),ue.start.row==te.row&&(ue.start.column+=Q),ue.end.row==te.row&&(ue.end.column+=Q),ue.start.row+=q,ue.end.row+=q,ue}))}return U},P.prototype.indentRows=function(D,S,_){_=_.replace(/\t/g,this.getTabString());for(var N=D;N<=S;N++)this.doc.insertInLine({row:N,column:0},_)},P.prototype.outdentRows=function(D){for(var S=D.collapseRows(),_=new l(0,0,0,0),N=this.getTabSize(),H=S.start.row;H<=S.end.row;++H){var U=this.getLine(H);_.start.row=H,_.end.row=H;for(var q=0;q<N&&U.charAt(q)==" ";++q);q<N&&U.charAt(q)==" "?(_.start.column=q,_.end.column=q+1):(_.start.column=0,_.end.column=q),this.remove(_)}},P.prototype.$moveLines=function(D,S,_){if(D=this.getRowFoldStart(D),S=this.getRowFoldEnd(S),_<0){var N=this.getRowFoldStart(D+_);if(N<0)return 0;var H=N-D}else if(_>0){var N=this.getRowFoldEnd(S+_);if(N>this.doc.getLength()-1)return 0;var H=N-S}else{D=this.$clipRowToDocument(D),S=this.$clipRowToDocument(S);var H=S-D+1}var U=new l(D,0,S,Number.MAX_VALUE),q=this.getFoldsInRange(U).map(function(te){return te=te.clone(),te.start.row+=H,te.end.row+=H,te}),Q=_==0?this.doc.getLines(D,S):this.doc.removeFullLines(D,S);return this.doc.insertFullLines(D+H,Q),q.length&&this.addFolds(q),H},P.prototype.moveLinesUp=function(D,S){return this.$moveLines(D,S,-1)},P.prototype.moveLinesDown=function(D,S){return this.$moveLines(D,S,1)},P.prototype.duplicateLines=function(D,S){return this.$moveLines(D,S,0)},P.prototype.$clipRowToDocument=function(D){return Math.max(0,Math.min(D,this.doc.getLength()-1))},P.prototype.$clipColumnToRow=function(D,S){return S<0?0:Math.min(this.doc.getLine(D).length,S)},P.prototype.$clipPositionToDocument=function(D,S){if(S=Math.max(0,S),D<0)D=0,S=0;else{var _=this.doc.getLength();D>=_?(D=_-1,S=this.doc.getLine(_-1).length):S=Math.min(this.doc.getLine(D).length,S)}return{row:D,column:S}},P.prototype.$clipRangeToDocument=function(D){D.start.row<0?(D.start.row=0,D.start.column=0):D.start.column=this.$clipColumnToRow(D.start.row,D.start.column);var S=this.doc.getLength()-1;return D.end.row>S?(D.end.row=S,D.end.column=this.doc.getLine(S).length):D.end.column=this.$clipColumnToRow(D.end.row,D.end.column),D},P.prototype.setUseWrapMode=function(D){if(D!=this.$useWrapMode){if(this.$useWrapMode=D,this.$modified=!0,this.$resetRowCache(0),D){var S=this.getLength();this.$wrapData=Array(S),this.$updateWrapData(0,S-1)}this._signal("changeWrapMode")}},P.prototype.getUseWrapMode=function(){return this.$useWrapMode},P.prototype.setWrapLimitRange=function(D,S){(this.$wrapLimitRange.min!==D||this.$wrapLimitRange.max!==S)&&(this.$wrapLimitRange={min:D,max:S},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},P.prototype.adjustWrapLimit=function(D,S){var _=this.$wrapLimitRange;_.max<0&&(_={min:S,max:S});var N=this.$constrainWrapLimit(D,_.min,_.max);return N!=this.$wrapLimit&&N>1?(this.$wrapLimit=N,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},P.prototype.$constrainWrapLimit=function(D,S,_){return S&&(D=Math.max(S,D)),_&&(D=Math.min(_,D)),D},P.prototype.getWrapLimit=function(){return this.$wrapLimit},P.prototype.setWrapLimit=function(D){this.setWrapLimitRange(D,D)},P.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},P.prototype.$updateInternalDataOnChange=function(D){var S=this.$useWrapMode,_=D.action,N=D.start,H=D.end,U=N.row,q=H.row,Q=q-U,te=null;if(this.$updating=!0,Q!=0)if(_==="remove"){this[S?"$wrapData":"$rowLengthCache"].splice(U,Q);var he=this.$foldData;te=this.getFoldsInRange(D),this.removeFolds(te);var ne=this.getFoldLine(H.row),le=0;if(ne){ne.addRemoveChars(H.row,H.column,N.column-H.column),ne.shiftRow(-Q);var ue=this.getFoldLine(U);ue&&ue!==ne&&(ue.merge(ne),ne=ue),le=he.indexOf(ne)+1}for(le;le<he.length;le++){var ne=he[le];ne.start.row>=H.row&&ne.shiftRow(-Q)}q=U}else{var ce=Array(Q);ce.unshift(U,0);var ge=S?this.$wrapData:this.$rowLengthCache;ge.splice.apply(ge,ce);var he=this.$foldData,ne=this.getFoldLine(U),le=0;if(ne){var Se=ne.range.compareInside(N.row,N.column);Se==0?(ne=ne.split(N.row,N.column),ne&&(ne.shiftRow(Q),ne.addRemoveChars(q,0,H.column-N.column))):Se==-1&&(ne.addRemoveChars(U,0,H.column-N.column),ne.shiftRow(Q)),le=he.indexOf(ne)+1}for(le;le<he.length;le++){var ne=he[le];ne.start.row>=U&&ne.shiftRow(Q)}}else{Q=Math.abs(D.start.column-D.end.column),_==="remove"&&(te=this.getFoldsInRange(D),this.removeFolds(te),Q=-Q);var ne=this.getFoldLine(U);ne&&ne.addRemoveChars(U,N.column,Q)}return S&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,S?this.$updateWrapData(U,q):this.$updateRowLengthCache(U,q),te},P.prototype.$updateRowLengthCache=function(D,S){this.$rowLengthCache[D]=null,this.$rowLengthCache[S]=null},P.prototype.$updateWrapData=function(D,S){var _=this.doc.getAllLines(),N=this.getTabSize(),H=this.$wrapData,U=this.$wrapLimit,q,Q,te=D;for(S=Math.min(S,_.length-1);te<=S;)Q=this.getFoldLine(te,Q),Q?(q=[],Q.walk((function(he,ne,le,ue){var ce;if(he!=null){ce=this.$getDisplayTokens(he,q.length),ce[0]=k;for(var ge=1;ge<ce.length;ge++)ce[ge]=C}else ce=this.$getDisplayTokens(_[ne].substring(ue,le),q.length);q=q.concat(ce)}).bind(this),Q.end.row,_[Q.end.row].length+1),H[Q.start.row]=this.$computeWrapSplits(q,U,N),te=Q.end.row+1):(q=this.$getDisplayTokens(_[te]),H[te]=this.$computeWrapSplits(q,U,N),te++)},P.prototype.$computeWrapSplits=function(D,S,_){if(D.length==0)return[];var N=[],H=D.length,U=0,q=0,Q=this.$wrapAsCode,te=this.$indentedSoftWrap,he=S<=Math.max(2*_,8)||te===!1?0:Math.floor(S/2);function ne(){var Se=0;if(he===0)return Se;if(te)for(var $e=0;$e<D.length;$e++){var Te=D[$e];if(Te==O)Se+=1;else if(Te==L)Se+=_;else{if(Te==I)continue;break}}return Q&&te!==!1&&(Se+=_),Math.min(Se,he)}function le(Se){for(var $e=Se-U,Te=U;Te<Se;Te++){var Ze=D[Te];(Ze===12||Ze===2)&&($e-=1)}N.length||(ue=ne(),N.indent=ue),q+=$e,N.push(q),U=Se}for(var ue=0;H-U>S-ue;){var ce=U+S-ue;if(D[ce-1]>=O&&D[ce]>=O){le(ce);continue}if(D[ce]==k||D[ce]==C){for(ce;ce!=U-1&&D[ce]!=k;ce--);if(ce>U){le(ce);continue}for(ce=U+S,ce;ce<D.length&&D[ce]==C;ce++);if(ce==D.length)break;le(ce);continue}for(var ge=Math.max(ce-(S-(S>>2)),U-1);ce>ge&&D[ce]<k;)ce--;if(Q){for(;ce>ge&&D[ce]<k;)ce--;for(;ce>ge&&D[ce]==R;)ce--}else for(;ce>ge&&D[ce]<O;)ce--;if(ce>ge){le(++ce);continue}ce=U+S,D[ce]==$&&ce--,le(ce-ue)}return N},P.prototype.$getDisplayTokens=function(D,S){var _=[],N;S=S||0;for(var H=0;H<D.length;H++){var U=D.charCodeAt(H);if(U==9){N=this.getScreenTabSize(_.length+S),_.push(L);for(var q=1;q<N;q++)_.push(I)}else U==32?_.push(O):U>39&&U<48||U>57&&U<64?_.push(R):U>=4352&&B(U)?_.push(E,$):_.push(E)}return _},P.prototype.$getStringScreenWidth=function(D,S,_){if(S==0)return[0,0];S==null&&(S=1/0),_=_||0;var N,H;for(H=0;H<D.length&&(N=D.charCodeAt(H),N==9?_+=this.getScreenTabSize(_):N>=4352&&B(N)?_+=2:_+=1,!(_>S));H++);return[_,H]},P.prototype.getRowLength=function(D){var S=1;return this.lineWidgets&&(S+=this.lineWidgets[D]&&this.lineWidgets[D].rowCount||0),!this.$useWrapMode||!this.$wrapData[D]?S:this.$wrapData[D].length+S},P.prototype.getRowLineCount=function(D){return!this.$useWrapMode||!this.$wrapData[D]?1:this.$wrapData[D].length+1},P.prototype.getRowWrapIndent=function(D){if(this.$useWrapMode){var S=this.screenToDocumentPosition(D,Number.MAX_VALUE),_=this.$wrapData[S.row];return _.length&&_[0]<S.column?_.indent:0}else return 0},P.prototype.getScreenLastRowColumn=function(D){var S=this.screenToDocumentPosition(D,Number.MAX_VALUE);return this.documentToScreenColumn(S.row,S.column)},P.prototype.getDocumentLastRowColumn=function(D,S){var _=this.documentToScreenRow(D,S);return this.getScreenLastRowColumn(_)},P.prototype.getDocumentLastRowColumnPosition=function(D,S){var _=this.documentToScreenRow(D,S);return this.screenToDocumentPosition(_,Number.MAX_VALUE/10)},P.prototype.getRowSplitData=function(D){if(this.$useWrapMode)return this.$wrapData[D]},P.prototype.getScreenTabSize=function(D){return this.$tabSize-(D%this.$tabSize|0)},P.prototype.screenToDocumentRow=function(D,S){return this.screenToDocumentPosition(D,S).row},P.prototype.screenToDocumentColumn=function(D,S){return this.screenToDocumentPosition(D,S).column},P.prototype.screenToDocumentPosition=function(D,S,_){if(D<0)return{row:0,column:0};var N,le=0,H=0,U,ne=0,q=0,Q=this.$screenRowCache,te=this.$getRowCacheIndex(Q,D),he=Q.length;if(he&&te>=0)var ne=Q[te],le=this.$docRowCache[te],ue=D>Q[he-1];else var ue=!he;for(var ce=this.getLength()-1,ge=this.getNextFoldLine(le),Se=ge?ge.start.row:1/0;ne<=D&&(q=this.getRowLength(le),!(ne+q>D||le>=ce));)ne+=q,le++,le>Se&&(le=ge.end.row+1,ge=this.getNextFoldLine(le,ge),Se=ge?ge.start.row:1/0),ue&&(this.$docRowCache.push(le),this.$screenRowCache.push(ne));if(ge&&ge.start.row<=le)N=this.getFoldDisplayLine(ge),le=ge.start.row;else{if(ne+q<=D||le>ce)return{row:ce,column:this.getLine(ce).length};N=this.getLine(le),ge=null}var $e=0,Te=Math.floor(D-ne);if(this.$useWrapMode){var Ze=this.$wrapData[le];Ze&&(U=Ze[Te],Te>0&&Ze.length&&($e=Ze.indent,H=Ze[Te-1]||Ze[Ze.length-1],N=N.substring(H)))}return _!==void 0&&this.$bidiHandler.isBidiRow(ne+Te,le,Te)&&(S=this.$bidiHandler.offsetToCol(_)),H+=this.$getStringScreenWidth(N,S-$e)[1],this.$useWrapMode&&H>=U&&(H=U-1),ge?ge.idxToPosition(H):{row:le,column:H}},P.prototype.documentToScreenPosition=function(D,S){if(typeof S>"u")var _=this.$clipPositionToDocument(D.row,D.column);else _=this.$clipPositionToDocument(D,S);D=_.row,S=_.column;var ne=0,N=null,H=null;H=this.getFoldAt(D,S,1),H&&(D=H.start.row,S=H.start.column);var U,he=0,q=this.$docRowCache,Q=this.$getRowCacheIndex(q,D),te=q.length;if(te&&Q>=0)var he=q[Q],ne=this.$screenRowCache[Q],le=D>q[te-1];else var le=!te;for(var ue=this.getNextFoldLine(he),ce=ue?ue.start.row:1/0;he<D;){if(he>=ce){if(U=ue.end.row+1,U>D)break;ue=this.getNextFoldLine(U,ue),ce=ue?ue.start.row:1/0}else U=he+1;ne+=this.getRowLength(he),he=U,le&&(this.$docRowCache.push(he),this.$screenRowCache.push(ne))}var ge="";ue&&he>=ce?(ge=this.getFoldDisplayLine(ue,D,S),N=ue.start.row):(ge=this.getLine(D).substring(0,S),N=D);var Se=0;if(this.$useWrapMode){var $e=this.$wrapData[N];if($e){for(var Te=0;ge.length>=$e[Te];)ne++,Te++;ge=ge.substring($e[Te-1]||0,ge.length),Se=Te>0?$e.indent:0}}return this.lineWidgets&&this.lineWidgets[he]&&this.lineWidgets[he].rowsAbove&&(ne+=this.lineWidgets[he].rowsAbove),{row:ne,column:Se+this.$getStringScreenWidth(ge)[0]}},P.prototype.documentToScreenColumn=function(D,S){return this.documentToScreenPosition(D,S).column},P.prototype.documentToScreenRow=function(D,S){return this.documentToScreenPosition(D,S).row},P.prototype.getScreenLength=function(){var D=0,S=null;if(this.$useWrapMode)for(var _=this.$wrapData.length,N=0,H=0,S=this.$foldData[H++],U=S?S.start.row:1/0;N<_;){var q=this.$wrapData[N];D+=q?q.length+1:1,N++,N>U&&(N=S.end.row+1,S=this.$foldData[H++],U=S?S.start.row:1/0)}else{D=this.getLength();for(var Q=this.$foldData,H=0;H<Q.length;H++)S=Q[H],D-=S.end.row-S.start.row}return this.lineWidgets&&(D+=this.$getWidgetScreenLength()),D},P.prototype.$setFontMetrics=function(D){this.$enableVarChar&&(this.$getStringScreenWidth=function(S,_,N){if(_===0)return[0,0];_||(_=1/0),N=N||0;var H,U;for(U=0;U<S.length&&(H=S.charAt(U),H===" "?N+=this.getScreenTabSize(N):N+=D.getCharacterWidth(H),!(N>_));U++);return[N,U]})},P.prototype.getPrecedingCharacter=function(){var D=this.selection.getCursor();if(D.column===0)return D.row===0?"":this.doc.getNewLineCharacter();var S=this.getLine(D.row);return S[D.column-1]},P.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},P}();x.$uid=0,x.prototype.$modes=h.$modes,x.prototype.getValue=x.prototype.toString,x.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},x.prototype.$overwrite=!1,x.prototype.$mode=null,x.prototype.$modeId=null,x.prototype.$scrollTop=0,x.prototype.$scrollLeft=0,x.prototype.$wrapLimit=80,x.prototype.$useWrapMode=!1,x.prototype.$wrapLimitRange={min:null,max:null},x.prototype.lineWidgets=null,x.prototype.isFullWidth=B,p.implement(x.prototype,g);var E=1,$=2,k=3,C=4,R=9,O=10,L=11,I=12;function B(P){return P<4352?!1:P>=4352&&P<=4447||P>=4515&&P<=4519||P>=4602&&P<=4607||P>=9001&&P<=9002||P>=11904&&P<=11929||P>=11931&&P<=12019||P>=12032&&P<=12245||P>=12272&&P<=12283||P>=12288&&P<=12350||P>=12353&&P<=12438||P>=12441&&P<=12543||P>=12549&&P<=12589||P>=12593&&P<=12686||P>=12688&&P<=12730||P>=12736&&P<=12771||P>=12784&&P<=12830||P>=12832&&P<=12871||P>=12880&&P<=13054||P>=13056&&P<=19903||P>=19968&&P<=42124||P>=42128&&P<=42182||P>=43360&&P<=43388||P>=44032&&P<=55203||P>=55216&&P<=55238||P>=55243&&P<=55291||P>=63744&&P<=64255||P>=65040&&P<=65049||P>=65072&&P<=65106||P>=65108&&P<=65126||P>=65128&&P<=65131||P>=65281&&P<=65376||P>=65504&&P<=65510}t("./edit_session/folding").Folding.call(x.prototype),t("./edit_session/bracket_match").BracketMatch.call(x.prototype),h.defineOptions(x.prototype,"session",{wrap:{set:function(P){if(!P||P=="off"?P=!1:P=="free"?P=!0:P=="printMargin"?P=-1:typeof P=="string"&&(P=parseInt(P,10)||!1),this.$wrap!=P)if(this.$wrap=P,!P)this.setUseWrapMode(!1);else{var D=typeof P=="number"?P:null;this.setWrapLimitRange(D,D),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(P){P=P=="auto"?this.$mode.type!="text":P!="text",P!=this.$wrapAsCode&&(this.$wrapAsCode=P,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(P){this.$useWorker=P,this.$stopWorker(),P&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(P){P=parseInt(P),P>0&&this.$tabSize!==P&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=P,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(P){this.setFoldStyle(P)},handlesSet:!0},overwrite:{set:function(P){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(P){this.doc.setNewLineMode(P)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(P){this.setMode(P)},get:function(){return this.$modeId},handlesSet:!0}}),r.EditSession=x}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(t,r,d){var p=t("./lib/lang"),f=t("./lib/oop"),w=t("./range").Range,h=function(){function l(){this.$options={}}return l.prototype.set=function(c){return f.mixin(this.$options,c),this},l.prototype.getOptions=function(){return p.copyObject(this.$options)},l.prototype.setOptions=function(c){this.$options=c},l.prototype.find=function(c){var s=this.$options,u=this.$matchIterator(c,s);if(!u)return!1;var m=null;return u.forEach(function(b,x,E,$){return m=new w(b,x,E,$),x==$&&s.start&&s.start.start&&s.skipCurrent!=!1&&m.isEqual(s.start)?(m=null,!1):!0}),m},l.prototype.findAll=function(c){var s=this.$options;if(!s.needle)return[];this.$assembleRegExp(s);var u=s.range,m=u?c.getLines(u.start.row,u.end.row):c.doc.getAllLines(),b=[],x=s.re;if(s.$isMultiLine){var E=x.length,$=m.length-E,k;e:for(var C=x.offset||0;C<=$;C++){for(var R=0;R<E;R++)if(m[C+R].search(x[R])==-1)continue e;var O=m[C],L=m[C+E-1],I=O.length-O.match(x[0])[0].length,B=L.match(x[E-1])[0].length;k&&k.end.row===C&&k.end.column>I||(b.push(k=new w(C,I,C+E-1,B)),E>2&&(C=C+E-2))}}else for(var P,D=0;D<m.length;D++)if(this.$isMultilineSearch(s)){var S=m.length-1;if(P=this.$multiLineForward(c,x,D,S),P){var _=P.endRow<=S?P.endRow-1:S;_>D&&(D=_),b.push(new w(P.startRow,P.startCol,P.endRow,P.endCol))}}else{P=p.getMatchOffsets(m[D],x);for(var R=0;R<P.length;R++){var N=P[R];b.push(new w(D,N.offset,D,N.offset+N.length))}}if(u){for(var H=u.start.column,U=u.end.column,D=0,R=b.length-1;D<R&&b[D].start.column<H&&b[D].start.row==0;)D++;for(var q=u.end.row-u.start.row;D<R&&b[R].end.column>U&&b[R].end.row==q;)R--;for(b=b.slice(D,R+1),D=0,R=b.length;D<R;D++)b[D].start.row+=u.start.row,b[D].end.row+=u.start.row}return b},l.prototype.parseReplaceString=function(c){for(var s={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},u="",m=0,b=c.length;m<b;m++){var x=c.charCodeAt(m);if(x===s.Backslash){if(m++,m>=b){u+="\\";break}var E=c.charCodeAt(m);switch(E){case s.Backslash:u+="\\";break;case s.n:u+=`
199
+ `;break;case s.t:u+=" ";break}continue}if(x===s.DollarSign){if(m++,m>=b){u+="$";break}var $=c.charCodeAt(m);if($===s.DollarSign){u+="$$";continue}if($===s.Digit0||$===s.Ampersand){u+="$&";continue}if(s.Digit1<=$&&$<=s.Digit9){u+="$"+c[m];continue}}u+=c[m]}return u||c},l.prototype.replace=function(c,s){var u=this.$options,m=this.$assembleRegExp(u);if(u.$isMultiLine)return s;if(m){var b=this.$isMultilineSearch(u);b&&(c=c.replace(/\r\n|\r|\n/g,`
200
+ `));var x=m.exec(c);if(!x||!b&&x[0].length!=c.length)return null;if(s=u.regExp?this.parseReplaceString(s):s.replace(/\$/g,"$$$$"),s=c.replace(m,s),u.preserveCase){s=s.split("");for(var E=Math.min(c.length,c.length);E--;){var $=c[E];$&&$.toLowerCase()!=$?s[E]=s[E].toUpperCase():s[E]=s[E].toLowerCase()}s=s.join("")}return s}},l.prototype.$assembleRegExp=function(c,s){if(c.needle instanceof RegExp)return c.re=c.needle;var u=c.needle;if(!c.needle)return c.re=!1;c.regExp||(u=p.escapeRegExp(u));var m=c.caseSensitive?"gm":"gmi";try{new RegExp(u,"u"),c.$supportsUnicodeFlag=!0,m+="u"}catch{c.$supportsUnicodeFlag=!1}if(c.wholeWord&&(u=g(u,c)),c.$isMultiLine=!s&&/[\n\r]/.test(u),c.$isMultiLine)return c.re=this.$assembleMultilineRegExp(u,m);try{var b=new RegExp(u,m)}catch{b=!1}return c.re=b},l.prototype.$assembleMultilineRegExp=function(c,s){for(var u=c.replace(/\r\n|\r|\n/g,`$
201
+ ^`).split(`
202
+ `),m=[],b=0;b<u.length;b++)try{m.push(new RegExp(u[b],s))}catch{return!1}return m},l.prototype.$isMultilineSearch=function(c){return c.re&&/\\r\\n|\\r|\\n/.test(c.re.source)&&c.regExp&&!c.$isMultiLine},l.prototype.$multiLineForward=function(c,s,u,m){for(var b,x=a(c,u),E=u;E<=m;){for(var $=0;$<x&&!(E>m);$++){var k=c.getLine(E++);b=b==null?k:b+`
203
+ `+k}var C=s.exec(b);if(s.lastIndex=0,C){var R=b.slice(0,C.index).split(`
204
+ `),O=C[0].split(`
205
+ `),L=u+R.length-1,I=R[R.length-1].length,B=L+O.length-1,P=O.length==1?I+O[0].length:O[O.length-1].length;return{startRow:L,startCol:I,endRow:B,endCol:P}}}return null},l.prototype.$multiLineBackward=function(c,s,u,m,b){for(var x,E=a(c,m),$=c.getLine(m).length-u,k=m;k>=b;){for(var C=0;C<E&&k>=b;C++){var R=c.getLine(k--);x=x==null?R:R+`
206
+ `+x}var O=o(x,s,$);if(O){var L=x.slice(0,O.index).split(`
207
+ `),I=O[0].split(`
208
+ `),B=k+L.length,P=L[L.length-1].length,D=B+I.length-1,S=I.length==1?P+I[0].length:I[I.length-1].length;return{startRow:B,startCol:P,endRow:D,endCol:S}}}return null},l.prototype.$matchIterator=function(c,s){var u=this.$assembleRegExp(s);if(!u)return!1;var m=this.$isMultilineSearch(s),b=this.$multiLineForward,x=this.$multiLineBackward,E=s.backwards==!0,$=s.skipCurrent!=!1,k=u.unicode,C=s.range,R=s.start;R||(R=C?C[E?"end":"start"]:c.selection.getRange()),R.start&&(R=R[$!=E?"end":"start"]);var O=C?C.start.row:0,L=C?C.end.row:c.getLength()-1;if(E)var I=function(D){var S=R.row;if(!P(S,R.column,D)){for(S--;S>=O;S--)if(P(S,Number.MAX_VALUE,D))return;if(s.wrap!=!1){for(S=L,O=R.row;S>=O;S--)if(P(S,Number.MAX_VALUE,D))return}}};else var I=function(D){var S=R.row;if(!P(S,R.column,D)){for(S=S+1;S<=L;S++)if(P(S,0,D))return;if(s.wrap!=!1){for(S=O,L=R.row;S<=L;S++)if(P(S,0,D))return}}};if(s.$isMultiLine)var B=u.length,P=function(D,S,_){var N=E?D-B+1:D;if(!(N<0||N+B>c.getLength())){var H=c.getLine(N),U=H.search(u[0]);if(!(!E&&U<S||U===-1)){for(var q=1;q<B;q++)if(H=c.getLine(N+q),H.search(u[q])==-1)return;var Q=H.match(u[B-1])[0].length;if(!(E&&Q>S)&&_(N,U,N+B-1,Q))return!0}}};else if(E)var P=function(D,S,_){if(m){var N=x(c,u,S,D,O);if(!N)return!1;if(_(N.startRow,N.startCol,N.endRow,N.endCol))return!0}else{var H=c.getLine(D),U=[],q,Q=0;for(u.lastIndex=0;q=u.exec(H);){var te=q[0].length;if(Q=q.index,!te){if(Q>=H.length)break;u.lastIndex=Q+=p.skipEmptyMatch(H,Q,k)}if(q.index+te>S)break;U.push(q.index,te)}for(var he=U.length-1;he>=0;he-=2){var ne=U[he-1],te=U[he];if(_(D,ne,D,ne+te))return!0}}};else var P=function(D,S,_){if(u.lastIndex=S,m){var N=b(c,u,D,L);if(N){var H=N.endRow<=L?N.endRow-1:L;H>D&&(D=H)}if(!N)return!1;if(_(N.startRow,N.startCol,N.endRow,N.endCol))return!0}else for(var U=c.getLine(D),q,Q;Q=u.exec(U);){var te=Q[0].length;if(q=Q.index,_(D,q,D,q+te))return!0;if(!te&&(u.lastIndex=q+=p.skipEmptyMatch(U,q,k),q>=U.length))return!1}};return{forEach:I}},l}();function g(l,c){var s=p.supportsLookbehind();function u(E,$){$===void 0&&($=!0);var k=s&&c.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return k.test(E)||c.regExp?s&&c.$supportsUnicodeFlag?$?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var m=Array.from(l),b=m[0],x=m[m.length-1];return u(b)+l+u(x,!1)}function o(l,c,s){for(var u=null,m=0;m<=l.length;){c.lastIndex=m;var b=c.exec(l);if(!b)break;var x=b.index+b[0].length;if(x>l.length-s)break;(!u||x>u.index+u[0].length)&&(u=b),m=b.index+1}return u}function a(l,c){var s=5e3,u={row:c,column:0},m=l.doc.positionToIndex(u),b=m+s,x=l.doc.indexToPosition(b),E=x.row;return E+1}r.Search=h}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(t,r,d){var p=this&&this.__extends||function(){var l=function(c,s){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,m){u.__proto__=m}||function(u,m){for(var b in m)Object.prototype.hasOwnProperty.call(m,b)&&(u[b]=m[b])},l(c,s)};return function(c,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");l(c,s);function u(){this.constructor=c}c.prototype=s===null?Object.create(s):(u.prototype=s.prototype,new u)}}(),f=t("../lib/keys"),w=t("../lib/useragent"),h=f.KEY_MODS,g=function(){function l(c,s){this.$init(c,s,!1)}return l.prototype.$init=function(c,s,u){this.platform=s||(w.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(c),this.$singleCommand=u},l.prototype.addCommand=function(c){this.commands[c.name]&&this.removeCommand(c),this.commands[c.name]=c,c.bindKey&&this._buildKeyHash(c)},l.prototype.removeCommand=function(c,s){var u=c&&(typeof c=="string"?c:c.name);c=this.commands[u],s||delete this.commands[u];var m=this.commandKeyBinding;for(var b in m){var x=m[b];if(x==c)delete m[b];else if(Array.isArray(x)){var E=x.indexOf(c);E!=-1&&(x.splice(E,1),x.length==1&&(m[b]=x[0]))}}},l.prototype.bindKey=function(c,s,u){if(typeof c=="object"&&c&&(u==null&&(u=c.position),c=c[this.platform]),!!c){if(typeof s=="function")return this.addCommand({exec:s,bindKey:c,name:s.name||c});c.split("|").forEach(function(m){var b="";if(m.indexOf(" ")!=-1){var x=m.split(/\s+/);m=x.pop(),x.forEach(function(k){var C=this.parseKeys(k),R=h[C.hashId]+C.key;b+=(b?" ":"")+R,this._addCommandToBinding(b,"chainKeys")},this),b+=" "}var E=this.parseKeys(m),$=h[E.hashId]+E.key;this._addCommandToBinding(b+$,s,u)},this)}},l.prototype._addCommandToBinding=function(c,s,u){var m=this.commandKeyBinding,b;if(!s)delete m[c];else if(!m[c]||this.$singleCommand)m[c]=s;else{Array.isArray(m[c])?(b=m[c].indexOf(s))!=-1&&m[c].splice(b,1):m[c]=[m[c]],typeof u!="number"&&(u=o(s));var x=m[c];for(b=0;b<x.length;b++){var E=x[b],$=o(E);if($>u)break}x.splice(b,0,s)}},l.prototype.addCommands=function(c){c&&Object.keys(c).forEach(function(s){var u=c[s];if(u){if(typeof u=="string")return this.bindKey(u,s);typeof u=="function"&&(u={exec:u}),typeof u=="object"&&(u.name||(u.name=s),this.addCommand(u))}},this)},l.prototype.removeCommands=function(c){Object.keys(c).forEach(function(s){this.removeCommand(c[s])},this)},l.prototype.bindKeys=function(c){Object.keys(c).forEach(function(s){this.bindKey(s,c[s])},this)},l.prototype._buildKeyHash=function(c){this.bindKey(c.bindKey,c)},l.prototype.parseKeys=function(c){var s=c.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function($){return $}),u=s.pop(),m=f[u];if(f.FUNCTION_KEYS[m])u=f.FUNCTION_KEYS[m].toLowerCase();else if(s.length){if(s.length==1&&s[0]=="shift")return{key:u.toUpperCase(),hashId:-1}}else return{key:u,hashId:-1};for(var b=0,x=s.length;x--;){var E=f.KEY_MODS[s[x]];if(E==null)return typeof console<"u"&&console.error("invalid modifier "+s[x]+" in "+c),!1;b|=E}return{key:u,hashId:b}},l.prototype.findKeyCommand=function(c,s){var u=h[c]+s;return this.commandKeyBinding[u]},l.prototype.handleKeyboard=function(c,s,u,m){if(!(m<0)){var b=h[s]+u,x=this.commandKeyBinding[b];return c.$keyChain&&(c.$keyChain+=" "+b,x=this.commandKeyBinding[c.$keyChain]||x),x&&(x=="chainKeys"||x[x.length-1]=="chainKeys")?(c.$keyChain=c.$keyChain||b,{command:"null"}):(c.$keyChain&&((!s||s==4)&&u.length==1?c.$keyChain=c.$keyChain.slice(0,-b.length-1):(s==-1||m>0)&&(c.$keyChain="")),{command:x})}},l.prototype.getStatusText=function(c,s){return s.$keyChain||""},l}();function o(l){return typeof l=="object"&&l.bindKey&&l.bindKey.position||(l.isDefault?-100:0)}var a=function(l){p(c,l);function c(s,u){var m=l.call(this,s,u)||this;return m.$singleCommand=!0,m}return c}(g);a.call=function(l,c,s){g.prototype.$init.call(l,c,s,!0)},g.call=function(l,c,s){g.prototype.$init.call(l,c,s,!1)},r.HashHandler=a,r.MultiHashHandler=g}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(t,r,d){var p=this&&this.__extends||function(){var o=function(a,l){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,s){c.__proto__=s}||function(c,s){for(var u in s)Object.prototype.hasOwnProperty.call(s,u)&&(c[u]=s[u])},o(a,l)};return function(a,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");o(a,l);function c(){this.constructor=a}a.prototype=l===null?Object.create(l):(c.prototype=l.prototype,new c)}}(),f=t("../lib/oop"),w=t("../keyboard/hash_handler").MultiHashHandler,h=t("../lib/event_emitter").EventEmitter,g=function(o){p(a,o);function a(l,c){var s=o.call(this,c,l)||this;return s.byName=s.commands,s.setDefaultHandler("exec",function(u){return u.args?u.command.exec(u.editor,u.args,u.event,!1):u.command.exec(u.editor,{},u.event,!0)}),s}return a.prototype.exec=function(l,c,s){if(Array.isArray(l)){for(var u=l.length;u--;)if(this.exec(l[u],c,s))return!0;return!1}typeof l=="string"&&(l=this.commands[l]);var m={editor:c,command:l,args:s};return this.canExecute(l,c)?(m.returnValue=this._emit("exec",m),this._signal("afterExec",m),m.returnValue!==!1):(this._signal("commandUnavailable",m),!1)},a.prototype.canExecute=function(l,c){return typeof l=="string"&&(l=this.commands[l]),!(!l||c&&c.$readOnly&&!l.readOnly||this.$checkCommandState!=!1&&l.isAvailable&&!l.isAvailable(c))},a.prototype.toggleRecording=function(l){if(!this.$inReplay)return l&&l._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(c){this.macro.push([c.command,c.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},a.prototype.replay=function(l){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(l);try{this.$inReplay=!0,this.macro.forEach(function(c){typeof c=="string"?this.exec(c,l):this.exec(c[0],l,c[1])},this)}finally{this.$inReplay=!1}}},a.prototype.trimMacro=function(l){return l.map(function(c){return typeof c[0]!="string"&&(c[0]=c[0].name),c[1]||(c=c[0]),c})},a}(w);f.implement(g.prototype,h),r.CommandManager=g}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(t,r,d){var p=t("../lib/lang"),f=t("../config"),w=t("../range").Range;function h(o,a){return{win:o,mac:a}}r.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:h("Ctrl-,","Command-,"),exec:function(o){f.loadModule("ace/ext/settings_menu",function(a){a.init(o),o.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:h("Alt-E","F4"),exec:function(o){f.loadModule("ace/ext/error_marker",function(a){a.showErrorMarker(o,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:h("Alt-Shift-E","Shift-F4"),exec:function(o){f.loadModule("ace/ext/error_marker",function(a){a.showErrorMarker(o,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:h("Ctrl-A","Command-A"),exec:function(o){o.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:h(null,"Ctrl-L"),exec:function(o){o.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:h("Ctrl-L","Command-L"),exec:function(o,a){typeof a=="number"&&!isNaN(a)&&o.gotoLine(a),o.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:h("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(o){o.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:h("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(o){o.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:h("F2","F2"),exec:function(o){o.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:h("Alt-F2","Alt-F2"),exec:function(o){o.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:h(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:h(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:h("Alt-0","Command-Option-0"),exec:function(o){o.session.foldAll(),o.session.unfold(o.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:h("Alt-Shift-0","Command-Option-Shift-0"),exec:function(o){o.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:h("Ctrl-K","Command-G"),exec:function(o){o.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:h("Ctrl-Shift-K","Command-Shift-G"),exec:function(o){o.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:h("Alt-K","Ctrl-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:h("Alt-Shift-K","Ctrl-Shift-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:h("Ctrl-F","Command-F"),exec:function(o){f.loadModule("ace/ext/searchbox",function(a){a.Search(o)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(o){o.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:h("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(o){o.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:h("Ctrl-Home","Command-Home|Command-Up"),exec:function(o){o.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:h("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(o){o.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:h("Up","Up|Ctrl-P"),exec:function(o,a){o.navigateUp(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:h("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(o){o.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:h("Ctrl-End","Command-End|Command-Down"),exec:function(o){o.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:h("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(o){o.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:h("Down","Down|Ctrl-N"),exec:function(o,a){o.navigateDown(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:h("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(o){o.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:h("Ctrl-Left","Option-Left"),exec:function(o){o.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:h("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(o){o.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:h("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(o){o.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:h("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(o){o.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:h("Left","Left|Ctrl-B"),exec:function(o,a){o.navigateLeft(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:h("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(o){o.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:h("Ctrl-Right","Option-Right"),exec:function(o){o.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:h("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(o){o.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:h("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(o){o.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:h("Shift-Right","Shift-Right"),exec:function(o){o.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:h("Right","Right|Ctrl-F"),exec:function(o,a){o.navigateRight(a.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(o){o.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:h(null,"Option-PageDown"),exec:function(o){o.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:h("PageDown","PageDown|Ctrl-V"),exec:function(o){o.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(o){o.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:h(null,"Option-PageUp"),exec:function(o){o.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(o){o.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:h("Ctrl-Up",null),exec:function(o){o.renderer.scrollBy(0,-2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:h("Ctrl-Down",null),exec:function(o){o.renderer.scrollBy(0,2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(o){o.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(o){o.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:h("Ctrl-Alt-E","Command-Option-E"),exec:function(o){o.commands.toggleRecording(o)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:h("Ctrl-Shift-E","Command-Shift-E"),exec:function(o){o.commands.replay(o)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:h("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(o){o.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:h("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(o){o.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:h("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(o){o.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:h(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(o){},readOnly:!0},{name:"cut",description:"Cut",exec:function(o){var a=o.$copyWithEmptySelection&&o.selection.isEmpty(),l=a?o.selection.getLineRange():o.selection.getRange();o._emit("cut",l),l.isEmpty()||o.session.remove(l),o.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(o,a){o.$handlePaste(a)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:h("Ctrl-D","Command-D"),exec:function(o){o.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:h("Ctrl-Shift-D","Command-Shift-D"),exec:function(o){o.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:h("Ctrl-Alt-S","Command-Alt-S"),exec:function(o){o.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:h("Ctrl-/","Command-/"),exec:function(o){o.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:h("Ctrl-Shift-/","Command-Shift-/"),exec:function(o){o.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:h("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(o){o.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:h("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(o){o.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:h("Ctrl-H","Command-Option-F"),exec:function(o){f.loadModule("ace/ext/searchbox",function(a){a.Search(o,!0)})}},{name:"undo",description:"Undo",bindKey:h("Ctrl-Z","Command-Z"),exec:function(o){o.undo()}},{name:"redo",description:"Redo",bindKey:h("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(o){o.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:h("Alt-Shift-Up","Command-Option-Up"),exec:function(o){o.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:h("Alt-Up","Option-Up"),exec:function(o){o.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:h("Alt-Shift-Down","Command-Option-Down"),exec:function(o){o.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:h("Alt-Down","Option-Down"),exec:function(o){o.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:h("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(o){o.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:h("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(o){o.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:h("Shift-Delete",null),exec:function(o){if(o.selection.isEmpty())o.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:h("Alt-Backspace","Command-Backspace"),exec:function(o){o.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:h("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(o){o.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:h("Ctrl-Shift-Backspace",null),exec:function(o){var a=o.selection.getRange();a.start.column=0,o.session.remove(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:h("Ctrl-Shift-Delete",null),exec:function(o){var a=o.selection.getRange();a.end.column=Number.MAX_VALUE,o.session.remove(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:h("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(o){o.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:h("Ctrl-Delete","Alt-Delete"),exec:function(o){o.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:h("Shift-Tab","Shift-Tab"),exec:function(o){o.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:h("Tab","Tab"),exec:function(o){o.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:h("Ctrl-[","Ctrl-["),exec:function(o){o.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:h("Ctrl-]","Ctrl-]"),exec:function(o){o.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(o,a){o.insert(a)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(o,a){o.insert(p.stringRepeat(a.text||"",a.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:h(null,"Ctrl-O"),exec:function(o){o.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:h("Alt-Shift-X","Ctrl-T"),exec:function(o){o.transposeLetters()},multiSelectAction:function(o){o.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:h("Ctrl-U","Ctrl-U"),exec:function(o){o.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:h("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(o){o.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:h(null,null),exec:function(o){o.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:h("Ctrl-Shift-L","Command-Shift-L"),exec:function(o){var a=o.selection.getRange();a.start.column=a.end.column=0,a.end.row++,o.selection.setRange(a,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:h("Ctrl+F3","F3"),exec:function(o){o.openLink()}},{name:"joinlines",description:"Join lines",bindKey:h(null,null),exec:function(o){for(var a=o.selection.isBackwards(),l=a?o.selection.getSelectionLead():o.selection.getSelectionAnchor(),c=a?o.selection.getSelectionAnchor():o.selection.getSelectionLead(),s=o.session.doc.getLine(l.row).length,u=o.session.doc.getTextRange(o.selection.getRange()),m=u.replace(/\n\s*/," ").length,b=o.session.doc.getLine(l.row),x=l.row+1;x<=c.row+1;x++){var E=p.stringTrimLeft(p.stringTrimRight(o.session.doc.getLine(x)));E.length!==0&&(E=" "+E),b+=E}c.row+1<o.session.doc.getLength()-1&&(b+=o.session.doc.getNewLineCharacter()),o.clearSelection(),o.session.doc.replace(new w(l.row,0,c.row+2,0),b),m>0?(o.selection.moveCursorTo(l.row,l.column),o.selection.selectTo(l.row,l.column+m)):(s=o.session.doc.getLine(l.row).length>s?s+1:s,o.selection.moveCursorTo(l.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:h(null,null),exec:function(o){var a=o.session.doc.getLength()-1,l=o.session.doc.getLine(a).length,c=o.selection.rangeList.ranges,s=[];c.length<1&&(c=[o.selection.getRange()]);for(var u=0;u<c.length;u++)u==c.length-1&&(c[u].end.row===a&&c[u].end.column===l||s.push(new w(c[u].end.row,c[u].end.column,a,l))),u===0?c[u].start.row===0&&c[u].start.column===0||s.push(new w(0,0,c[u].start.row,c[u].start.column)):s.push(new w(c[u-1].end.row,c[u-1].end.column,c[u].start.row,c[u].start.column));o.exitMultiSelectMode(),o.clearSelection();for(var u=0;u<s.length;u++)o.selection.addRange(s[u],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(o){o.selection.clearSelection(),o.navigateLineEnd(),o.insert(`
209
+ `)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(o){o.selection.clearSelection();var a=o.getCursorPosition();o.selection.moveTo(a.row-1,Number.MAX_VALUE),o.insert(`
210
+ `),a.row===0&&o.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(o){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),o.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:h("F1","F1"),exec:function(o){o.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:h(null,null),exec:function(o){o.prompt({$type:"modes"})},readOnly:!0}];for(var g=1;g<9;g++)r.commands.push({name:"foldToLevel"+g,description:"Fold To Level "+g,level:g,exec:function(o){o.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(t,r,d){var p=t("../lib/keys"),f=t("../mouse/default_gutter_handler").GutterTooltip,w=function(){function g(o){this.editor=o,this.gutterLayer=o.renderer.$gutterLayer,this.element=o.renderer.$gutter,this.lines=o.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new f(this.editor)}return g.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},g.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},g.prototype.$onGutterKeyDown=function(o){if(this.annotationTooltip.isOpen){o.preventDefault(),o.keyCode===p.escape&&this.annotationTooltip.hideTooltip();return}if(o.target===this.element){if(o.keyCode!=p.enter)return;o.preventDefault();var a=this.editor.getCursorPosition().row;this.editor.isRowVisible(a)||this.editor.scrollToLine(a,!0,!0),setTimeout((function(){var l=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),c=this.$findNearestFoldLaneWidget(l),s=this.$findNearestAnnotation(l);if(!(c===null&&s===null)){var u=this.$findClosestNumber(c,s,l);if(u===c)if(this.activeLane="fold",this.activeRowIndex=c,this.$isCustomWidgetVisible(c)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=s,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(o),setTimeout((function(){this.editor._signal("gutterkeydown",new h(o,this))}).bind(this),10)},g.prototype.$handleGutterKeyboardInteraction=function(o){if(o.keyCode===p.tab){o.preventDefault();return}if(o.keyCode===p.escape){o.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(o.keyCode===p.up){switch(o.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(o.keyCode===p.down){switch(o.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(o.keyCode===p.left){o.preventDefault(),this.$switchLane("annotation");return}if(o.keyCode===p.right){o.preventDefault(),this.$switchLane("fold");return}if(o.keyCode===p.enter||o.keyCode===p.space){switch(o.preventDefault(),this.activeLane){case"fold":var a=this.$rowIndexToRow(this.activeRowIndex),l=this.editor.session.$gutterCustomWidgets[a];if(l)l.callbacks&&l.callbacks.onClick&&l.callbacks.onClick(o,a);else if(this.gutterLayer.session.foldWidgets[a]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),o),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==a&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(a),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var c=this.lines.cells[this.activeRowIndex].element.childNodes[2],s=c.getBoundingClientRect(),u=this.annotationTooltip.getElement().style;u.left=s.right+"px",u.top=s.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},g.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},g.prototype.$isFoldWidgetVisible=function(o){var a=this.editor.isRowFullyVisible(this.$rowIndexToRow(o)),l=this.$getFoldWidget(o).style.display!=="none";return a&&l},g.prototype.$isCustomWidgetVisible=function(o){var a=this.editor.isRowFullyVisible(this.$rowIndexToRow(o)),l=!!this.$getCustomWidget(o);return a&&l},g.prototype.$isAnnotationVisible=function(o){var a=this.editor.isRowFullyVisible(this.$rowIndexToRow(o)),l=this.$getAnnotation(o).style.display!=="none";return a&&l},g.prototype.$getFoldWidget=function(o){var a=this.lines.get(o),l=a.element;return l.childNodes[1]},g.prototype.$getCustomWidget=function(o){var a=this.lines.get(o),l=a.element;return l.childNodes[3]},g.prototype.$getAnnotation=function(o){var a=this.lines.get(o),l=a.element;return l.childNodes[2]},g.prototype.$findNearestFoldLaneWidget=function(o){if(this.$isCustomWidgetVisible(o)||this.$isFoldWidgetVisible(o))return o;for(var a=0;o-a>0||o+a<this.lines.getLength()-1;){if(a++,o-a>=0&&this.$isCustomWidgetVisible(o-a))return o-a;if(o+a<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(o+a))return o+a;if(o-a>=0&&this.$isFoldWidgetVisible(o-a))return o-a;if(o+a<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(o+a))return o+a}return null},g.prototype.$findNearestAnnotation=function(o){if(this.$isAnnotationVisible(o))return o;for(var a=0;o-a>0||o+a<this.lines.getLength()-1;){if(a++,o-a>=0&&this.$isAnnotationVisible(o-a))return o-a;if(o+a<=this.lines.getLength()-1&&this.$isAnnotationVisible(o+a))return o+a}return null},g.prototype.$focusFoldWidget=function(o){if(o!=null){var a=this.$getFoldWidget(o);a.classList.add(this.editor.renderer.keyboardFocusClassName),a.focus()}},g.prototype.$focusCustomWidget=function(o){if(o!=null){var a=this.$getCustomWidget(o);a&&(a.classList.add(this.editor.renderer.keyboardFocusClassName),a.focus())}},g.prototype.$focusAnnotation=function(o){if(o!=null){var a=this.$getAnnotation(o);a.classList.add(this.editor.renderer.keyboardFocusClassName),a.focus()}},g.prototype.$blurFoldWidget=function(o){var a=this.$getFoldWidget(o);a.classList.remove(this.editor.renderer.keyboardFocusClassName),a.blur()},g.prototype.$blurCustomWidget=function(o){var a=this.$getCustomWidget(o);a&&(a.classList.remove(this.editor.renderer.keyboardFocusClassName),a.blur())},g.prototype.$blurAnnotation=function(o){var a=this.$getAnnotation(o);a.classList.remove(this.editor.renderer.keyboardFocusClassName),a.blur()},g.prototype.$moveFoldWidgetUp=function(){for(var o=this.activeRowIndex;o>0;)if(o--,this.$isFoldWidgetVisible(o)||this.$isCustomWidgetVisible(o)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=o,this.$isFoldWidgetVisible(o)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},g.prototype.$moveFoldWidgetDown=function(){for(var o=this.activeRowIndex;o<this.lines.getLength()-1;)if(o++,this.$isFoldWidgetVisible(o)||this.$isCustomWidgetVisible(o)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=o,this.$isFoldWidgetVisible(o)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},g.prototype.$moveAnnotationUp=function(){for(var o=this.activeRowIndex;o>0;)if(o--,this.$isAnnotationVisible(o)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$moveAnnotationDown=function(){for(var o=this.activeRowIndex;o<this.lines.getLength()-1;)if(o++,this.$isAnnotationVisible(o)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);return}},g.prototype.$findClosestNumber=function(o,a,l){return o===null?a:a===null||Math.abs(l-o)<=Math.abs(l-a)?o:a},g.prototype.$switchLane=function(o){switch(o){case"annotation":if(this.activeLane==="annotation")break;var a=this.$findNearestAnnotation(this.activeRowIndex);if(a==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=a,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var l=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(l===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=l,this.$isCustomWidgetVisible(l)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},g.prototype.$rowIndexToRow=function(o){var a=this.lines.get(o);return a?a.row:null},g.prototype.$rowToRowIndex=function(o){for(var a=0;a<this.lines.getLength();a++){var l=this.lines.get(a);if(l.row==o)return a}return null},g}();r.GutterKeyboardHandler=w;var h=function(){function g(o,a){this.gutterKeyboardHandler=a,this.domEvent=o}return g.prototype.getKey=function(){return p.keyCodeToString(this.domEvent.keyCode)},g.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},g.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},g.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},g}();r.GutterKeyboardEvent=h}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(t,r,d){var p=this&&this.__values||function(S){var _=typeof Symbol=="function"&&Symbol.iterator,N=_&&S[_],H=0;if(N)return N.call(S);if(S&&typeof S.length=="number")return{next:function(){return S&&H>=S.length&&(S=void 0),{value:S&&S[H++],done:!S}}};throw new TypeError(_?"Object is not iterable.":"Symbol.iterator is not defined.")},f=t("./lib/oop"),w=t("./lib/dom"),h=t("./lib/lang"),g=t("./lib/useragent"),o=t("./keyboard/textinput").TextInput,a=t("./mouse/mouse_handler").MouseHandler,l=t("./mouse/fold_handler").FoldHandler,c=t("./keyboard/keybinding").KeyBinding,s=t("./edit_session").EditSession,u=t("./search").Search,m=t("./range").Range,b=t("./lib/event_emitter").EventEmitter,x=t("./commands/command_manager").CommandManager,E=t("./commands/default_commands").commands,$=t("./config"),k=t("./token_iterator").TokenIterator,C=t("./keyboard/gutter_handler").GutterKeyboardHandler,R=t("./config").nls,O=t("./clipboard"),L=t("./lib/keys"),I=t("./lib/event"),B=t("./tooltip").HoverTooltip,P=function(){function S(_,N,H){this.id="editor"+ ++S.$uid,this.session,this.$toDestroy=[];var U=_.getContainerElement();this.container=U,this.renderer=_,this.commands=new x(g.isMac?"mac":"win",E),typeof document=="object"&&(this.textInput=new o(_.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new a(this),new l(this)),this.keyBinding=new c(this),this.$search=new u().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=h.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(q,Q){Q._$emitInputEvent.schedule(31)}),this.setSession(N||H&&H.session||new s("")),$.resetOptions(this),H&&this.setOptions(H),$._signal("editor",this)}return S.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},S.prototype.startOperation=function(_){this.session.startOperation(_)},S.prototype.endOperation=function(_){this.session.endOperation(_)},S.prototype.onStartOperation=function(_){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,_||(this.previousCommand=null)},S.prototype.onEndOperation=function(_){if(this.curOp&&this.session){if(_&&_.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var N=this.curOp.command,H=N&&N.scrollIntoView;if(H){switch(H){case"center-animate":H="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var U=this.selection.getRange(),q=this.renderer.layerConfig;(U.start.row>=q.lastRow||U.end.row<=q.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}H=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},S.prototype.$historyTracker=function(_){if(this.$mergeUndoDeltas){var N=this.prevOp,H=this.$mergeableCommands,U=N.command&&_.command.name==N.command.name;if(_.command.name=="insertstring"){var q=_.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),U=U&&this.mergeNextCommand&&(!/\s/.test(q)||/\s/.test(N.args)),this.mergeNextCommand=!0}else U=U&&H.indexOf(_.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(U=!1),U?this.session.mergeUndoDeltas=!0:H.indexOf(_.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},S.prototype.setKeyboardHandler=function(_,N){if(_&&typeof _=="string"&&_!="ace"){this.$keybindingId=_;var H=this;$.loadModule(["keybinding",_],function(U){H.$keybindingId==_&&H.keyBinding.setKeyboardHandler(U&&U.handler),N&&N()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(_),N&&N()},S.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},S.prototype.setSession=function(_){if(this.session!=_){this.curOp&&this.endOperation(),this.curOp={};var N=this.session;if(N){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var H=this.session.getSelection();H.off("changeCursor",this.$onCursorChange),H.off("changeSelection",this.$onSelectionChange)}this.session=_,_?(this.$onDocumentChange=this.onDocumentChange.bind(this),_.on("change",this.$onDocumentChange),this.renderer.setSession(_),this.$onChangeMode=this.onChangeMode.bind(this),_.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),_.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),_.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),_.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),_.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),_.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=_.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(_)),this._signal("changeSession",{session:_,oldSession:N}),this.curOp=null,N&&N._signal("changeEditor",{oldEditor:this}),N&&(N.$editor=null),_&&_._signal("changeEditor",{editor:this}),_&&(_.$editor=this),_&&!_.destroyed&&_.bgTokenizer.scheduleStart()}},S.prototype.getSession=function(){return this.session},S.prototype.setValue=function(_,N){return this.session.doc.setValue(_),N?N==1?this.navigateFileEnd():N==-1&&this.navigateFileStart():this.selectAll(),_},S.prototype.getValue=function(){return this.session.getValue()},S.prototype.getSelection=function(){return this.selection},S.prototype.resize=function(_){this.renderer.onResize(_)},S.prototype.setTheme=function(_,N){this.renderer.setTheme(_,N)},S.prototype.getTheme=function(){return this.renderer.getTheme()},S.prototype.setStyle=function(_,N){this.renderer.setStyle(_,N)},S.prototype.unsetStyle=function(_){this.renderer.unsetStyle(_)},S.prototype.getFontSize=function(){return this.getOption("fontSize")||w.computedStyle(this.container).fontSize},S.prototype.setFontSize=function(_){this.setOption("fontSize",_)},S.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var _=this;this.$highlightPending=!0,setTimeout(function(){_.$highlightPending=!1;var N=_.session;if(!(!N||N.destroyed)){N.$bracketHighlight&&(N.$bracketHighlight.markerIds.forEach(function(ue){N.removeMarker(ue)}),N.$bracketHighlight=null);var H=_.getCursorPosition(),U=_.getKeyboardHandler(),q=U&&U.$getDirectionForHighlight&&U.$getDirectionForHighlight(_),Q=N.getMatchingBracketRanges(H,q);if(!Q){var te=new k(N,H.row,H.column),he=te.getCurrentToken();if(he&&/\b(?:tag-open|tag-name)/.test(he.type)){var ne=N.getMatchingTags(H);ne&&(Q=[ne.openTagName.isEmpty()?ne.openTag:ne.openTagName,ne.closeTagName.isEmpty()?ne.closeTag:ne.closeTagName])}}if(!Q&&N.$mode.getMatching&&(Q=N.$mode.getMatching(_.session)),!Q){_.getHighlightIndentGuides()&&_.renderer.$textLayer.$highlightIndentGuide();return}var le="ace_bracket";Array.isArray(Q)?Q.length==1&&(le="ace_error_bracket"):Q=[Q],Q.length==2&&(m.comparePoints(Q[0].end,Q[1].start)==0?Q=[m.fromPoints(Q[0].start,Q[1].end)]:m.comparePoints(Q[0].start,Q[1].end)==0&&(Q=[m.fromPoints(Q[1].start,Q[0].end)])),N.$bracketHighlight={ranges:Q,markerIds:Q.map(function(ue){return N.addMarker(ue,le,"text")})},_.getHighlightIndentGuides()&&_.renderer.$textLayer.$highlightIndentGuide()}},50)}},S.prototype.focus=function(){this.textInput.focus()},S.prototype.isFocused=function(){return this.textInput.isFocused()},S.prototype.blur=function(){this.textInput.blur()},S.prototype.onFocus=function(_){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",_))},S.prototype.onBlur=function(_){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",_))},S.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},S.prototype.onDocumentChange=function(_){var N=this.session.$useWrapMode,H=_.start.row==_.end.row?_.end.row:1/0;this.renderer.updateLines(_.start.row,H,N),this._signal("change",_),this.$cursorChange()},S.prototype.onTokenizerUpdate=function(_){var N=_.data;this.renderer.updateLines(N.first,N.last)},S.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},S.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},S.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},S.prototype.$updateHighlightActiveLine=function(){var _=this.getSession(),N;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(N=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(N=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(N=!1)),_.$highlightLineMarker&&!N)_.removeMarker(_.$highlightLineMarker.id),_.$highlightLineMarker=null;else if(!_.$highlightLineMarker&&N){var H=new m(N.row,N.column,N.row,1/0);H.id=_.addMarker(H,"ace_active-line","screenLine"),_.$highlightLineMarker=H}else N&&(_.$highlightLineMarker.start.row=N.row,_.$highlightLineMarker.end.row=N.row,_.$highlightLineMarker.start.column=N.column,_._signal("changeBackMarker"))},S.prototype.onSelectionChange=function(_){var N=this.session;if(N.$selectionMarker&&N.removeMarker(N.$selectionMarker),N.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var H=this.selection.getRange(),U=this.getSelectionStyle();N.$selectionMarker=N.addMarker(H,"ace_selection",U)}var q=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(q),this._signal("changeSelection")},S.prototype.$getSelectionHighLightRegexp=function(){var _=this.session,N=this.getSelectionRange();if(!(N.isEmpty()||N.isMultiLine())){var H=N.start.column,U=N.end.column,q=_.getLine(N.start.row),Q=q.substring(H,U);if(!(Q.length>5e3||!/[\w\d]/.test(Q))){var te=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:Q}),he=q.substring(H-1,U+1);if(te.test(he))return te}}},S.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},S.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},S.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},S.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},S.prototype.onChangeMode=function(_){this.renderer.updateText(),this._emit("changeMode",_)},S.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},S.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},S.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},S.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},S.prototype.getCopyText=function(){var _=this.getSelectedText(),N=this.session.doc.getNewLineCharacter(),H=!1;if(!_&&this.$copyWithEmptySelection){H=!0;for(var U=this.selection.getAllRanges(),q=0;q<U.length;q++){var Q=U[q];q&&U[q-1].start.row==Q.start.row||(_+=this.session.getLine(Q.start.row)+N)}}var te={text:_};return this._signal("copy",te),O.lineMode=H?te.text:!1,te.text},S.prototype.onCopy=function(){this.commands.exec("copy",this)},S.prototype.onCut=function(){this.commands.exec("cut",this)},S.prototype.onPaste=function(_,N){var H={text:_,event:N};this.commands.exec("paste",this,H)},S.prototype.$handlePaste=function(_){typeof _=="string"&&(_={text:_}),this._signal("paste",_);var N=_.text,H=N===O.lineMode,U=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)H?U.insert({row:this.selection.lead.row,column:0},N):this.insert(N);else if(H)this.selection.rangeList.ranges.forEach(function(le){U.insert({row:le.start.row,column:0},N)});else{var q=N.split(/\r\n|\r|\n/),Q=this.selection.rangeList.ranges,te=q.length==2&&(!q[0]||!q[1]);if(q.length!=Q.length||te)return this.commands.exec("insertstring",this,N);for(var he=Q.length;he--;){var ne=Q[he];ne.isEmpty()||U.remove(ne),U.insert(ne.start,q[he])}}},S.prototype.execCommand=function(_,N){return this.commands.exec(_,this,N)},S.prototype.insert=function(_,N){var H=this.session,U=H.getMode(),q=this.getCursorPosition();if(this.getBehavioursEnabled()&&!N){var Q=U.transformAction(H.getState(q.row),"insertion",this,H,_);Q&&(_!==Q.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),_=Q.text)}if(_==" "&&(_=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&_.indexOf(`
211
+ `)==-1){var te=m.fromPoints(q,q);te.end.column+=_.length,this.session.remove(te)}}else{var te=this.getSelectionRange();q=this.session.remove(te),this.clearSelection()}if(_==`
212
+ `||_==`\r
213
+ `){var ue=H.getLine(q.row);if(q.column>ue.search(/\S|$/)){var he=ue.substr(q.column).search(/\S|$/);H.doc.removeInLine(q.row,q.column,q.column+he)}}this.clearSelection();var ne=q.column,le=H.getState(q.row),ue=H.getLine(q.row),ce=U.checkOutdent(le,ue,_);if(H.insert(q,_),Q&&Q.selection&&(Q.selection.length==2?this.selection.setSelectionRange(new m(q.row,ne+Q.selection[0],q.row,ne+Q.selection[1])):this.selection.setSelectionRange(new m(q.row+Q.selection[0],Q.selection[1],q.row+Q.selection[2],Q.selection[3]))),this.$enableAutoIndent){if(H.getDocument().isNewLine(_)){var ge=U.getNextLineIndent(le,ue.slice(0,q.column),H.getTabString());H.insert({row:q.row+1,column:0},ge)}ce&&U.autoOutdent(le,H,q.row)}},S.prototype.autoIndent=function(){for(var _=this.session,N=_.getMode(),H=this.selection.isEmpty()?[new m(0,0,_.doc.getLength()-1,0)]:this.selection.getAllRanges(),U="",q="",Q="",te=_.getTabString(),he=0;he<H.length;he++)for(var ne=H[he].start.row,le=H[he].end.row,ue=ne;ue<=le;ue++){ue>0&&(U=_.getState(ue-1),q=_.getLine(ue-1),Q=N.getNextLineIndent(U,q,te));var ce=_.getLine(ue),ge=N.$getIndent(ce);if(Q!==ge){if(ge.length>0){var Se=new m(ue,0,ue,ge.length);_.remove(Se)}Q.length>0&&_.insert({row:ue,column:0},Q)}N.autoOutdent(U,_,ue)}},S.prototype.onTextInput=function(_,N){if(!N)return this.keyBinding.onTextInput(_);this.startOperation({command:{name:"insertstring"}});var H=this.applyComposition.bind(this,_,N);this.selection.rangeCount?this.forEachSelection(H):H(),this.endOperation()},S.prototype.applyComposition=function(_,N){if(N.extendLeft||N.extendRight){var H=this.selection.getRange();H.start.column-=N.extendLeft,H.end.column+=N.extendRight,H.start.column<0&&(H.start.row--,H.start.column+=this.session.getLine(H.start.row).length+1),this.selection.setRange(H),!_&&!H.isEmpty()&&this.remove()}if((_||!this.selection.isEmpty())&&this.insert(_,!0),N.restoreStart||N.restoreEnd){var H=this.selection.getRange();H.start.column-=N.restoreStart,H.end.column-=N.restoreEnd,this.selection.setRange(H)}},S.prototype.onCommandKey=function(_,N,H){return this.keyBinding.onCommandKey(_,N,H)},S.prototype.setOverwrite=function(_){this.session.setOverwrite(_)},S.prototype.getOverwrite=function(){return this.session.getOverwrite()},S.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},S.prototype.setScrollSpeed=function(_){this.setOption("scrollSpeed",_)},S.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},S.prototype.setDragDelay=function(_){this.setOption("dragDelay",_)},S.prototype.getDragDelay=function(){return this.getOption("dragDelay")},S.prototype.setSelectionStyle=function(_){this.setOption("selectionStyle",_)},S.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},S.prototype.setHighlightActiveLine=function(_){this.setOption("highlightActiveLine",_)},S.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},S.prototype.setHighlightGutterLine=function(_){this.setOption("highlightGutterLine",_)},S.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},S.prototype.setHighlightSelectedWord=function(_){this.setOption("highlightSelectedWord",_)},S.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},S.prototype.setAnimatedScroll=function(_){this.renderer.setAnimatedScroll(_)},S.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},S.prototype.setShowInvisibles=function(_){this.renderer.setShowInvisibles(_)},S.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},S.prototype.setDisplayIndentGuides=function(_){this.renderer.setDisplayIndentGuides(_)},S.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},S.prototype.setHighlightIndentGuides=function(_){this.renderer.setHighlightIndentGuides(_)},S.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},S.prototype.setShowPrintMargin=function(_){this.renderer.setShowPrintMargin(_)},S.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},S.prototype.setPrintMarginColumn=function(_){this.renderer.setPrintMarginColumn(_)},S.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},S.prototype.setReadOnly=function(_){this.setOption("readOnly",_)},S.prototype.getReadOnly=function(){return this.getOption("readOnly")},S.prototype.setBehavioursEnabled=function(_){this.setOption("behavioursEnabled",_)},S.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},S.prototype.setWrapBehavioursEnabled=function(_){this.setOption("wrapBehavioursEnabled",_)},S.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},S.prototype.setShowFoldWidgets=function(_){this.setOption("showFoldWidgets",_)},S.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},S.prototype.setFadeFoldWidgets=function(_){this.setOption("fadeFoldWidgets",_)},S.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},S.prototype.remove=function(_){this.selection.isEmpty()&&(_=="left"?this.selection.selectLeft():this.selection.selectRight());var N=this.getSelectionRange();if(this.getBehavioursEnabled()){var H=this.session,U=H.getState(N.start.row),q=H.getMode().transformAction(U,"deletion",this,H,N);if(N.end.column===0){var Q=H.getTextRange(N);if(Q[Q.length-1]==`
214
+ `){var te=H.getLine(N.end.row);/^\s+$/.test(te)&&(N.end.column=te.length)}}q&&(N=q)}this.session.remove(N),this.clearSelection()},S.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},S.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},S.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},S.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var _=this.getSelectionRange();_.start.column==_.end.column&&_.start.row==_.end.row&&(_.end.column=0,_.end.row++),this.session.remove(_),this.clearSelection()},S.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var _=this.getCursorPosition();this.insert(`
215
+ `),this.moveCursorToPosition(_)},S.prototype.setGhostText=function(_,N){this.renderer.setGhostText(_,N)},S.prototype.removeGhostText=function(){this.renderer.removeGhostText()},S.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var _=this.getCursorPosition(),N=_.column;if(N!==0){var H=this.session.getLine(_.row),U,q;N<H.length?(U=H.charAt(N)+H.charAt(N-1),q=new m(_.row,N-1,_.row,N+1)):(U=H.charAt(N-1)+H.charAt(N-2),q=new m(_.row,N-2,_.row,N)),this.session.replace(q,U),this.session.selection.moveToPosition(q.end)}}},S.prototype.toLowerCase=function(){var _=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var N=this.getSelectionRange(),H=this.session.getTextRange(N);this.session.replace(N,H.toLowerCase()),this.selection.setSelectionRange(_)},S.prototype.toUpperCase=function(){var _=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var N=this.getSelectionRange(),H=this.session.getTextRange(N);this.session.replace(N,H.toUpperCase()),this.selection.setSelectionRange(_)},S.prototype.indent=function(){var _=this.session,N=this.getSelectionRange();if(N.start.row<N.end.row){var H=this.$getSelectedRows();_.indentRows(H.first,H.last," ");return}else if(N.start.column<N.end.column){var U=_.getTextRange(N);if(!/^\s+$/.test(U)){var H=this.$getSelectedRows();_.indentRows(H.first,H.last," ");return}}var q=_.getLine(N.start.row),Q=N.start,te=_.getTabSize(),he=_.documentToScreenColumn(Q.row,Q.column);if(this.session.getUseSoftTabs())var ne=te-he%te,le=h.stringRepeat(" ",ne);else{for(var ne=he%te;q[N.start.column-1]==" "&&ne;)N.start.column--,ne--;this.selection.setSelectionRange(N),le=" "}return this.insert(le)},S.prototype.blockIndent=function(){var _=this.$getSelectedRows();this.session.indentRows(_.first,_.last," ")},S.prototype.blockOutdent=function(){var _=this.session.getSelection();this.session.outdentRows(_.getRange())},S.prototype.sortLines=function(){for(var _=this.$getSelectedRows(),N=this.session,H=[],U=_.first;U<=_.last;U++)H.push(N.getLine(U));H.sort(function(te,he){return te.toLowerCase()<he.toLowerCase()?-1:te.toLowerCase()>he.toLowerCase()?1:0});for(var q=new m(0,0,0,0),U=_.first;U<=_.last;U++){var Q=N.getLine(U);q.start.row=U,q.end.row=U,q.end.column=Q.length,N.replace(q,H[U-_.first])}},S.prototype.toggleCommentLines=function(){var _=this.session.getState(this.getCursorPosition().row),N=this.$getSelectedRows();this.session.getMode().toggleCommentLines(_,this.session,N.first,N.last)},S.prototype.toggleBlockComment=function(){var _=this.getCursorPosition(),N=this.session.getState(_.row),H=this.getSelectionRange();this.session.getMode().toggleBlockComment(N,this.session,H,_)},S.prototype.getNumberAt=function(_,N){var H=/[\-]?[0-9]+(?:\.[0-9]+)?/g;H.lastIndex=0;for(var U=this.session.getLine(_);H.lastIndex<N;){var q=H.exec(U);if(q.index<=N&&q.index+q[0].length>=N){var Q={value:q[0],start:q.index,end:q.index+q[0].length};return Q}}return null},S.prototype.modifyNumber=function(_){var N=this.selection.getCursor().row,H=this.selection.getCursor().column,U=new m(N,H-1,N,H),q=this.session.getTextRange(U);if(!isNaN(parseFloat(q))&&isFinite(q)){var Q=this.getNumberAt(N,H);if(Q){var te=Q.value.indexOf(".")>=0?Q.start+Q.value.indexOf(".")+1:Q.end,he=Q.start+Q.value.length-te,ne=parseFloat(Q.value);ne*=Math.pow(10,he),te!==Q.end&&H<te?_*=Math.pow(10,Q.end-H-1):_*=Math.pow(10,Q.end-H),ne+=_,ne/=Math.pow(10,he);var le=ne.toFixed(he),ue=new m(N,Q.start,N,Q.end);this.session.replace(ue,le),this.moveCursorTo(N,Math.max(Q.start+1,H+le.length-Q.value.length))}}else this.toggleWord()},S.prototype.toggleWord=function(){var _=this.selection.getCursor().row,N=this.selection.getCursor().column;this.selection.selectWord();var H=this.getSelectedText(),U=this.selection.getWordRange().start.column,q=H.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),Q=N-U-1;Q<0&&(Q=0);var te=0,he=0,ne=this;H.match(/[A-Za-z0-9_]+/)&&q.forEach(function(qe,dt){he=te+qe.length,Q>=te&&Q<=he&&(H=qe,ne.selection.clearSelection(),ne.moveCursorTo(_,te+U),ne.selection.selectTo(_,he+U)),te=he});for(var le=this.$toggleWordPairs,ue,ce=0;ce<le.length;ce++)for(var ge=le[ce],Se=0;Se<=1;Se++){var $e=+!Se,Te=H.match(new RegExp("^\\s?_?("+h.escapeRegExp(ge[Se])+")\\s?$","i"));if(Te){var Ze=H.match(new RegExp("([_]|^|\\s)("+h.escapeRegExp(Te[1])+")($|\\s)","g"));Ze&&(ue=H.replace(new RegExp(h.escapeRegExp(ge[Se]),"i"),function(qe){var dt=ge[$e];return qe.toUpperCase()==qe?dt=dt.toUpperCase():qe.charAt(0).toUpperCase()==qe.charAt(0)&&(dt=dt.substr(0,0)+ge[$e].charAt(0).toUpperCase()+dt.substr(1)),dt}),this.insert(ue),ue="")}}},S.prototype.findLinkAt=function(_,N){var H,U,q=this.session.getLine(_),Q=q.split(/((?:https?|ftp):\/\/[\S]+)/),te=N;te<0&&(te=0);var he=0,ne=0,le;try{for(var ue=p(Q),ce=ue.next();!ce.done;ce=ue.next()){var ge=ce.value;if(ne=he+ge.length,te>=he&&te<=ne&&ge.match(/((?:https?|ftp):\/\/[\S]+)/)){le=ge.replace(/[\s:.,'";}\]]+$/,"");break}he=ne}}catch(Se){H={error:Se}}finally{try{ce&&!ce.done&&(U=ue.return)&&U.call(ue)}finally{if(H)throw H.error}}return le},S.prototype.openLink=function(){var _=this.selection.getCursor(),N=this.findLinkAt(_.row,_.column);return N&&window.open(N,"_blank"),N!=null},S.prototype.removeLines=function(){var _=this.$getSelectedRows();this.session.removeFullLines(_.first,_.last),this.clearSelection()},S.prototype.duplicateSelection=function(){var _=this.selection,N=this.session,H=_.getRange(),U=_.isBackwards();if(H.isEmpty()){var q=H.start.row;N.duplicateLines(q,q)}else{var Q=U?H.start:H.end,te=N.insert(Q,N.getTextRange(H));H.start=Q,H.end=te,_.setSelectionRange(H,U)}},S.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},S.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},S.prototype.moveText=function(_,N,H){return this.session.moveText(_,N,H)},S.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},S.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},S.prototype.$moveLines=function(_,N){var H,U,q=this.selection;if(!q.inMultiSelectMode||this.inVirtualSelectionMode){var Q=q.toOrientedRange();H=this.$getSelectedRows(Q),U=this.session.$moveLines(H.first,H.last,N?0:_),N&&_==-1&&(U=0),Q.moveBy(U,0),q.fromOrientedRange(Q)}else{var te=q.rangeList.ranges;q.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var he=0,ne=0,le=te.length,ue=0;ue<le;ue++){var ce=ue;te[ue].moveBy(he,0),H=this.$getSelectedRows(te[ue]);for(var ge=H.first,Se=H.last;++ue<le;){ne&&te[ue].moveBy(ne,0);var $e=this.$getSelectedRows(te[ue]);if(N&&$e.first!=Se||!N&&$e.first>Se+1)break;Se=$e.last}for(ue--,he=this.session.$moveLines(ge,Se,N?0:_),N&&_==-1&&(ce=ue+1);ce<=ue;)te[ce].moveBy(he,0),ce++;N||(he=0),ne+=he}q.fromOrientedRange(q.ranges[0]),q.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},S.prototype.$getSelectedRows=function(_){return _=(_||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(_.start.row),last:this.session.getRowFoldEnd(_.end.row)}},S.prototype.onCompositionStart=function(_){this.renderer.showComposition(_)},S.prototype.onCompositionUpdate=function(_){this.renderer.setCompositionText(_)},S.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},S.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},S.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},S.prototype.isRowVisible=function(_){return _>=this.getFirstVisibleRow()&&_<=this.getLastVisibleRow()},S.prototype.isRowFullyVisible=function(_){return _>=this.renderer.getFirstFullyVisibleRow()&&_<=this.renderer.getLastFullyVisibleRow()},S.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},S.prototype.$moveByPage=function(_,N){var H=this.renderer,U=this.renderer.layerConfig,q=_*Math.floor(U.height/U.lineHeight);N===!0?this.selection.$moveSelection(function(){this.moveCursorBy(q,0)}):N===!1&&(this.selection.moveCursorBy(q,0),this.selection.clearSelection());var Q=H.scrollTop;H.scrollBy(0,q*U.lineHeight),N!=null&&H.scrollCursorIntoView(null,.5),H.animateScrolling(Q)},S.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},S.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},S.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},S.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},S.prototype.scrollPageDown=function(){this.$moveByPage(1)},S.prototype.scrollPageUp=function(){this.$moveByPage(-1)},S.prototype.scrollToRow=function(_){this.renderer.scrollToRow(_)},S.prototype.scrollToLine=function(_,N,H,U){this.renderer.scrollToLine(_,N,H,U)},S.prototype.centerSelection=function(){var _=this.getSelectionRange(),N={row:Math.floor(_.start.row+(_.end.row-_.start.row)/2),column:Math.floor(_.start.column+(_.end.column-_.start.column)/2)};this.renderer.alignCursor(N,.5)},S.prototype.getCursorPosition=function(){return this.selection.getCursor()},S.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},S.prototype.getSelectionRange=function(){return this.selection.getRange()},S.prototype.selectAll=function(){this.selection.selectAll()},S.prototype.clearSelection=function(){this.selection.clearSelection()},S.prototype.moveCursorTo=function(_,N){this.selection.moveCursorTo(_,N)},S.prototype.moveCursorToPosition=function(_){this.selection.moveCursorToPosition(_)},S.prototype.jumpToMatching=function(_,N){var H=this.getCursorPosition(),U=new k(this.session,H.row,H.column),q=U.getCurrentToken(),Q=0;q&&q.type.indexOf("tag-name")!==-1&&(q=U.stepBackward());var te=q||U.stepForward();if(te){var he,ne=!1,le={},ue=H.column-te.start,ce,ge={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(te.value.match(/[{}()\[\]]/g)){for(;ue<te.value.length&&!ne;ue++)if(ge[te.value[ue]])switch(ce=ge[te.value[ue]]+"."+te.type.replace("rparen","lparen"),isNaN(le[ce])&&(le[ce]=0),te.value[ue]){case"(":case"[":case"{":le[ce]++;break;case")":case"]":case"}":le[ce]--,le[ce]===-1&&(he="bracket",ne=!0);break}}else te.type.indexOf("tag-name")!==-1&&(isNaN(le[te.value])&&(le[te.value]=0),q.value==="<"&&Q>1?le[te.value]++:q.value==="</"&&le[te.value]--,le[te.value]===-1&&(he="tag",ne=!0));ne||(q=te,Q++,te=U.stepForward(),ue=0)}while(te&&!ne);if(he){var Se,$e;if(he==="bracket")Se=this.session.getBracketRange(H),Se||(Se=new m(U.getCurrentTokenRow(),U.getCurrentTokenColumn()+ue-1,U.getCurrentTokenRow(),U.getCurrentTokenColumn()+ue-1),$e=Se.start,(N||$e.row===H.row&&Math.abs($e.column-H.column)<2)&&(Se=this.session.getBracketRange($e)));else if(he==="tag"){if(!te||te.type.indexOf("tag-name")===-1)return;if(Se=new m(U.getCurrentTokenRow(),U.getCurrentTokenColumn()-2,U.getCurrentTokenRow(),U.getCurrentTokenColumn()-2),Se.compare(H.row,H.column)===0){var Te=this.session.getMatchingTags(H);Te&&(Te.openTag.contains(H.row,H.column)?(Se=Te.closeTag,$e=Se.start):(Se=Te.openTag,Te.closeTag.start.row===H.row&&Te.closeTag.start.column===H.column?$e=Se.end:$e=Se.start))}$e=$e||Se.start}$e=Se&&Se.cursor||$e,$e&&(_?Se&&N?this.selection.setRange(Se):Se&&Se.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo($e.row,$e.column):this.selection.moveTo($e.row,$e.column))}}},S.prototype.gotoLine=function(_,N,H){this.selection.clearSelection(),this.session.unfold({row:_-1,column:N||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(_-1,N||0),this.isRowFullyVisible(_-1)||this.scrollToLine(_-1,!0,H)},S.prototype.navigateTo=function(_,N){this.selection.moveTo(_,N)},S.prototype.navigateUp=function(_){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var N=this.selection.anchor.getPosition();return this.moveCursorToPosition(N)}this.selection.clearSelection(),this.selection.moveCursorBy(-_||-1,0)},S.prototype.navigateDown=function(_){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var N=this.selection.anchor.getPosition();return this.moveCursorToPosition(N)}this.selection.clearSelection(),this.selection.moveCursorBy(_||1,0)},S.prototype.navigateLeft=function(_){if(this.selection.isEmpty())for(_=_||1;_--;)this.selection.moveCursorLeft();else{var N=this.getSelectionRange().start;this.moveCursorToPosition(N)}this.clearSelection()},S.prototype.navigateRight=function(_){if(this.selection.isEmpty())for(_=_||1;_--;)this.selection.moveCursorRight();else{var N=this.getSelectionRange().end;this.moveCursorToPosition(N)}this.clearSelection()},S.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},S.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},S.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},S.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},S.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},S.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},S.prototype.replace=function(_,N){N&&this.$search.set(N);var H=this.$search.find(this.session),U=0;return H&&(this.$tryReplace(H,_)&&(U=1),this.selection.setSelectionRange(H),this.renderer.scrollSelectionIntoView(H.start,H.end)),U},S.prototype.replaceAll=function(_,N){N&&this.$search.set(N);var H=this.$search.findAll(this.session),U=0;if(!H.length)return U;var q=this.getSelectionRange();this.selection.moveTo(0,0);for(var Q=H.length-1;Q>=0;--Q)this.$tryReplace(H[Q],_)&&U++;return this.selection.setSelectionRange(q),U},S.prototype.$tryReplace=function(_,N){var H=this.session.getTextRange(_);return N=this.$search.replace(H,N),N!==null?(_.end=this.session.replace(_,N),_):null},S.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},S.prototype.find=function(_,N,H){N||(N={}),typeof _=="string"||_ instanceof RegExp?N.needle=_:typeof _=="object"&&f.mixin(N,_);var U=this.selection.getRange();N.needle==null&&(_=this.session.getTextRange(U)||this.$search.$options.needle,_||(U=this.session.getWordRange(U.start.row,U.start.column),_=this.session.getTextRange(U)),this.$search.set({needle:_})),this.$search.set(N),N.start||this.$search.set({start:U});var q=this.$search.find(this.session);if(N.preventScroll)return q;if(q)return this.revealRange(q,H),q;N.backwards?U.start=U.end:U.end=U.start,this.selection.setRange(U)},S.prototype.findNext=function(_,N){this.find({skipCurrent:!0,backwards:!1},_,N)},S.prototype.findPrevious=function(_,N){this.find(_,{skipCurrent:!0,backwards:!0},N)},S.prototype.revealRange=function(_,N){this.session.unfold(_),this.selection.setSelectionRange(_);var H=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(_.start,_.end,.5),N!==!1&&this.renderer.animateScrolling(H)},S.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},S.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},S.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(_){_.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},S.prototype.setAutoScrollEditorIntoView=function(_){if(_){var N,H=this,U=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var q=this.$scrollAnchor;q.style.cssText="position:absolute",this.container.insertBefore(q,this.container.firstChild);var Q=this.on("changeSelection",function(){U=!0}),te=this.renderer.on("beforeRender",function(){U&&(N=H.renderer.container.getBoundingClientRect())}),he=this.renderer.on("afterRender",function(){if(U&&N&&(H.isFocused()||H.searchBox&&H.searchBox.isFocused())){var ne=H.renderer,le=ne.$cursorLayer.$pixelPos,ue=ne.layerConfig,ce=le.top-ue.offset;le.top>=0&&ce+N.top<0?U=!0:le.top<ue.height&&le.top+N.top+ue.lineHeight>window.innerHeight?U=!1:U=null,U!=null&&(q.style.top=ce+"px",q.style.left=le.left+"px",q.style.height=ue.lineHeight+"px",q.scrollIntoView(U)),U=N=null}});this.setAutoScrollEditorIntoView=function(ne){ne||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",Q),this.renderer.off("afterRender",he),this.renderer.off("beforeRender",te))}}},S.prototype.$resetCursorStyle=function(){var _=this.$cursorStyle||"ace",N=this.renderer.$cursorLayer;N&&(N.setSmoothBlinking(/smooth/.test(_)),N.isBlinking=!this.$readOnly&&_!="wide",w.setCssClass(N.element,"ace_slim-cursors",/slim/.test(_)))},S.prototype.prompt=function(_,N,H){var U=this;$.loadModule("ace/ext/prompt",function(q){q.prompt(U,_,N,H)})},S}();P.$uid=0,P.prototype.curOp=null,P.prototype.prevOp={},P.prototype.$mergeableCommands=["backspace","del","insertstring"],P.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],f.implement(P.prototype,b),$.defineOptions(P.prototype,"editor",{selectionStyle:{set:function(S){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:S})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(S){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(S){var _=this;if(this.textInput.setReadOnly(S),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(H){var U=!1;if(H&&H.type=="keydown"){if(H&&H.key&&!H.ctrlKey&&!H.metaKey&&(H.key==" "&&H.preventDefault(),U=H.key.length==1),!U)return}else H&&H.type!=="exec"&&(U=!0);if(U){_.hoverTooltip||(_.hoverTooltip=new B);var q=w.createElement("div");q.textContent=R("editor.tooltip.disable-editing","Editing is disabled"),_.hoverTooltip.isOpen||_.hoverTooltip.showForRange(_,_.getSelectionRange(),q)}else _.hoverTooltip&&_.hoverTooltip.isOpen&&_.hoverTooltip.hide()});var N=this.textInput.getElement();S?(I.addListener(N,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(I.removeListener(N,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))}},initialValue:!1},copyWithEmptySelection:{set:function(S){this.textInput.setCopyWithEmptySelection(S)},initialValue:!1},cursorStyle:{set:function(S){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(S){this.setAutoScrollEditorIntoView(S)}},keyboardHandler:{set:function(S){this.setKeyboardHandler(S)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(S){this.session.setValue(S)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(S){this.setSession(S)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(S){this.renderer.$gutterLayer.setShowLineNumbers(S),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),S&&this.$relativeLineNumbers?D.attach(this):D.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(S){this.$showLineNumbers&&S?D.attach(this):D.detach(this)}},placeholder:{set:function(S){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var _=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(_&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),w.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!_&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),w.addCssClass(this.container,"ace_hasPlaceholder");var N=w.createElement("div");N.className="ace_placeholder",N.textContent=this.$placeholder||"",this.renderer.placeholderNode=N,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!_&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(S){var _={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(U){U.blur(),U.renderer.scroller.focus()},readOnly:!0},N=function(U){if(U.target==this.renderer.scroller&&U.keyCode===L.enter){U.preventDefault();var q=this.getCursorPosition().row;this.isRowVisible(q)||this.scrollToLine(q,!0,!0),this.focus()}},H;S?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(g.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",R("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",R("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",N.bind(this)),this.commands.addCommand(_),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",R("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",R("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),H||(H=new C(this)),H.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",N.bind(this)),this.commands.removeCommand(_),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),H&&H.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(S){this.$textInputAriaLabel=S},initialValue:""},enableMobileMenu:{set:function(S){this.$enableMobileMenu=S},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var D={getText:function(S,_){return(Math.abs(S.selection.lead.row-_)||_+1+(_<9?"·":""))+""},getWidth:function(S,_,N){return Math.max(_.toString().length,(N.lastRow+1).toString().length,2)*N.characterWidth},update:function(S,_){_.renderer.$loop.schedule(_.renderer.CHANGE_GUTTER)},attach:function(S){S.renderer.$gutterLayer.$renderer=this,S.on("changeSelection",this.update),this.update(null,S)},detach:function(S){S.renderer.$gutterLayer.$renderer==this&&(S.renderer.$gutterLayer.$renderer=null),S.off("changeSelection",this.update),this.update(null,S)}};r.Editor=P}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(t,r,d){var p=t("../lib/dom"),f=function(){function w(h,g){this.element=h,this.canvasHeight=g||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return w.prototype.moveContainer=function(h){p.translate(this.element,0,-(h.firstRowScreen*h.lineHeight%this.canvasHeight)-h.offset*this.$offsetCoefficient)},w.prototype.pageChanged=function(h,g){return Math.floor(h.firstRowScreen*h.lineHeight/this.canvasHeight)!==Math.floor(g.firstRowScreen*g.lineHeight/this.canvasHeight)},w.prototype.computeLineTop=function(h,g,o){var a=g.firstRowScreen*g.lineHeight,l=Math.floor(a/this.canvasHeight),c=o.documentToScreenRow(h,0)*g.lineHeight;return c-l*this.canvasHeight},w.prototype.computeLineHeight=function(h,g,o){return g.lineHeight*o.getRowLineCount(h)},w.prototype.getLength=function(){return this.cells.length},w.prototype.get=function(h){return this.cells[h]},w.prototype.shift=function(){this.$cacheCell(this.cells.shift())},w.prototype.pop=function(){this.$cacheCell(this.cells.pop())},w.prototype.push=function(h){if(Array.isArray(h)){this.cells.push.apply(this.cells,h);for(var g=p.createFragment(this.element),o=0;o<h.length;o++)g.appendChild(h[o].element);this.element.appendChild(g)}else this.cells.push(h),this.element.appendChild(h.element)},w.prototype.unshift=function(h){if(Array.isArray(h)){this.cells.unshift.apply(this.cells,h);for(var g=p.createFragment(this.element),o=0;o<h.length;o++)g.appendChild(h[o].element);this.element.firstChild?this.element.insertBefore(g,this.element.firstChild):this.element.appendChild(g)}else this.cells.unshift(h),this.element.insertAdjacentElement("afterbegin",h.element)},w.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},w.prototype.$cacheCell=function(h){h&&(h.element.remove(),this.cellCache.push(h))},w.prototype.createCell=function(h,g,o,a){var l=this.cellCache.pop();if(!l){var c=p.createElement("div");a&&a(c),this.element.appendChild(c),l={element:c,text:"",row:h}}return l.row=h,l},w}();r.Lines=f}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(t,r,d){var p=t("../lib/dom"),f=t("../lib/oop"),w=t("../lib/lang"),h=t("../lib/event_emitter").EventEmitter,g=t("./lines").Lines,o=t("../config").nls,a=function(){function c(s){this.element=p.createElement("div"),this.element.className="ace_layer ace_gutter-layer",s.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new g(this.element),this.$lines.$offsetCoefficient=1}return c.prototype.setSession=function(s){this.session&&this.session.off("change",this.$updateAnnotations),this.session=s,s&&s.on("change",this.$updateAnnotations)},c.prototype.addGutterDecoration=function(s,u){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(s,u)},c.prototype.removeGutterDecoration=function(s,u){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(s,u)},c.prototype.setAnnotations=function(s){this.$annotations=[];for(var u=0;u<s.length;u++){var m=s[u],b=m.row,x=this.$annotations[b];x||(x=this.$annotations[b]={text:[],type:[],displayText:[]});var E=m.text,$=m.text,k=m.type;E=E?w.escapeHTML(E):m.html||"",$=$||m.html||"",x.text.indexOf(E)===-1&&(x.text.push(E),x.type.push(k),x.displayText.push($));var C=m.className;C?x.className=C:k==="error"?x.className=" ace_error":k==="security"&&!/\bace_error\b/.test(x.className)?x.className=" ace_security":k==="warning"&&!/\bace_(error|security)\b/.test(x.className)?x.className=" ace_warning":k==="info"&&!x.className?x.className=" ace_info":k==="hint"&&!x.className&&(x.className=" ace_hint")}},c.prototype.$updateAnnotations=function(s){if(this.$annotations.length){var u=s.start.row,m=s.end.row-u;if(m!==0)if(s.action=="remove")this.$annotations.splice(u,m+1,null);else{var b=new Array(m+1);b.unshift(u,1),this.$annotations.splice.apply(this.$annotations,b)}}},c.prototype.update=function(s){this.config=s;var u=this.session,m=s.firstRow,b=Math.min(s.lastRow+s.gutterOffset,u.getLength()-1);this.oldLastRow=b,this.config=s,this.$lines.moveContainer(s),this.$updateCursorRow();for(var x=u.getNextFoldLine(m),E=x?x.start.row:1/0,$=null,k=-1,C=m;;){if(C>E&&(C=x.end.row+1,x=u.getNextFoldLine(C,x),E=x?x.start.row:1/0),C>b){for(;this.$lines.getLength()>k+1;)this.$lines.pop();break}$=this.$lines.get(++k),$?$.row=C:($=this.$lines.createCell(C,s,this.session,l),this.$lines.push($)),this.$renderCell($,s,x,C),C++}this._signal("afterRender"),this.$updateGutterWidth(s)},c.prototype.$updateGutterWidth=function(s){var u=this.session,m=u.gutterRenderer||this.$renderer,b=u.$firstLineNumber,x=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||u.$useWrapMode)&&(x=u.getLength()+b-1);var E=m?m.getWidth(u,x,s):x.toString().length*s.characterWidth,$=this.$padding||this.$computePadding();E+=$.left+$.right,E!==this.gutterWidth&&!isNaN(E)&&(this.gutterWidth=E,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",E))},c.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var s=this.session.selection.getCursor();this.$cursorRow!==s.row&&(this.$cursorRow=s.row)}},c.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var s=this.session.selection.cursor.row;if(this.$cursorRow=s,!(this.$cursorCell&&this.$cursorCell.row==s)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var u=this.$lines.cells;this.$cursorCell=null;for(var m=0;m<u.length;m++){var b=u[m];if(b.row>=this.$cursorRow){if(b.row>this.$cursorRow){var x=this.session.getFoldLine(this.$cursorRow);if(m>0&&x&&x.start.row==u[m-1].row)b=u[m-1];else break}b.element.className="ace_gutter-active-line "+b.element.className,this.$cursorCell=b;break}}}}},c.prototype.scrollLines=function(s){var u=this.config;if(this.config=s,this.$updateCursorRow(),this.$lines.pageChanged(u,s))return this.update(s);this.$lines.moveContainer(s);var m=Math.min(s.lastRow+s.gutterOffset,this.session.getLength()-1),b=this.oldLastRow;if(this.oldLastRow=m,!u||b<s.firstRow)return this.update(s);if(m<u.firstRow)return this.update(s);if(u.firstRow<s.firstRow)for(var x=this.session.getFoldedRowCount(u.firstRow,s.firstRow-1);x>0;x--)this.$lines.shift();if(b>m)for(var x=this.session.getFoldedRowCount(m+1,b);x>0;x--)this.$lines.pop();s.firstRow<u.firstRow&&this.$lines.unshift(this.$renderLines(s,s.firstRow,u.firstRow-1)),m>b&&this.$lines.push(this.$renderLines(s,b+1,m)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(s)},c.prototype.$renderLines=function(s,u,m){for(var b=[],x=u,E=this.session.getNextFoldLine(x),$=E?E.start.row:1/0;x>$&&(x=E.end.row+1,E=this.session.getNextFoldLine(x,E),$=E?E.start.row:1/0),!(x>m);){var k=this.$lines.createCell(x,s,this.session,l);this.$renderCell(k,s,E,x),b.push(k),x++}return b},c.prototype.$renderCell=function(s,u,m,b){var x=s.element,E=this.session,$=x.childNodes[0],k=x.childNodes[1],C=x.childNodes[2],R=x.childNodes[3],O=C.firstChild,L=E.$firstLineNumber,I=E.$breakpoints,B=E.$decorations,P=E.gutterRenderer||this.$renderer,D=this.$showFoldWidgets&&E.foldWidgets,S=m?m.start.row:Number.MAX_VALUE,_=u.lineHeight+"px",N=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",H=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",U=(P?P.getText(E,b):b+L).toString();if(this.$highlightGutterLine&&(b==this.$cursorRow||m&&b<this.$cursorRow&&b>=S&&this.$cursorRow<=m.end.row)&&(N+="ace_gutter-active-line ",this.$cursorCell!=s&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=s)),I[b]&&(N+=I[b]),B[b]&&(N+=B[b]),this.$annotations[b]&&b!==S&&(N+=this.$annotations[b].className),D){var q=D[b];q==null&&(q=D[b]=E.getFoldWidget(b))}if(q){var Q="ace_fold-widget ace_"+q,te=q=="start"&&b==S&&b<m.end.row;if(te){Q+=" ace_closed";for(var he="",ne=!1,le=b+1;le<=m.end.row;le++)if(this.$annotations[le]){if(this.$annotations[le].className===" ace_error"){ne=!0,he=" ace_error_fold";break}this.$annotations[le].className===" ace_security"?(ne=!0,he=" ace_security_fold"):this.$annotations[le].className===" ace_warning"&&he!==" ace_security_fold"&&(ne=!0,he=" ace_warning_fold")}N+=he}else Q+=" ace_open";k.className!=Q&&(k.className=Q),p.setStyle(k.style,"height",_),p.setStyle(k.style,"display","inline-block"),k.setAttribute("role","button"),k.setAttribute("tabindex","-1");var ue=E.getFoldWidgetRange(b);ue?k.setAttribute("aria-label",o("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[ue.start.row+1,ue.end.row+1])):m?k.setAttribute("aria-label",o("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[m.start.row+1,m.end.row+1])):k.setAttribute("aria-label",o("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[b+1])),te?(k.setAttribute("aria-expanded","false"),k.setAttribute("title",o("gutter.code-folding.closed.title","Unfold code"))):(k.setAttribute("aria-expanded","true"),k.setAttribute("title",o("gutter.code-folding.open.title","Fold code")))}else k&&(p.setStyle(k.style,"display","none"),k.setAttribute("tabindex","0"),k.removeAttribute("role"),k.removeAttribute("aria-label"));var ce=this.session.$gutterCustomWidgets[b];if(ce?this.$addCustomWidget(b,ce,s):R&&this.$removeCustomWidget(b,s),ne&&this.$showFoldedAnnotations){C.className="ace_gutter_annotation",O.className=H,O.className+=he,p.setStyle(O.style,"height",_),p.setStyle(C.style,"display","block"),p.setStyle(C.style,"height",_);var ge;switch(he){case" ace_error_fold":ge=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[U]);break;case" ace_security_fold":ge=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[U]);break;case" ace_warning_fold":ge=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[U]);break}C.setAttribute("aria-label",ge),C.setAttribute("tabindex","-1"),C.setAttribute("role","button")}else if(this.$annotations[b]){C.className="ace_gutter_annotation",O.className=H,this.$useSvgGutterIcons?O.className+=this.$annotations[b].className:x.classList.add(this.$annotations[b].className.replace(" ","")),p.setStyle(O.style,"height",_),p.setStyle(C.style,"display","block"),p.setStyle(C.style,"height",_);var ge;switch(this.$annotations[b].className){case" ace_error":ge=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[U]);break;case" ace_security":ge=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[U]);break;case" ace_warning":ge=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[U]);break;case" ace_info":ge=o("gutter.annotation.aria-label.info","Info, read annotations row $0",[U]);break;case" ace_hint":ge=o("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[U]);break}C.setAttribute("aria-label",ge),C.setAttribute("tabindex","-1"),C.setAttribute("role","button")}else p.setStyle(C.style,"display","none"),C.removeAttribute("aria-label"),C.removeAttribute("role"),C.setAttribute("tabindex","0");return U!==$.data&&($.data=U),x.className!=N&&(x.className=N),p.setStyle(s.element.style,"height",this.$lines.computeLineHeight(b,u,E)+"px"),p.setStyle(s.element.style,"top",this.$lines.computeLineTop(b,u,E)+"px"),s.text=U,C.style.display==="none"&&k.style.display==="none"&&!ce?s.element.setAttribute("aria-hidden",!0):s.element.setAttribute("aria-hidden",!1),s},c.prototype.setHighlightGutterLine=function(s){this.$highlightGutterLine=s},c.prototype.setShowLineNumbers=function(s){this.$renderer=!s&&{getWidth:function(){return 0},getText:function(){return""}}},c.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},c.prototype.setShowFoldWidgets=function(s){s?p.addCssClass(this.element,"ace_folding-enabled"):p.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=s,this.$padding=null},c.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},c.prototype.$hideFoldWidget=function(s,u){var m=u||this.$getGutterCell(s);if(m&&m.element){var b=m.element.childNodes[1];b&&p.setStyle(b.style,"display","none")}},c.prototype.$showFoldWidget=function(s,u){var m=u||this.$getGutterCell(s);if(m&&m.element){var b=m.element.childNodes[1];b&&this.session.foldWidgets&&this.session.foldWidgets[m.row]&&p.setStyle(b.style,"display","inline-block")}},c.prototype.$getGutterCell=function(s){var u=this.$lines.cells,m=this.session.documentToScreenRow(s,0);return u[s-this.config.firstRowScreen-(s-m)]},c.prototype.$addCustomWidget=function(s,u,m){var b=u.className,x=u.label,E=u.title,$=u.callbacks;this.session.$gutterCustomWidgets[s]={className:b,label:x,title:E,callbacks:$},this.$hideFoldWidget(s,m);var k=m||this.$getGutterCell(s);if(k&&k.element){var C=k.element.querySelector(".ace_custom-widget");C&&C.remove(),C=p.createElement("span"),C.className="ace_custom-widget ".concat(b),C.setAttribute("tabindex","-1"),C.setAttribute("role","button"),C.setAttribute("aria-label",x),C.setAttribute("title",E),p.setStyle(C.style,"display","inline-block"),p.setStyle(C.style,"height","inherit"),$&&$.onClick&&C.addEventListener("click",function(R){$.onClick(R,s),R.stopPropagation()}),k.element.appendChild(C)}},c.prototype.$removeCustomWidget=function(s,u){delete this.session.$gutterCustomWidgets[s],this.$showFoldWidget(s,u);var m=u||this.$getGutterCell(s);if(m&&m.element){var b=m.element.querySelector(".ace_custom-widget");b&&m.element.removeChild(b)}},c.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var s=p.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(s.borderLeftWidth)||0)+(parseInt(s.paddingLeft)||0)+1,this.$padding.right=(parseInt(s.borderRightWidth)||0)+(parseInt(s.paddingRight)||0),this.$padding},c.prototype.getRegion=function(s){var u=this.$padding||this.$computePadding(),m=this.element.getBoundingClientRect();if(s.x<u.left+m.left)return"markers";if(this.$showFoldWidgets&&s.x>m.right-u.right)return"foldWidgets"},c}();a.prototype.$fixedWidth=!1,a.prototype.$highlightGutterLine=!0,a.prototype.$renderer="",a.prototype.$showLineNumbers=!0,a.prototype.$showFoldWidgets=!0,f.implement(a.prototype,h);function l(c){var s=document.createTextNode("");c.appendChild(s);var u=p.createElement("span");c.appendChild(u);var m=p.createElement("span");c.appendChild(m);var b=p.createElement("span");return m.appendChild(b),c}r.Gutter=a}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(t,r,d){var p=t("../range").Range,f=t("../lib/dom"),w=function(){function g(o){this.element=f.createElement("div"),this.element.className="ace_layer ace_marker-layer",o.appendChild(this.element)}return g.prototype.setPadding=function(o){this.$padding=o},g.prototype.setSession=function(o){this.session=o},g.prototype.setMarkers=function(o){this.markers=o},g.prototype.elt=function(o,a){var l=this.i!=-1&&this.element.childNodes[this.i];l?this.i++:(l=document.createElement("div"),this.element.appendChild(l),this.i=-1),l.style.cssText=a,l.className=o},g.prototype.update=function(o){if(o){this.config=o,this.i=0;var a;for(var l in this.markers){var c=this.markers[l];if(!c.range){c.update(a,this,this.session,o);continue}var s=c.range.clipRows(o.firstRow,o.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),c.renderer){var u=this.$getTop(s.start.row,o),m=this.$padding+s.start.column*o.characterWidth;c.renderer(a,s,m,u,o)}else c.type=="fullLine"?this.drawFullLineMarker(a,s,c.clazz,o):c.type=="screenLine"?this.drawScreenLineMarker(a,s,c.clazz,o):s.isMultiLine()?c.type=="text"?this.drawTextMarker(a,s,c.clazz,o):this.drawMultiLineMarker(a,s,c.clazz,o):this.drawSingleLineMarker(a,s,c.clazz+" ace_start ace_br15",o)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},g.prototype.$getTop=function(o,a){return(o-a.firstRowScreen)*a.lineHeight},g.prototype.drawTextMarker=function(o,a,l,c,s){for(var u=this.session,m=a.start.row,b=a.end.row,x=m,E=0,$=0,k=u.getScreenLastRowColumn(x),C=new p(x,a.start.column,x,$);x<=b;x++)C.start.row=C.end.row=x,C.start.column=x==m?a.start.column:u.getRowWrapIndent(x),C.end.column=k,E=$,$=k,k=x+1<b?u.getScreenLastRowColumn(x+1):x==b?0:a.end.column,this.drawSingleLineMarker(o,C,l+(x==m?" ace_start":"")+" ace_br"+h(x==m||x==m+1&&a.start.column,E<$,$>k,x==b),c,x==b?0:1,s)},g.prototype.drawMultiLineMarker=function(o,a,l,c,s){var u=this.$padding,m=c.lineHeight,b=this.$getTop(a.start.row,c),x=u+a.start.column*c.characterWidth;if(s=s||"",this.session.$bidiHandler.isBidiRow(a.start.row)){var E=a.clone();E.end.row=E.start.row,E.end.column=this.session.getLine(E.start.row).length,this.drawBidiSingleLineMarker(o,E,l+" ace_br1 ace_start",c,null,s)}else this.elt(l+" ace_br1 ace_start","height:"+m+"px;right:"+u+"px;top:"+b+"px;left:"+x+"px;"+(s||""));if(this.session.$bidiHandler.isBidiRow(a.end.row)){var E=a.clone();E.start.row=E.end.row,E.start.column=0,this.drawBidiSingleLineMarker(o,E,l+" ace_br12",c,null,s)}else{b=this.$getTop(a.end.row,c);var $=a.end.column*c.characterWidth;this.elt(l+" ace_br12","height:"+m+"px;width:"+$+"px;top:"+b+"px;left:"+u+"px;"+(s||""))}if(m=(a.end.row-a.start.row-1)*c.lineHeight,!(m<=0)){b=this.$getTop(a.start.row+1,c);var k=(a.start.column?1:0)|(a.end.column?0:8);this.elt(l+(k?" ace_br"+k:""),"height:"+m+"px;right:"+u+"px;top:"+b+"px;left:"+u+"px;"+(s||""))}},g.prototype.drawSingleLineMarker=function(o,a,l,c,s,u){if(this.session.$bidiHandler.isBidiRow(a.start.row))return this.drawBidiSingleLineMarker(o,a,l,c,s,u);var m=c.lineHeight,b=(a.end.column+(s||0)-a.start.column)*c.characterWidth,x=this.$getTop(a.start.row,c),E=this.$padding+a.start.column*c.characterWidth;this.elt(l,"height:"+m+"px;width:"+b+"px;top:"+x+"px;left:"+E+"px;"+(u||""))},g.prototype.drawBidiSingleLineMarker=function(o,a,l,c,s,u){var m=c.lineHeight,b=this.$getTop(a.start.row,c),x=this.$padding,E=this.session.$bidiHandler.getSelections(a.start.column,a.end.column);E.forEach(function($){this.elt(l,"height:"+m+"px;width:"+($.width+(s||0))+"px;top:"+b+"px;left:"+(x+$.left)+"px;"+(u||""))},this)},g.prototype.drawFullLineMarker=function(o,a,l,c,s){var u=this.$getTop(a.start.row,c),m=c.lineHeight;a.start.row!=a.end.row&&(m+=this.$getTop(a.end.row,c)-u),this.elt(l,"height:"+m+"px;top:"+u+"px;left:0;right:0;"+(s||""))},g.prototype.drawScreenLineMarker=function(o,a,l,c,s){var u=this.$getTop(a.start.row,c),m=c.lineHeight;this.elt(l,"height:"+m+"px;top:"+u+"px;left:0;right:0;"+(s||""))},g}();w.prototype.$padding=0;function h(g,o,a,l){return(g?1:0)|(o?2:0)|(a?4:0)|(l?8:0)}r.Marker=w}),ace.define("ace/layer/text_util",["require","exports","module"],function(t,r,d){var p=new Set(["text","rparen","lparen"]);r.isTextToken=function(f){return p.has(f)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/dom"),w=t("../lib/lang"),h=t("./lines").Lines,g=t("../lib/event_emitter").EventEmitter,o=t("../config").nls,a=t("./text_util").isTextToken,l=function(){function c(s){this.dom=f,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",s.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new h(this.element)}return c.prototype.$updateEolChar=function(){var s=this.session.doc,u=s.getNewLineCharacter()==`
216
+ `&&s.getNewLineMode()!="windows",m=u?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=m)return this.EOL_CHAR=m,!0},c.prototype.setPadding=function(s){this.$padding=s,this.element.style.margin="0 "+s+"px"},c.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},c.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},c.prototype.$setFontMetrics=function(s){this.$fontMetrics=s,this.$fontMetrics.on("changeCharacterSize",(function(u){this._signal("changeCharacterSize",u)}).bind(this)),this.$pollSizeChanges()},c.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},c.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},c.prototype.setSession=function(s){this.session=s,s&&this.$computeTabString()},c.prototype.setShowInvisibles=function(s){return this.showInvisibles==s?!1:(this.showInvisibles=s,typeof s=="string"?(this.showSpaces=/tab/i.test(s),this.showTabs=/space/i.test(s),this.showEOL=/eol/i.test(s)):this.showSpaces=this.showTabs=this.showEOL=s,this.$computeTabString(),!0)},c.prototype.setDisplayIndentGuides=function(s){return this.displayIndentGuides==s?!1:(this.displayIndentGuides=s,this.$computeTabString(),!0)},c.prototype.setHighlightIndentGuides=function(s){return this.$highlightIndentGuides===s?!1:(this.$highlightIndentGuides=s,s)},c.prototype.$computeTabString=function(){var s=this.session.getTabSize();this.tabSize=s;for(var u=this.$tabStrings=[0],m=1;m<s+1;m++)if(this.showTabs){var b=this.dom.createElement("span");b.className="ace_invisible ace_invisible_tab",b.textContent=w.stringRepeat(this.TAB_CHAR,m),u.push(b)}else u.push(this.dom.createTextNode(w.stringRepeat(" ",m),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var x="ace_indent-guide",E=this.showSpaces?" ace_invisible ace_invisible_space":"",$=this.showSpaces?w.stringRepeat(this.SPACE_CHAR,this.tabSize):w.stringRepeat(" ",this.tabSize),k=this.showTabs?" ace_invisible ace_invisible_tab":"",C=this.showTabs?w.stringRepeat(this.TAB_CHAR,this.tabSize):$,b=this.dom.createElement("span");b.className=x+E,b.textContent=$,this.$tabStrings[" "]=b;var b=this.dom.createElement("span");b.className=x+k,b.textContent=C,this.$tabStrings[" "]=b}},c.prototype.updateLines=function(s,u,m){if(this.config.lastRow!=s.lastRow||this.config.firstRow!=s.firstRow)return this.update(s);this.config=s;for(var b=Math.max(u,s.firstRow),x=Math.min(m,s.lastRow),E=this.element.childNodes,$=0,k=s.firstRow;k<b;k++){var C=this.session.getFoldLine(k);if(C)if(C.containsRow(b)){b=C.start.row;break}else k=C.end.row;$++}for(var R=!1,k=b,C=this.session.getNextFoldLine(k),O=C?C.start.row:1/0;k>O&&(k=C.end.row+1,C=this.session.getNextFoldLine(k,C),O=C?C.start.row:1/0),!(k>x);){var L=E[$++];if(L){this.dom.removeChildren(L),this.$renderLine(L,k,k==O?C:!1),R&&(L.style.top=this.$lines.computeLineTop(k,s,this.session)+"px");var I=s.lineHeight*this.session.getRowLength(k)+"px";L.style.height!=I&&(R=!0,L.style.height=I)}k++}if(R)for(;$<this.$lines.cells.length;){var B=this.$lines.cells[$++];B.element.style.top=this.$lines.computeLineTop(B.row,s,this.session)+"px"}},c.prototype.scrollLines=function(s){var u=this.config;if(this.config=s,this.$lines.pageChanged(u,s))return this.update(s);this.$lines.moveContainer(s);var m=s.lastRow,b=u?u.lastRow:-1;if(!u||b<s.firstRow)return this.update(s);if(m<u.firstRow)return this.update(s);if(!u||u.lastRow<s.firstRow)return this.update(s);if(s.lastRow<u.firstRow)return this.update(s);if(u.firstRow<s.firstRow)for(var x=this.session.getFoldedRowCount(u.firstRow,s.firstRow-1);x>0;x--)this.$lines.shift();if(u.lastRow>s.lastRow)for(var x=this.session.getFoldedRowCount(s.lastRow+1,u.lastRow);x>0;x--)this.$lines.pop();s.firstRow<u.firstRow&&this.$lines.unshift(this.$renderLinesFragment(s,s.firstRow,u.firstRow-1)),s.lastRow>u.lastRow&&this.$lines.push(this.$renderLinesFragment(s,u.lastRow+1,s.lastRow)),this.$highlightIndentGuide()},c.prototype.$renderLinesFragment=function(s,u,m){for(var b=[],x=u,E=this.session.getNextFoldLine(x),$=E?E.start.row:1/0;x>$&&(x=E.end.row+1,E=this.session.getNextFoldLine(x,E),$=E?E.start.row:1/0),!(x>m);){var k=this.$lines.createCell(x,s,this.session),C=k.element;this.dom.removeChildren(C),f.setStyle(C.style,"height",this.$lines.computeLineHeight(x,s,this.session)+"px"),f.setStyle(C.style,"top",this.$lines.computeLineTop(x,s,this.session)+"px"),this.$renderLine(C,x,x==$?E:!1),this.$useLineGroups()?C.className="ace_line_group":C.className="ace_line",b.push(k),x++}return b},c.prototype.update=function(s){this.$lines.moveContainer(s),this.config=s;for(var u=s.firstRow,m=s.lastRow,b=this.$lines;b.getLength();)b.pop();b.push(this.$renderLinesFragment(s,u,m))},c.prototype.$renderToken=function(s,u,m,b){for(var x=this,E=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,$=this.dom.createFragment(this.element),k,C=0;k=E.exec(b);){var R=k[1],O=k[2],L=k[3],I=k[4],B=k[5];if(!(!x.showSpaces&&O)){var P=C!=k.index?b.slice(C,k.index):"";if(C=k.index+k[0].length,P&&$.appendChild(this.dom.createTextNode(P,this.element)),R){var D=x.session.getScreenTabSize(u+k.index),S=x.$tabStrings[D].cloneNode(!0);S.charCount=1,$.appendChild(S),u+=D-1}else if(O)if(x.showSpaces){var _=this.dom.createElement("span");_.className="ace_invisible ace_invisible_space",_.textContent=w.stringRepeat(x.SPACE_CHAR,O.length),$.appendChild(_)}else $.appendChild(this.dom.createTextNode(O,this.element));else if(L){var _=this.dom.createElement("span");_.className="ace_invisible ace_invisible_space ace_invalid",_.textContent=w.stringRepeat(x.SPACE_CHAR,L.length),$.appendChild(_)}else if(I){u+=1;var _=this.dom.createElement("span");_.style.width=x.config.characterWidth*2+"px",_.className=x.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",_.textContent=x.showSpaces?x.SPACE_CHAR:I,$.appendChild(_)}else if(B){u+=1;var _=this.dom.createElement("span");_.style.width=x.config.characterWidth*2+"px",_.className="ace_cjk",_.textContent=B,$.appendChild(_)}}}if($.appendChild(this.dom.createTextNode(C?b.slice(C):b,this.element)),a(m.type))s.appendChild($);else{var N="ace_"+m.type.replace(/\./g," ace_"),_=this.dom.createElement("span");m.type=="fold"&&(_.style.width=m.value.length*this.config.characterWidth+"px",_.setAttribute("title",o("inline-fold.closed.title","Unfold code"))),_.className=N,_.appendChild($),s.appendChild(_)}return u+b.length},c.prototype.renderIndentGuide=function(s,u,m){var b=u.search(this.$indentGuideRe);if(b<=0||b>=m)return u;if(u[0]==" "){b-=b%this.tabSize;for(var x=b/this.tabSize,E=0;E<x;E++)s.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),u.substr(b)}else if(u[0]==" "){for(var E=0;E<b;E++)s.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),u.substr(b)}return this.$highlightIndentGuide(),u},c.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var s=this.session.doc.$lines;if(s){var u=this.session.selection.getCursor(),m=/^\s*/.exec(this.session.doc.getLine(u.row))[0].length,b=Math.floor(m/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:b,start:u.row};var x=this.session.$bracketHighlight;if(x){for(var E=this.session.$bracketHighlight.ranges,$=0;$<E.length;$++)if(u.row!==E[$].start.row){this.$highlightIndentGuideMarker.end=E[$].start.row+1,u.row>E[$].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&s[u.row]!==""&&u.column===s[u.row].length){this.$highlightIndentGuideMarker.dir=1;for(var $=u.row+1;$<s.length;$++){var k=s[$],C=/^\s*/.exec(k)[0].length;if(k!==""&&(this.$highlightIndentGuideMarker.end=$,C<=m))break}}this.$renderHighlightIndentGuide()}}},c.prototype.$clearActiveIndentGuide=function(){for(var s=this.element.querySelectorAll(".ace_indent-guide-active"),u=0;u<s.length;u++)s[u].classList.remove("ace_indent-guide-active")},c.prototype.$setIndentGuideActive=function(s,u){var m=this.session.doc.getLine(s.row);if(m!==""){var b=s.element;if(s.element.classList&&s.element.classList.contains("ace_line_group"))if(s.element.childNodes.length>0)b=s.element.childNodes[0];else return;var x=b.childNodes;if(x){var E=x[u-1];E&&E.classList&&E.classList.contains("ace_indent-guide")&&E.classList.add("ace_indent-guide-active")}}},c.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var s=this.$lines.cells;this.$clearActiveIndentGuide();var u=this.$highlightIndentGuideMarker.indentLevel;if(u!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var m=0;m<s.length;m++){var b=s[m];if(this.$highlightIndentGuideMarker.end&&b.row>=this.$highlightIndentGuideMarker.start+1){if(b.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(b,u)}}else for(var m=s.length-1;m>=0;m--){var b=s[m];if(this.$highlightIndentGuideMarker.end&&b.row<this.$highlightIndentGuideMarker.start){if(b.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(b,u)}}}},c.prototype.$createLineElement=function(s){var u=this.dom.createElement("div");return u.className="ace_line",u.style.height=this.config.lineHeight+"px",u},c.prototype.$renderWrappedLine=function(s,u,m){var b=0,x=0,E=m[0],$=0,k=this.$createLineElement();s.appendChild(k);for(var C=0;C<u.length;C++){var R=u[C],O=R.value;if(C==0&&this.displayIndentGuides){if(b=O.length,O=this.renderIndentGuide(k,O,E),!O)continue;b-=O.length}if(b+O.length<E)$=this.$renderToken(k,$,R,O),b+=O.length;else{for(;b+O.length>=E;){$=this.$renderToken(k,$,R,O.substring(0,E-b)),O=O.substring(E-b),b=E,k=this.$createLineElement(),s.appendChild(k);var L=this.dom.createTextNode(w.stringRepeat(" ",m.indent),this.element);L.charCount=0,k.appendChild(L),x++,$=0,E=m[x]||Number.MAX_VALUE}O.length!=0&&(b+=O.length,$=this.$renderToken(k,$,R,O))}}m[m.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(k,$,null,"",!0)},c.prototype.$renderSimpleLine=function(s,u){for(var m=0,b=0;b<u.length;b++){var x=u[b],E=x.value;if(!(b==0&&this.displayIndentGuides&&(E=this.renderIndentGuide(s,E),!E))){if(m+E.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(s,m,x,E);m=this.$renderToken(s,m,x,E)}}},c.prototype.$renderOverflowMessage=function(s,u,m,b,x){m&&this.$renderToken(s,u,m,b.slice(0,this.MAX_LINE_LENGTH-u));var E=this.dom.createElement("span");E.className="ace_inline_button ace_keyword ace_toggle_wrap",E.textContent=x?"<hide>":"<click to see more...>",s.appendChild(E)},c.prototype.$renderLine=function(s,u,m){if(!m&&m!=!1&&(m=this.session.getFoldLine(u)),m)var b=this.$getFoldLineTokens(u,m);else var b=this.session.getTokens(u);var x=s;if(b.length){var E=this.session.getRowSplitData(u);if(E&&E.length){this.$renderWrappedLine(s,b,E);var x=s.lastChild}else{var x=s;this.$useLineGroups()&&(x=this.$createLineElement(),s.appendChild(x)),this.$renderSimpleLine(x,b)}}else this.$useLineGroups()&&(x=this.$createLineElement(),s.appendChild(x));if(this.showEOL&&x){m&&(u=m.end.row);var $=this.dom.createElement("span");$.className="ace_invisible ace_invisible_eol",$.textContent=u==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,x.appendChild($)}},c.prototype.$getFoldLineTokens=function(s,u){var m=this.session,b=[];function x($,k,C){for(var R=0,O=0;O+$[R].value.length<k;)if(O+=$[R].value.length,R++,R==$.length)return;if(O!=k){var L=$[R].value.substring(k-O);L.length>C-k&&(L=L.substring(0,C-k)),b.push({type:$[R].type,value:L}),O=k+L.length,R+=1}for(;O<C&&R<$.length;){var L=$[R].value;L.length+O>C?b.push({type:$[R].type,value:L.substring(0,C-O)}):b.push($[R]),O+=L.length,R+=1}}var E=m.getTokens(s);return u.walk(function($,k,C,R,O){$!=null?b.push({type:"fold",value:$}):(O&&(E=m.getTokens(k)),E.length&&x(E,R,C))},u.end.row,this.session.getLine(u.end.row).length),b},c.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},c}();l.prototype.EOF_CHAR="¶",l.prototype.EOL_CHAR_LF="¬",l.prototype.EOL_CHAR_CRLF="¤",l.prototype.EOL_CHAR=l.prototype.EOL_CHAR_LF,l.prototype.TAB_CHAR="—",l.prototype.SPACE_CHAR="·",l.prototype.$padding=0,l.prototype.MAX_LINE_LENGTH=1e4,l.prototype.showInvisibles=!1,l.prototype.showSpaces=!1,l.prototype.showTabs=!1,l.prototype.showEOL=!1,l.prototype.displayIndentGuides=!0,l.prototype.$highlightIndentGuides=!0,l.prototype.$tabStrings=[],l.prototype.destroy={},l.prototype.onChangeTabSize=l.prototype.$computeTabString,p.implement(l.prototype,g),r.Text=l}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(t,r,d){var p=t("../lib/dom"),f=function(){function w(h){this.element=p.createElement("div"),this.element.className="ace_layer ace_cursor-layer",h.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),p.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return w.prototype.$updateOpacity=function(h){for(var g=this.cursors,o=g.length;o--;)p.setStyle(g[o].style,"opacity",h?"":"0")},w.prototype.$startCssAnimation=function(){for(var h=this.cursors,g=h.length;g--;)h[g].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&p.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},w.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,p.removeCssClass(this.element,"ace_animate-blinking")},w.prototype.setPadding=function(h){this.$padding=h},w.prototype.setSession=function(h){this.session=h},w.prototype.setBlinking=function(h){h!=this.isBlinking&&(this.isBlinking=h,this.restartTimer())},w.prototype.setBlinkInterval=function(h){h!=this.blinkInterval&&(this.blinkInterval=h,this.restartTimer())},w.prototype.setSmoothBlinking=function(h){h!=this.smoothBlinking&&(this.smoothBlinking=h,p.setCssClass(this.element,"ace_smooth-blinking",h),this.$updateCursors(!0),this.restartTimer())},w.prototype.addCursor=function(){var h=p.createElement("div");return h.className="ace_cursor",this.element.appendChild(h),this.cursors.push(h),h},w.prototype.removeCursor=function(){if(this.cursors.length>1){var h=this.cursors.pop();return h.parentNode.removeChild(h),h}},w.prototype.hideCursor=function(){this.isVisible=!1,p.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},w.prototype.showCursor=function(){this.isVisible=!0,p.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},w.prototype.restartTimer=function(){var h=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,p.removeCssClass(this.element,"ace_smooth-blinking")),h(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&p.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),p.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var g=(function(){this.timeoutId=setTimeout(function(){h(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){h(!0),g()},this.blinkInterval),g()}},w.prototype.getPixelPosition=function(h,g){if(!this.config||!this.session)return{left:0,top:0};h||(h=this.session.selection.getCursor());var o=this.session.documentToScreenPosition(h),a=this.$padding+(this.session.$bidiHandler.isBidiRow(o.row,h.row)?this.session.$bidiHandler.getPosLeft(o.column):o.column*this.config.characterWidth),l=(o.row-(g?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:a,top:l}},w.prototype.isCursorInView=function(h,g){return h.top>=0&&h.top<g.maxHeight},w.prototype.update=function(h){this.config=h;var g=this.session.$selectionMarkers,o=0,a=0;(g===void 0||g.length===0)&&(g=[{cursor:null}]);for(var o=0,l=g.length;o<l;o++){var c=this.getPixelPosition(g[o].cursor,!0);if(!((c.top>h.height+h.offset||c.top<0)&&o>1)){var s=this.cursors[a++]||this.addCursor(),u=s.style;this.drawCursor?this.drawCursor(s,c,h,g[o],this.session):this.isCursorInView(c,h)?(p.setStyle(u,"display","block"),p.translate(s,c.left,c.top),p.setStyle(u,"width",Math.round(h.characterWidth)+"px"),p.setStyle(u,"height",h.lineHeight+"px")):p.setStyle(u,"display","none")}}for(;this.cursors.length>a;)this.removeCursor();var m=this.session.getOverwrite();this.$setOverwrite(m),this.$pixelPos=c,this.restartTimer()},w.prototype.$setOverwrite=function(h){h!=this.overwrite&&(this.overwrite=h,h?p.addCssClass(this.element,"ace_overwrite-cursors"):p.removeCssClass(this.element,"ace_overwrite-cursors"))},w.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},w}();f.prototype.$padding=0,f.prototype.drawCursor=null,r.Cursor=f}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(t,r,d){var p=this&&this.__extends||function(){var s=function(u,m){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,x){b.__proto__=x}||function(b,x){for(var E in x)Object.prototype.hasOwnProperty.call(x,E)&&(b[E]=x[E])},s(u,m)};return function(u,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");s(u,m);function b(){this.constructor=u}u.prototype=m===null?Object.create(m):(b.prototype=m.prototype,new b)}}(),f=t("./lib/oop"),w=t("./lib/dom"),h=t("./lib/event"),g=t("./lib/event_emitter").EventEmitter,o=32768,a=function(){function s(u,m){this.element=w.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+m,this.inner=w.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),u.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,h.addListener(this.element,"scroll",this.onScroll.bind(this)),h.addListener(this.element,"mousedown",h.preventDefault)}return s.prototype.setVisible=function(u){this.element.style.display=u?"":"none",this.isVisible=u,this.coeff=1},s}();f.implement(a.prototype,g);var l=function(s){p(u,s);function u(m,b){var x=s.call(this,m,"-v")||this;return x.scrollTop=0,x.scrollHeight=0,b.$scrollbarWidth=x.width=w.scrollbarWidth(m.ownerDocument),x.inner.style.width=x.element.style.width=(x.width||15)+5+"px",x.$minWidth=0,x}return u.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var m=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-m)/(this.coeff-m)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},u.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},u.prototype.setHeight=function(m){this.element.style.height=m+"px"},u.prototype.setScrollHeight=function(m){this.scrollHeight=m,m>o?(this.coeff=o/m,m=o):this.coeff!=1&&(this.coeff=1),this.inner.style.height=m+"px"},u.prototype.setScrollTop=function(m){this.scrollTop!=m&&(this.skipEvent=!0,this.scrollTop=m,this.element.scrollTop=m*this.coeff)},u}(a);l.prototype.setInnerHeight=l.prototype.setScrollHeight;var c=function(s){p(u,s);function u(m,b){var x=s.call(this,m,"-h")||this;return x.scrollLeft=0,x.height=b.$scrollbarWidth,x.inner.style.height=x.element.style.height=(x.height||15)+5+"px",x}return u.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},u.prototype.getHeight=function(){return this.isVisible?this.height:0},u.prototype.setWidth=function(m){this.element.style.width=m+"px"},u.prototype.setInnerWidth=function(m){this.inner.style.width=m+"px"},u.prototype.setScrollWidth=function(m){this.inner.style.width=m+"px"},u.prototype.setScrollLeft=function(m){this.scrollLeft!=m&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=m)},u}(a);r.ScrollBar=l,r.ScrollBarV=l,r.ScrollBarH=c,r.VScrollBar=l,r.HScrollBar=c}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(t,r,d){var p=this&&this.__extends||function(){var c=function(s,u){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,b){m.__proto__=b}||function(m,b){for(var x in b)Object.prototype.hasOwnProperty.call(b,x)&&(m[x]=b[x])},c(s,u)};return function(s,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");c(s,u);function m(){this.constructor=s}s.prototype=u===null?Object.create(u):(m.prototype=u.prototype,new m)}}(),f=t("./lib/oop"),w=t("./lib/dom"),h=t("./lib/event"),g=t("./lib/event_emitter").EventEmitter;w.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
217
+ position: absolute;
218
+ background: rgba(128, 128, 128, 0.6);
219
+ -moz-box-sizing: border-box;
220
+ box-sizing: border-box;
221
+ border: 1px solid #bbb;
222
+ border-radius: 2px;
223
+ z-index: 8;
224
+ }
225
+ .ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
226
+ position: absolute;
227
+ z-index: 6;
228
+ background: none;
229
+ overflow: hidden!important;
230
+ }
231
+ .ace_editor>.ace_sb-v {
232
+ z-index: 6;
233
+ right: 0;
234
+ top: 0;
235
+ width: 12px;
236
+ }
237
+ .ace_editor>.ace_sb-v div {
238
+ z-index: 8;
239
+ right: 0;
240
+ width: 100%;
241
+ }
242
+ .ace_editor>.ace_sb-h {
243
+ bottom: 0;
244
+ left: 0;
245
+ height: 12px;
246
+ }
247
+ .ace_editor>.ace_sb-h div {
248
+ bottom: 0;
249
+ height: 100%;
250
+ }
251
+ .ace_editor>.ace_sb_grabbed {
252
+ z-index: 8;
253
+ background: #000;
254
+ }`,"ace_scrollbar.css",!1);var o=function(){function c(s,u){this.element=w.createElement("div"),this.element.className="ace_sb"+u,this.inner=w.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,s.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,h.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return c.prototype.setVisible=function(s){this.element.style.display=s?"":"none",this.isVisible=s,this.coeff=1},c}();f.implement(o.prototype,g);var a=function(c){p(s,c);function s(u,m){var b=c.call(this,u,"-v")||this;return b.scrollTop=0,b.scrollHeight=0,b.parent=u,b.width=b.VScrollWidth,b.renderer=m,b.inner.style.width=b.element.style.width=(b.width||15)+"px",b.$minWidth=0,b}return s.prototype.onMouseDown=function(u,m){if(u==="mousedown"&&!(h.getButton(m)!==0||m.detail===2)){if(m.target===this.inner){var b=this,x=m.clientY,E=function(I){x=I.clientY},$=function(){clearInterval(O)},k=m.clientY,C=this.thumbTop,R=function(){if(x!==void 0){var I=b.scrollTopFromThumbTop(C+x-k);I!==b.scrollTop&&b._emit("scroll",{data:I})}};h.capture(this.inner,E,$);var O=setInterval(R,20);return h.preventDefault(m)}var L=m.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(L)}),h.preventDefault(m)}},s.prototype.getHeight=function(){return this.height},s.prototype.scrollTopFromThumbTop=function(u){var m=u*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return m=m>>0,m<0?m=0:m>this.pageHeight-this.viewHeight&&(m=this.pageHeight-this.viewHeight),m},s.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},s.prototype.setHeight=function(u){this.height=Math.max(0,u),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},s.prototype.setScrollHeight=function(u,m){this.pageHeight===u&&!m||(this.pageHeight=u,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},s.prototype.setScrollTop=function(u){this.scrollTop=u,u<0&&(u=0),this.thumbTop=u*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},s}(o);a.prototype.setInnerHeight=a.prototype.setScrollHeight;var l=function(c){p(s,c);function s(u,m){var b=c.call(this,u,"-h")||this;return b.scrollLeft=0,b.scrollWidth=0,b.height=b.HScrollHeight,b.inner.style.height=b.element.style.height=(b.height||12)+"px",b.renderer=m,b}return s.prototype.onMouseDown=function(u,m){if(u==="mousedown"&&!(h.getButton(m)!==0||m.detail===2)){if(m.target===this.inner){var b=this,x=m.clientX,E=function(I){x=I.clientX},$=function(){clearInterval(O)},k=m.clientX,C=this.thumbLeft,R=function(){if(x!==void 0){var I=b.scrollLeftFromThumbLeft(C+x-k);I!==b.scrollLeft&&b._emit("scroll",{data:I})}};h.capture(this.inner,E,$);var O=setInterval(R,20);return h.preventDefault(m)}var L=m.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(L)}),h.preventDefault(m)}},s.prototype.getHeight=function(){return this.isVisible?this.height:0},s.prototype.scrollLeftFromThumbLeft=function(u){var m=u*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return m=m>>0,m<0?m=0:m>this.pageWidth-this.viewWidth&&(m=this.pageWidth-this.viewWidth),m},s.prototype.setWidth=function(u){this.width=Math.max(0,u),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},s.prototype.setScrollWidth=function(u,m){this.pageWidth===u&&!m||(this.pageWidth=u,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},s.prototype.setScrollLeft=function(u){this.scrollLeft=u,u<0&&(u=0),this.thumbLeft=u*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},s}(o);l.prototype.setInnerWidth=l.prototype.setScrollWidth,r.ScrollBar=a,r.ScrollBarV=a,r.ScrollBarH=l,r.VScrollBar=a,r.HScrollBar=l}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(t,r,d){var p=t("./lib/event"),f=function(){function w(h,g){this.onRender=h,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=g||window;var o=this;this._flush=function(a){o.pending=!1;var l=o.changes;if(l&&(p.blockIdle(100),o.changes=0,o.onRender(l)),o.changes){if(o.$recursionLimit--<0)return;o.schedule()}else o.$recursionLimit=2}}return w.prototype.schedule=function(h){this.changes=this.changes|h,this.changes&&!this.pending&&(p.nextFrame(this._flush),this.pending=!0)},w.prototype.clear=function(h){var g=this.changes;return this.changes=0,g},w}();r.RenderLoop=f}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/dom"),w=t("../lib/lang"),h=t("../lib/event"),g=t("../lib/useragent"),o=t("../lib/event_emitter").EventEmitter,a=512,l=typeof ResizeObserver=="function",c=200,s=function(){function u(m){this.el=f.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=f.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=f.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),m.appendChild(this.el),this.$measureNode.textContent=w.stringRepeat("X",a),this.$characterSize={width:0,height:0},l?this.$addObserver():this.checkForSizeChanges()}return u.prototype.$setMeasureNodeStyles=function(m,b){m.width=m.height="auto",m.left=m.top="0px",m.visibility="hidden",m.position="absolute",m.whiteSpace="pre",g.isIE<8?m["font-family"]="inherit":m.font="inherit",m.overflow=b?"hidden":"visible"},u.prototype.checkForSizeChanges=function(m){if(m===void 0&&(m=this.$measureSizes()),m&&(this.$characterSize.width!==m.width||this.$characterSize.height!==m.height)){this.$measureNode.style.fontWeight="bold";var b=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=m,this.charSizes=Object.create(null),this.allowBoldFonts=b&&b.width===m.width&&b.height===m.height,this._emit("changeCharacterSize",{data:m})}},u.prototype.$addObserver=function(){var m=this;this.$observer=new window.ResizeObserver(function(b){m.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},u.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var m=this;return this.$pollSizeChangesTimer=h.onIdle(function b(){m.checkForSizeChanges(),h.onIdle(b,500)},500)},u.prototype.setPolling=function(m){m?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},u.prototype.$measureSizes=function(m){var b={height:(m||this.$measureNode).clientHeight,width:(m||this.$measureNode).clientWidth/a};return b.width===0||b.height===0?null:b},u.prototype.$measureCharWidth=function(m){this.$main.textContent=w.stringRepeat(m,a);var b=this.$main.getBoundingClientRect();return b.width/a},u.prototype.getCharacterWidth=function(m){var b=this.charSizes[m];return b===void 0&&(b=this.charSizes[m]=this.$measureCharWidth(m)/this.$characterSize.width),b},u.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},u.prototype.$getZoom=function(m){return!m||!m.parentElement?1:(Number(window.getComputedStyle(m).zoom)||1)*this.$getZoom(m.parentElement)},u.prototype.$initTransformMeasureNodes=function(){var m=function(b,x){return["div",{style:"position: absolute;top:"+b+"px;left:"+x+"px;"}]};this.els=f.buildDom([m(0,0),m(c,0),m(0,c),m(c,c)],this.el)},u.prototype.transformCoordinates=function(m,b){if(m){var x=this.$getZoom(this.el);m=C(1/x,m)}function E(Q,te,he){var ne=Q[1]*te[0]-Q[0]*te[1];return[(-te[1]*he[0]+te[0]*he[1])/ne,(+Q[1]*he[0]-Q[0]*he[1])/ne]}function $(Q,te){return[Q[0]-te[0],Q[1]-te[1]]}function k(Q,te){return[Q[0]+te[0],Q[1]+te[1]]}function C(Q,te){return[Q*te[0],Q*te[1]]}this.els||this.$initTransformMeasureNodes();function R(Q){var te=Q.getBoundingClientRect();return[te.left,te.top]}var O=R(this.els[0]),L=R(this.els[1]),I=R(this.els[2]),B=R(this.els[3]),P=E($(B,L),$(B,I),$(k(L,I),k(B,O))),D=C(1+P[0],$(L,O)),S=C(1+P[1],$(I,O));if(b){var _=b,N=P[0]*_[0]/c+P[1]*_[1]/c+1,H=k(C(_[0],D),C(_[1],S));return k(C(1/N/c,H),O)}var U=$(m,O),q=E($(D,C(P[0],U)),$(S,C(P[1],U)),U);return C(c,q)},u}();s.prototype.$characterSize={width:0,height:0},p.implement(s.prototype,o),r.FontMetrics=s}),ace.define("ace/css/editor-css",["require","exports","module"],function(t,r,d){d.exports=`
255
+ .ace_br1 {border-top-left-radius : 3px;}
256
+ .ace_br2 {border-top-right-radius : 3px;}
257
+ .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
258
+ .ace_br4 {border-bottom-right-radius: 3px;}
259
+ .ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
260
+ .ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
261
+ .ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
262
+ .ace_br8 {border-bottom-left-radius : 3px;}
263
+ .ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
264
+ .ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
265
+ .ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
266
+ .ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
267
+ .ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
268
+ .ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
269
+ .ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
270
+
271
+
272
+ .ace_editor {
273
+ position: relative;
274
+ overflow: hidden;
275
+ padding: 0;
276
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
277
+ direction: ltr;
278
+ text-align: left;
279
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
280
+ forced-color-adjust: none;
281
+ }
282
+
283
+ .ace_scroller {
284
+ position: absolute;
285
+ overflow: hidden;
286
+ top: 0;
287
+ bottom: 0;
288
+ background-color: inherit;
289
+ -ms-user-select: none;
290
+ -moz-user-select: none;
291
+ -webkit-user-select: none;
292
+ user-select: none;
293
+ cursor: text;
294
+ }
295
+
296
+ .ace_content {
297
+ position: absolute;
298
+ box-sizing: border-box;
299
+ min-width: 100%;
300
+ contain: style size layout;
301
+ font-variant-ligatures: no-common-ligatures;
302
+ }
303
+ .ace_invisible {
304
+ font-variant-ligatures: none;
305
+ }
306
+
307
+ .ace_keyboard-focus:focus {
308
+ box-shadow: inset 0 0 0 2px #5E9ED6;
309
+ outline: none;
310
+ }
311
+
312
+ .ace_dragging .ace_scroller:before{
313
+ position: absolute;
314
+ top: 0;
315
+ left: 0;
316
+ right: 0;
317
+ bottom: 0;
318
+ content: '';
319
+ background: rgba(250, 250, 250, 0.01);
320
+ z-index: 1000;
321
+ }
322
+ .ace_dragging.ace_dark .ace_scroller:before{
323
+ background: rgba(0, 0, 0, 0.01);
324
+ }
325
+
326
+ .ace_gutter {
327
+ position: absolute;
328
+ overflow : hidden;
329
+ width: auto;
330
+ top: 0;
331
+ bottom: 0;
332
+ left: 0;
333
+ cursor: default;
334
+ z-index: 4;
335
+ -ms-user-select: none;
336
+ -moz-user-select: none;
337
+ -webkit-user-select: none;
338
+ user-select: none;
339
+ contain: style size layout;
340
+ }
341
+
342
+ .ace_gutter-active-line {
343
+ position: absolute;
344
+ left: 0;
345
+ right: 0;
346
+ }
347
+
348
+ .ace_scroller.ace_scroll-left:after {
349
+ content: "";
350
+ position: absolute;
351
+ top: 0;
352
+ right: 0;
353
+ bottom: 0;
354
+ left: 0;
355
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
356
+ pointer-events: none;
357
+ }
358
+
359
+ .ace_gutter-cell, .ace_gutter-cell_svg-icons {
360
+ position: absolute;
361
+ top: 0;
362
+ left: 0;
363
+ right: 0;
364
+ padding-left: 19px;
365
+ padding-right: 6px;
366
+ background-repeat: no-repeat;
367
+ }
368
+
369
+ .ace_gutter-cell_svg-icons .ace_gutter_annotation {
370
+ margin-left: -14px;
371
+ float: left;
372
+ }
373
+
374
+ .ace_gutter-cell .ace_gutter_annotation {
375
+ margin-left: -19px;
376
+ float: left;
377
+ }
378
+
379
+ .ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
380
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
381
+ background-repeat: no-repeat;
382
+ background-position: 2px center;
383
+ }
384
+
385
+ .ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
386
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
387
+ background-repeat: no-repeat;
388
+ background-position: 2px center;
389
+ }
390
+
391
+ .ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
392
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
393
+ background-repeat: no-repeat;
394
+ background-position: 2px center;
395
+ }
396
+
397
+ .ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
398
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
399
+ }
400
+
401
+ .ace_icon_svg.ace_error {
402
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
403
+ background-color: crimson;
404
+ }
405
+ .ace_icon_svg.ace_security {
406
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
407
+ background-color: crimson;
408
+ }
409
+ .ace_icon_svg.ace_warning {
410
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
411
+ background-color: darkorange;
412
+ }
413
+ .ace_icon_svg.ace_info {
414
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
415
+ background-color: royalblue;
416
+ }
417
+ .ace_icon_svg.ace_hint {
418
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
419
+ background-color: silver;
420
+ }
421
+
422
+ .ace_icon_svg.ace_error_fold {
423
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
424
+ background-color: crimson;
425
+ }
426
+ .ace_icon_svg.ace_security_fold {
427
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
428
+ background-color: crimson;
429
+ }
430
+ .ace_icon_svg.ace_warning_fold {
431
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
432
+ background-color: darkorange;
433
+ }
434
+
435
+ .ace_scrollbar {
436
+ contain: strict;
437
+ position: absolute;
438
+ right: 0;
439
+ bottom: 0;
440
+ z-index: 6;
441
+ }
442
+
443
+ .ace_scrollbar-inner {
444
+ position: absolute;
445
+ cursor: text;
446
+ left: 0;
447
+ top: 0;
448
+ }
449
+
450
+ .ace_scrollbar-v{
451
+ overflow-x: hidden;
452
+ overflow-y: scroll;
453
+ top: 0;
454
+ }
455
+
456
+ .ace_scrollbar-h {
457
+ overflow-x: scroll;
458
+ overflow-y: hidden;
459
+ left: 0;
460
+ }
461
+
462
+ .ace_print-margin {
463
+ position: absolute;
464
+ height: 100%;
465
+ }
466
+
467
+ .ace_text-input {
468
+ position: absolute;
469
+ z-index: 0;
470
+ width: 0.5em;
471
+ height: 1em;
472
+ opacity: 0;
473
+ background: transparent;
474
+ -moz-appearance: none;
475
+ appearance: none;
476
+ border: none;
477
+ resize: none;
478
+ outline: none;
479
+ overflow: hidden;
480
+ font: inherit;
481
+ padding: 0 1px;
482
+ margin: 0 -1px;
483
+ contain: strict;
484
+ -ms-user-select: text;
485
+ -moz-user-select: text;
486
+ -webkit-user-select: text;
487
+ user-select: text;
488
+ /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
489
+ white-space: pre!important;
490
+ }
491
+ .ace_text-input.ace_composition {
492
+ background: transparent;
493
+ color: inherit;
494
+ z-index: 1000;
495
+ opacity: 1;
496
+ }
497
+ .ace_composition_placeholder { color: transparent }
498
+ .ace_composition_marker {
499
+ border-bottom: 1px solid;
500
+ position: absolute;
501
+ border-radius: 0;
502
+ margin-top: 1px;
503
+ }
504
+
505
+ [ace_nocontext=true] {
506
+ transform: none!important;
507
+ filter: none!important;
508
+ clip-path: none!important;
509
+ mask : none!important;
510
+ contain: none!important;
511
+ perspective: none!important;
512
+ mix-blend-mode: initial!important;
513
+ z-index: auto;
514
+ }
515
+
516
+ .ace_layer {
517
+ z-index: 1;
518
+ position: absolute;
519
+ overflow: hidden;
520
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
521
+ word-wrap: normal;
522
+ white-space: pre;
523
+ height: 100%;
524
+ width: 100%;
525
+ box-sizing: border-box;
526
+ /* setting pointer-events: auto; on node under the mouse, which changes
527
+ during scroll, will break mouse wheel scrolling in Safari */
528
+ pointer-events: none;
529
+ }
530
+
531
+ .ace_gutter-layer {
532
+ position: relative;
533
+ width: auto;
534
+ text-align: right;
535
+ pointer-events: auto;
536
+ height: 1000000px;
537
+ contain: style size layout;
538
+ }
539
+
540
+ .ace_text-layer {
541
+ font: inherit !important;
542
+ position: absolute;
543
+ height: 1000000px;
544
+ width: 1000000px;
545
+ contain: style size layout;
546
+ }
547
+
548
+ .ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
549
+ contain: style size layout;
550
+ position: absolute;
551
+ top: 0;
552
+ left: 0;
553
+ right: 0;
554
+ }
555
+
556
+ .ace_hidpi .ace_text-layer,
557
+ .ace_hidpi .ace_gutter-layer,
558
+ .ace_hidpi .ace_content,
559
+ .ace_hidpi .ace_gutter {
560
+ contain: strict;
561
+ }
562
+ .ace_hidpi .ace_text-layer > .ace_line,
563
+ .ace_hidpi .ace_text-layer > .ace_line_group {
564
+ contain: strict;
565
+ }
566
+
567
+ .ace_cjk {
568
+ display: inline-block;
569
+ text-align: center;
570
+ }
571
+
572
+ .ace_cursor-layer {
573
+ z-index: 4;
574
+ }
575
+
576
+ .ace_cursor {
577
+ z-index: 4;
578
+ position: absolute;
579
+ box-sizing: border-box;
580
+ border-left: 2px solid;
581
+ /* workaround for smooth cursor repaintng whole screen in chrome */
582
+ transform: translatez(0);
583
+ }
584
+
585
+ .ace_multiselect .ace_cursor {
586
+ border-left-width: 1px;
587
+ }
588
+
589
+ .ace_slim-cursors .ace_cursor {
590
+ border-left-width: 1px;
591
+ }
592
+
593
+ .ace_overwrite-cursors .ace_cursor {
594
+ border-left-width: 0;
595
+ border-bottom: 1px solid;
596
+ }
597
+
598
+ .ace_hidden-cursors .ace_cursor {
599
+ opacity: 0.2;
600
+ }
601
+
602
+ .ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
603
+ opacity: 0;
604
+ }
605
+
606
+ .ace_smooth-blinking .ace_cursor {
607
+ transition: opacity 0.18s;
608
+ }
609
+
610
+ .ace_animate-blinking .ace_cursor {
611
+ animation-duration: 1000ms;
612
+ animation-timing-function: step-end;
613
+ animation-name: blink-ace-animate;
614
+ animation-iteration-count: infinite;
615
+ }
616
+
617
+ .ace_animate-blinking.ace_smooth-blinking .ace_cursor {
618
+ animation-duration: 1000ms;
619
+ animation-timing-function: ease-in-out;
620
+ animation-name: blink-ace-animate-smooth;
621
+ }
622
+
623
+ @keyframes blink-ace-animate {
624
+ from, to { opacity: 1; }
625
+ 60% { opacity: 0; }
626
+ }
627
+
628
+ @keyframes blink-ace-animate-smooth {
629
+ from, to { opacity: 1; }
630
+ 45% { opacity: 1; }
631
+ 60% { opacity: 0; }
632
+ 85% { opacity: 0; }
633
+ }
634
+
635
+ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
636
+ position: absolute;
637
+ z-index: 3;
638
+ }
639
+
640
+ .ace_marker-layer .ace_selection {
641
+ position: absolute;
642
+ z-index: 5;
643
+ }
644
+
645
+ .ace_marker-layer .ace_bracket {
646
+ position: absolute;
647
+ z-index: 6;
648
+ }
649
+
650
+ .ace_marker-layer .ace_error_bracket {
651
+ position: absolute;
652
+ border-bottom: 1px solid #DE5555;
653
+ border-radius: 0;
654
+ }
655
+
656
+ .ace_marker-layer .ace_active-line {
657
+ position: absolute;
658
+ z-index: 2;
659
+ }
660
+
661
+ .ace_marker-layer .ace_selected-word {
662
+ position: absolute;
663
+ z-index: 4;
664
+ box-sizing: border-box;
665
+ }
666
+
667
+ .ace_line .ace_fold {
668
+ box-sizing: border-box;
669
+
670
+ display: inline-block;
671
+ height: 11px;
672
+ margin-top: -2px;
673
+ vertical-align: middle;
674
+
675
+ background-image:
676
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
677
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
678
+ background-repeat: no-repeat, repeat-x;
679
+ background-position: center center, top left;
680
+ color: transparent;
681
+
682
+ border: 1px solid black;
683
+ border-radius: 2px;
684
+
685
+ cursor: pointer;
686
+ pointer-events: auto;
687
+ }
688
+
689
+ .ace_dark .ace_fold {
690
+ }
691
+
692
+ .ace_fold:hover{
693
+ background-image:
694
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
695
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
696
+ }
697
+
698
+ .ace_tooltip {
699
+ background-color: #f5f5f5;
700
+ border: 1px solid gray;
701
+ border-radius: 1px;
702
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
703
+ color: black;
704
+ padding: 3px 4px;
705
+ position: fixed;
706
+ z-index: 999999;
707
+ box-sizing: border-box;
708
+ cursor: default;
709
+ white-space: pre-wrap;
710
+ word-wrap: break-word;
711
+ line-height: normal;
712
+ font-style: normal;
713
+ font-weight: normal;
714
+ letter-spacing: normal;
715
+ pointer-events: none;
716
+ overflow: auto;
717
+ max-width: min(33em, 66vw);
718
+ overscroll-behavior: contain;
719
+ }
720
+ .ace_tooltip pre {
721
+ white-space: pre-wrap;
722
+ }
723
+
724
+ .ace_tooltip.ace_dark {
725
+ background-color: #636363;
726
+ color: #fff;
727
+ }
728
+
729
+ .ace_tooltip:focus {
730
+ outline: 1px solid #5E9ED6;
731
+ }
732
+
733
+ .ace_icon {
734
+ display: inline-block;
735
+ width: 18px;
736
+ vertical-align: top;
737
+ }
738
+
739
+ .ace_icon_svg {
740
+ display: inline-block;
741
+ width: 12px;
742
+ vertical-align: top;
743
+ -webkit-mask-repeat: no-repeat;
744
+ -webkit-mask-size: 12px;
745
+ -webkit-mask-position: center;
746
+ }
747
+
748
+ .ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
749
+ padding-right: 13px;
750
+ }
751
+
752
+ .ace_fold-widget, .ace_custom-widget {
753
+ box-sizing: border-box;
754
+
755
+ margin: 0 -12px 0 1px;
756
+ display: none;
757
+ width: 11px;
758
+ vertical-align: top;
759
+
760
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
761
+ background-repeat: no-repeat;
762
+ background-position: center;
763
+
764
+ border-radius: 3px;
765
+
766
+ border: 1px solid transparent;
767
+ cursor: pointer;
768
+ pointer-events: auto;
769
+ }
770
+
771
+ .ace_custom-widget {
772
+ background: none;
773
+ }
774
+
775
+ .ace_folding-enabled .ace_fold-widget {
776
+ display: inline-block;
777
+ }
778
+
779
+ .ace_fold-widget.ace_end {
780
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
781
+ }
782
+
783
+ .ace_fold-widget.ace_closed {
784
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
785
+ }
786
+
787
+ .ace_fold-widget:hover {
788
+ border: 1px solid rgba(0, 0, 0, 0.3);
789
+ background-color: rgba(255, 255, 255, 0.2);
790
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
791
+ }
792
+
793
+ .ace_fold-widget:active {
794
+ border: 1px solid rgba(0, 0, 0, 0.4);
795
+ background-color: rgba(0, 0, 0, 0.05);
796
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
797
+ }
798
+ /**
799
+ * Dark version for fold widgets
800
+ */
801
+ .ace_dark .ace_fold-widget {
802
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
803
+ }
804
+ .ace_dark .ace_fold-widget.ace_end {
805
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
806
+ }
807
+ .ace_dark .ace_fold-widget.ace_closed {
808
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
809
+ }
810
+ .ace_dark .ace_fold-widget:hover {
811
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
812
+ background-color: rgba(255, 255, 255, 0.1);
813
+ }
814
+ .ace_dark .ace_fold-widget:active {
815
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
816
+ }
817
+
818
+ .ace_inline_button {
819
+ border: 1px solid lightgray;
820
+ display: inline-block;
821
+ margin: -1px 8px;
822
+ padding: 0 5px;
823
+ pointer-events: auto;
824
+ cursor: pointer;
825
+ }
826
+ .ace_inline_button:hover {
827
+ border-color: gray;
828
+ background: rgba(200,200,200,0.2);
829
+ display: inline-block;
830
+ pointer-events: auto;
831
+ }
832
+
833
+ .ace_fold-widget.ace_invalid {
834
+ background-color: #FFB4B4;
835
+ border-color: #DE5555;
836
+ }
837
+
838
+ .ace_fade-fold-widgets .ace_fold-widget {
839
+ transition: opacity 0.4s ease 0.05s;
840
+ opacity: 0;
841
+ }
842
+
843
+ .ace_fade-fold-widgets:hover .ace_fold-widget {
844
+ transition: opacity 0.05s ease 0.05s;
845
+ opacity:1;
846
+ }
847
+
848
+ .ace_underline {
849
+ text-decoration: underline;
850
+ }
851
+
852
+ .ace_bold {
853
+ font-weight: bold;
854
+ }
855
+
856
+ .ace_nobold .ace_bold {
857
+ font-weight: normal;
858
+ }
859
+
860
+ .ace_italic {
861
+ font-style: italic;
862
+ }
863
+
864
+
865
+ .ace_error-marker {
866
+ background-color: rgba(255, 0, 0,0.2);
867
+ position: absolute;
868
+ z-index: 9;
869
+ }
870
+
871
+ .ace_highlight-marker {
872
+ background-color: rgba(255, 255, 0,0.2);
873
+ position: absolute;
874
+ z-index: 8;
875
+ }
876
+
877
+ .ace_mobile-menu {
878
+ position: absolute;
879
+ line-height: 1.5;
880
+ border-radius: 4px;
881
+ -ms-user-select: none;
882
+ -moz-user-select: none;
883
+ -webkit-user-select: none;
884
+ user-select: none;
885
+ background: white;
886
+ box-shadow: 1px 3px 2px grey;
887
+ border: 1px solid #dcdcdc;
888
+ color: black;
889
+ }
890
+ .ace_dark > .ace_mobile-menu {
891
+ background: #333;
892
+ color: #ccc;
893
+ box-shadow: 1px 3px 2px grey;
894
+ border: 1px solid #444;
895
+
896
+ }
897
+ .ace_mobile-button {
898
+ padding: 2px;
899
+ cursor: pointer;
900
+ overflow: hidden;
901
+ }
902
+ .ace_mobile-button:hover {
903
+ background-color: #eee;
904
+ opacity:1;
905
+ }
906
+ .ace_mobile-button:active {
907
+ background-color: #ddd;
908
+ }
909
+
910
+ .ace_placeholder {
911
+ position: relative;
912
+ font-family: arial;
913
+ transform: scale(0.9);
914
+ transform-origin: left;
915
+ white-space: pre;
916
+ opacity: 0.7;
917
+ margin: 0 10px;
918
+ z-index: 1;
919
+ }
920
+
921
+ .ace_ghost_text {
922
+ opacity: 0.5;
923
+ font-style: italic;
924
+ }
925
+
926
+ .ace_ghost_text_container > div {
927
+ white-space: pre;
928
+ }
929
+
930
+ .ghost_text_line_wrapped::after {
931
+ content: "↩";
932
+ position: absolute;
933
+ }
934
+
935
+ .ace_lineWidgetContainer.ace_ghost_text {
936
+ margin: 0px 4px
937
+ }
938
+
939
+ .ace_screenreader-only {
940
+ position:absolute;
941
+ left:-10000px;
942
+ top:auto;
943
+ width:1px;
944
+ height:1px;
945
+ overflow:hidden;
946
+ }
947
+
948
+ .ace_hidden_token {
949
+ display: none;
950
+ }`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(t,r,d){var p=t("../lib/dom"),f=t("../lib/oop"),w=t("../lib/event_emitter").EventEmitter,h=function(){function g(o,a){this.renderer=a,this.pixelRatio=1,this.maxHeight=a.layerConfig.maxHeight,this.lineHeight=a.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setScrollBarV(o)}return g.prototype.$createCanvas=function(){this.canvas=p.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},g.prototype.setScrollBarV=function(o){this.$createCanvas(),this.scrollbarV=o,o.element.appendChild(this.canvas),this.setDimensions()},g.prototype.$updateDecorators=function(o){if(typeof this.canvas.getContext!="function")return;var a=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(o);var l=this.canvas.getContext("2d");function c(D,S){return D.priority<S.priority?-1:D.priority>S.priority?1:0}var s=this.renderer.session.$annotations;if(l.clearRect(0,0,this.canvas.width,this.canvas.height),s){var u={info:1,warning:2,error:3};s.forEach(function(D){D.priority=u[D.type]||null}),s=s.sort(c);for(var m=0;m<s.length;m++){var b=s[m].row,x=this.getVerticalOffsetForRow(b),E=x+this.lineHeight,$=Math.round(this.heightRatio*x),k=Math.round(this.heightRatio*E),C=Math.round(($+k)/2),R=k-C;R<this.halfMinDecorationHeight&&(R=this.halfMinDecorationHeight),C-R<0&&(C=R),C+R>this.canvasHeight&&(C=this.canvasHeight-R);var O=C-R,L=C+R,I=L-O;l.fillStyle=a[s[m].type]||null,l.fillRect(0,O,Math.round(this.oneZoneWidth-1),I)}}var B=this.renderer.session.selection.getCursor();if(B){var P=Math.round(this.getVerticalOffsetForRow(B.row)*this.heightRatio);l.fillStyle="rgba(0, 0, 0, 0.5)",l.fillRect(0,P,this.canvasWidth,2)}},g.prototype.getVerticalOffsetForRow=function(o){o=o|0;var a=this.renderer.session.documentToScreenRow(o,0)*this.lineHeight;return a},g.prototype.setDimensions=function(o){o=o||this.renderer.layerConfig,this.maxHeight=o.maxHeight,this.lineHeight=o.lineHeight,this.canvasHeight=o.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},g.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},g.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},g}();f.implement(h.prototype,w),r.Decorator=h}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(t,r,d){var p=t("./lib/oop"),f=t("./lib/dom"),w=t("./lib/lang"),h=t("./config"),g=t("./layer/gutter").Gutter,o=t("./layer/marker").Marker,a=t("./layer/text").Text,l=t("./layer/cursor").Cursor,c=t("./scrollbar").HScrollBar,s=t("./scrollbar").VScrollBar,u=t("./scrollbar_custom").HScrollBar,m=t("./scrollbar_custom").VScrollBar,b=t("./renderloop").RenderLoop,x=t("./layer/font_metrics").FontMetrics,E=t("./lib/event_emitter").EventEmitter,$=t("./css/editor-css"),k=t("./layer/decorators").Decorator,C=t("./lib/useragent"),R=t("./layer/text_util").isTextToken;f.importCssString($,"ace_editor.css",!1);var O=function(){function L(I,B){var P=this;this.container=I||f.createElement("div"),f.addCssClass(this.container,"ace_editor"),f.HI_DPI&&f.addCssClass(this.container,"ace_hidpi"),this.setTheme(B),h.get("useStrictCSP")==null&&h.set("useStrictCSP",!1),this.$gutter=f.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=f.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=f.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new g(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new o(this.content);var D=this.$textLayer=new a(this.content);this.canvas=D.element,this.$markerFront=new o(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new s(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.on("scroll",function(S){P.$scrollAnimation||P.session.setScrollTop(S.data-P.scrollMargin.top)}),this.scrollBarH.on("scroll",function(S){P.$scrollAnimation||P.session.setScrollLeft(S.data-P.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new x(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(S){P.updateCharacterSize(),P.onResize(!0,P.gutterWidth,P.$size.width,P.$size.height),P._signal("changeCharacterSize",S)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!C.isIOS,this.$loop=new b(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),h.resetOptions(this),h._signal("renderer",this)}return L.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),f.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},L.prototype.setSession=function(I){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=I,I&&this.scrollMargin.top&&I.getScrollTop()<=0&&I.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(I),this.$markerBack.setSession(I),this.$markerFront.setSession(I),this.$gutterLayer.setSession(I),this.$textLayer.setSession(I),I&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},L.prototype.updateLines=function(I,B,P){if(B===void 0&&(B=1/0),this.$changedLines?(this.$changedLines.firstRow>I&&(this.$changedLines.firstRow=I),this.$changedLines.lastRow<B&&(this.$changedLines.lastRow=B)):this.$changedLines={firstRow:I,lastRow:B},this.$changedLines.lastRow<this.layerConfig.firstRow)if(P)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},L.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},L.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},L.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},L.prototype.updateFull=function(I){I?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},L.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},L.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},L.prototype.onResize=function(I,B,P,D){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=I?1:0;var S=this.container;D||(D=S.clientHeight||S.scrollHeight),!D&&this.$maxLines&&this.lineHeight>1&&(!S.style.height||S.style.height=="0px")&&(S.style.height="1px",D=S.clientHeight||S.scrollHeight),P||(P=S.clientWidth||S.scrollWidth);var _=this.$updateCachedSize(I,B,P,D);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!P&&!D)return this.resizing=0;I&&(this.$gutterLayer.$padding=null),I?this.$renderChanges(_|this.$changes,!0):this.$loop.schedule(_|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},L.prototype.$updateCachedSize=function(I,B,P,D){D-=this.$extraHeight||0;var S=0,_=this.$size,N={width:_.width,height:_.height,scrollerHeight:_.scrollerHeight,scrollerWidth:_.scrollerWidth};if(D&&(I||_.height!=D)&&(_.height=D,S|=this.CHANGE_SIZE,_.scrollerHeight=_.height,this.$horizScroll&&(_.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(_.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",S=S|this.CHANGE_SCROLL),P&&(I||_.width!=P)){S|=this.CHANGE_SIZE,_.width=P,B==null&&(B=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=B,f.setStyle(this.scrollBarH.element.style,"left",B+"px"),f.setStyle(this.scroller.style,"left",B+this.margin.left+"px"),_.scrollerWidth=Math.max(0,P-B-this.scrollBarV.getWidth()-this.margin.h),f.setStyle(this.$gutter.style,"left",this.margin.left+"px");var H=this.scrollBarV.getWidth()+"px";f.setStyle(this.scrollBarH.element.style,"right",H),f.setStyle(this.scroller.style,"right",H),f.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(_.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||I)&&(S|=this.CHANGE_FULL)}return _.$dirty=!P||!D,S&&this._signal("resize",N),S},L.prototype.onGutterResize=function(I){var B=this.$showGutter?I:0;B!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,B,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},L.prototype.adjustWrapLimit=function(){var I=this.$size.scrollerWidth-this.$padding*2,B=Math.floor(I/this.characterWidth);return this.session.adjustWrapLimit(B,this.$showPrintMargin&&this.$printMarginColumn)},L.prototype.setAnimatedScroll=function(I){this.setOption("animatedScroll",I)},L.prototype.getAnimatedScroll=function(){return this.$animatedScroll},L.prototype.setShowInvisibles=function(I){this.setOption("showInvisibles",I),this.session.$bidiHandler.setShowInvisibles(I)},L.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},L.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},L.prototype.setDisplayIndentGuides=function(I){this.setOption("displayIndentGuides",I)},L.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},L.prototype.setHighlightIndentGuides=function(I){this.setOption("highlightIndentGuides",I)},L.prototype.setShowPrintMargin=function(I){this.setOption("showPrintMargin",I)},L.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},L.prototype.setPrintMarginColumn=function(I){this.setOption("printMarginColumn",I)},L.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},L.prototype.getShowGutter=function(){return this.getOption("showGutter")},L.prototype.setShowGutter=function(I){return this.setOption("showGutter",I)},L.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},L.prototype.setFadeFoldWidgets=function(I){this.setOption("fadeFoldWidgets",I)},L.prototype.setHighlightGutterLine=function(I){this.setOption("highlightGutterLine",I)},L.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},L.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var I=f.createElement("div");I.className="ace_layer ace_print-margin-layer",this.$printMarginEl=f.createElement("div"),this.$printMarginEl.className="ace_print-margin",I.appendChild(this.$printMarginEl),this.content.insertBefore(I,this.content.firstChild)}var B=this.$printMarginEl.style;B.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",B.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},L.prototype.getContainerElement=function(){return this.container},L.prototype.getMouseEventTarget=function(){return this.scroller},L.prototype.getTextAreaContainer=function(){return this.container},L.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var I=this.textarea.style,B=this.$composition;if(!this.$keepTextAreaAtCursor&&!B){f.translate(this.textarea,-100,0);return}var P=this.$cursorLayer.$pixelPos;if(P){B&&B.markerRange&&(P=this.$cursorLayer.getPixelPosition(B.markerRange.start,!0));var D=this.layerConfig,S=P.top,_=P.left;S-=D.offset;var N=B&&B.useTextareaForIME||C.isMobile?this.lineHeight:1;if(S<0||S>D.height-N){f.translate(this.textarea,0,0);return}var H=1,U=this.$size.height-N;if(!B)S+=this.lineHeight;else if(B.useTextareaForIME){var q=this.textarea.value;H=this.characterWidth*this.session.$getStringScreenWidth(q)[0]}else S+=this.lineHeight+2;_-=this.scrollLeft,_>this.$size.scrollerWidth-H&&(_=this.$size.scrollerWidth-H),_+=this.gutterWidth+this.margin.left,f.setStyle(I,"height",N+"px"),f.setStyle(I,"width",H+"px"),f.translate(this.textarea,Math.min(_,this.$size.scrollerWidth-H),Math.min(S,U))}}},L.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},L.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},L.prototype.getLastFullyVisibleRow=function(){var I=this.layerConfig,B=I.lastRow,P=this.session.documentToScreenRow(B,0)*I.lineHeight;return P-this.session.getScrollTop()>I.height-I.lineHeight?B-1:B},L.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},L.prototype.setPadding=function(I){this.$padding=I,this.$textLayer.setPadding(I),this.$cursorLayer.setPadding(I),this.$markerFront.setPadding(I),this.$markerBack.setPadding(I),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},L.prototype.setScrollMargin=function(I,B,P,D){var S=this.scrollMargin;S.top=I|0,S.bottom=B|0,S.right=D|0,S.left=P|0,S.v=S.top+S.bottom,S.h=S.left+S.right,S.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-S.top),this.updateFull()},L.prototype.setMargin=function(I,B,P,D){var S=this.margin;S.top=I|0,S.bottom=B|0,S.right=D|0,S.left=P|0,S.v=S.top+S.bottom,S.h=S.left+S.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},L.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},L.prototype.setHScrollBarAlwaysVisible=function(I){this.setOption("hScrollBarAlwaysVisible",I)},L.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},L.prototype.setVScrollBarAlwaysVisible=function(I){this.setOption("vScrollBarAlwaysVisible",I)},L.prototype.$updateScrollBarV=function(){var I=this.layerConfig.maxHeight,B=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(I-=(B-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>I-B&&(I=this.scrollTop+B,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(I+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},L.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},L.prototype.freeze=function(){this.$frozen=!0},L.prototype.unfreeze=function(){this.$frozen=!1},L.prototype.$renderChanges=function(I,B){if(this.$changes&&(I|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!I&&!B){this.$changes|=I;return}if(this.$size.$dirty)return this.$changes|=I,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",I),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var P=this.layerConfig;if(I&this.CHANGE_FULL||I&this.CHANGE_SIZE||I&this.CHANGE_TEXT||I&this.CHANGE_LINES||I&this.CHANGE_SCROLL||I&this.CHANGE_H_SCROLL){if(I|=this.$computeLayerConfig()|this.$loop.clear(),P.firstRow!=this.layerConfig.firstRow&&P.firstRowScreen==this.layerConfig.firstRowScreen){var D=this.scrollTop+(P.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;D>0&&(this.scrollTop=D,I=I|this.CHANGE_SCROLL,I|=this.$computeLayerConfig()|this.$loop.clear())}P=this.layerConfig,this.$updateScrollBarV(),I&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),f.translate(this.content,-this.scrollLeft,-P.offset);var S=P.width+2*this.$padding+"px",_=P.minHeight+"px";f.setStyle(this.content.style,"width",S),f.setStyle(this.content.style,"height",_)}if(I&this.CHANGE_H_SCROLL&&(f.translate(this.content,-this.scrollLeft,-P.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),I&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(P),this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P),this.$markerBack.update(P),this.$markerFront.update(P),this.$cursorLayer.update(P),this.$moveTextAreaToCursor(),this._signal("afterRender",I);return}if(I&this.CHANGE_SCROLL){this.$changedLines=null,I&this.CHANGE_TEXT||I&this.CHANGE_LINES?this.$textLayer.update(P):this.$textLayer.scrollLines(P),this.$showGutter&&(I&this.CHANGE_GUTTER||I&this.CHANGE_LINES?this.$gutterLayer.update(P):this.$gutterLayer.scrollLines(P)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P),this.$markerBack.update(P),this.$markerFront.update(P),this.$cursorLayer.update(P),this.$moveTextAreaToCursor(),this._signal("afterRender",I);return}I&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(P),this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):I&this.CHANGE_LINES?((this.$updateLines()||I&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):I&this.CHANGE_TEXT||I&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)):I&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(P),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(P)),I&this.CHANGE_CURSOR&&(this.$cursorLayer.update(P),this.$moveTextAreaToCursor()),I&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(P),I&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(P),this._signal("afterRender",I)},L.prototype.$autosize=function(){var I=this.session.getScreenLength()*this.lineHeight,B=this.$maxLines*this.lineHeight,P=Math.min(B,Math.max((this.$minLines||1)*this.lineHeight,I))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(P+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&P>this.$maxPixelHeight&&(P=this.$maxPixelHeight);var D=P<=2*this.lineHeight,S=!D&&I>B;if(P!=this.desiredHeight||this.$size.height!=this.desiredHeight||S!=this.$vScroll){S!=this.$vScroll&&(this.$vScroll=S,this.scrollBarV.setVisible(S));var _=this.container.clientWidth;this.container.style.height=P+"px",this.$updateCachedSize(!0,this.$gutterWidth,_,P),this.desiredHeight=P,this._signal("autosize")}},L.prototype.$computeLayerConfig=function(){var I=this.session,B=this.$size,P=B.height<=2*this.lineHeight,D=this.session.getScreenLength(),S=D*this.lineHeight,_=this.$getLongestLine(),N=!P&&(this.$hScrollBarAlwaysVisible||B.scrollerWidth-_-2*this.$padding<0),H=this.$horizScroll!==N;H&&(this.$horizScroll=N,this.scrollBarH.setVisible(N));var U=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),P=B.height<=2*this.lineHeight);var q=B.scrollerHeight+this.lineHeight,Q=!this.$maxLines&&this.$scrollPastEnd?(B.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;S+=Q;var te=this.scrollMargin;this.session.setScrollTop(Math.max(-te.top,Math.min(this.scrollTop,S-B.scrollerHeight+te.bottom))),this.session.setScrollLeft(Math.max(-te.left,Math.min(this.scrollLeft,_+2*this.$padding-B.scrollerWidth+te.right)));var he=!P&&(this.$vScrollBarAlwaysVisible||B.scrollerHeight-S+Q<0||this.scrollTop>te.top),ne=U!==he;ne&&(this.$vScroll=he,this.scrollBarV.setVisible(he));var le=this.scrollTop%this.lineHeight,ue=Math.ceil(q/this.lineHeight)-1,ce=Math.max(0,Math.round((this.scrollTop-le)/this.lineHeight)),ge=ce+ue,Se,$e,Te=this.lineHeight;ce=I.screenToDocumentRow(ce,0);var Ze=I.getFoldLine(ce);Ze&&(ce=Ze.start.row),Se=I.documentToScreenRow(ce,0),$e=I.getRowLength(ce)*Te,ge=Math.min(I.screenToDocumentRow(ge,0),I.getLength()-1),q=B.scrollerHeight+I.getRowLength(ge)*Te+$e,le=this.scrollTop-Se*Te,le<0&&Se>0&&(Se=Math.max(0,Se+Math.floor(le/Te)),le=this.scrollTop-Se*Te);var qe=0;return(this.layerConfig.width!=_||H)&&(qe=this.CHANGE_H_SCROLL),(H||ne)&&(qe|=this.$updateCachedSize(!0,this.gutterWidth,B.width,B.height),this._signal("scrollbarVisibilityChanged"),ne&&(_=this.$getLongestLine())),this.layerConfig={width:_,padding:this.$padding,firstRow:ce,firstRowScreen:Se,lastRow:ge,lineHeight:Te,characterWidth:this.characterWidth,minHeight:q,maxHeight:S,offset:le,gutterOffset:Te?Math.max(0,Math.ceil((le+B.height-B.scrollerHeight)/Te)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(_-this.$padding),qe},L.prototype.$updateLines=function(){if(this.$changedLines){var I=this.$changedLines.firstRow,B=this.$changedLines.lastRow;this.$changedLines=null;var P=this.layerConfig;if(!(I>P.lastRow+1)&&!(B<P.firstRow)){if(B===1/0){this.$showGutter&&this.$gutterLayer.update(P),this.$textLayer.update(P);return}return this.$textLayer.updateLines(P,I,B),!0}}},L.prototype.$getLongestLine=function(){var I=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(I+=1),this.$textLayer&&I>this.$textLayer.MAX_LINE_LENGTH&&(I=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(I*this.characterWidth))},L.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},L.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},L.prototype.addGutterDecoration=function(I,B){this.$gutterLayer.addGutterDecoration(I,B)},L.prototype.removeGutterDecoration=function(I,B){this.$gutterLayer.removeGutterDecoration(I,B)},L.prototype.updateBreakpoints=function(I){this._rows=I,this.$loop.schedule(this.CHANGE_GUTTER)},L.prototype.setAnnotations=function(I){this.$gutterLayer.setAnnotations(I),this.$loop.schedule(this.CHANGE_GUTTER)},L.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},L.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},L.prototype.showCursor=function(){this.$cursorLayer.showCursor()},L.prototype.scrollSelectionIntoView=function(I,B,P){this.scrollCursorIntoView(I,P),this.scrollCursorIntoView(B,P)},L.prototype.scrollCursorIntoView=function(I,B,P){if(this.$size.scrollerHeight!==0){var D=this.$cursorLayer.getPixelPosition(I),S=D.left,_=D.top,N=P&&P.top||0,H=P&&P.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var U=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;U+N>_?(B&&U+N>_+this.lineHeight&&(_-=B*this.$size.scrollerHeight),_===0&&(_=-this.scrollMargin.top),this.session.setScrollTop(_)):U+this.$size.scrollerHeight-H<_+this.lineHeight&&(B&&U+this.$size.scrollerHeight-H<_-this.lineHeight&&(_+=B*this.$size.scrollerHeight),this.session.setScrollTop(_+this.lineHeight+H-this.$size.scrollerHeight));var q=this.scrollLeft,Q=2*this.layerConfig.characterWidth;S-Q<q?(S-=Q,S<this.$padding+Q&&(S=-this.scrollMargin.left),this.session.setScrollLeft(S)):(S+=Q,q+this.$size.scrollerWidth<S+this.characterWidth?this.session.setScrollLeft(Math.round(S+this.characterWidth-this.$size.scrollerWidth)):q<=this.$padding&&S-q<this.characterWidth&&this.session.setScrollLeft(0))}},L.prototype.getScrollTop=function(){return this.session.getScrollTop()},L.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},L.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},L.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},L.prototype.scrollToRow=function(I){this.session.setScrollTop(I*this.lineHeight)},L.prototype.alignCursor=function(I,B){typeof I=="number"&&(I={row:I,column:0});var P=this.$cursorLayer.getPixelPosition(I),D=this.$size.scrollerHeight-this.lineHeight,S=P.top-D*(B||0);return this.session.setScrollTop(S),S},L.prototype.$calcSteps=function(I,B){var P=0,D=this.STEPS,S=[],_=function(N,H,U){return U*(Math.pow(N-1,3)+1)+H};for(P=0;P<D;++P)S.push(_(P/this.STEPS,I,B-I));return S},L.prototype.scrollToLine=function(I,B,P,D){var S=this.$cursorLayer.getPixelPosition({row:I,column:0}),_=S.top;B&&(_-=this.$size.scrollerHeight/2);var N=this.scrollTop;this.session.setScrollTop(_),P!==!1&&this.animateScrolling(N,D)},L.prototype.animateScrolling=function(I,B){var P=this.scrollTop;if(!this.$animatedScroll)return;var D=this;if(I==P)return;if(this.$scrollAnimation){var S=this.$scrollAnimation.steps;if(S.length&&(I=S[0],I==P))return}var _=D.$calcSteps(I,P);this.$scrollAnimation={from:I,to:P,steps:_},clearInterval(this.$timer),D.session.setScrollTop(_.shift()),D.session.$scrollTop=P;function N(){D.$timer=clearInterval(D.$timer),D.$scrollAnimation=null,D.$stopAnimation=!1,B&&B()}this.$timer=setInterval(function(){if(D.$stopAnimation){N();return}if(!D.session)return clearInterval(D.$timer);_.length?(D.session.setScrollTop(_.shift()),D.session.$scrollTop=P):P!=null?(D.session.$scrollTop=-1,D.session.setScrollTop(P),P=null):N()},10)},L.prototype.scrollToY=function(I){this.scrollTop!==I&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=I)},L.prototype.scrollToX=function(I){this.scrollLeft!==I&&(this.scrollLeft=I),this.$loop.schedule(this.CHANGE_H_SCROLL)},L.prototype.scrollTo=function(I,B){this.session.setScrollTop(B),this.session.setScrollLeft(I)},L.prototype.scrollBy=function(I,B){B&&this.session.setScrollTop(this.session.getScrollTop()+B),I&&this.session.setScrollLeft(this.session.getScrollLeft()+I)},L.prototype.isScrollableBy=function(I,B){if(B<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||B>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||I<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||I>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},L.prototype.pixelToScreenCoordinates=function(I,B){var P;if(this.$hasCssTransforms){P={top:0,left:0};var D=this.$fontMetrics.transformCoordinates([I,B]);I=D[1]-this.gutterWidth-this.margin.left,B=D[0]}else P=this.scroller.getBoundingClientRect();var S=I+this.scrollLeft-P.left-this.$padding,_=S/this.characterWidth,N=Math.floor((B+this.scrollTop-P.top)/this.lineHeight),H=this.$blockCursor?Math.floor(_):Math.round(_);return{row:N,column:H,side:_-H>0?1:-1,offsetX:S}},L.prototype.screenToTextCoordinates=function(I,B){var P;if(this.$hasCssTransforms){P={top:0,left:0};var D=this.$fontMetrics.transformCoordinates([I,B]);I=D[1]-this.gutterWidth-this.margin.left,B=D[0]}else P=this.scroller.getBoundingClientRect();var S=I+this.scrollLeft-P.left-this.$padding,_=S/this.characterWidth,N=this.$blockCursor?Math.floor(_):Math.round(_),H=Math.floor((B+this.scrollTop-P.top)/this.lineHeight);return this.session.screenToDocumentPosition(H,Math.max(N,0),S)},L.prototype.textToScreenCoordinates=function(I,B){var P=this.scroller.getBoundingClientRect(),D=this.session.documentToScreenPosition(I,B),S=this.$padding+(this.session.$bidiHandler.isBidiRow(D.row,I)?this.session.$bidiHandler.getPosLeft(D.column):Math.round(D.column*this.characterWidth)),_=D.row*this.lineHeight;return{pageX:P.left+S-this.scrollLeft,pageY:P.top+_-this.scrollTop}},L.prototype.visualizeFocus=function(){f.addCssClass(this.container,"ace_focus")},L.prototype.visualizeBlur=function(){f.removeCssClass(this.container,"ace_focus")},L.prototype.showComposition=function(I){this.$composition=I,I.cssText||(I.cssText=this.textarea.style.cssText),I.useTextareaForIME==null&&(I.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(f.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):I.markerId=this.session.addMarker(I.markerRange,"ace_composition_marker","text")},L.prototype.setCompositionText=function(I){var B=this.session.selection.cursor;this.addToken(I,"composition_placeholder",B.row,B.column),this.$moveTextAreaToCursor()},L.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),f.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var I=this.session.selection.cursor;this.removeExtraToken(I.row,I.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},L.prototype.setGhostText=function(I,B){var P=this.session.selection.cursor,D=B||{row:P.row,column:P.column};this.removeGhostText();var S=this.$calculateWrappedTextChunks(I,D);this.addToken(S[0].text,"ghost_text",D.row,D.column),this.$ghostText={text:I,position:{row:D.row,column:D.column}};var _=f.createElement("div");if(S.length>1){var N=this.hideTokensAfterPosition(D.row,D.column),H;S.slice(1).forEach(function(ne){var le=f.createElement("div"),ue=f.createElement("span");ue.className="ace_ghost_text",ne.wrapped&&(le.className="ghost_text_line_wrapped"),ne.text.length===0&&(ne.text=" "),ue.appendChild(f.createTextNode(ne.text)),le.appendChild(ue),_.appendChild(le),H=le}),N.forEach(function(ne){var le=f.createElement("span");R(ne.type)||(le.className="ace_"+ne.type.replace(/\./g," ace_")),le.appendChild(f.createTextNode(ne.value)),H.appendChild(le)}),this.$ghostTextWidget={el:_,row:D.row,column:D.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var U=this.$cursorLayer.getPixelPosition(D,!0),q=this.container,Q=q.getBoundingClientRect().height,te=S.length*this.lineHeight,he=te<Q-U.top;if(he)return;te<Q?this.scrollBy(0,(S.length-1)*this.lineHeight):this.scrollToRow(D.row)}},L.prototype.$calculateWrappedTextChunks=function(I,B){var P=this.$size.scrollerWidth-this.$padding*2,D=Math.floor(P/this.characterWidth)-2;D=D<=0?60:D;for(var S=I.split(/\r?\n/),_=[],N=0;N<S.length;N++){var H=this.session.$getDisplayTokens(S[N],B.column),U=this.session.$computeWrapSplits(H,D,this.session.$tabSize);if(U.length>0){var q=0;U.push(S[N].length);for(var Q=0;Q<U.length;Q++){var te=S[N].slice(q,U[Q]);_.push({text:te,wrapped:!0}),q=U[Q]}}else _.push({text:S[N],wrapped:!1})}return _},L.prototype.removeGhostText=function(){if(this.$ghostText){var I=this.$ghostText.position;this.removeExtraToken(I.row,I.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},L.prototype.addToken=function(I,B,P,D){var S=this.session;S.bgTokenizer.lines[P]=null;var _={type:B,value:I},N=S.getTokens(P);if(D==null||!N.length)N.push(_);else for(var H=0,U=0;U<N.length;U++){var q=N[U];if(H+=q.value.length,D<=H){var Q=q.value.length-(H-D),te=q.value.slice(0,Q),he=q.value.slice(Q);N.splice(U,1,{type:q.type,value:te},_,{type:q.type,value:he});break}}this.updateLines(P,P)},L.prototype.hideTokensAfterPosition=function(I,B){for(var P=this.session.getTokens(I),D=0,S=!1,_=[],N=0;N<P.length;N++){var H=P[N];if(D+=H.value.length,H.type!=="ghost_text"){if(S){_.push({type:H.type,value:H.value}),H.type="hidden_token";continue}D===B&&(S=!0)}}return this.updateLines(I,I),_},L.prototype.removeExtraToken=function(I,B){this.session.bgTokenizer.lines[I]=null,this.updateLines(I,I)},L.prototype.setTheme=function(I,B){var P=this;if(this.$themeId=I,P._dispatchEvent("themeChange",{theme:I}),!I||typeof I=="string"){var D=I||this.$options.theme.initialValue;h.loadModule(["theme",D],S)}else S(I);function S(_){if(P.$themeId!=I)return B&&B();if(!_||!_.cssClass)throw new Error("couldn't load module "+I+" or it didn't call define");_.$id&&(P.$themeId=_.$id),f.importCssString(_.cssText,_.cssClass,P.container),P.theme&&f.removeCssClass(P.container,P.theme.cssClass);var N="padding"in _?_.padding:"padding"in(P.theme||{})?4:P.$padding;P.$padding&&N!=P.$padding&&P.setPadding(N),P.$theme=_.cssClass,P.theme=_,f.addCssClass(P.container,_.cssClass),f.setCssClass(P.container,"ace_dark",_.isDark),P.$size&&(P.$size.width=0,P.$updateSizeAsync()),P._dispatchEvent("themeLoaded",{theme:_}),B&&B(),C.isSafari&&P.scroller&&(P.scroller.style.background="red",P.scroller.style.background="")}},L.prototype.getTheme=function(){return this.$themeId},L.prototype.setStyle=function(I,B){f.setCssClass(this.container,I,B!==!1)},L.prototype.unsetStyle=function(I){f.removeCssClass(this.container,I)},L.prototype.setCursorStyle=function(I){f.setStyle(this.scroller.style,"cursor",I)},L.prototype.setMouseCursor=function(I){f.setStyle(this.scroller.style,"cursor",I)},L.prototype.attachToShadowRoot=function(){f.importCssString($,"ace_editor.css",this.container)},L.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},L.prototype.$updateCustomScrollbar=function(I){var B=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),I===!0?(this.scrollBarV=new m(this.container,this),this.scrollBarH=new u(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(P){B.$scrollAnimation||B.session.setScrollTop(P.data-B.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(P){B.$scrollAnimation||B.session.setScrollLeft(P.data-B.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new k(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new s(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(P){B.$scrollAnimation||B.session.setScrollTop(P.data-B.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(P){B.$scrollAnimation||B.session.setScrollLeft(P.data-B.scrollMargin.left)}))},L.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var I=this;this.$resizeTimer=w.delayedCall(function(){I.destroyed||I.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(B){var P=B[0].contentRect.width,D=B[0].contentRect.height;Math.abs(I.$size.width-P)>1||Math.abs(I.$size.height-D)>1?I.$resizeTimer.delay():I.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},L}();O.prototype.CHANGE_CURSOR=1,O.prototype.CHANGE_MARKER=2,O.prototype.CHANGE_GUTTER=4,O.prototype.CHANGE_SCROLL=8,O.prototype.CHANGE_LINES=16,O.prototype.CHANGE_TEXT=32,O.prototype.CHANGE_SIZE=64,O.prototype.CHANGE_MARKER_BACK=128,O.prototype.CHANGE_MARKER_FRONT=256,O.prototype.CHANGE_FULL=512,O.prototype.CHANGE_H_SCROLL=1024,O.prototype.$changes=0,O.prototype.$padding=null,O.prototype.$frozen=!1,O.prototype.STEPS=8,p.implement(O.prototype,E),h.defineOptions(O.prototype,"renderer",{useResizeObserver:{set:function(L){!L&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):L&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(L){this.$textLayer.setShowInvisibles(L)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(L){typeof L=="number"&&(this.$printMarginColumn=L),this.$showPrintMargin=!!L,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(L){this.$gutter.style.display=L?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(L){this.$gutterLayer.$useSvgGutterIcons=L},initialValue:!1},showFoldedAnnotations:{set:function(L){this.$gutterLayer.$showFoldedAnnotations=L},initialValue:!1},fadeFoldWidgets:{set:function(L){f.setCssClass(this.$gutter,"ace_fade-fold-widgets",L)},initialValue:!1},showFoldWidgets:{set:function(L){this.$gutterLayer.setShowFoldWidgets(L),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(L){this.$textLayer.setDisplayIndentGuides(L)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(L){this.$textLayer.setHighlightIndentGuides(L)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(L){this.$gutterLayer.setHighlightGutterLine(L),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(L){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(L){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(L){typeof L=="number"&&(L=L+"px"),this.container.style.fontSize=L,this.updateFontSize()},initialValue:12},fontFamily:{set:function(L){this.container.style.fontFamily=L,this.updateFontSize()}},maxLines:{set:function(L){this.updateFull()}},minLines:{set:function(L){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(L){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(L){L=+L||0,this.$scrollPastEnd!=L&&(this.$scrollPastEnd=L,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(L){this.$gutterLayer.$fixedWidth=!!L,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(L){this.$updateCustomScrollbar(L)},initialValue:!1},theme:{set:function(L){this.setTheme(L)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!C.isMobile&&!C.isIE}}),r.VirtualRenderer=O}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/net"),w=t("../lib/event_emitter").EventEmitter,h=t("../config");function g(c){var s="importScripts('"+f.qualifyURL(c)+"');";try{return new Blob([s],{type:"application/javascript"})}catch{var u=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,m=new u;return m.append(s),m.getBlob("application/javascript")}}function o(c){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(h.get("loadWorkerFromBlob")){var s=g(c),u=window.URL||window.webkitURL,m=u.createObjectURL(s);return new Worker(m)}return new Worker(c)}var a=function(c){c.postMessage||(c=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=c,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){p.implement(this,w),this.$createWorkerFromOldConfig=function(c,s,u,m,b){if(t.nameToUrl&&!t.toUrl&&(t.toUrl=t.nameToUrl),h.get("packaged")||!t.toUrl)m=m||h.moduleUrl(s,"worker");else{var x=this.$normalizePath;m=m||x(t.toUrl("ace/worker/worker.js",null,"_"));var E={};c.forEach(function($){E[$]=x(t.toUrl($,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=o(m),b&&this.send("importScripts",b),this.$worker.postMessage({init:!0,tlns:E,module:s,classname:u}),this.$worker},this.onMessage=function(c){var s=c.data;switch(s.type){case"event":this._signal(s.name,{data:s.data});break;case"call":var u=this.callbacks[s.id];u&&(u(s.data),delete this.callbacks[s.id]);break;case"error":this.reportError(s.data);break;case"log":window.console&&console.log&&console.log.apply(console,s.data);break}},this.reportError=function(c){window.console&&console.error&&console.error(c)},this.$normalizePath=function(c){return f.qualifyURL(c)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(c){c.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(c,s){this.$worker.postMessage({command:c,args:s})},this.call=function(c,s,u){if(u){var m=this.callbackId++;this.callbacks[m]=u,s.push(m)}this.send(c,s)},this.emit=function(c,s){try{s.data&&s.data.err&&(s.data.err={message:s.data.err.message,stack:s.data.err.stack,code:s.data.err.code}),this.$worker&&this.$worker.postMessage({event:c,data:{data:s.data}})}catch(u){console.error(u.stack)}},this.attachToDocument=function(c){this.$doc&&this.terminate(),this.$doc=c,this.call("setValue",[c.getValue()]),c.on("change",this.changeListener,!0)},this.changeListener=function(c){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),c.action=="insert"?this.deltaQueue.push(c.start,c.lines):this.deltaQueue.push(c.start,c.end)},this.$sendDeltaQueue=function(){var c=this.deltaQueue;c&&(this.deltaQueue=null,c.length>50&&c.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:c}))}}).call(a.prototype);var l=function(c,s,u){var m=null,b=!1,x=Object.create(w),E=[],$=new a({messageBuffer:E,terminate:function(){},postMessage:function(C){E.push(C),m&&(b?setTimeout(k):k())}});$.setEmitSync=function(C){b=C};var k=function(){var C=E.shift();C.command?m[C.command].apply(m,C.args):C.event&&x._signal(C.event,C.data)};return x.postMessage=function(C){$.onMessage({data:C})},x.callback=function(C,R){this.postMessage({type:"call",id:R,data:C})},x.emit=function(C,R){this.postMessage({type:"event",name:C,data:R})},h.loadModule(["worker",s],function(C){for(m=new C[u](x);E.length;)k()}),$};r.UIWorkerClient=l,r.WorkerClient=a,r.createWorker=o}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(t,r,d){var p=t("./range").Range,f=t("./lib/event_emitter").EventEmitter,w=t("./lib/oop"),h=function(){function g(o,a,l,c,s,u){var m=this;this.length=a,this.session=o,this.doc=o.getDocument(),this.mainClass=s,this.othersClass=u,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=c,this.$onCursorChange=function(){setTimeout(function(){m.onCursorChange()})},this.$pos=l;var b=o.getUndoManager().$undoStack||o.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=b.length,this.setup(),o.selection.on("changeCursor",this.$onCursorChange)}return g.prototype.setup=function(){var o=this,a=this.doc,l=this.session;this.selectionBefore=l.selection.toJSON(),l.selection.inMultiSelectMode&&l.selection.toSingleRange(),this.pos=a.createAnchor(this.$pos.row,this.$pos.column);var c=this.pos;c.$insertRight=!0,c.detach(),c.markerId=l.addMarker(new p(c.row,c.column,c.row,c.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(s){var u=a.createAnchor(s.row,s.column);u.$insertRight=!0,u.detach(),o.others.push(u)}),l.setUndoSelect(!1)},g.prototype.showOtherMarkers=function(){if(!this.othersActive){var o=this.session,a=this;this.othersActive=!0,this.others.forEach(function(l){l.markerId=o.addMarker(new p(l.row,l.column,l.row,l.column+a.length),a.othersClass,null,!1)})}},g.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var o=0;o<this.others.length;o++)this.session.removeMarker(this.others[o].markerId)}},g.prototype.onUpdate=function(o){if(this.$updating)return this.updateAnchors(o);var a=o;if(a.start.row===a.end.row&&a.start.row===this.pos.row){this.$updating=!0;var l=o.action==="insert"?a.end.column-a.start.column:a.start.column-a.end.column,c=a.start.column>=this.pos.column&&a.start.column<=this.pos.column+this.length+1,s=a.start.column-this.pos.column;if(this.updateAnchors(o),c&&(this.length+=l),c&&!this.session.$fromUndo){if(o.action==="insert")for(var u=this.others.length-1;u>=0;u--){var m=this.others[u],b={row:m.row,column:m.column+s};this.doc.insertMergedLines(b,o.lines)}else if(o.action==="remove")for(var u=this.others.length-1;u>=0;u--){var m=this.others[u],b={row:m.row,column:m.column+s};this.doc.remove(new p(b.row,b.column,b.row,b.column-l))}}this.$updating=!1,this.updateMarkers()}},g.prototype.updateAnchors=function(o){this.pos.onChange(o);for(var a=this.others.length;a--;)this.others[a].onChange(o);this.updateMarkers()},g.prototype.updateMarkers=function(){if(!this.$updating){var o=this,a=this.session,l=function(s,u){a.removeMarker(s.markerId),s.markerId=a.addMarker(new p(s.row,s.column,s.row,s.column+o.length),u,null,!1)};l(this.pos,this.mainClass);for(var c=this.others.length;c--;)l(this.others[c],this.othersClass)}},g.prototype.onCursorChange=function(o){if(!(this.$updating||!this.session)){var a=this.session.selection.getCursor();a.row===this.pos.row&&a.column>=this.pos.column&&a.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",o)):(this.hideOtherMarkers(),this._emit("cursorLeave",o))}},g.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},g.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var o=this.session.getUndoManager(),a=(o.$undoStack||o.$undostack).length-this.$undoStackDepth,l=0;l<a;l++)o.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},g}();w.implement(h.prototype,f),r.PlaceHolder=h}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(t,r,d){var p=t("../lib/event"),f=t("../lib/useragent");function w(g,o){return g.row==o.row&&g.column==o.column}function h(g){var o=g.domEvent,a=o.altKey,l=o.shiftKey,c=o.ctrlKey,s=g.getAccelKey(),u=g.getButton();if(c&&f.isMac&&(u=o.button),g.editor.inMultiSelectMode&&u==2){g.editor.textInput.onContextMenu(g.domEvent);return}if(!c&&!a&&!s){u===0&&g.editor.inMultiSelectMode&&g.editor.exitMultiSelectMode();return}if(u===0){var m=g.editor,b=m.selection,x=m.inMultiSelectMode,E=g.getDocumentPosition(),$=b.getCursor(),k=g.inSelection()||b.isEmpty()&&w(E,$),C=g.x,R=g.y,O=function(te){C=te.clientX,R=te.clientY},L=m.session,I=m.renderer.pixelToScreenCoordinates(C,R),B=I,P;if(m.$mouseHandler.$enableJumpToDef)c&&a||s&&a?P=l?"block":"add":a&&m.$blockSelectEnabled&&(P="block");else if(s&&!a){if(P="add",!x&&l)return}else a&&m.$blockSelectEnabled&&(P="block");if(P&&f.isMac&&o.ctrlKey&&m.$mouseHandler.cancelContextMenu(),P=="add"){if(!x&&k)return;if(!x){var D=b.toOrientedRange();m.addSelectionMarker(D)}var S=b.rangeList.rangeAtPoint(E);m.inVirtualSelectionMode=!0,l&&(S=null,D=b.ranges[0]||D,m.removeSelectionMarker(D)),m.once("mouseup",function(){var te=b.toOrientedRange();S&&te.isEmpty()&&w(S.cursor,te.cursor)?b.substractPoint(te.cursor):(l?b.substractPoint(D.cursor):D&&(m.removeSelectionMarker(D),b.addRange(D)),b.addRange(te)),m.inVirtualSelectionMode=!1})}else if(P=="block"){g.stop(),m.inVirtualSelectionMode=!0;var _,N=[],H=function(){var te=m.renderer.pixelToScreenCoordinates(C,R),he=L.screenToDocumentPosition(te.row,te.column,te.offsetX);w(B,te)&&w(he,b.lead)||(B=te,m.selection.moveToPosition(he),m.renderer.scrollCursorIntoView(),m.removeSelectionMarkers(N),N=b.rectangularRangeBlock(B,I),m.$mouseHandler.$clickSelection&&N.length==1&&N[0].isEmpty()&&(N[0]=m.$mouseHandler.$clickSelection.clone()),N.forEach(m.addSelectionMarker,m),m.updateSelectionMarkers())};x&&!s?b.toSingleRange():!x&&s&&(_=b.toOrientedRange(),m.addSelectionMarker(_)),l?I=L.documentToScreenPosition(b.lead):b.moveToPosition(E),B={row:-1,column:-1};var U=function(te){H(),clearInterval(Q),m.removeSelectionMarkers(N),N.length||(N=[b.toOrientedRange()]),_&&(m.removeSelectionMarker(_),b.toSingleRange(_));for(var he=0;he<N.length;he++)b.addRange(N[he]);m.inVirtualSelectionMode=!1,m.$mouseHandler.$clickSelection=null},q=H;p.capture(m.container,O,U);var Q=setInterval(function(){q()},20);return g.preventDefault()}}}r.onMouseDown=h}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(t,r,d){r.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(f){f.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(f){f.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(f){f.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(f){f.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(f){f.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(f){f.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(f){f.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(f){f.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(f){f.multiSelect.rangeCount>1?f.multiSelect.joinSelections():f.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(f){f.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(f){f.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(f){f.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],r.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(f){f.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(f){return f&&f.inMultiSelectMode}}];var p=t("../keyboard/hash_handler").HashHandler;r.keyboardHandler=new p(r.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(t,r,d){var p=t("./range_list").RangeList,f=t("./range").Range,w=t("./selection").Selection,h=t("./mouse/multi_select_handler").onMouseDown,g=t("./lib/event"),o=t("./lib/lang"),a=t("./commands/multi_select_commands");r.commands=a.defaultCommands.concat(a.multiSelectCommands);var l=t("./search").Search,c=new l;function s($,k,C){return c.$options.wrap=!0,c.$options.needle=k,c.$options.backwards=C==-1,c.find($)}var u=t("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(u.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function($,k){if($){if(!this.inMultiSelectMode&&this.rangeCount===0){var C=this.toOrientedRange();if(this.rangeList.add(C),this.rangeList.add($),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),k||this.fromOrientedRange($);this.rangeList.removeAll(),this.rangeList.add(C),this.$onAddRange(C)}$.cursor||($.cursor=$.end);var R=this.rangeList.add($);return this.$onAddRange($),R.length&&this.$onRemoveRange(R),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),k||this.fromOrientedRange($)}},this.toSingleRange=function($){$=$||this.ranges[0];var k=this.rangeList.removeAll();k.length&&this.$onRemoveRange(k),$&&this.fromOrientedRange($)},this.substractPoint=function($){var k=this.rangeList.substractPoint($);if(k)return this.$onRemoveRange(k),k[0]},this.mergeOverlappingRanges=function(){var $=this.rangeList.merge();$.length&&this.$onRemoveRange($)},this.$onAddRange=function($){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift($),this._signal("addRange",{range:$})},this.$onRemoveRange=function($){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var k=this.rangeList.ranges.pop();$.push(k),this.rangeCount=0}for(var C=$.length;C--;){var R=this.ranges.indexOf($[C]);this.ranges.splice(R,1)}this._signal("removeRange",{ranges:$}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),k=k||this.ranges[0],k&&!k.isEqual(this.getRange())&&this.fromOrientedRange(k)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new p,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var $=this.ranges.length?this.ranges:[this.getRange()],k=[],C=0;C<$.length;C++){var R=$[C],O=R.start.row,L=R.end.row;if(O===L)k.push(R.clone());else{for(k.push(new f(O,R.start.column,O,this.session.getLine(O).length));++O<L;)k.push(this.getLineRange(O,!0));k.push(new f(L,0,L,R.end.column))}C==0&&!this.isBackwards()&&(k=k.reverse())}this.toSingleRange();for(var C=k.length;C--;)this.addRange(k[C])},this.joinSelections=function(){var $=this.rangeList.ranges,k=$[$.length-1],C=f.fromPoints($[0].start,k.end);this.toSingleRange(),this.setSelectionRange(C,k.cursor==k.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var $=this.rangeList.ranges,k=$[$.length-1],C=f.fromPoints($[0].start,k.end);this.toSingleRange(),this.setSelectionRange(C,k.cursor==k.start)}else{var R=this.session.documentToScreenPosition(this.cursor),O=this.session.documentToScreenPosition(this.anchor),L=this.rectangularRangeBlock(R,O);L.forEach(this.addRange,this)}},this.rectangularRangeBlock=function($,k,C){var R=[],O=$.column<k.column;if(O)var L=$.column,I=k.column,B=$.offsetX,P=k.offsetX;else var L=k.column,I=$.column,B=k.offsetX,P=$.offsetX;var D=$.row<k.row;if(D)var S=$.row,_=k.row;else var S=k.row,_=$.row;L<0&&(L=0),S<0&&(S=0),S==_&&(C=!0);for(var N,H=S;H<=_;H++){var U=f.fromPoints(this.session.screenToDocumentPosition(H,L,B),this.session.screenToDocumentPosition(H,I,P));if(U.isEmpty()){if(N&&b(U.end,N))break;N=U.end}U.cursor=O?U.start:U.end,R.push(U)}if(D&&R.reverse(),!C){for(var q=R.length-1;R[q].isEmpty()&&q>0;)q--;if(q>0)for(var Q=0;R[Q].isEmpty();)Q++;for(var te=q;te>=Q;te--)R[te].isEmpty()&&R.splice(te,1)}return R}}).call(w.prototype);var m=t("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function($){$.cursor||($.cursor=$.end);var k=this.getSelectionStyle();return $.marker=this.session.addMarker($,"ace_selection",k),this.session.$selectionMarkers.push($),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,$},this.removeSelectionMarker=function($){if($.marker){this.session.removeMarker($.marker);var k=this.session.$selectionMarkers.indexOf($);k!=-1&&this.session.$selectionMarkers.splice(k,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function($){for(var k=this.session.$selectionMarkers,C=$.length;C--;){var R=$[C];if(R.marker){this.session.removeMarker(R.marker);var O=k.indexOf(R);O!=-1&&k.splice(O,1)}}this.session.selectionMarkerCount=k.length},this.$onAddRange=function($){this.addSelectionMarker($.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function($){this.removeSelectionMarkers($.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function($){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(a.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function($){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(a.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function($){var k=$.command,C=$.editor;if(C.multiSelect){if(k.multiSelectAction)k.multiSelectAction=="forEach"?R=C.forEachSelection(k,$.args):k.multiSelectAction=="forEachLine"?R=C.forEachSelection(k,$.args,!0):k.multiSelectAction=="single"?(C.exitMultiSelectMode(),R=k.exec(C,$.args||{})):R=k.multiSelectAction(C,$.args||{});else{var R=k.exec(C,$.args||{});C.multiSelect.addRange(C.multiSelect.toOrientedRange()),C.multiSelect.mergeOverlappingRanges()}return R}},this.forEachSelection=function($,k,C){if(!this.inVirtualSelectionMode){var R=C&&C.keepOrder,O=C==!0||C&&C.$byLines,L=this.session,I=this.selection,B=I.rangeList,P=(R?I:B).ranges,D;if(!P.length)return $.exec?$.exec(this,k||{}):$(this,k||{});var S=I._eventRegistry;I._eventRegistry={};var _=new w(L);this.inVirtualSelectionMode=!0;for(var N=P.length;N--;){if(O)for(;N>0&&P[N].start.row==P[N-1].end.row;)N--;_.fromOrientedRange(P[N]),_.index=N,this.selection=L.selection=_;var H=$.exec?$.exec(this,k||{}):$(this,k||{});!D&&H!==void 0&&(D=H),_.toOrientedRange(P[N])}_.detach(),this.selection=L.selection=I,this.inVirtualSelectionMode=!1,I._eventRegistry=S,I.mergeOverlappingRanges(),I.ranges[0]&&I.fromOrientedRange(I.ranges[0]);var U=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),U&&U.from==U.to&&this.renderer.animateScrolling(U.from),D}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var $="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var k=this.multiSelect.rangeList.ranges,C=[],R=0;R<k.length;R++)C.push(this.session.getTextRange(k[R]));var O=this.session.getDocument().getNewLineCharacter();$=C.join(O),$.length==(C.length-1)*O.length&&($="")}else this.selection.isEmpty()||($=this.session.getTextRange(this.getSelectionRange()));return $},this.$checkMultiselectChange=function($,k){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var C=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&k==this.multiSelect.anchor)return;var R=k==this.multiSelect.anchor?C.cursor==C.start?C.end:C.start:C.cursor;R.row!=k.row||this.session.$clipPositionToDocument(R.row,R.column).column!=k.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function($,k,C){if(k=k||{},k.needle=$||k.needle,k.needle==null){var R=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();k.needle=this.session.getTextRange(R)}this.$search.set(k);var O=this.$search.findAll(this.session);if(!O.length)return 0;var L=this.multiSelect;C||L.toSingleRange(O[0]);for(var I=O.length;I--;)L.addRange(O[I],!0);return R&&L.rangeList.rangeAtPoint(R.start)&&L.addRange(R,!0),O.length},this.selectMoreLines=function($,k){var C=this.selection.toOrientedRange(),R=C.cursor==C.end,O=this.session.documentToScreenPosition(C.cursor);this.selection.$desiredColumn&&(O.column=this.selection.$desiredColumn);var L=this.session.screenToDocumentPosition(O.row+$,O.column);if(C.isEmpty())var B=L;else var I=this.session.documentToScreenPosition(R?C.end:C.start),B=this.session.screenToDocumentPosition(I.row+$,I.column);if(R){var P=f.fromPoints(L,B);P.cursor=P.start}else{var P=f.fromPoints(B,L);P.cursor=P.end}if(P.desiredColumn=O.column,!this.selection.inMultiSelectMode)this.selection.addRange(C);else if(k)var D=C.cursor;this.selection.addRange(P),D&&this.selection.substractPoint(D)},this.transposeSelections=function($){for(var k=this.session,C=k.multiSelect,R=C.ranges,O=R.length;O--;){var L=R[O];if(L.isEmpty()){var I=k.getWordRange(L.start.row,L.start.column);L.start.row=I.start.row,L.start.column=I.start.column,L.end.row=I.end.row,L.end.column=I.end.column}}C.mergeOverlappingRanges();for(var B=[],O=R.length;O--;){var L=R[O];B.unshift(k.getTextRange(L))}$<0?B.unshift(B.pop()):B.push(B.shift());for(var O=R.length;O--;){var L=R[O],P=L.clone();k.replace(L,B[O]),L.start.row=P.start.row,L.start.column=P.start.column}C.fromOrientedRange(C.ranges[0])},this.selectMore=function($,k,C){var R=this.session,O=R.multiSelect,L=O.toOrientedRange();if(!(L.isEmpty()&&(L=R.getWordRange(L.start.row,L.start.column),L.cursor=$==-1?L.start:L.end,this.multiSelect.addRange(L),C))){var I=R.getTextRange(L),B=s(R,I,$);B&&(B.cursor=$==-1?B.start:B.end,this.session.unfold(B),this.multiSelect.addRange(B),this.renderer.scrollCursorIntoView(null,.5)),k&&this.multiSelect.substractPoint(L.cursor)}},this.alignCursors=function(){var $=this.session,k=$.multiSelect,C=k.ranges,R=-1,O=C.filter(function(q){if(q.cursor.row==R)return!0;R=q.cursor.row});if(!C.length||O.length==C.length-1){var L=this.selection.getRange(),I=L.start.row,B=L.end.row,P=I==B;if(P){var D=this.session.getLength(),S;do S=this.session.getLine(B);while(/[=:]/.test(S)&&++B<D);do S=this.session.getLine(I);while(/[=:]/.test(S)&&--I>0);I<0&&(I=0),B>=D&&(B=D-1)}var _=this.session.removeFullLines(I,B);_=this.$reAlignText(_,P),this.session.insert({row:I,column:0},_.join(`
951
+ `)+`
952
+ `),P||(L.start.column=0,L.end.column=_[_.length-1].length),this.selection.setRange(L)}else{O.forEach(function(q){k.substractPoint(q.cursor)});var N=0,H=1/0,U=C.map(function(q){var Q=q.cursor,te=$.getLine(Q.row),he=te.substr(Q.column).search(/\S/g);return he==-1&&(he=0),Q.column>N&&(N=Q.column),he<H&&(H=he),he});C.forEach(function(q,Q){var te=q.cursor,he=N-te.column,ne=U[Q]-H;he>ne?$.insert(te,o.stringRepeat(" ",he-ne)):$.remove(new f(te.row,te.column,te.row,te.column-he+ne)),q.start.column=q.end.column=N,q.start.row=q.end.row=te.row,q.cursor=q.end}),k.fromOrientedRange(C[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function($,k){var C=!0,R=!0,O,L,I;return $.map(function(_){var N=_.match(/(\s*)(.*?)(\s*)([=:].*)/);return N?O==null?(O=N[1].length,L=N[2].length,I=N[3].length,N):(O+L+I!=N[1].length+N[2].length+N[3].length&&(R=!1),O!=N[1].length&&(C=!1),O>N[1].length&&(O=N[1].length),L<N[2].length&&(L=N[2].length),I>N[3].length&&(I=N[3].length),N):[_]}).map(k?P:C?R?D:P:S);function B(_){return o.stringRepeat(" ",_)}function P(_){return _[2]?B(O)+_[2]+B(L-_[2].length+I)+_[4].replace(/^([=:])\s+/,"$1 "):_[0]}function D(_){return _[2]?B(O+L-_[2].length)+_[2]+B(I)+_[4].replace(/^([=:])\s+/,"$1 "):_[0]}function S(_){return _[2]?B(O)+_[2]+B(I)+_[4].replace(/^([=:])\s+/,"$1 "):_[0]}}}).call(m.prototype);function b($,k){return $.row==k.row&&$.column==k.column}r.onSessionChange=function($){var k=$.session;k&&!k.multiSelect&&(k.$selectionMarkers=[],k.selection.$initRangeList(),k.multiSelect=k.selection),this.multiSelect=k&&k.multiSelect;var C=$.oldSession;C&&(C.multiSelect.off("addRange",this.$onAddRange),C.multiSelect.off("removeRange",this.$onRemoveRange),C.multiSelect.off("multiSelect",this.$onMultiSelect),C.multiSelect.off("singleSelect",this.$onSingleSelect),C.multiSelect.lead.off("change",this.$checkMultiselectChange),C.multiSelect.anchor.off("change",this.$checkMultiselectChange)),k&&(k.multiSelect.on("addRange",this.$onAddRange),k.multiSelect.on("removeRange",this.$onRemoveRange),k.multiSelect.on("multiSelect",this.$onMultiSelect),k.multiSelect.on("singleSelect",this.$onSingleSelect),k.multiSelect.lead.on("change",this.$checkMultiselectChange),k.multiSelect.anchor.on("change",this.$checkMultiselectChange)),k&&this.inMultiSelectMode!=k.selection.inMultiSelectMode&&(k.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function x($){$.$multiselectOnSessionChange||($.$onAddRange=$.$onAddRange.bind($),$.$onRemoveRange=$.$onRemoveRange.bind($),$.$onMultiSelect=$.$onMultiSelect.bind($),$.$onSingleSelect=$.$onSingleSelect.bind($),$.$multiselectOnSessionChange=r.onSessionChange.bind($),$.$checkMultiselectChange=$.$checkMultiselectChange.bind($),$.$multiselectOnSessionChange($),$.on("changeSession",$.$multiselectOnSessionChange),$.on("mousedown",h),$.commands.addCommands(a.defaultCommands),E($))}function E($){if(!$.textInput)return;var k=$.textInput.getElement(),C=!1;g.addListener(k,"keydown",function(O){var L=O.keyCode==18&&!(O.ctrlKey||O.shiftKey||O.metaKey);$.$blockSelectEnabled&&L?C||($.renderer.setMouseCursor("crosshair"),C=!0):C&&R()},$),g.addListener(k,"keyup",R,$),g.addListener(k,"blur",R,$);function R(O){C&&($.renderer.setMouseCursor(""),C=!1)}}r.MultiSelect=x,t("./config").defineOptions(m.prototype,"editor",{enableMultiselect:{set:function($){x(this),$?this.on("mousedown",h):this.off("mousedown",h)},value:!0},enableBlockSelect:{set:function($){this.$blockSelectEnabled=$},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(t,r,d){var p=t("../../range").Range,f=r.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(w,h,g){var o=w.getLine(g);return this.foldingStartMarker.test(o)?"start":h=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(o)?"end":""},this.getFoldWidgetRange=function(w,h,g){return null},this.indentationBlock=function(w,h,g){var o=/\S/,a=w.getLine(h),l=a.search(o);if(l!=-1){for(var c=g||a.length,s=w.getLength(),u=h,m=h;++h<s;){var b=w.getLine(h).search(o);if(b!=-1){if(b<=l){var x=w.getTokenAt(h,0);if(!x||x.type!=="string")break}m=h}}if(m>u){var E=w.getLine(m).length;return new p(u,c,m,E)}}},this.openingBracketBlock=function(w,h,g,o,a){var l={row:g,column:o+1},c=w.$findClosingBracket(h,l,a);if(c){var s=w.foldWidgets[c.row];return s==null&&(s=w.getFoldWidget(c.row)),s=="start"&&c.row>l.row&&(c.row--,c.column=w.getLine(c.row).length),p.fromPoints(l,c)}},this.closingBracketBlock=function(w,h,g,o,a){var l={row:g,column:o},c=w.$findOpeningBracket(h,l);if(c)return c.column++,l.column--,p.fromPoints(c,l)}}).call(f.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(t,r,d){var p=t("../lib/dom"),f=t("../range").Range,w=t("../config").nls;function h(o,a,l){for(var c=0,s=o.length-1;c<=s;){var u=c+s>>1,m=l(a,o[u]);if(m>0)c=u+1;else if(m<0)s=u-1;else return u}return-(c+1)}function g(o,a,l){var c=o.getAnnotations().sort(f.comparePoints);if(c.length){var s=h(c,{row:a,column:-1},f.comparePoints);s<0&&(s=-s-1),s>=c.length?s=l>0?0:c.length-1:s===0&&l<0&&(s=c.length-1);var u=c[s];if(!(!u||!l)){if(u.row===a){do u=c[s+=l];while(u&&u.row===a);if(!u)return c.slice()}var m=[];a=u.row;do m[l<0?"unshift":"push"](u),u=c[s+=l];while(u&&u.row==a);return m.length&&m}}}r.showErrorMarker=function(o,a){var l=o.session,c=o.getCursorPosition(),s=c.row,u=l.widgetManager.getWidgetsAtRow(s).filter(function(O){return O.type=="errorMarker"})[0];u?u.destroy():s-=a;var m=g(l,s,a),b;if(m){var x=m[0];c.column=(x.pos&&typeof x.column!="number"?x.pos.sc:x.column)||0,c.row=x.row,b=o.renderer.$gutterLayer.$annotations[c.row]}else{if(u)return;b={displayText:[w("error-marker.good-state","Looks good!")],className:"ace_ok"}}o.session.unfold(c.row),o.selection.moveToPosition(c);var E={row:c.row,fixedWidth:!0,coverGutter:!0,el:p.createElement("div"),type:"errorMarker"},$=E.el.appendChild(p.createElement("div")),k=E.el.appendChild(p.createElement("div"));k.className="error_widget_arrow "+b.className;var C=o.renderer.$cursorLayer.getPixelPosition(c).left;k.style.left=C+o.renderer.gutterWidth-5+"px",E.el.className="error_widget_wrapper",$.className="error_widget "+b.className,b.displayText.forEach(function(O,L){$.appendChild(p.createTextNode(O)),L<b.displayText.length-1&&$.appendChild(p.createElement("br"))}),$.appendChild(p.createElement("div"));var R=function(O,L,I){if(L===0&&(I==="esc"||I==="return"))return E.destroy(),{command:"null"}};E.destroy=function(){o.$mouseHandler.isMousePressed||(o.keyBinding.removeKeyboardHandler(R),l.widgetManager.removeLineWidget(E),o.off("changeSelection",E.destroy),o.off("changeSession",E.destroy),o.off("mouseup",E.destroy),o.off("change",E.destroy))},o.keyBinding.addKeyboardHandler(R),o.on("changeSelection",E.destroy),o.on("changeSession",E.destroy),o.on("mouseup",E.destroy),o.on("change",E.destroy),o.session.widgetManager.addLineWidget(E),E.el.onmousedown=o.focus.bind(o),o.renderer.scrollCursorIntoView(null,.5,{bottom:E.el.offsetHeight})},p.importCssString(`
953
+ .error_widget_wrapper {
954
+ background: inherit;
955
+ color: inherit;
956
+ border:none
957
+ }
958
+ .error_widget {
959
+ border-top: solid 2px;
960
+ border-bottom: solid 2px;
961
+ margin: 5px 0;
962
+ padding: 10px 40px;
963
+ white-space: pre-wrap;
964
+ }
965
+ .error_widget.ace_error, .error_widget_arrow.ace_error{
966
+ border-color: #ff5a5a
967
+ }
968
+ .error_widget.ace_warning, .error_widget_arrow.ace_warning{
969
+ border-color: #F1D817
970
+ }
971
+ .error_widget.ace_info, .error_widget_arrow.ace_info{
972
+ border-color: #5a5a5a
973
+ }
974
+ .error_widget.ace_ok, .error_widget_arrow.ace_ok{
975
+ border-color: #5aaa5a
976
+ }
977
+ .error_widget_arrow {
978
+ position: absolute;
979
+ border: solid 5px;
980
+ border-top-color: transparent!important;
981
+ border-right-color: transparent!important;
982
+ border-left-color: transparent!important;
983
+ top: -5px;
984
+ }
985
+ `,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(t,r,d){t("./loader_build")(r);var p=t("./lib/dom"),f=t("./range").Range,w=t("./editor").Editor,h=t("./edit_session").EditSession,g=t("./undomanager").UndoManager,o=t("./virtual_renderer").VirtualRenderer;t("./worker/worker_client"),t("./keyboard/hash_handler"),t("./placeholder"),t("./multi_select"),t("./mode/folding/fold_mode"),t("./theme/textmate"),t("./ext/error_marker"),r.config=t("./config"),r.edit=function(l,c){if(typeof l=="string"){var s=l;if(l=document.getElementById(s),!l)throw new Error("ace.edit can't find div #"+s)}if(l&&l.env&&l.env.editor instanceof w)return l.env.editor;var u="";if(l&&/input|textarea/i.test(l.tagName)){var m=l;u=m.value,l=p.createElement("pre"),m.parentNode.replaceChild(l,m)}else l&&(u=l.textContent,l.innerHTML="");var b=r.createEditSession(u),x=new w(new o(l),b,c),E={document:b,editor:x,onResize:x.resize.bind(x,null)};return m&&(E.textarea=m),x.on("destroy",function(){E.editor.container.env=null}),x.container.env=x.env=E,x},r.createEditSession=function(l,c){var s=new h(l,c);return s.setUndoManager(new g),s},r.Range=f,r.Editor=w,r.EditSession=h,r.UndoManager=g,r.VirtualRenderer=o;var a=r.config.version;r.version=a}),function(){ace.require(["ace/ace"],function(t){t&&(t.config.init(!0),t.define=ace.define);var r=function(){return this}();!r&&typeof window<"u"&&(r=window),!r&&typeof self<"u"&&(r=self),r.ace||(r.ace=t);for(var d in t)t.hasOwnProperty(d)&&(r.ace[d]=t[d]);r.ace.default=r.ace,n&&(n.exports=r.ace)})}()}(af)),af.exports}var us=er("y",Nx()),cf={exports:{}},uf;function Fx(){return uf||(uf=1,function(n,e){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=r.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};r.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},r.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},r.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var h=r.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},g=r.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},o=r.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},a=r.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},l=r.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},c=r.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},s=r.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},u=r.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},m=function(){var b="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|private_class_method|remove_method|undef_method",x="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend",E="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION",$="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",k=this.$keywords=this.createKeywordMapper({keyword:x,"constant.language":E,"variable.language":$,"support.function":b,"invalid.deprecated":"debugger"},"identifier"),C=`\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})`,R={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.multiline",regex:"^=begin(?=$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:/[/](?=.*\/)/,next:"regex"},[{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(")/,push:[{token:"constant.language.escape",regex:C},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:C},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(')/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/%[qwx]([(\[<{^|%])/,onMatch:function(O,L,I){I.length&&(I=[]);var B=O[O.length-1];return I.unshift(B,L),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(O,L,I){I.length&&(I=[]);var B=O[O.length-1];return I.unshift(B,L),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(O,L,I){I.length&&(I=[]);var B=O[O.length-1];return I.unshift(B,L),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(O,L,I){I.length&&(I=[]);var B=O[O.length-1];return I.unshift(B,L),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(O,L,I){I.length&&(I=[]);var B=O[O.length-1];return I.unshift(B,L),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},u,{token:"variable.global",regex:"[$][a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]*"},{token:["punctuation.operator","support.function"],regex:/(\.)([a-zA-Z_\d]+)(?=\()/},{token:["punctuation.operator","identifier"],regex:/(\.)([a-zA-Z_][a-zA-Z_\d]*)/},{token:"string.character",regex:"\\B\\?(?:"+C+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},l,c,w,h,s,g,o,a,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:k,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(O,L,I){var B=O[2]=="-"||O[2]=="~"?"indentedHeredoc":"heredoc",P=O.split(this.splitRegex);return I.push(B,P[3]),[{type:"constant",value:P[1]},{type:"string",value:P[2]},{type:"support.class",value:P[3]},{type:"string",value:P[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(O,L,I){return O===I[1]?(I.shift(),I.shift(),this.next=I[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(O,L,I){return O===I[1]?(I.shift(),I.shift(),this.next=I[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(O,L){return L[0]==="heredoc"||L[0]==="indentedHeredoc"?L[0]:O}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(O,L,I){return this.next="",O=="}"&&I.length>1&&I[1]!="start"&&(I.shift(),this.next=I.shift()),this.token}},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:/[?:,;.]/}],comment:[{token:"comment.multiline",regex:"^=end(?=$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}],qStateWithInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(O,L,I){return I.length&&O===I[0]?(I.unshift(O,L),this.token):"string"}},{token:"constant.language.escape",regex:C},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(O,L,I){return I.length&&O===R[I[0]]?(I.shift(),this.next=I.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(O,L,I){return I.length&&O===I[0]?(I.unshift(O,L),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(O,L,I){return I.length&&O===R[I[0]]?(I.shift(),this.next=I.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(O,L,I){return I.length&&O===I[0]?(I.unshift(O,L),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(O,L,I){return I.length&&O===R[I[0]]?(I.shift(),this.next=I.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(O,L,I){return I.length&&O===I[0]?(I.unshift(O,L),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:C},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(O,L,I){return I.length&&O===R[I[0]]?(I.shift(),this.next=I.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(O,L,I){return I.length&&O===I[0]?(I.unshift(O,L),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(O,L,I){return I.length&&O[0]===R[I[0]]?(I.shift(),this.next=I.shift(),this.token):(this.next="","constant.language.escape")}},{include:"regex"},{defaultToken:"string.regexp"}],regex:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"constant.language.escape",regex:/\\[AGbBzZ]/},{token:"constant.language.escape",regex:/\\g<[a-zA-Z0-9]*>/},{token:["constant.language.escape","regexp.keyword","constant.language.escape"],regex:/(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/},{token:["constant.language.escape","invalid","constant.language.escape"],regex:/(\\p{\^?)([^/]*)(})/},{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:/[/][imxouesn]*/,next:"start"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"regexp.keyword",regex:/\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/},{token:"constant.language.escape",regex:/\[\^?/,push:"regex_character_class"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:/&?&?\[\^?/,push:"regex_character_class"},{token:"constant.language.escape",regex:"]",next:"pop"},{token:"constant.language.escape",regex:"-"},{defaultToken:"string.regexp.characterclass"}]},this.normalizeRules()};p.inherits(m,f),r.RubyHighlightRules=m}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(t,r,d){var p=t("../range").Range,f=function(){};(function(){this.checkOutdent=function(w,h){return/^\s+$/.test(w)?/^\s*\}/.test(h):!1},this.autoOutdent=function(w,h){var g=w.getLine(h),o=g.match(/^(\s*\})/);if(!o)return 0;var a=o[1].length,l=w.findMatchingBracket({row:h,column:a});if(!l||l.row==h)return 0;var c=this.$getIndent(w.getLine(l.row));w.replace(new p(h,0,h,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(f.prototype),r.MatchingBraceOutdent=f}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(t,r,d){var p=t("../../lib/oop"),f=t("./fold_mode").FoldMode,w=t("../../range").Range,h=t("../../token_iterator").TokenIterator,g=r.FoldMode=function(){};p.inherits(g,f),(function(){this.indentKeywords={class:1,def:1,module:1,do:1,unless:1,if:1,while:1,for:1,until:1,begin:1,else:0,elsif:0,rescue:0,ensure:0,when:0,end:-1,case:1,"=begin":1,"=end":-1},this.foldingStartMarker=/(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/,this.foldingStopMarker=/(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/,this.getFoldWidget=function(o,a,l){var c=o.getLine(l),s=this.foldingStartMarker.test(c),u=this.foldingStopMarker.test(c);if(s&&!u){var m=c.match(this.foldingStartMarker);if(m[1]){if((m[1]=="if"||m[1]=="else"||m[1]=="while"||m[1]=="until"||m[1]=="unless")&&(m[1]=="else"&&/^\s*else\s*$/.test(c)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(c)===!1)||m[1]=="when"&&/\sthen\s/.test(c)===!0)return;if(o.getTokenAt(l,m.index+2).type==="keyword")return"start"}else if(!m[3]||o.getTokenAt(l,m.index+1).type==="comment.multiline")return"start"}if(a!="markbeginend"||!u||s&&u)return"";var m=c.match(this.foldingStopMarker);if(m[3]==="end"){if(o.getTokenAt(l,m.index+1).type==="keyword")return"end"}else if(!m[1]||o.getTokenAt(l,m.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(o,a,l){var c=o.doc.getLine(l),s=this.foldingStartMarker.exec(c);if(s)return s[1]||s[3]?this.rubyBlock(o,l,s.index+2):this.openingBracketBlock(o,"{",l,s.index);var s=this.foldingStopMarker.exec(c);if(s)return s[3]==="end"&&o.getTokenAt(l,s.index+1).type==="keyword"?this.rubyBlock(o,l,s.index+1):s[1]==="=end"&&o.getTokenAt(l,s.index+1).type==="comment.multiline"?this.rubyBlock(o,l,s.index+1):this.closingBracketBlock(o,"}",l,s.index+s[0].length)},this.rubyBlock=function(o,a,l,c){var s=new h(o,a,l),u=s.getCurrentToken();if(!(!u||u.type!="keyword"&&u.type!="comment.multiline")){var m=u.value,b=o.getLine(a);switch(u.value){case"if":case"unless":case"while":case"until":var x=new RegExp("^\\s*"+u.value);if(!x.test(b))return;var E=this.indentKeywords[m];break;case"when":if(/\sthen\s/.test(b))return;case"elsif":case"rescue":case"ensure":var E=1;break;case"else":var x=new RegExp("^\\s*"+u.value+"\\s*$");if(!x.test(b))return;var E=1;break;default:var E=this.indentKeywords[m]}var $=[m];if(E){var k=E===-1?o.getLine(a-1).length:o.getLine(a).length,C=a,R=[];if(R.push(s.getCurrentTokenRange()),s.step=E===-1?s.stepBackward:s.stepForward,u.type=="comment.multiline"){for(;u=s.step();)if(u.type==="comment.multiline"){if(E==1){if(k=6,u.value=="=end")break}else if(u.value=="=begin")break}}else for(;u=s.step();){var O=!1;if(u.type==="keyword"){var L=E*this.indentKeywords[u.value];switch(b=o.getLine(s.getCurrentTokenRow()),u.value){case"do":for(var I=s.$tokenIndex-1;I>=0;I--){var B=s.$rowTokens[I];if(B&&(B.value=="while"||B.value=="until"||B.value=="for")){L=0;break}}break;case"else":var x=new RegExp("^\\s*"+u.value+"\\s*$");(!x.test(b)||m=="case")&&(L=0,O=!0);break;case"if":case"unless":case"while":case"until":var x=new RegExp("^\\s*"+u.value);x.test(b)||(L=0,O=!0);break;case"when":(/\sthen\s/.test(b)||m=="case")&&(L=0,O=!0)}if(L>0)$.unshift(u.value);else if(L<=0&&O===!1){if($.shift(),!$.length&&((m=="while"||m=="until"||m=="for")&&u.value!="do"||u.value=="do"&&E==-1&&L!=0||u.value!="do"))break;L===0&&$.unshift(u.value)}}}if(!u)return null;if(c)return R.push(s.getCurrentTokenRange()),R;var a=s.getCurrentTokenRow();if(E===-1){if(u.type==="comment.multiline")var P=6;else var P=o.getLine(a).length;return new w(a,P,C-1,k)}return new w(C,k,a-1,o.getLine(a-1).length)}}}}).call(g.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/ruby"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./ruby_highlight_rules").RubyHighlightRules,h=t("./matching_brace_outdent").MatchingBraceOutdent,g=t("../range").Range,o=t("./folding/ruby").FoldMode,a=function(){this.HighlightRules=w,this.$outdent=new h,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new o,this.indentKeywords=this.foldingRules.indentKeywords};p.inherits(a,f),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(l,c,s){var u=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,l),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return u;if(l=="start"){var x=c.match(/^.*[\{\(\[]\s*$/),E=c.match(/^\s*(class|def|module)\s.*$/),$=c.match(/.*do(\s*|\s+\|.*\|\s*)$/),k=c.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(x||E||$||k)&&(u+=s)}return u},this.checkOutdent=function(l,c,s){return/^\s+(end|else|rescue|ensure)$/.test(c+s)||this.$outdent.checkOutdent(c,s)},this.autoOutdent=function(l,c,s){var u=c.getLine(s);if(/}/.test(u))return this.$outdent.autoOutdent(c,s);var m=this.$getIndent(u),b=c.getLine(s-1),x=this.$getIndent(b),E=c.getTabString();x.length<=m.length&&m.slice(-E.length)==E&&c.remove(new g(s,m.length-E.length,s,m.length))},this.getMatching=function(l,c,s){if(c==null){var u=l.selection.lead;s=u.column,c=u.row}var m=l.getTokenAt(c,s);if(m&&m.value in this.indentKeywords)return this.foldingRules.rubyBlock(l,c,s,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(a.prototype),r.Mode=a}),function(){ace.require(["ace/mode/ruby"],function(t){n&&(n.exports=t)})}()}(cf)),cf.exports}Fx();var hf={exports:{}},df;function Px(){return df||(df=1,function(n,e){ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=function(){var h="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",g="True|False|None|NotImplemented|Ellipsis|__debug__",o="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",a=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":o,"variable.language":"self|cls","constant.language":g,keyword:h},"identifier"),l="[uU]?",c="[rR]",s="[fF]",u="(?:[rR][fF]|[fF][rR])",m="(?:(?:[1-9]\\d*)|(?:0))",b="(?:0[oO]?[0-7]+)",x="(?:0[xX][\\dA-Fa-f]+)",E="(?:0[bB][01]+)",$="(?:"+m+"|"+b+"|"+x+"|"+E+")",k="(?:[eE][+-]?\\d+)",C="(?:\\.\\d+)",R="(?:\\d+)",O="(?:(?:"+R+"?"+C+")|(?:"+R+"\\.))",L="(?:(?:"+O+"|"+R+")"+k+")",I="(?:"+L+"|"+O+")",B=`\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})`;this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:l+'"{3}',next:"qqstring3"},{token:"string",regex:l+'"(?=.)',next:"qqstring"},{token:"string",regex:l+"'{3}",next:"qstring3"},{token:"string",regex:l+"'(?=.)",next:"qstring"},{token:"string",regex:c+'"{3}',next:"rawqqstring3"},{token:"string",regex:c+'"(?=.)',next:"rawqqstring"},{token:"string",regex:c+"'{3}",next:"rawqstring3"},{token:"string",regex:c+"'(?=.)",next:"rawqstring"},{token:"string",regex:s+'"{3}',next:"fqqstring3"},{token:"string",regex:s+'"(?=.)',next:"fqqstring"},{token:"string",regex:s+"'{3}",next:"fqstring3"},{token:"string",regex:s+"'(?=.)",next:"fqstring"},{token:"string",regex:u+'"{3}',next:"rfqqstring3"},{token:"string",regex:u+'"(?=.)',next:"rfqqstring"},{token:"string",regex:u+"'{3}",next:"rfqstring3"},{token:"string",regex:u+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:B},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:B},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:B},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:B},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:B},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:B},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:B},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:B},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+I+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:I},{token:"constant.numeric",regex:$+"[lL]\\b"},{token:"constant.numeric",regex:$+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:a,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};p.inherits(w,f),r.PythonHighlightRules=w}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(t,r,d){var p=t("../../lib/oop"),f=t("./fold_mode").FoldMode,w=r.FoldMode=function(h){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+h+")(?:\\s*)(?:#.*)?$")};p.inherits(w,f),(function(){this.getFoldWidgetRange=function(h,g,o){var a=h.getLine(o),l=a.match(this.foldingStartMarker);if(l)return l[1]?this.openingBracketBlock(h,l[1],o,l.index):l[2]?this.indentationBlock(h,o,l.index+l[2].length):this.indentationBlock(h,o)}}).call(w.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./python_highlight_rules").PythonHighlightRules,h=t("./folding/pythonic").FoldMode,g=t("../range").Range,o=function(){this.HighlightRules=w,this.foldingRules=new h("\\:"),this.$behaviour=this.$defaultBehaviour};p.inherits(o,f),(function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(l,c,s){var u=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,l),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return u;if(l=="start"){var x=c.match(/^.*[\{\(\[:]\s*$/);x&&(u+=s)}return u};var a={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(l,c,s){if(s!==`\r
986
+ `&&s!=="\r"&&s!==`
987
+ `)return!1;var u=this.getTokenizer().getLineTokens(c.trim(),l).tokens;if(!u)return!1;do var m=u.pop();while(m&&(m.type=="comment"||m.type=="text"&&m.value.match(/^\s+$/)));return m?m.type=="keyword"&&a[m.value]:!1},this.autoOutdent=function(l,c,s){s+=1;var u=this.$getIndent(c.getLine(s)),m=c.getTabString();u.slice(-m.length)==m&&c.remove(new g(s,u.length-m.length,s,u.length))},this.$id="ace/mode/python",this.snippetFileId="ace/snippets/python"}).call(o.prototype),r.Mode=o}),function(){ace.require(["ace/mode/python"],function(t){n&&(n.exports=t)})}()}(hf)),hf.exports}Px();var pf={exports:{}},ff;function Wx(){return ff||(ff=1,function(n,e){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};p.inherits(w,f),r.JsonHighlightRules=w}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(t,r,d){var p=t("../range").Range,f=function(){};(function(){this.checkOutdent=function(w,h){return/^\s+$/.test(w)?/^\s*\}/.test(h):!1},this.autoOutdent=function(w,h){var g=w.getLine(h),o=g.match(/^(\s*\})/);if(!o)return 0;var a=o[1].length,l=w.findMatchingBracket({row:h,column:a});if(!l||l.row==h)return 0;var c=this.$getIndent(w.getLine(l.row));w.replace(new p(h,0,h,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(f.prototype),r.MatchingBraceOutdent=f}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(t,r,d){var p=t("../../lib/oop"),f=t("../../range").Range,w=t("./fold_mode").FoldMode,h=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};p.inherits(h,w),(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(g,o,a){var l=g.getLine(a);if(this.singleLineBlockCommentRe.test(l)&&!this.startRegionRe.test(l)&&!this.tripleStarBlockCommentRe.test(l))return"";var c=this._getFoldWidgetBase(g,o,a);return!c&&this.startRegionRe.test(l)?"start":c},this.getFoldWidgetRange=function(g,o,a,l){var c=g.getLine(a);if(this.startRegionRe.test(c))return this.getCommentRegionBlock(g,c,a);var s=c.match(this.foldingStartMarker);if(s){var u=s.index;if(s[1])return this.openingBracketBlock(g,s[1],a,u);var m=g.getCommentFoldRange(a,u+s[0].length,1);return m&&!m.isMultiLine()&&(l?m=this.getSectionRange(g,a):o!="all"&&(m=null)),m}if(o!=="markbegin"){var s=c.match(this.foldingStopMarker);if(s){var u=s.index+s[0].length;return s[1]?this.closingBracketBlock(g,s[1],a,u):g.getCommentFoldRange(a,u,-1)}}},this.getSectionRange=function(g,o){var a=g.getLine(o),l=a.search(/\S/),c=o,s=a.length;o+=1;for(var u=o,m=g.getLength();++o<m;){a=g.getLine(o);var b=a.search(/\S/);if(b!==-1){if(l>b)break;var x=this.getFoldWidgetRange(g,"all",o);if(x){if(x.start.row<=c)break;if(x.isMultiLine())o=x.end.row;else if(l==b)break}u=o}}return new f(c,s,u,g.getLine(u).length)},this.getCommentRegionBlock=function(g,o,a){for(var l=o.search(/\s*$/),c=g.getLength(),s=a,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,m=1;++a<c;){o=g.getLine(a);var b=u.exec(o);if(b&&(b[1]?m--:m++,!m))break}var x=a;if(x>s)return new f(s,l,x,o.length)}}).call(h.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./json_highlight_rules").JsonHighlightRules,h=t("./matching_brace_outdent").MatchingBraceOutdent,g=t("./folding/cstyle").FoldMode,o=t("../worker/worker_client").WorkerClient,a=function(){this.HighlightRules=w,this.$outdent=new h,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new g};p.inherits(a,f),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(l,c,s){var u=this.$getIndent(c);if(l=="start"){var m=c.match(/^.*[\{\(\[]\s*$/);m&&(u+=s)}return u},this.checkOutdent=function(l,c,s){return this.$outdent.checkOutdent(c,s)},this.autoOutdent=function(l,c,s){this.$outdent.autoOutdent(c,s)},this.createWorker=function(l){var c=new o(["ace"],"ace/mode/json_worker","JsonWorker");return c.attachToDocument(l.getDocument()),c.on("annotate",function(s){l.setAnnotations(s.data)}),c.on("terminate",function(){l.clearAnnotations()}),c},this.$id="ace/mode/json"}).call(a.prototype),r.Mode=a}),function(){ace.require(["ace/mode/json"],function(t){n&&(n.exports=t)})}()}(pf)),pf.exports}Wx();var gf={exports:{}},mf;function Bx(){return mf||(mf=1,function(n,e){ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop");t("../lib/lang");var f=t("./text_highlight_rules").TextHighlightRules,w=r.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",h=r.supportFunction="rgb|rgba|url|attr|counter|counters",g=r.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",o=r.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",a=r.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",l=r.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",c=r.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",s=r.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",u=function(){var m=this.createKeywordMapper({"support.function":h,"support.constant":g,"support.type":w,"support.constant.color":o,"support.constant.fonts":a},"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:l},{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:"("+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:l},{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:c},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:s},{include:"url"},{token:m,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{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()};p.inherits(u,f),r.CssHighlightRules=u}),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},w.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};p.inherits(w,f),w.getTagRule=function(h){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},w.getStartRule=function(h){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:h}},w.getEndRule=function(h){return{token:"comment.doc",regex:"\\*\\/",next:h}},r.JsDocCommentHighlightRules=w}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(t,r,d){function p(){var l=o.replace("\\d","\\d\\-"),c={onMatch:function(u,m,b){var x=u.charAt(1)=="/"?2:1;return x==1?(m!=this.nextState?b.unshift(this.next,this.nextState,0):b.unshift(this.next),b[2]++):x==2&&m==this.nextState&&(b[1]--,(!b[1]||b[1]<0)&&(b.shift(),b.shift())),[{type:"meta.tag.punctuation."+(x==1?"":"end-")+"tag-open.xml",value:u.slice(0,x)},{type:"meta.tag.tag-name.xml",value:u.substr(x)}]},regex:"</?(?:"+l+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(c);var s={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[s,c,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(u,m,b){return m==b[0]&&b.shift(),u.length==2&&(b[0]==this.nextState&&b[1]--,(!b[1]||b[1]<0)&&b.splice(0,2)),this.next=b[0]||"start",[{type:this.token,value:u}]},nextState:"jsx"},s,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:l},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},c],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(l){return[{token:"comment",regex:/\/\*/,next:[h.getTagRule(),{token:"comment",regex:"\\*\\/",next:l||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[h.getTagRule(),{token:"comment",regex:"$|^",next:l||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var w=t("../lib/oop"),h=t("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,g=t("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",a=function(l){var c={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},s=this.createKeywordMapper(c,"identifier"),u="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",m="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",b="(function)(\\s*)(\\*?)",x={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(c).join("|")+"\\b)"+o+")(\\s*)(\\()"};this.$rules={no_regex:[h.getStartRule("doc-start"),f("no_regex"),x,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+b+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+u+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:s,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:b+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[h.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[f("function_arguments"),{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:m},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!l||!l.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(E,$,k){if(this.next=E=="{"?this.nextState:"",E=="{"&&k.length)k.unshift("start",$);else if(E=="}"&&k.length&&(k.shift(),this.next=k.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return E=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:m},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+o+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!l||l.jsx!=0)&&p.call(this)),this.embedRules(h,"doc-",[h.getEndRule("no_regex")]),this.normalizeRules()};w.inherits(a,g),r.JavaScriptHighlightRules=a}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=function(h){var g="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+g+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:g},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+g+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+g+":)?"+g+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:g},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===w&&this.normalizeRules()};(function(){this.embedTagRules=function(h,g,o){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(<)("+o+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:g+"start"}]}),this.$rules[o+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(a,l,c){return c.splice(0),this.token}}],this.embedRules(h,g,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(</)("+o+"(?=\\s|>|$))",next:o+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(f.prototype),p.inherits(w,f),r.XmlHighlightRules=w}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/lang"),w=t("./css_highlight_rules").CssHighlightRules,h=t("./javascript_highlight_rules").JavaScriptHighlightRules,g=t("./xml_highlight_rules").XmlHighlightRules,o=f.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),a=function(){g.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(l,c){var s=o[c];return["meta.tag.punctuation."+(l=="<"?"":"end-")+"tag-open.xml","meta.tag"+(s?"."+s:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(w,"css-","style"),this.embedTagRules(new h({jsx:!1}).getRules(),"js-","script"),this.constructor===a&&this.normalizeRules()};p.inherits(a,g),r.HtmlHighlightRules=a}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(t,r,d){var p=t("../config").$modes,f=t("../lib/oop"),w=t("../lib/lang"),h=t("./text_highlight_rules").TextHighlightRules,g=t("./html_highlight_rules").HtmlHighlightRules,o=function(l){return"(?:[^"+w.escapeRegExp(l)+"\\\\]|\\\\.)*"},a=function(){g.call(this);var l={token:"support.function",regex:/^\s*(```+[^`]*|~~~+[^~]*)$/,onMatch:function(s,u,m,b){var x=s.match(/^(\s*)([`~]+)(.*)/),E=/[\w-]+|$/.exec(x[3])[0];return p[E]||(E=""),m.unshift("githubblock",[],[x[1],x[2],E],u),this.token},next:"githubblock"},c=[{token:"support.function",regex:".*",onMatch:function(s,u,m,b){var x=m[1],E=m[2][0],$=m[2][1],k=m[2][2],C=/^(\s*)(`+|~+)\s*$/.exec(s);if(C&&C[1].length<E.length+3&&C[2].length>=$.length&&C[2][0]==$[0])return m.splice(0,3),this.next=m.shift(),this.token;if(this.next="",k&&p[k]){var R=p[k].getTokenizer().getLineTokens(s,x.slice(0));return m[1]=R.state,R.tokens}return this.token}}];this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(s){return"markup.heading."+s.length},regex:/^#{1,6}(?=\s|$)/,next:"header"},l,{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+o("]")+")(\\]\\s*\\[)("+o("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\!?\\[)("+o("]")+')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"'+o('"')+'"\\s*)?(\\))'},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:`(<)((?:https?|ftp|dict):[^'">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)`}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},l,{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:c}),this.normalizeRules()};f.inherits(a,h),r.MarkdownHighlightRules=a}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(t,r,d){var p=t("../../lib/oop"),f=t("./fold_mode").FoldMode,w=t("../../range").Range,h=r.FoldMode=function(){};p.inherits(h,f),(function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(g,o,a){var l=g.getLine(a);return this.foldingStartMarker.test(l)?l[0]=="`"&&g.bgTokenizer.getState(a)=="start"?"end":"start":""},this.getFoldWidgetRange=function(g,o,a){function l(O){return E=g.getTokens(O)[0],E&&E.type.lastIndexOf($,0)===0}function c(){var O=E.value[0];return O=="="?6:O=="-"?5:7-E.value.search(/[^#]|$/)}var s=g.getLine(a),u=s.length,m=g.getLength(),b=a,x=a;if(s.match(this.foldingStartMarker)){if(s[0]=="`"){if(g.bgTokenizer.getState(a)!=="start"){for(;++a<m&&(s=g.getLine(a),!(s[0]=="`"&s.substring(0,3)=="```")););return new w(b,u,a,0)}for(;a-- >0&&(s=g.getLine(a),!(s[0]=="`"&s.substring(0,3)=="```")););return new w(a,s.length,b,0)}var E,$="markup.heading";if(l(a)){for(var k=c();++a<m;)if(l(a)){var C=c();if(C>=k)break}if(x=a-(!E||["=","-"].indexOf(E.value[0])==-1?1:2),x>b)for(;x>b&&/^\s*$/.test(g.getLine(x));)x--;if(x>b){var R=g.getLine(x).length;return new w(b,u,x,R)}}}}}).call(h.prototype)}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(t,r,d){var p=t("../range").Range,f=function(){};(function(){this.checkOutdent=function(w,h){return/^\s+$/.test(w)?/^\s*\}/.test(h):!1},this.autoOutdent=function(w,h){var g=w.getLine(h),o=g.match(/^(\s*\})/);if(!o)return 0;var a=o[1].length,l=w.findMatchingBracket({row:h,column:a});if(!l||l.row==h)return 0;var c=this.$getIndent(w.getLine(l.row));w.replace(new p(h,0,h,a-1),c)},this.$getIndent=function(w){return w.match(/^\s*/)[0]}}).call(f.prototype),r.MatchingBraceOutdent=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(t,r,d){function p(o,a){return o&&o.type.lastIndexOf(a+".xml")>-1}var f=t("../../lib/oop"),w=t("../behaviour").Behaviour,h=t("../../token_iterator").TokenIterator,g=function(){this.add("string_dquotes","insertion",function(o,a,l,c,s){if(s=='"'||s=="'"){var u=s,m=c.doc.getTextRange(l.getSelectionRange());if(m!==""&&m!=="'"&&m!='"'&&l.getWrapBehavioursEnabled())return{text:u+m+u,selection:!1};var b=l.getCursorPosition(),x=c.doc.getLine(b.row),E=x.substring(b.column,b.column+1),$=new h(c,b.row,b.column),k=$.getCurrentToken();if(E==u&&(p(k,"attribute-value")||p(k,"string")))return{text:"",selection:[1,1]};if(k||(k=$.stepBackward()),!k)return;for(;p(k,"tag-whitespace")||p(k,"whitespace");)k=$.stepBackward();var C=!E||E.match(/\s/);if(p(k,"attribute-equals")&&(C||E==">")||p(k,"decl-attribute-equals")&&(C||E=="?"))return{text:u+u,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(o,a,l,c,s){var u=c.doc.getTextRange(s);if(!s.isMultiLine()&&(u=='"'||u=="'")){var m=c.doc.getLine(s.start.row),b=m.substring(s.start.column+1,s.start.column+2);if(b==u)return s.end.column++,s}}),this.add("autoclosing","insertion",function(o,a,l,c,s){if(s==">"){var u=l.getSelectionRange().start,m=new h(c,u.row,u.column),b=m.getCurrentToken()||m.stepBackward();if(!b||!(p(b,"tag-name")||p(b,"tag-whitespace")||p(b,"attribute-name")||p(b,"attribute-equals")||p(b,"attribute-value"))||p(b,"reference.attribute-value"))return;if(p(b,"attribute-value")){var x=m.getCurrentTokenColumn()+b.value.length;if(u.column<x)return;if(u.column==x){var E=m.stepForward();if(E&&p(E,"attribute-value"))return;m.stepBackward()}}if(/^\s*>/.test(c.getLine(u.row).slice(u.column)))return;for(;!p(b,"tag-name");)if(b=m.stepBackward(),b.value=="<"){b=m.stepForward();break}var $=m.getCurrentTokenRow(),k=m.getCurrentTokenColumn();if(p(m.stepBackward(),"end-tag-open"))return;var C=b.value;return $==u.row&&(C=C.substring(0,u.column-k)),this.voidElements&&this.voidElements.hasOwnProperty(C.toLowerCase())?void 0:{text:"></"+C+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(o,a,l,c,s){if(s==`
988
+ `){var u=l.getCursorPosition(),m=c.getLine(u.row),b=new h(c,u.row,u.column),x=b.getCurrentToken();if(p(x,"")&&x.type.indexOf("tag-close")!==-1){if(x.value=="/>")return;for(;x&&x.type.indexOf("tag-name")===-1;)x=b.stepBackward();if(!x)return;var E=x.value,$=b.getCurrentTokenRow();if(x=b.stepBackward(),!x||x.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[E]||!this.voidElements){var k=c.getTokenAt(u.row,u.column+1),m=c.getLine($),C=this.$getIndent(m),R=C+c.getTabString();return k&&k.value==="</"?{text:`
989
+ `+R+`
990
+ `+C,selection:[1,R.length,1,R.length]}:{text:`
991
+ `+R}}}}})};f.inherits(g,w),r.XmlBehaviour=g}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(t,r,d){var p=t("../../lib/oop"),f=t("../../token_iterator").TokenIterator,w=t("../behaviour/cstyle").CstyleBehaviour,h=t("../behaviour/xml").XmlBehaviour,g=function(){var o=new h({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(o),this.inherit(w),this.add("autoclosing-fragment","insertion",function(a,l,c,s,u){if(u==">"){var m=c.getSelectionRange().start,b=new f(s,m.row,m.column),x=b.getCurrentToken()||b.stepBackward();if(!x)return;if(x.value=="<")return{text:"></>",selection:[1,1]}}})};p.inherits(g,w),r.JavaScriptBehaviour=g}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(t,r,d){function p(a,l){return a&&a.type&&a.type.lastIndexOf(l+".xml")>-1}var f=t("../../lib/oop"),w=t("../../range").Range,h=t("./fold_mode").FoldMode,g=r.FoldMode=function(a,l){h.call(this),this.voidElements=a||{},this.optionalEndTags=f.mixin({},this.voidElements),l&&f.mixin(this.optionalEndTags,l)};f.inherits(g,h);var o=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(a,l,c){var s=this._getFirstTagInLine(a,c);return s?s.closing||!s.tagName&&s.selfClosing?l==="markbeginend"?"end":"":!s.tagName||s.selfClosing||this.voidElements.hasOwnProperty(s.tagName.toLowerCase())||this._findEndTagInLine(a,c,s.tagName,s.end.column)?"":"start":this.getCommentFoldWidget(a,c)},this.getCommentFoldWidget=function(a,l){return/comment/.test(a.getState(l))&&/<!-/.test(a.getLine(l))?"start":""},this._getFirstTagInLine=function(a,l){for(var c=a.getTokens(l),s=new o,u=0;u<c.length;u++){var m=c[u];if(p(m,"tag-open")){if(s.end.column=s.start.column+m.value.length,s.closing=p(m,"end-tag-open"),m=c[++u],!m)return null;if(s.tagName=m.value,m.value===""){if(m=c[++u],!m)return null;s.tagName=m.value}for(s.end.column+=m.value.length,u++;u<c.length;u++)if(m=c[u],s.end.column+=m.value.length,p(m,"tag-close")){s.selfClosing=m.value=="/>";break}return s}if(p(m,"tag-close"))return s.selfClosing=m.value=="/>",s;s.start.column+=m.value.length}return null},this._findEndTagInLine=function(a,l,c,s){for(var u=a.getTokens(l),m=0,b=0;b<u.length;b++){var x=u[b];if(m+=x.value.length,!(m<s-1)&&p(x,"end-tag-open")&&(x=u[b+1],p(x,"tag-name")&&x.value===""&&(x=u[b+2]),x&&x.value==c))return!0}return!1},this.getFoldWidgetRange=function(a,l,c){var s=this._getFirstTagInLine(a,c);if(!s)return this.getCommentFoldWidget(a,c)&&a.getCommentFoldRange(c,a.getLine(c).length);var u=a.getMatchingTags({row:c,column:0});if(u)return new w(u.openTag.end.row,u.openTag.end.column,u.closeTag.start.row,u.closeTag.start.column)}}).call(g.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(t,r,d){var p=t("../../lib/oop"),f=t("../../range").Range,w=t("./fold_mode").FoldMode,h=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end)))};p.inherits(h,w),(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(g,o,a){var l=g.getLine(a);if(this.singleLineBlockCommentRe.test(l)&&!this.startRegionRe.test(l)&&!this.tripleStarBlockCommentRe.test(l))return"";var c=this._getFoldWidgetBase(g,o,a);return!c&&this.startRegionRe.test(l)?"start":c},this.getFoldWidgetRange=function(g,o,a,l){var c=g.getLine(a);if(this.startRegionRe.test(c))return this.getCommentRegionBlock(g,c,a);var s=c.match(this.foldingStartMarker);if(s){var u=s.index;if(s[1])return this.openingBracketBlock(g,s[1],a,u);var m=g.getCommentFoldRange(a,u+s[0].length,1);return m&&!m.isMultiLine()&&(l?m=this.getSectionRange(g,a):o!="all"&&(m=null)),m}if(o!=="markbegin"){var s=c.match(this.foldingStopMarker);if(s){var u=s.index+s[0].length;return s[1]?this.closingBracketBlock(g,s[1],a,u):g.getCommentFoldRange(a,u,-1)}}},this.getSectionRange=function(g,o){var a=g.getLine(o),l=a.search(/\S/),c=o,s=a.length;o+=1;for(var u=o,m=g.getLength();++o<m;){a=g.getLine(o);var b=a.search(/\S/);if(b!==-1){if(l>b)break;var x=this.getFoldWidgetRange(g,"all",o);if(x){if(x.start.row<=c)break;if(x.isMultiLine())o=x.end.row;else if(l==b)break}u=o}}return new f(c,s,u,g.getLine(u).length)},this.getCommentRegionBlock=function(g,o,a){for(var l=o.search(/\s*$/),c=g.getLength(),s=a,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,m=1;++a<c;){o=g.getLine(a);var b=u.exec(o);if(b&&(b[1]?m--:m++,!m))break}var x=a;if(x>s)return new f(s,l,x,o.length)}}).call(h.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(t,r,d){var p=t("../../lib/oop"),f=t("./xml").FoldMode,w=t("./cstyle").FoldMode,h=r.FoldMode=function(g){g&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+g.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+g.end))),this.xmlFoldMode=new f};p.inherits(h,w),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(g,o,a){var l=this.getFoldWidgetBase(g,o,a);return l||this.xmlFoldMode.getFoldWidget(g,o,a)},this.getFoldWidgetRange=function(g,o,a,l){var c=this.getFoldWidgetRangeBase(g,o,a,l);return c||this.xmlFoldMode.getFoldWidgetRange(g,o,a)}}).call(h.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./javascript_highlight_rules").JavaScriptHighlightRules,h=t("./matching_brace_outdent").MatchingBraceOutdent,g=t("../worker/worker_client").WorkerClient,o=t("./behaviour/javascript").JavaScriptBehaviour,a=t("./folding/javascript").FoldMode,l=function(){this.HighlightRules=w,this.$outdent=new h,this.$behaviour=new o,this.foldingRules=new a};p.inherits(l,f),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(c,s,u){var m=this.$getIndent(s),b=this.getTokenizer().getLineTokens(s,c),x=b.tokens,E=b.state;if(x.length&&x[x.length-1].type=="comment")return m;if(c=="start"||c=="no_regex"){var $=s.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);$&&(m+=u)}else if(c=="doc-start"&&(E=="start"||E=="no_regex"))return"";return m},this.checkOutdent=function(c,s,u){return this.$outdent.checkOutdent(s,u)},this.autoOutdent=function(c,s,u){this.$outdent.autoOutdent(s,u)},this.createWorker=function(c){var s=new g(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return s.attachToDocument(c.getDocument()),s.on("annotate",function(u){c.setAnnotations(u.data)}),s.on("terminate",function(){c.clearAnnotations()}),s},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(l.prototype),r.Mode=l}),ace.define("ace/mode/css_completions",["require","exports","module"],function(t,r,d){var p={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}},f=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var w=document.createElement("c").style;for(var h in w)if(typeof w[h]=="string"){var g=h.replace(/[A-Z]/g,function(o){return"-"+o.toLowerCase()});p.hasOwnProperty(g)||(p[g]=1)}}this.completionsDefined=!0},this.getCompletions=function(w,h,g,o){if(this.completionsDefined||this.defineCompletions(),w==="ruleset"||h.$mode.$id=="ace/mode/scss"){var a=h.getLine(g.row).substr(0,g.column),l=/\([^)]*$/.test(a);return l&&(a=a.substr(a.lastIndexOf("(")+1)),/:[^;]+$/.test(a)?this.getPropertyValueCompletions(w,h,g,o):this.getPropertyCompletions(w,h,g,o,l)}return[]},this.getPropertyCompletions=function(w,h,g,o,a){a=a||!1;var l=Object.keys(p);return l.map(function(c){return{caption:c,snippet:c+": $0"+(a?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(w,h,g,o){var a=h.getLine(g.row).substr(0,g.column),l=(/([\w\-]+):[^:]*$/.exec(a)||{})[1];if(!l)return[];var c=[];return l in p&&typeof p[l]=="object"&&(c=Object.keys(p[l])),c.map(function(s){return{caption:s,snippet:s,meta:"property value",score:1e6}})}}).call(f.prototype),r.CssCompletions=f}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(t,r,d){var p=t("../../lib/oop");t("../behaviour").Behaviour;var f=t("./cstyle").CstyleBehaviour,w=t("../../token_iterator").TokenIterator,h=function(){this.inherit(f),this.add("colon","insertion",function(g,o,a,l,c){if(c===":"&&a.selection.isEmpty()){var s=a.getCursorPosition(),u=new w(l,s.row,s.column),m=u.getCurrentToken();if(m&&m.value.match(/\s+/)&&(m=u.stepBackward()),m&&m.type==="support.type"){var b=l.doc.getLine(s.row),x=b.substring(s.column,s.column+1);if(x===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(b.substring(s.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(g,o,a,l,c){var s=l.doc.getTextRange(c);if(!c.isMultiLine()&&s===":"){var u=a.getCursorPosition(),m=new w(l,u.row,u.column),b=m.getCurrentToken();if(b&&b.value.match(/\s+/)&&(b=m.stepBackward()),b&&b.type==="support.type"){var x=l.doc.getLine(c.start.row),E=x.substring(c.end.column,c.end.column+1);if(E===";")return c.end.column++,c}}}),this.add("semicolon","insertion",function(g,o,a,l,c){if(c===";"&&a.selection.isEmpty()){var s=a.getCursorPosition(),u=l.doc.getLine(s.row),m=u.substring(s.column,s.column+1);if(m===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(g,o,a,l,c){if(c==="!"&&a.selection.isEmpty()){var s=a.getCursorPosition(),u=l.doc.getLine(s.row);if(/^\s*(;|}|$)/.test(u.substring(s.column)))return{text:"!important",selection:[10,10]}}})};p.inherits(h,f),r.CssBehaviour=h}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./css_highlight_rules").CssHighlightRules,h=t("./matching_brace_outdent").MatchingBraceOutdent,g=t("../worker/worker_client").WorkerClient,o=t("./css_completions").CssCompletions,a=t("./behaviour/css").CssBehaviour,l=t("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=w,this.$outdent=new h,this.$behaviour=new a,this.$completer=new o,this.foldingRules=new l};p.inherits(c,f),(function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(s,u,m){var b=this.$getIndent(u),x=this.getTokenizer().getLineTokens(u,s).tokens;if(x.length&&x[x.length-1].type=="comment")return b;var E=u.match(/^.*\{\s*$/);return E&&(b+=m),b},this.checkOutdent=function(s,u,m){return this.$outdent.checkOutdent(u,m)},this.autoOutdent=function(s,u,m){this.$outdent.autoOutdent(u,m)},this.getCompletions=function(s,u,m,b){return this.$completer.getCompletions(s,u,m,b)},this.createWorker=function(s){var u=new g(["ace"],"ace/mode/css_worker","Worker");return u.attachToDocument(s.getDocument()),u.on("annotate",function(m){s.setAnnotations(m.data)}),u.on("terminate",function(){s.clearAnnotations()}),u},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}).call(c.prototype),r.Mode=c}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(t,r,d){var p=t("../../lib/oop"),f=t("./fold_mode").FoldMode,w=r.FoldMode=function(h,g){this.defaultMode=h,this.subModes=g};p.inherits(w,f),(function(){this.$getMode=function(h){typeof h!="string"&&(h=h[0]);for(var g in this.subModes)if(h.indexOf(g)===0)return this.subModes[g];return null},this.$tryMode=function(h,g,o,a){var l=this.$getMode(h);return l?l.getFoldWidget(g,o,a):""},this.getFoldWidget=function(h,g,o){return this.$tryMode(h.getState(o-1),h,g,o)||this.$tryMode(h.getState(o),h,g,o)||this.defaultMode.getFoldWidget(h,g,o)},this.getFoldWidgetRange=function(h,g,o){var a=this.$getMode(h.getState(o-1));return(!a||!a.getFoldWidget(h,g,o))&&(a=this.$getMode(h.getState(o))),(!a||!a.getFoldWidget(h,g,o))&&(a=this.defaultMode),a.getFoldWidgetRange(h,g,o)}}).call(w.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(t,r,d){var p=t("../../lib/oop"),f=t("./mixed").FoldMode,w=t("./xml").FoldMode,h=t("./cstyle").FoldMode,g=r.FoldMode=function(o,a){f.call(this,new w(o,a),{"js-":new h,"css-":new h})};p.inherits(g,f)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(t,r,d){function p(u,m){return u.type.lastIndexOf(m+".xml")>-1}function f(u,m){for(var b=new h(u,m.row,m.column),x=b.getCurrentToken();x&&!p(x,"tag-name");)x=b.stepBackward();if(x)return x.value}function w(u,m){for(var b=new h(u,m.row,m.column),x=b.getCurrentToken();x&&!p(x,"attribute-name");)x=b.stepBackward();if(x)return x.value}var h=t("../token_iterator").TokenIterator,g=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],o=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],a=g.concat(o),l={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},c=Object.keys(l),s=function(){};(function(){this.getCompletions=function(u,m,b,x){var E=m.getTokenAt(b.row,b.column);if(!E)return[];if(p(E,"tag-name")||p(E,"tag-open")||p(E,"end-tag-open"))return this.getTagCompletions(u,m,b,x);if(p(E,"tag-whitespace")||p(E,"attribute-name"))return this.getAttributeCompletions(u,m,b,x);if(p(E,"attribute-value"))return this.getAttributeValueCompletions(u,m,b,x);var $=m.getLine(b.row).substr(0,b.column);return/&[a-z]*$/i.test($)?this.getHTMLEntityCompletions(u,m,b,x):[]},this.getTagCompletions=function(u,m,b,x){return c.map(function(E){return{value:E,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(u,m,b,x){var E=f(m,b);if(!E)return[];var $=a;return E in l&&($=$.concat(Object.keys(l[E]))),$.map(function(k){return{caption:k,snippet:k+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(u,m,b,x){var E=f(m,b),$=w(m,b);if(!E)return[];var k=[];return E in l&&$ in l[E]&&typeof l[E][$]=="object"&&(k=Object.keys(l[E][$])),k.map(function(C){return{caption:C,snippet:C,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(u,m,b,x){var E=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return E.map(function($){return{caption:$,snippet:$,meta:"html entity",score:1e6}})}}).call(s.prototype),r.HtmlCompletions=s}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/lang"),w=t("./text").Mode,h=t("./javascript").Mode,g=t("./css").Mode,o=t("./html_highlight_rules").HtmlHighlightRules,a=t("./behaviour/xml").XmlBehaviour,l=t("./folding/html").FoldMode,c=t("./html_completions").HtmlCompletions,s=t("../worker/worker_client").WorkerClient,u=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],m=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],b=function(x){this.fragmentContext=x&&x.fragmentContext,this.HighlightRules=o,this.$behaviour=new a,this.$completer=new c,this.createModeDelegates({"js-":h,"css-":g}),this.foldingRules=new l(this.voidElements,f.arrayToMap(m))};p.inherits(b,w),(function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=f.arrayToMap(u),this.getNextLineIndent=function(x,E,$){return this.$getIndent(E)},this.checkOutdent=function(x,E,$){return!1},this.getCompletions=function(x,E,$,k){return this.$completer.getCompletions(x,E,$,k)},this.createWorker=function(x){if(this.constructor==b){var E=new s(["ace"],"ace/mode/html_worker","Worker");return E.attachToDocument(x.getDocument()),this.fragmentContext&&E.call("setOptions",[{context:this.fragmentContext}]),E.on("error",function($){x.setAnnotations($.data)}),E.on("terminate",function(){x.clearAnnotations()}),E}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}).call(b.prototype),r.Mode=b}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,r,d){var p=t("../lib/oop"),f=t("./text_highlight_rules").TextHighlightRules,w=r.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",h=r.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",g=function(){var o=this.createKeywordMapper({keyword:w,"support.function.builtin":h,"invalid.deprecated":"debugger"},"identifier"),a="(?:(?:[1-9]\\d*)|(?:0))",l="(?:\\.\\d+)",c="(?:\\d+)",s="(?:(?:"+c+"?"+l+")|(?:"+c+"\\.))",u="(?:(?:"+s+"|"+c+"))",m="(?:"+u+"|"+s+")",b="(?:&"+c+")",x="[a-zA-Z_][a-zA-Z0-9_]*",E="(?:"+x+"(?==))",$="(?:\\$(?:SHLVL|\\$|\\!|\\?))",k="(?:"+x+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string.start",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string.end",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(C,R,O){var L=C[2]=="-"?"indentedHeredoc":"heredoc",I=C.split(this.splitRegex);return O.push(L,I[4]),[{type:"constant",value:I[1]},{type:"text",value:I[2]},{type:"string",value:I[3]},{type:"support.class",value:I[4]},{type:"string",value:I[5]}]},rules:{heredoc:[{onMatch:function(C,R,O){return C===O[1]?(O.shift(),O.shift(),this.next=O[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(C,R,O){return C===O[1]?(O.shift(),O.shift(),this.next=O[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(C,R){return R[0]==="heredoc"||R[0]==="indentedHeredoc"?R[0]:C}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:$},{token:"variable",regex:E},{include:"variables"},{token:"support.function",regex:k},{token:"support.function",regex:b},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:m},{token:"constant.numeric",regex:a+"\\b"},{token:o,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};p.inherits(g,f),r.ShHighlightRules=g}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle"],function(t,r,d){var p=t("../lib/oop"),f=t("./text").Mode,w=t("./sh_highlight_rules").ShHighlightRules,h=t("../range").Range,g=t("./folding/cstyle").FoldMode,o=function(){this.HighlightRules=w,this.foldingRules=new g,this.$behaviour=this.$defaultBehaviour};p.inherits(o,f),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(l,c,s){var u=this.$getIndent(c),m=this.getTokenizer().getLineTokens(c,l),b=m.tokens;if(b.length&&b[b.length-1].type=="comment")return u;if(l=="start"){var x=c.match(/^.*[\{\(\[:]\s*$/);x&&(u+=s)}return u};var a={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(l,c,s){if(s!==`\r
992
+ `&&s!=="\r"&&s!==`
993
+ `)return!1;var u=this.getTokenizer().getLineTokens(c.trim(),l).tokens;if(!u)return!1;do var m=u.pop();while(m&&(m.type=="comment"||m.type=="text"&&m.value.match(/^\s+$/)));return m?m.type=="keyword"&&a[m.value]:!1},this.autoOutdent=function(l,c,s){s+=1;var u=this.$getIndent(c.getLine(s)),m=c.getTabString();u.slice(-m.length)==m&&c.remove(new h(s,u.length-m.length,s,u.length))},this.$id="ace/mode/sh",this.snippetFileId="ace/snippets/sh"}).call(o.prototype),r.Mode=o}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(t,r,d){var p=t("../lib/oop"),f=t("../lib/lang"),w=t("./text").Mode,h=t("./xml_highlight_rules").XmlHighlightRules,g=t("./behaviour/xml").XmlBehaviour,o=t("./folding/xml").FoldMode,a=t("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=h,this.$behaviour=new g,this.foldingRules=new o};p.inherits(l,w),(function(){this.voidElements=f.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(c){var s=new a(["ace"],"ace/mode/xml_worker","Worker");return s.attachToDocument(c.getDocument()),s.on("error",function(u){c.setAnnotations(u.data)}),s.on("terminate",function(){c.clearAnnotations()}),s},this.$id="ace/mode/xml"}).call(l.prototype),r.Mode=l}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/behaviour/cstyle","ace/mode/text","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown","ace/mode/javascript","ace/mode/html","ace/mode/sh","ace/mode/sh","ace/mode/xml","ace/mode/css"],function(t,r,d){var p=t("../lib/oop"),f=t("./behaviour/cstyle").CstyleBehaviour,w=t("./text").Mode,h=t("./markdown_highlight_rules").MarkdownHighlightRules,g=t("./folding/markdown").FoldMode,o=function(){this.HighlightRules=h,this.createModeDelegates({javascript:t("./javascript").Mode,html:t("./html").Mode,bash:t("./sh").Mode,sh:t("./sh").Mode,xml:t("./xml").Mode,css:t("./css").Mode}),this.foldingRules=new g,this.$behaviour=new f({braces:!0})};p.inherits(o,w),(function(){this.type="text",this.blockComment={start:"<!--",end:"-->"},this.$quotes={'"':'"',"`":"`"},this.getNextLineIndent=function(a,l,c){if(a=="listblock"){var s=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(l);if(!s)return"";var u=s[2];return u||(u=parseInt(s[3],10)+1+"."),s[1]+u+s[4]}return this.$getIndent(l)},this.$id="ace/mode/markdown",this.snippetFileId="ace/snippets/markdown"}).call(o.prototype),r.Mode=o}),function(){ace.require(["ace/mode/markdown"],function(t){n&&(n.exports=t)})}()}(gf)),gf.exports}Bx();var vf={exports:{}},yf;function zx(){return yf||(yf=1,function(n,e){ace.define("ace/theme/twilight-css",["require","exports","module"],function(t,r,d){d.exports=`.ace-twilight .ace_gutter {
994
+ background: #232323;
995
+ color: #E2E2E2
996
+ }
997
+
998
+ .ace-twilight .ace_print-margin {
999
+ width: 1px;
1000
+ background: #232323
1001
+ }
1002
+
1003
+ .ace-twilight {
1004
+ background-color: #141414;
1005
+ color: #F8F8F8
1006
+ }
1007
+
1008
+ .ace-twilight .ace_cursor {
1009
+ color: #A7A7A7
1010
+ }
1011
+
1012
+ .ace-twilight .ace_marker-layer .ace_selection {
1013
+ background: rgba(221, 240, 255, 0.20)
1014
+ }
1015
+
1016
+ .ace-twilight.ace_multiselect .ace_selection.ace_start {
1017
+ box-shadow: 0 0 3px 0px #141414;
1018
+ }
1019
+
1020
+ .ace-twilight .ace_marker-layer .ace_step {
1021
+ background: rgb(102, 82, 0)
1022
+ }
1023
+
1024
+ .ace-twilight .ace_marker-layer .ace_bracket {
1025
+ margin: -1px 0 0 -1px;
1026
+ border: 1px solid rgba(255, 255, 255, 0.25)
1027
+ }
1028
+
1029
+ .ace-twilight .ace_marker-layer .ace_active-line {
1030
+ background: rgba(255, 255, 255, 0.031)
1031
+ }
1032
+
1033
+ .ace-twilight .ace_gutter-active-line {
1034
+ background-color: rgba(255, 255, 255, 0.031)
1035
+ }
1036
+
1037
+ .ace-twilight .ace_marker-layer .ace_selected-word {
1038
+ border: 1px solid rgba(221, 240, 255, 0.20)
1039
+ }
1040
+
1041
+ .ace-twilight .ace_invisible {
1042
+ color: rgba(255, 255, 255, 0.25)
1043
+ }
1044
+
1045
+ .ace-twilight .ace_keyword,
1046
+ .ace-twilight .ace_meta {
1047
+ color: #CDA869
1048
+ }
1049
+
1050
+ .ace-twilight .ace_constant,
1051
+ .ace-twilight .ace_constant.ace_character,
1052
+ .ace-twilight .ace_constant.ace_character.ace_escape,
1053
+ .ace-twilight .ace_constant.ace_other,
1054
+ .ace-twilight .ace_heading,
1055
+ .ace-twilight .ace_markup.ace_heading,
1056
+ .ace-twilight .ace_support.ace_constant {
1057
+ color: #CF6A4C
1058
+ }
1059
+
1060
+ .ace-twilight .ace_invalid.ace_illegal {
1061
+ color: #F8F8F8;
1062
+ background-color: rgba(86, 45, 86, 0.75)
1063
+ }
1064
+
1065
+ .ace-twilight .ace_invalid.ace_deprecated {
1066
+ text-decoration: underline;
1067
+ font-style: italic;
1068
+ color: #D2A8A1
1069
+ }
1070
+
1071
+ .ace-twilight .ace_support {
1072
+ color: #9B859D
1073
+ }
1074
+
1075
+ .ace-twilight .ace_fold {
1076
+ background-color: #AC885B;
1077
+ border-color: #F8F8F8
1078
+ }
1079
+
1080
+ .ace-twilight .ace_support.ace_function {
1081
+ color: #DAD085
1082
+ }
1083
+
1084
+ .ace-twilight .ace_list,
1085
+ .ace-twilight .ace_markup.ace_list,
1086
+ .ace-twilight .ace_storage {
1087
+ color: #F9EE98
1088
+ }
1089
+
1090
+ .ace-twilight .ace_entity.ace_name.ace_function,
1091
+ .ace-twilight .ace_meta.ace_tag {
1092
+ color: #AC885B
1093
+ }
1094
+
1095
+ .ace-twilight .ace_string {
1096
+ color: #8F9D6A
1097
+ }
1098
+
1099
+ .ace-twilight .ace_string.ace_regexp {
1100
+ color: #E9C062
1101
+ }
1102
+
1103
+ .ace-twilight .ace_comment {
1104
+ font-style: italic;
1105
+ color: #5F5A60
1106
+ }
1107
+
1108
+ .ace-twilight .ace_variable {
1109
+ color: #7587A6
1110
+ }
1111
+
1112
+ .ace-twilight .ace_xml-pe {
1113
+ color: #494949
1114
+ }
1115
+
1116
+ .ace-twilight .ace_indent-guide {
1117
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
1118
+ }
1119
+
1120
+ .ace-twilight .ace_indent-guide-active {
1121
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
1122
+ }
1123
+ `}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(t,r,d){r.isDark=!0,r.cssClass="ace-twilight",r.cssText=t("./twilight-css");var p=t("../lib/dom");p.importCssString(r.cssText,r.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(t){n&&(n.exports=t)})}()}(vf)),vf.exports}zx();var wf={exports:{}},bf;function Hx(){return bf||(bf=1,function(n,e){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(t,r,d){function p(C){var R=new Date().toLocaleString("en-us",C);return R.length==1?"0"+R:R}var f=t("./lib/dom"),w=t("./lib/oop"),h=t("./lib/event_emitter").EventEmitter,g=t("./lib/lang"),o=t("./range").Range,a=t("./range_list").RangeList,l=t("./keyboard/hash_handler").HashHandler,c=t("./tokenizer").Tokenizer,s=t("./clipboard"),u={CURRENT_WORD:function(C){return C.session.getTextRange(C.session.getWordRange())},SELECTION:function(C,R,O){var L=C.session.getTextRange();return O?L.replace(/\n\r?([ \t]*\S)/g,`
1124
+ `+O+"$1"):L},CURRENT_LINE:function(C){return C.session.getLine(C.getCursorPosition().row)},PREV_LINE:function(C){return C.session.getLine(C.getCursorPosition().row-1)},LINE_INDEX:function(C){return C.getCursorPosition().row},LINE_NUMBER:function(C){return C.getCursorPosition().row+1},SOFT_TABS:function(C){return C.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(C){return C.session.getTabSize()},CLIPBOARD:function(C){return s.getText&&s.getText()},FILENAME:function(C){return/[^/\\]*$/.exec(this.FILEPATH(C))[0]},FILENAME_BASE:function(C){return/[^/\\]*$/.exec(this.FILEPATH(C))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(C){return this.FILEPATH(C).replace(/[^/\\]*$/,"")},FILEPATH:function(C){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(C){var R=C.session.$mode||{};return R.blockComment&&R.blockComment.start||""},BLOCK_COMMENT_END:function(C){var R=C.session.$mode||{};return R.blockComment&&R.blockComment.end||""},LINE_COMMENT:function(C){var R=C.session.$mode||{};return R.lineCommentStart||""},CURRENT_YEAR:p.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:p.bind(null,{year:"2-digit"}),CURRENT_MONTH:p.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:p.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:p.bind(null,{month:"short"}),CURRENT_DATE:p.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:p.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:p.bind(null,{weekday:"short"}),CURRENT_HOUR:p.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:p.bind(null,{minute:"2-digit"}),CURRENT_SECOND:p.bind(null,{second:"2-digit"})};u.SELECTED_TEXT=u.SELECTION;var m=function(){function C(){this.snippetMap={},this.snippetNameMap={},this.variables=u}return C.prototype.getTokenizer=function(){return C.$tokenizer||this.createTokenizer()},C.prototype.createTokenizer=function(){function R(I){return I=I.substr(1),/^\d+$/.test(I)?[{tabstopId:parseInt(I,10)}]:[{text:I}]}function O(I){return"(?:[^\\\\"+I+"]|\\\\.)"}var L={regex:"/("+O("/")+"+)/",onMatch:function(I,B,P){var D=P[0];return D.fmtString=!0,D.guard=I.slice(1,-1),D.flag="",""},next:"formatString"};return C.$tokenizer=new c({start:[{regex:/\\./,onMatch:function(I,B,P){var D=I[1];return(D=="}"&&P.length||"`$\\".indexOf(D)!=-1)&&(I=D),[I]}},{regex:/}/,onMatch:function(I,B,P){return[P.length?P.shift():I]}},{regex:/\$(?:\d+|\w+)/,onMatch:R},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(I,B,P){var D=R(I.substr(1));return P.unshift(D[0]),D},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+O("\\|")+"*\\|",onMatch:function(I,B,P){var D=I.slice(1,-1).replace(/\\[,|\\]|,/g,function(S){return S.length==2?S[1]:"\0"}).split("\0").map(function(S){return{value:S}});return P[0].choices=D,[D[0]]},next:"start"},L,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(I,B,P){return P.length&&P[0].expectElse?(P[0].expectElse=!1,P[0].ifEnd={elseEnd:P[0]},[P[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(I,B,P){var D=I[1];return D=="}"&&P.length||"`$\\".indexOf(D)!=-1?I=D:D=="n"?I=`
1125
+ `:D=="t"?I=" ":"ulULE".indexOf(D)!=-1&&(I={changeCase:D,local:D>"a"}),[I]}},{regex:"/\\w*}",onMatch:function(I,B,P){var D=P.shift();return D&&(D.flag=I.slice(1,-1)),this.next=D&&D.tabstopId?"start":"",[D||I]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(I,B,P){return[{text:I.slice(1)}]}},{regex:/\${\w+/,onMatch:function(I,B,P){var D={text:I.slice(2)};return P.unshift(D),[D]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(I,B,P){var D=P.shift();return this.next=D&&D.tabstopId?"start":"",[D||I]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(I,B,P){var D=P[0];return D.formatFunction=I.slice(2,-1),[P.shift()]},next:"formatString"},L,{regex:/:[\?\-+]?/,onMatch:function(I,B,P){I[1]=="+"&&(P[0].ifEnd=P[0]),I[1]=="?"&&(P[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),C.$tokenizer},C.prototype.tokenizeTmSnippet=function(R,O){return this.getTokenizer().getLineTokens(R,O).tokens.map(function(L){return L.value||L})},C.prototype.getVariableValue=function(R,O,L){if(/^\d+$/.test(O))return(this.variables.__||{})[O]||"";if(/^[A-Z]\d+$/.test(O))return(this.variables[O[0]+"__"]||{})[O.substr(1)]||"";if(O=O.replace(/^TM_/,""),!this.variables.hasOwnProperty(O))return"";var I=this.variables[O];return typeof I=="function"&&(I=this.variables[O](R,O,L)),I??""},C.prototype.tmStrFormat=function(R,O,L){if(!O.fmt)return R;var I=O.flag||"",B=O.guard;B=new RegExp(B,I.replace(/[^gim]/g,""));var P=typeof O.fmt=="string"?this.tokenizeTmSnippet(O.fmt,"formatString"):O.fmt,D=this,S=R.replace(B,function(){var _=D.variables.__;D.variables.__=[].slice.call(arguments);for(var N=D.resolveVariables(P,L),H="E",U=0;U<N.length;U++){var q=N[U];if(typeof q=="object")if(N[U]="",q.changeCase&&q.local){var Q=N[U+1];Q&&typeof Q=="string"&&(q.changeCase=="u"?N[U]=Q[0].toUpperCase():N[U]=Q[0].toLowerCase(),N[U+1]=Q.substr(1))}else q.changeCase&&(H=q.changeCase);else H=="U"?N[U]=q.toUpperCase():H=="L"&&(N[U]=q.toLowerCase())}return D.variables.__=_,N.join("")});return S},C.prototype.tmFormatFunction=function(R,O,L){return O.formatFunction=="upcase"?R.toUpperCase():O.formatFunction=="downcase"?R.toLowerCase():R},C.prototype.resolveVariables=function(R,O){function L(H){var U=R.indexOf(H,D+1);U!=-1&&(D=U)}for(var I=[],B="",P=!0,D=0;D<R.length;D++){var S=R[D];if(typeof S=="string"){I.push(S),S==`
1126
+ `?(P=!0,B=""):P&&(B=/^\t*/.exec(S)[0],P=/\S/.test(S));continue}if(S){if(P=!1,S.fmtString){var _=R.indexOf(S,D+1);_==-1&&(_=R.length),S.fmt=R.slice(D+1,_),D=_}if(S.text){var N=this.getVariableValue(O,S.text,B)+"";S.fmtString&&(N=this.tmStrFormat(N,S,O)),S.formatFunction&&(N=this.tmFormatFunction(N,S,O)),N&&!S.ifEnd?(I.push(N),L(S)):!N&&S.ifEnd&&L(S.ifEnd)}else S.elseEnd?L(S.elseEnd):(S.tabstopId!=null||S.changeCase!=null)&&I.push(S)}}return I},C.prototype.getDisplayTextForSnippet=function(R,O){var L=b.call(this,R,O);return L.text},C.prototype.insertSnippetForSelection=function(R,O,L){L===void 0&&(L={});var I=b.call(this,R,O,L),B=R.getSelectionRange(),P=R.session.replace(B,I.text),D=new x(R),S=R.inVirtualSelectionMode&&R.selection.index;D.addTabstops(I.tabstops,B.start,P,S)},C.prototype.insertSnippet=function(R,O,L){L===void 0&&(L={});var I=this;if(R.inVirtualSelectionMode)return I.insertSnippetForSelection(R,O,L);R.forEachSelection(function(){I.insertSnippetForSelection(R,O,L)},null,{keepOrder:!0}),R.tabstopManager&&R.tabstopManager.tabNext()},C.prototype.$getScope=function(R){var O=R.session.$mode.$id||"";if(O=O.split("/").pop(),O==="html"||O==="php"){O==="php"&&!R.session.$mode.inlinePhp&&(O="html");var L=R.getCursorPosition(),I=R.session.getState(L.row);typeof I=="object"&&(I=I[0]),I.substring&&(I.substring(0,3)=="js-"?O="javascript":I.substring(0,4)=="css-"?O="css":I.substring(0,4)=="php-"&&(O="php"))}return O},C.prototype.getActiveScopes=function(R){var O=this.$getScope(R),L=[O],I=this.snippetMap;return I[O]&&I[O].includeScopes&&L.push.apply(L,I[O].includeScopes),L.push("_"),L},C.prototype.expandWithTab=function(R,O){var L=this,I=R.forEachSelection(function(){return L.expandSnippetForSelection(R,O)},null,{keepOrder:!0});return I&&R.tabstopManager&&R.tabstopManager.tabNext(),I},C.prototype.expandSnippetForSelection=function(R,O){var L=R.getCursorPosition(),I=R.session.getLine(L.row),B=I.substring(0,L.column),P=I.substr(L.column),D=this.snippetMap,S;return this.getActiveScopes(R).some(function(_){var N=D[_];return N&&(S=this.findMatchingSnippet(N,B,P)),!!S},this),S?(O&&O.dryRun||(R.session.doc.removeInLine(L.row,L.column-S.replaceBefore.length,L.column+S.replaceAfter.length),this.variables.M__=S.matchBefore,this.variables.T__=S.matchAfter,this.insertSnippetForSelection(R,S.content),this.variables.M__=this.variables.T__=null),!0):!1},C.prototype.findMatchingSnippet=function(R,O,L){for(var I=R.length;I--;){var B=R[I];if(!(B.startRe&&!B.startRe.test(O))&&!(B.endRe&&!B.endRe.test(L))&&!(!B.startRe&&!B.endRe))return B.matchBefore=B.startRe?B.startRe.exec(O):[""],B.matchAfter=B.endRe?B.endRe.exec(L):[""],B.replaceBefore=B.triggerRe?B.triggerRe.exec(O)[0]:"",B.replaceAfter=B.endTriggerRe?B.endTriggerRe.exec(L)[0]:"",B}},C.prototype.register=function(R,O){function L(_){return _&&!/^\^?\(.*\)\$?$|^\\b$/.test(_)&&(_="(?:"+_+")"),_||""}function I(_,N,H){return _=L(_),N=L(N),_=N+_,_&&_[_.length-1]!="$"&&(_+="$"),new RegExp(_)}function B(_){_.scope||(_.scope=O||"_"),O=_.scope,P[O]||(P[O]=[],D[O]={});var N=D[O];if(_.name){var H=N[_.name];H&&S.unregister(H),N[_.name]=_}P[O].push(_),_.prefix&&(_.tabTrigger=_.prefix),!_.content&&_.body&&(_.content=Array.isArray(_.body)?_.body.join(`
1127
+ `):_.body),_.tabTrigger&&!_.trigger&&(!_.guard&&/^\w/.test(_.tabTrigger)&&(_.guard="\\b"),_.trigger=g.escapeRegExp(_.tabTrigger)),!(!_.trigger&&!_.guard&&!_.endTrigger&&!_.endGuard)&&(_.startRe=I(_.trigger,_.guard),_.triggerRe=new RegExp(_.trigger),_.endRe=I(_.endTrigger,_.endGuard),_.endTriggerRe=new RegExp(_.endTrigger))}var P=this.snippetMap,D=this.snippetNameMap,S=this;R||(R=[]),Array.isArray(R)?R.forEach(B):Object.keys(R).forEach(function(_){B(R[_])}),this._signal("registerSnippets",{scope:O})},C.prototype.unregister=function(R,O){function L(P){var D=B[P.scope||O];if(D&&D[P.name]){delete D[P.name];var S=I[P.scope||O],_=S&&S.indexOf(P);_>=0&&S.splice(_,1)}}var I=this.snippetMap,B=this.snippetNameMap;R.content?L(R):Array.isArray(R)&&R.forEach(L)},C.prototype.parseSnippetFile=function(R){R=R.replace(/\r/g,"");for(var O=[],L={},I=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,B;B=I.exec(R);){if(B[1])try{L=JSON.parse(B[1]),O.push(L)}catch{}if(B[4])L.content=B[4].replace(/^\t/gm,""),O.push(L),L={};else{var P=B[2],D=B[3];if(P=="regex"){var S=/\/((?:[^\/\\]|\\.)*)|$/g;L.guard=S.exec(D)[1],L.trigger=S.exec(D)[1],L.endTrigger=S.exec(D)[1],L.endGuard=S.exec(D)[1]}else P=="snippet"?(L.tabTrigger=D.match(/^\S*/)[0],L.name||(L.name=D)):P&&(L[P]=D)}}return O},C.prototype.getSnippetByName=function(R,O){var L=this.snippetNameMap,I;return this.getActiveScopes(O).some(function(B){var P=L[B];return P&&(I=P[R]),!!I},this),I},C}();w.implement(m.prototype,h);var b=function(C,R,O){function L(ce){for(var ge=[],Se=0;Se<ce.length;Se++){var $e=ce[Se];if(typeof $e=="object"){if(N[$e.tabstopId])continue;var Te=ce.lastIndexOf($e,Se-1);$e=ge[Te]||{tabstopId:$e.tabstopId}}ge[Se]=$e}return ge}O===void 0&&(O={});var I=C.getCursorPosition(),B=C.session.getLine(I.row),P=C.session.getTabString(),D=B.match(/^\s*/)[0];I.column<D.length&&(D=D.slice(0,I.column)),R=R.replace(/\r/g,"");var S=this.tokenizeTmSnippet(R);S=this.resolveVariables(S,C),S=S.map(function(ce){return ce==`
1128
+ `&&!O.excludeExtraIndent?ce+D:typeof ce=="string"?ce.replace(/\t/g,P):ce});var _=[];S.forEach(function(ce,ge){if(typeof ce=="object"){var Se=ce.tabstopId,$e=_[Se];if($e||($e=_[Se]=[],$e.index=Se,$e.value="",$e.parents={}),$e.indexOf(ce)===-1){ce.choices&&!$e.choices&&($e.choices=ce.choices),$e.push(ce);var Te=S.indexOf(ce,ge+1);if(Te!==-1){var Ze=S.slice(ge+1,Te),qe=Ze.some(function(dt){return typeof dt=="object"});qe&&!$e.value?$e.value=Ze:Ze.length&&(!$e.value||typeof $e.value!="string")&&($e.value=Ze.join(""))}}}}),_.forEach(function(ce){ce.length=0});for(var N={},H=0;H<S.length;H++){var U=S[H];if(typeof U=="object"){var q=U.tabstopId,Q=_[q],te=S.indexOf(U,H+1);if(N[q]){N[q]===U&&(delete N[q],Object.keys(N).forEach(function(ce){Q.parents[ce]=!0}));continue}N[q]=U;var he=Q.value;typeof he!="string"?he=L(he):U.fmt&&(he=this.tmStrFormat(he,U,C)),S.splice.apply(S,[H+1,Math.max(0,te-H)].concat(he,U)),Q.indexOf(U)===-1&&Q.push(U)}}var ne=0,le=0,ue="";return S.forEach(function(ce){if(typeof ce=="string"){var ge=ce.split(`
1129
+ `);ge.length>1?(le=ge[ge.length-1].length,ne+=ge.length-1):le+=ce.length,ue+=ce}else ce&&(ce.start?ce.end={row:ne,column:le}:ce.start={row:ne,column:le})}),{text:ue,tabstops:_,tokens:S}},x=function(){function C(R){if(this.index=0,this.ranges=[],this.tabstops=[],R.tabstopManager)return R.tabstopManager;R.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=g.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(R)}return C.prototype.attach=function(R){this.$openTabstops=null,this.selectedTabstop=null,this.editor=R,this.session=R.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},C.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},C.prototype.onChange=function(R){for(var O=R.action[0]=="r",L=this.selectedTabstop||{},I=L.parents||{},B=this.tabstops.slice(),P=0;P<B.length;P++){var D=B[P],S=D==L||I[D.index];if(D.rangeList.$bias=S?0:1,R.action=="remove"&&D!==L){var _=D.parents&&D.parents[L.index],N=D.rangeList.pointIndex(R.start,_);N=N<0?-N-1:N+1;var H=D.rangeList.pointIndex(R.end,_);H=H<0?-H-1:H-1;for(var U=D.rangeList.ranges.slice(N,H),q=0;q<U.length;q++)this.removeRange(U[q])}D.rangeList.$onChange(R)}var Q=this.session;!this.$inChange&&O&&Q.getLength()==1&&!Q.getValue()&&this.detach()},C.prototype.updateLinkedFields=function(){var R=this.selectedTabstop;if(!(!R||!R.hasLinkedRanges||!R.firstNonLinked)){this.$inChange=!0;for(var O=this.session,L=O.getTextRange(R.firstNonLinked),I=0;I<R.length;I++){var B=R[I];if(B.linked){var P=B.original,D=r.snippetManager.tmStrFormat(L,P,this.editor);O.replace(B,D)}}this.$inChange=!1}},C.prototype.onAfterExec=function(R){R.command&&!R.command.readOnly&&this.updateLinkedFields()},C.prototype.onChangeSelection=function(){if(this.editor){for(var R=this.editor.selection.lead,O=this.editor.selection.anchor,L=this.editor.selection.isEmpty(),I=0;I<this.ranges.length;I++)if(!this.ranges[I].linked){var B=this.ranges[I].contains(R.row,R.column),P=L||this.ranges[I].contains(O.row,O.column);if(B&&P)return}this.detach()}},C.prototype.onChangeSession=function(){this.detach()},C.prototype.tabNext=function(R){var O=this.tabstops.length,L=this.index+(R||1);L=Math.min(Math.max(L,1),O),L==O&&(L=0),this.selectTabstop(L),this.updateTabstopMarkers(),L===0&&this.detach()},C.prototype.selectTabstop=function(R){this.$openTabstops=null;var O=this.tabstops[this.index];if(O&&this.addTabstopMarkers(O),this.index=R,O=this.tabstops[this.index],!(!O||!O.length)){this.selectedTabstop=O;var L=O.firstNonLinked||O;if(O.choices&&(L.cursor=L.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(L);else{var I=this.editor.multiSelect;I.toSingleRange(L);for(var B=0;B<O.length;B++)O.hasLinkedRanges&&O[B].linked||I.addRange(O[B].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},C.prototype.addTabstops=function(R,O,L){var I=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!R[0]){var B=o.fromPoints(L,L);$(B.start,O),$(B.end,O),R[0]=[B],R[0].index=0}var P=this.index,D=[P+1,0],S=this.ranges,_=this.snippetId=(this.snippetId||0)+1;R.forEach(function(N,H){var U=this.$openTabstops[H]||N;U.snippetId=_;for(var q=0;q<N.length;q++){var Q=N[q],te=o.fromPoints(Q.start,Q.end||Q.start);E(te.start,O),E(te.end,O),te.original=Q,te.tabstop=U,S.push(te),U!=N?U.unshift(te):U[q]=te,Q.fmtString||U.firstNonLinked&&I?(te.linked=!0,U.hasLinkedRanges=!0):U.firstNonLinked||(U.firstNonLinked=te)}U.firstNonLinked||(U.hasLinkedRanges=!1),U===N&&(D.push(U),this.$openTabstops[H]=U),this.addTabstopMarkers(U),U.rangeList=U.rangeList||new a,U.rangeList.$bias=0,U.rangeList.addList(U)},this),D.length>2&&(this.tabstops.length&&D.push(D.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,D))},C.prototype.addTabstopMarkers=function(R){var O=this.session;R.forEach(function(L){L.markerId||(L.markerId=O.addMarker(L,"ace_snippet-marker","text"))})},C.prototype.removeTabstopMarkers=function(R){var O=this.session;R.forEach(function(L){O.removeMarker(L.markerId),L.markerId=null})},C.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var R=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&R--,this.tabstops.forEach(function(O){O.snippetId===R?this.addTabstopMarkers(O):this.removeTabstopMarkers(O)},this)}},C.prototype.removeRange=function(R){var O=R.tabstop.indexOf(R);O!=-1&&R.tabstop.splice(O,1),O=this.ranges.indexOf(R),O!=-1&&this.ranges.splice(O,1),O=R.tabstop.rangeList.ranges.indexOf(R),O!=-1&&R.tabstop.splice(O,1),this.session.removeMarker(R.markerId),R.tabstop.length||(O=this.tabstops.indexOf(R.tabstop),O!=-1&&this.tabstops.splice(O,1),this.tabstops.length||this.detach())},C}();x.prototype.keyboardHandler=new l,x.prototype.keyboardHandler.bindKeys({Tab:function(C){r.snippetManager&&r.snippetManager.expandWithTab(C)||(C.tabstopManager.tabNext(1),C.renderer.scrollCursorIntoView())},"Shift-Tab":function(C){C.tabstopManager.tabNext(-1),C.renderer.scrollCursorIntoView()},Esc:function(C){C.tabstopManager.detach()}});var E=function(C,R){C.row==0&&(C.column+=R.column),C.row+=R.row},$=function(C,R){C.row==R.row&&(C.column-=R.column),C.row-=R.row};f.importCssString(`
1130
+ .ace_snippet-marker {
1131
+ -moz-box-sizing: border-box;
1132
+ box-sizing: border-box;
1133
+ background: rgba(194, 193, 208, 0.09);
1134
+ border: 1px dotted rgba(211, 208, 235, 0.62);
1135
+ position: absolute;
1136
+ }`,"snippets.css",!1),r.snippetManager=new m;var k=t("./editor").Editor;(function(){this.insertSnippet=function(C,R){return r.snippetManager.insertSnippet(this,C,R)},this.expandSnippet=function(C){return r.snippetManager.expandWithTab(this,C)}}).call(k.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(t,r,d){var p=t("../virtual_renderer").VirtualRenderer,f=t("../editor").Editor,w=t("../range").Range,h=t("../lib/event"),g=t("../lib/lang"),o=t("../lib/dom"),a=t("../config").nls,l=t("./../lib/useragent"),c=function(E){return"suggest-aria-id:".concat(E)},s=l.isSafari?"menu":"listbox",u=l.isSafari?"menuitem":"option",m=l.isSafari?"aria-current":"aria-selected",b=function(E){var $=new p(E);$.$maxLines=4;var k=new f($);return k.setHighlightActiveLine(!1),k.setShowPrintMargin(!1),k.renderer.setShowGutter(!1),k.renderer.setHighlightGutterLine(!1),k.$mouseHandler.$focusTimeout=0,k.$highlightTagPending=!0,k},x=function(){function E($){var k=o.createElement("div"),C=b(k);$&&$.appendChild(k),k.style.display="none",C.renderer.content.style.cursor="default",C.renderer.setStyle("ace_autocomplete"),C.renderer.$textLayer.element.setAttribute("role",s),C.renderer.$textLayer.element.setAttribute("aria-roledescription",a("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),C.renderer.$textLayer.element.setAttribute("aria-label",a("autocomplete.popup.aria-label","Autocomplete suggestions")),C.renderer.textarea.setAttribute("aria-hidden","true"),C.setOption("displayIndentGuides",!1),C.setOption("dragDelay",150);var R=function(){};C.focus=R,C.$isFocused=!0,C.renderer.$cursorLayer.restartTimer=R,C.renderer.$cursorLayer.element.style.opacity="0",C.renderer.$maxLines=8,C.renderer.$keepTextAreaAtCursor=!1,C.setHighlightActiveLine(!1),C.session.highlight(""),C.session.$searchHighlight.clazz="ace_highlight-marker",C.on("mousedown",function(S){var _=S.getDocumentPosition();C.selection.moveToPosition(_),I.start.row=I.end.row=_.row,S.stop()});var O,L=new w(-1,0,-1,1/0),I=new w(-1,0,-1,1/0);I.id=C.session.addMarker(I,"ace_active-line","fullLine"),C.setSelectOnHover=function(S){S?L.id&&(C.session.removeMarker(L.id),L.id=null):L.id=C.session.addMarker(L,"ace_line-hover","fullLine")},C.setSelectOnHover(!1),C.on("mousemove",function(S){if(!O){O=S;return}if(!(O.x==S.x&&O.y==S.y)){O=S,O.scrollTop=C.renderer.scrollTop,C.isMouseOver=!0;var _=O.getDocumentPosition().row;L.start.row!=_&&(L.id||C.setRow(_),P(_))}}),C.renderer.on("beforeRender",function(){if(O&&L.start.row!=-1){O.$pos=null;var S=O.getDocumentPosition().row;L.id||C.setRow(S),P(S,!0)}}),C.renderer.on("afterRender",function(){for(var S=C.renderer.$textLayer,_=S.config.firstRow,N=S.config.lastRow;_<=N;_++){var H=S.element.childNodes[_-S.config.firstRow];H.setAttribute("role",u),H.setAttribute("aria-roledescription",a("autocomplete.popup.item.aria-roledescription","item")),H.setAttribute("aria-setsize",C.data.length),H.setAttribute("aria-describedby","doc-tooltip"),H.setAttribute("aria-posinset",_+1);var U=C.getData(_);if(U){var q="".concat(U.caption||U.value).concat(U.meta?", ".concat(U.meta):"");H.setAttribute("aria-label",q)}var Q=H.querySelectorAll(".ace_completion-highlight");Q.forEach(function(te){te.setAttribute("role","mark")})}}),C.renderer.on("afterRender",function(){var S=C.getRow(),_=C.renderer.$textLayer,N=_.element.childNodes[S-_.config.firstRow],H=document.activeElement;if(N!==C.selectedNode&&C.selectedNode&&(o.removeCssClass(C.selectedNode,"ace_selected"),C.selectedNode.removeAttribute(m),C.selectedNode.removeAttribute("id")),H.removeAttribute("aria-activedescendant"),C.selectedNode=N,N){var U=c(S);o.addCssClass(N,"ace_selected"),N.id=U,_.element.setAttribute("aria-activedescendant",U),H.setAttribute("aria-activedescendant",U),N.setAttribute(m,"true")}});var B=function(){P(-1)},P=function(S,_){S!==L.start.row&&(L.start.row=L.end.row=S,_||C.session._emit("changeBackMarker"),C._emit("changeHoverMarker"))};C.getHoveredRow=function(){return L.start.row},h.addListener(C.container,"mouseout",function(){C.isMouseOver=!1,B()}),C.on("hide",B),C.on("changeSelection",B),C.session.doc.getLength=function(){return C.data.length},C.session.doc.getLine=function(S){var _=C.data[S];return typeof _=="string"?_:_&&_.value||""};var D=C.session.bgTokenizer;return D.$tokenizeRow=function(S){function _(ce,ge){ce&&H.push({type:(N.className||"")+(ge||""),value:ce})}var N=C.data[S],H=[];if(!N)return H;typeof N=="string"&&(N={value:N});for(var U=N.caption||N.value||N.name,q=U.toLowerCase(),Q=(C.filterText||"").toLowerCase(),te=0,he=0,ne=0;ne<=Q.length;ne++)if(ne!=he&&(N.matchMask&1<<ne||ne==Q.length)){var le=Q.slice(he,ne);he=ne;var ue=q.indexOf(le,te);if(ue==-1)continue;_(U.slice(te,ue),""),te=ue+le.length,_(U.slice(ue,te),"completion-highlight")}return _(U.slice(te,U.length),""),H.push({type:"completion-spacer",value:" "}),N.meta&&H.push({type:"completion-meta",value:N.meta}),N.message&&H.push({type:"completion-message",value:N.message}),H},D.$updateOnChange=R,D.start=R,C.session.$computeWidth=function(){return this.screenWidth=0},C.isOpen=!1,C.isTopdown=!1,C.autoSelect=!0,C.filterText="",C.isMouseOver=!1,C.data=[],C.setData=function(S,_){C.filterText=_||"",C.setValue(g.stringRepeat(`
1137
+ `,S.length),-1),C.data=S||[],C.setRow(0)},C.getData=function(S){return C.data[S]},C.getRow=function(){return I.start.row},C.setRow=function(S){S=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,S)),I.start.row!=S&&(C.selection.clearSelection(),I.start.row=I.end.row=S||0,C.session._emit("changeBackMarker"),C.moveCursorTo(S||0,0),C.isOpen&&C._signal("select"))},C.on("changeSelection",function(){C.isOpen&&C.setRow(C.selection.lead.row),C.renderer.scrollCursorIntoView()}),C.hide=function(){this.container.style.display="none",C.anchorPos=null,C.anchor=null,C.isOpen&&(C.isOpen=!1,this._signal("hide"))},C.tryShow=function(S,_,N,H){if(!H&&C.isOpen&&C.anchorPos&&C.anchor&&C.anchorPos.top===S.top&&C.anchorPos.left===S.left&&C.anchor===N)return!0;var U=this.container,q=this.renderer.scrollBar.width||10,Q=window.innerHeight-q,te=window.innerWidth-q,he=this.renderer,ne=he.$maxLines*_*1.4,le={top:0,bottom:0},ue=Q-S.top-3*this.$borderSize-_,ce=S.top-3*this.$borderSize;N||(ce<=ue||ue>=ne?N="bottom":N="top"),N==="top"?(le.bottom=S.top-this.$borderSize,le.top=le.bottom-ne):N==="bottom"&&(le.top=S.top+_+this.$borderSize,le.bottom=le.top+ne);var ge=le.top>=0&&le.bottom<=Q;if(!H&&!ge)return!1;ge?he.$maxPixelHeight=null:N==="top"?he.$maxPixelHeight=ce:he.$maxPixelHeight=ue,N==="top"?(U.style.top="",U.style.bottom=Q+q-le.bottom+"px",C.isTopdown=!1):(U.style.top=le.top+"px",U.style.bottom="",C.isTopdown=!0),U.style.display="";var Se=S.left;return Se+U.offsetWidth>te&&(Se=te-U.offsetWidth),U.style.left=Se+"px",U.style.right="",C.isOpen||(C.isOpen=!0,this._signal("show"),O=null),C.anchorPos=S,C.anchor=N,!0},C.show=function(S,_,N){this.tryShow(S,_,N?"bottom":void 0,!0)},C.goTo=function(S){var _=this.getRow(),N=this.session.getLength()-1;switch(S){case"up":_=_<=0?N:_-1;break;case"down":_=_>=N?-1:_+1;break;case"start":_=0;break;case"end":_=N}this.setRow(_)},C.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},C.$imageSize=0,C.$borderSize=1,C}return E}();o.importCssString(`
1138
+ .ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1139
+ background-color: #CAD6FA;
1140
+ z-index: 1;
1141
+ }
1142
+ .ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1143
+ background-color: #3a674e;
1144
+ }
1145
+ .ace_editor.ace_autocomplete .ace_line-hover {
1146
+ border: 1px solid #abbffe;
1147
+ margin-top: -1px;
1148
+ background: rgba(233,233,253,0.4);
1149
+ position: absolute;
1150
+ z-index: 2;
1151
+ }
1152
+ .ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
1153
+ border: 1px solid rgba(109, 150, 13, 0.8);
1154
+ background: rgba(58, 103, 78, 0.62);
1155
+ }
1156
+ .ace_completion-meta {
1157
+ opacity: 0.5;
1158
+ margin-left: 0.9em;
1159
+ }
1160
+ .ace_completion-message {
1161
+ margin-left: 0.9em;
1162
+ color: blue;
1163
+ }
1164
+ .ace_editor.ace_autocomplete .ace_completion-highlight{
1165
+ color: #2d69c7;
1166
+ }
1167
+ .ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
1168
+ color: #93ca12;
1169
+ }
1170
+ .ace_editor.ace_autocomplete {
1171
+ width: 300px;
1172
+ z-index: 200000;
1173
+ border: 1px lightgray solid;
1174
+ position: fixed;
1175
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
1176
+ line-height: 1.4;
1177
+ background: #fefefe;
1178
+ color: #111;
1179
+ }
1180
+ .ace_dark.ace_editor.ace_autocomplete {
1181
+ border: 1px #484747 solid;
1182
+ box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
1183
+ line-height: 1.4;
1184
+ background: #25282c;
1185
+ color: #c1c1c1;
1186
+ }
1187
+ .ace_autocomplete .ace_text-layer {
1188
+ width: calc(100% - 8px);
1189
+ }
1190
+ .ace_autocomplete .ace_line {
1191
+ display: flex;
1192
+ align-items: center;
1193
+ }
1194
+ .ace_autocomplete .ace_line > * {
1195
+ min-width: 0;
1196
+ flex: 0 0 auto;
1197
+ }
1198
+ .ace_autocomplete .ace_line .ace_ {
1199
+ flex: 0 1 auto;
1200
+ overflow: hidden;
1201
+ text-overflow: ellipsis;
1202
+ }
1203
+ .ace_autocomplete .ace_completion-spacer {
1204
+ flex: 1;
1205
+ }
1206
+ .ace_autocomplete.ace_loading:after {
1207
+ content: "";
1208
+ position: absolute;
1209
+ top: 0px;
1210
+ height: 2px;
1211
+ width: 8%;
1212
+ background: blue;
1213
+ z-index: 100;
1214
+ animation: ace_progress 3s infinite linear;
1215
+ animation-delay: 300ms;
1216
+ transform: translateX(-100%) scaleX(1);
1217
+ }
1218
+ @keyframes ace_progress {
1219
+ 0% { transform: translateX(-100%) scaleX(1) }
1220
+ 50% { transform: translateX(625%) scaleX(2) }
1221
+ 100% { transform: translateX(1500%) scaleX(3) }
1222
+ }
1223
+ @media (prefers-reduced-motion) {
1224
+ .ace_autocomplete.ace_loading:after {
1225
+ transform: translateX(625%) scaleX(2);
1226
+ animation: none;
1227
+ }
1228
+ }
1229
+ `,"autocompletion.css",!1),r.AcePopup=x,r.$singleLineEditor=b,r.getAriaId=c}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(t,r,d){var p=function(){function f(w){this.editor=w,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return f.prototype.setScreenReaderContent=function(w){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",(function(){var g=this.popup.getRow(),o=this.popup.renderer.$textLayer,a=o.element.childNodes[g-o.config.firstRow];if(a){for(var l="doc-tooltip ",c=0;c<this._lines.length;c++)l+="ace-inline-screenreader-line-".concat(c," ");a.setAttribute("aria-describedby",l)}}).bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=w.split(/\r\n|\r|\n/);var h=this.createCodeBlock();this.screenReaderDiv.appendChild(h)},f.prototype.destroy=function(){this.screenReaderDiv.remove()},f.prototype.createCodeBlock=function(){var w=document.createElement("pre");w.setAttribute("id","ace-inline-screenreader");for(var h=0;h<this._lines.length;h++){var g=document.createElement("code");g.setAttribute("id","ace-inline-screenreader-line-".concat(h));var o=document.createTextNode(this._lines[h]);g.appendChild(o),w.appendChild(g)}return w},f}();r.AceInlineScreenReader=p}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(t,r,d){var p=t("../snippets").snippetManager,f=t("./inline_screenreader").AceInlineScreenReader,w=function(){function h(){this.editor=null}return h.prototype.show=function(g,o,a){if(a=a||"",g&&this.editor&&this.editor!==g&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!g||!o)return!1;this.inlineScreenReader||(this.inlineScreenReader=new f(g));var l=o.snippet?p.getDisplayTextForSnippet(g,o.snippet):o.value;return o.hideInlinePreview||!l||!l.startsWith(a)?!1:(this.editor=g,this.inlineScreenReader.setScreenReaderContent(l),l=l.slice(a.length),l===""?g.removeGhostText():g.setGhostText(l),!0)},h.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},h.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},h.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},h}();r.AceInline=w}),ace.define("ace/autocomplete/util",["require","exports","module"],function(t,r,d){r.parForEach=function(f,w,h){var g=0,o=f.length;o===0&&h();for(var a=0;a<o;a++)w(f[a],function(l,c){g++,g===o&&h(l,c)})};var p=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;r.retrievePrecedingIdentifier=function(f,w,h){h=h||p;for(var g=[],o=w-1;o>=0&&h.test(f[o]);o--)g.push(f[o]);return g.reverse().join("")},r.retrieveFollowingIdentifier=function(f,w,h){h=h||p;for(var g=[],o=w;o<f.length&&h.test(f[o]);o++)g.push(f[o]);return g},r.getCompletionPrefix=function(f){var w=f.getCursorPosition(),h=f.session.getLine(w.row),g;return f.completers.forEach((function(o){o.identifierRegexps&&o.identifierRegexps.forEach((function(a){!g&&a&&(g=this.retrievePrecedingIdentifier(h,w.column,a))}).bind(this))}).bind(this)),g||this.retrievePrecedingIdentifier(h,w.column)},r.triggerAutocomplete=function(f,h){var h=h??f.session.getPrecedingCharacter();return f.completers.some(function(g){if(g.triggerCharacters&&Array.isArray(g.triggerCharacters))return g.triggerCharacters.includes(h)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(t,r,d){var p=t("./keyboard/hash_handler").HashHandler,f=t("./autocomplete/popup").AcePopup,w=t("./autocomplete/inline").AceInline,h=t("./autocomplete/popup").getAriaId,g=t("./autocomplete/util"),o=t("./lib/lang"),a=t("./lib/dom"),l=t("./snippets").snippetManager,c=t("./config"),s=t("./lib/event"),u=t("./lib/scroll").preventParentScroll,m=function($,k){k.completer&&k.completer.destroy()},b=function(){function $(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new p,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=o.delayedCall((function(){this.updateCompletions(!0)}).bind(this)),this.tooltipTimer=o.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=o.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=o.delayedCall((function(){this.stickySelection=!0}).bind(this),this.stickySelectionDelay),this.$firstOpenTimer=o.delayedCall((function(){var k=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!k||this.editor.completers.length===0||(this.completions=new E($.completionsForLoading),this.openPopup(this.editor,k.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}).bind(this),this.stickySelectionDelay)}return Object.defineProperty($,"completionsForLoading",{get:function(){return[{caption:c.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),$.prototype.$init=function(){return this.popup=new f(this.parentNode||document.body||document.documentElement),this.popup.on("click",(function(k){this.insertMatch(),k.stop()}).bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),s.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},$.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new w,this.inlineRenderer},$.prototype.getPopup=function(){return this.popup||this.$init()},$.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},$.prototype.$seen=function(k){!this.hasSeen.has(k)&&k&&k.completer&&k.completer.onSeen&&typeof k.completer.onSeen=="function"&&(k.completer.onSeen(this.editor,k),this.hasSeen.add(k))},$.prototype.$onPopupChange=function(k){if(this.inlineRenderer&&this.inlineEnabled){var C=k?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(C),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},$.prototype.$updateGhostText=function(k){var C=this.base.row,R=this.base.column,O=this.editor.getCursorPosition().column,L=this.editor.session.getLine(C).slice(R,O);this.inlineRenderer.show(this.editor,k,L)?this.$seen(k):this.inlineRenderer.hide()},$.prototype.$onPopupRender=function(){var k=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var C=this.popup.getFirstVisibleRow();C<=this.popup.getLastVisibleRow();C++){var R=this.popup.getData(C);R&&(!k||R.hideInlinePreview)&&this.$seen(R)}},$.prototype.$onPopupShow=function(k){this.$onPopupChange(k),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},$.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var k=this.editor.container.parentNode,C=[];k;)C.push(k),k.addEventListener("scroll",this.onLayoutChange,{passive:!0}),k=k.parentNode;this.$elements=C}},$.prototype.unObserveLayoutChanges=function(){var k=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(C){C.removeEventListener("scroll",k.onLayoutChange,{passive:!0})}),this.$elements=null},$.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},$.prototype.$updatePopupPosition=function(){var k=this.editor,C=k.renderer,R=C.layerConfig.lineHeight,O=C.$cursorLayer.getPixelPosition(this.base,!0);O.left-=this.popup.getTextLeftOffset();var L=k.container.getBoundingClientRect();O.top+=L.top-C.layerConfig.offset,O.left+=L.left-k.renderer.scrollLeft,O.left+=C.gutterWidth;var I={top:O.top,left:O.left};C.$ghostText&&C.$ghostTextWidget&&this.base.row===C.$ghostText.position.row&&(I.top+=C.$ghostTextWidget.el.offsetHeight);var B=k.container.getBoundingClientRect().bottom-R,P=B<I.top?{top:B,left:I.left}:I;this.popup.tryShow(P,R,"bottom")||this.popup.tryShow(O,R,"top")||this.popup.show(O,R)},$.prototype.openPopup=function(k,C,R){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var O=this.popup.getRow(),L=this.popup.data[O];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:h(this.popup.getRow()),inline:this.inlineEnabled}),k.keyBinding.addKeyboardHandler(this.keyboardHandler);var I;this.stickySelection&&(I=this.popup.data.indexOf(L)),(!I||I===-1)&&(I=0),this.popup.setRow(this.autoSelect?I:-1),I===O&&L!==this.completions.filtered[I]&&this.$onPopupChange();var B=this.inlineRenderer&&this.inlineEnabled;if(I===O&&B){var P=this.popup.getData(this.popup.getRow());this.$updateGhostText(P)}R||(this.popup.setTheme(k.getTheme()),this.popup.setFontSize(k.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},$.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},$.prototype.changeListener=function(k){var C=this.editor.selection.lead;(C.row!=this.base.row||C.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},$.prototype.blurListener=function(k){var C=document.activeElement,R=this.editor.textInput.getElement(),O=k.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(k.relatedTarget),L=this.popup&&this.popup.container;C!=R&&C.parentNode!=L&&!O&&C!=this.tooltipNode&&k.relatedTarget!=R&&this.detach()},$.prototype.mousedownListener=function(k){this.detach()},$.prototype.mousewheelListener=function(k){this.popup&&!this.popup.isMouseOver&&this.detach()},$.prototype.mouseOutListener=function(k){this.popup.isOpen&&this.$updatePopupPosition()},$.prototype.goTo=function(k){this.popup.goTo(k)},$.prototype.insertMatch=function(k,C){if(k||(k=this.popup.getData(this.popup.getRow())),!k)return!1;if(k.value==="")return this.detach();var R=this.completions,O=this.getCompletionProvider().insertMatch(this.editor,k,R.filterText,C);return this.completions==R&&this.detach(),O},$.prototype.showPopup=function(k,C){this.editor&&this.detach(),this.activated=!0,this.editor=k,k.completer!=this&&(k.completer&&k.completer.detach(),k.completer=this),k.on("changeSelection",this.changeListener),k.on("blur",this.blurListener),k.on("mousedown",this.mousedownListener),k.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,C)},$.prototype.getCompletionProvider=function(k){return this.completionProvider||(this.completionProvider=new x(k)),this.completionProvider},$.prototype.gatherCompletions=function(k,C){return this.getCompletionProvider().gatherCompletions(k,C)},$.prototype.updateCompletions=function(k,C){if(k&&this.base&&this.completions){var O=this.editor.getCursorPosition(),L=this.editor.session.getTextRange({start:this.base,end:O});if(L==this.completions.filterText)return;if(this.completions.setFilter(L),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==L&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,L,k);return}if(C&&C.matches){var O=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(O.row,O.column),this.base.$insertRight=!0,this.completions=new E(C.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",k)}var R=this.editor.getSession(),O=this.editor.getCursorPosition(),L=g.getCompletionPrefix(this.editor);this.base=R.doc.createAnchor(O.row,O.column-L.length),this.base.$insertRight=!0;var I={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:L,pos:O}).provideCompletions(this.editor,I,(function(B,P,D){var S=P.filtered,_=g.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),D){if(!S.length){var N=!this.autoShown&&this.emptyMessage;if(typeof N=="function"&&(N=this.emptyMessage(_)),N){var H=[{caption:N,value:""}];this.completions=new E(H),this.openPopup(this.editor,_,k),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(S.length==1&&S[0].value==_&&!S[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&S.length==1)return this.insertMatch(S[0])}this.completions=!D&&this.showLoadingState?new E($.completionsForLoading.concat(S),P.filterText):P,this.openPopup(this.editor,_,k),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!D)}).bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},$.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},$.prototype.updateDocTooltip=function(){var k=this.popup,C=this.completions&&this.completions.filtered,R=C&&(C[k.getHoveredRow()]||C[k.getRow()]),O=null;if(!R||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var L=this.editor.completers.length,I=0;I<L;I++){var B=this.editor.completers[I];if(B.getDocTooltip&&R.completerId===B.id){O=B.getDocTooltip(R);break}}if(!O&&typeof R!="string"&&(O=R),typeof O=="string"&&(O={docText:O}),!O||!O.docHTML&&!O.docText)return this.hideDocTooltip();this.showDocTooltip(O)},$.prototype.showDocTooltip=function(k){this.tooltipNode||(this.tooltipNode=a.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",u));var C=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(C.isDark?"ace_dark ":"")+(C.cssClass||"");var R=this.tooltipNode;k.docHTML?R.innerHTML=k.docHTML:k.docText&&(R.textContent=k.docText),R.parentNode||this.popup.container.appendChild(this.tooltipNode);var O=this.popup,L=O.container.getBoundingClientRect(),I=400,B=300,P=O.renderer.scrollBar.width||10,D=L.left,S=window.innerWidth-L.right-P,_=O.isTopdown?L.top:window.innerHeight-P-L.bottom,N=[Math.min(S/I,1),Math.min(D/I,1),Math.min(_/B*.9)],H=Math.max.apply(Math,N),U=R.style;U.display="block",H==N[0]?(U.left=L.right+1+"px",U.right="",U.maxWidth=I*H+"px",U.top=L.top+"px",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-L.top,B)+"px"):H==N[1]?(U.right=window.innerWidth-L.left+"px",U.left="",U.maxWidth=I*H+"px",U.top=L.top+"px",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-L.top,B)+"px"):H==N[2]&&(U.left=window.innerWidth-L.left+"px",U.maxWidth=Math.min(I,window.innerWidth)+"px",O.isTopdown?(U.top=L.bottom+"px",U.left=L.left+"px",U.right="",U.bottom="",U.maxHeight=Math.min(window.innerHeight-P-L.bottom,B)+"px"):(U.top=O.container.offsetTop-R.offsetHeight+"px",U.left=L.left+"px",U.right="",U.bottom="",U.maxHeight=Math.min(O.container.offsetTop,B)+"px"))},$.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var k=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==k&&this.editor.focus(),this.tooltipNode=null,k.parentNode&&k.parentNode.removeChild(k)}},$.prototype.onTooltipClick=function(k){for(var C=k.target;C&&C!=this.tooltipNode;){if(C.nodeName=="A"&&C.href){C.rel="noreferrer",C.target="_blank";break}C=C.parentNode}},$.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var k=this.popup.container;k&&k.parentNode&&k.parentNode.removeChild(k)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",m),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},$.for=function(k){return k.completer instanceof $||(k.completer&&(k.completer.destroy(),k.completer=null),c.get("sharedPopups")?($.$sharedInstance||($.$sharedInstance=new $),k.completer=$.$sharedInstance):(k.completer=new $,k.once("destroy",m))),k.completer},$}();b.prototype.commands={Up:function($){$.completer.goTo("up")},Down:function($){$.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function($){$.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function($){$.completer.goTo("end")},Esc:function($){$.completer.detach()},Return:function($){return $.completer.insertMatch()},"Shift-Return":function($){$.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function($){var k=$.completer.insertMatch();if(k||$.tabstopManager)return k;$.completer.goTo("down")},Backspace:function($){$.execCommand("backspace");var k=g.getCompletionPrefix($);!k&&$.completer&&$.completer.detach()},PageUp:function($){$.completer.popup.gotoPageUp()},PageDown:function($){$.completer.popup.gotoPageDown()}},b.startCommand={name:"startAutocomplete",exec:function($,k){var C=b.for($);C.autoInsert=!1,C.autoSelect=!0,C.autoShown=!1,C.showPopup($,k),C.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var x=function(){function $(k){this.initialPosition=k,this.active=!0}return $.prototype.insertByIndex=function(k,C,R){return!this.completions||!this.completions.filtered?!1:this.insertMatch(k,this.completions.filtered[C],R)},$.prototype.insertMatch=function(k,C,R){if(!C)return!1;if(k.startOperation({command:{name:"insertMatch"}}),C.completer&&C.completer.insertMatch)C.completer.insertMatch(k,C);else{if(!this.completions)return!1;var O=this.completions.filterText.length,L=0;if(C.range&&C.range.start.row===C.range.end.row&&(O-=this.initialPosition.prefix.length,O+=this.initialPosition.pos.column-C.range.start.column,L+=C.range.end.column-this.initialPosition.pos.column),O||L){var I;k.selection.getAllRanges?I=k.selection.getAllRanges():I=[k.getSelectionRange()];for(var B=0,P;P=I[B];B++)P.start.column-=O,P.end.column+=L,k.session.remove(P)}C.snippet?l.insertSnippet(k,C.snippet):this.$insertString(k,C),C.completer&&C.completer.onInsert&&typeof C.completer.onInsert=="function"&&C.completer.onInsert(k,C),C.command&&C.command==="startAutocomplete"&&k.execCommand(C.command)}return k.endOperation(),!0},$.prototype.$insertString=function(k,C){var R=C.value||C;k.execCommand("insertstring",R)},$.prototype.gatherCompletions=function(k,C){var R=k.getSession(),O=k.getCursorPosition(),L=g.getCompletionPrefix(k),I=[];this.completers=k.completers;var B=k.completers.length;return k.completers.forEach(function(P,D){P.getCompletions(k,R,O,L,function(S,_){P.hideInlinePreview&&(_=_.map(function(N){return Object.assign(N,{hideInlinePreview:P.hideInlinePreview})})),!S&&_&&(I=I.concat(_)),C(null,{prefix:g.getCompletionPrefix(k),matches:I,finished:--B===0})})}),!0},$.prototype.provideCompletions=function(k,C,R){var O=(function(P){var D=P.prefix,S=P.matches;this.completions=new E(S),C.exactMatch&&(this.completions.exactMatch=!0),C.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(D),(P.finished||this.completions.filtered.length)&&R(null,this.completions,P.finished)}).bind(this),L=!0,I=null;if(this.gatherCompletions(k,(function(P,D){if(this.active){P&&(R(P,[],!0),this.detach());var S=D.prefix;if(S.indexOf(D.prefix)===0){if(L){I=D;return}O(D)}}}).bind(this)),L=!1,I){var B=I;I=null,O(B)}},$.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(k){typeof k.cancel=="function"&&k.cancel()})},$}(),E=function(){function $(k,C){this.all=k,this.filtered=k,this.filterText=C||"",this.exactMatch=!1,this.ignoreCaption=!1}return $.prototype.setFilter=function(k){if(k.length>this.filterText&&k.lastIndexOf(this.filterText,0)===0)var C=this.filtered;else var C=this.all;this.filterText=k,C=this.filterCompletions(C,this.filterText),C=C.sort(function(O,L){return L.exactMatch-O.exactMatch||L.$score-O.$score||(O.caption||O.value).localeCompare(L.caption||L.value)});var R=null;C=C.filter(function(O){var L=O.snippet||O.caption||O.value;return L===R?!1:(R=L,!0)}),this.filtered=C},$.prototype.filterCompletions=function(k,C){var R=[],O=C.toUpperCase(),L=C.toLowerCase();e:for(var I=0,B;B=k[I];I++){if(B.skipFilter){B.$score=B.score,R.push(B);continue}var P=!this.ignoreCaption&&B.caption||B.value||B.snippet;if(P){var D=-1,S=0,_=0,N,H;if(this.exactMatch){if(C!==P.substr(0,C.length))continue e}else{var U=P.toLowerCase().indexOf(L);if(U>-1)_=U;else for(var q=0;q<C.length;q++){var Q=P.indexOf(L[q],D+1),te=P.indexOf(O[q],D+1);if(N=Q>=0&&(te<0||Q<te)?Q:te,N<0)continue e;H=N-D-1,H>0&&(D===-1&&(_+=10),_+=H,S|=1<<q),D=N}}B.matchMask=S,B.exactMatch=_?0:1,B.$score=(B.score||0)-_,R.push(B)}}return R},$}();r.Autocomplete=b,r.CompletionProvider=x,r.FilteredList=E}),ace.define("ace/marker_group",["require","exports","module"],function(t,r,d){var p=function(){function f(w,h){h&&(this.markerType=h.markerType),this.markers=[],this.session=w,w.addDynamicMarker(this)}return f.prototype.getMarkerAtPosition=function(w){return this.markers.find(function(h){return h.range.contains(w.row,w.column)})},f.prototype.markersComparator=function(w,h){return w.range.start.row-h.range.start.row},f.prototype.setMarkers=function(w){this.markers=w.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},f.prototype.update=function(w,h,g,o){if(!(!this.markers||!this.markers.length))for(var a=o.firstRow,l=o.lastRow,c,s=0,u=0,m=0;m<this.markers.length;m++){var b=this.markers[m];if(!(b.range.end.row<a)&&!(b.range.start.row>l)&&(b.range.start.row===u?s++:(u=b.range.start.row,s=0),!(s>200))){var x=b.range.clipRows(a,l);if(!(x.start.row===x.end.row&&x.start.column===x.end.column)){var E=x.toScreenRange(g);if(E.isEmpty()){c=g.getNextFoldLine(x.end.row,c),c&&c.end.row>x.end.row&&(a=c.end.row);continue}this.markerType==="fullLine"?h.drawFullLineMarker(w,E,b.className,o):E.isMultiLine()?this.markerType==="line"?h.drawMultiLineMarker(w,E,b.className,o):h.drawTextMarker(w,E,b.className,o):h.drawSingleLineMarker(w,E,b.className+" ace_br15",o)}}}},f}();p.prototype.MAX_MARKERS=1e4,r.MarkerGroup=p}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(t,r,d){function p(g,o){var a=g.getTextRange(w.fromPoints({row:0,column:0},o));return a.split(h).length-1}function f(g,o){var a=p(g,o),l=g.getValue().split(h),c=Object.create(null),s=l[a];return l.forEach(function(u,m){if(!(!u||u===s)){var b=Math.abs(a-m),x=l.length-b;c[u]?c[u]=Math.max(x,c[u]):c[u]=x}}),c}var w=t("../range").Range,h=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;r.getCompletions=function(g,o,a,l,c){var s=f(o,a),u=Object.keys(s);c(null,u.map(function(m){return{caption:m,value:m,score:s[m],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],function(t,r,d){var p=t("../snippets").snippetManager,f=t("../autocomplete").Autocomplete,w=t("../config"),h=t("../lib/lang"),g=t("../autocomplete/util"),o=t("../marker_group").MarkerGroup,a=t("../autocomplete/text_completer"),l={getCompletions:function(L,I,B,P,D){if(I.$mode.completer)return I.$mode.completer.getCompletions(L,I,B,P,D);var S=L.session.getState(B.row),_=I.$mode.getCompletions(S,I,B,P);_=_.map(function(N){return N.completerId=l.id,N}),D(null,_)},id:"keywordCompleter"},c=function(L){var I={};return L.replace(/\${(\d+)(:(.*?))?}/g,function(B,P,D,S){return I[P]=S||""}).replace(/\$(\d+?)/g,function(B,P){return I[P]})},s={getCompletions:function(L,I,B,P,D){var S=[],_=I.getTokenAt(B.row,B.column);_&&_.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?S.push("html-tag"):S=p.getActiveScopes(L);var N=p.snippetMap,H=[];S.forEach(function(U){for(var q=N[U]||[],Q=q.length;Q--;){var te=q[Q],he=te.name||te.tabTrigger;he&&H.push({caption:he,snippet:te.content,meta:te.tabTrigger&&!te.name?te.tabTrigger+"⇥ ":"snippet",completerId:s.id})}},this),D(null,H)},getDocTooltip:function(L){L.snippet&&!L.docHTML&&(L.docHTML=["<b>",h.escapeHTML(L.caption),"</b>","<hr></hr>",h.escapeHTML(c(L.snippet))].join(""))},id:"snippetCompleter"},u=[s,a,l];r.setCompleters=function(L){u.length=0,L&&u.push.apply(u,L)},r.addCompleter=function(L){u.push(L)},r.textCompleter=a,r.keyWordCompleter=l,r.snippetCompleter=s;var m={name:"expandSnippet",exec:function(L){return p.expandWithTab(L)},bindKey:"Tab"},b=function(L,I){x(I.session.$mode)},x=function(L){typeof L=="string"&&(L=w.$modes[L]),L&&(p.files||(p.files={}),E(L.$id,L.snippetFileId),L.modes&&L.modes.forEach(x))},E=function(L,I){!I||!L||p.files[L]||(p.files[L]={},w.loadModule(I,function(B){B&&(p.files[L]=B,!B.snippets&&B.snippetText&&(B.snippets=p.parseSnippetFile(B.snippetText)),p.register(B.snippets||[],B.scope),B.includeScopes&&(p.snippetMap[B.scope].includeScopes=B.includeScopes,B.includeScopes.forEach(function(P){x("ace/mode/"+P)})))}))},$=function(L){var I=L.editor,B=I.completer&&I.completer.activated;if(L.command.name==="backspace")B&&!g.getCompletionPrefix(I)&&I.completer.detach();else if(L.command.name==="insertstring"&&!B){k=L;var P=L.editor.$liveAutocompletionDelay;P?C.delay(P):R(L)}},k,C=h.delayedCall(function(){R(k)},0),R=function(L){var I=L.editor,B=g.getCompletionPrefix(I),P=L.args,D=g.triggerAutocomplete(I,P);if(B&&B.length>=I.$liveAutocompletionThreshold||D){var S=f.for(I);S.autoShown=!0,S.showPopup(I)}},O=t("../editor").Editor;t("../config").defineOptions(O.prototype,"editor",{enableBasicAutocompletion:{set:function(L){L?(f.for(this),this.completers||(this.completers=Array.isArray(L)?L:u),this.commands.addCommand(f.startCommand)):this.commands.removeCommand(f.startCommand)},value:!1},enableLiveAutocompletion:{set:function(L){L?(this.completers||(this.completers=Array.isArray(L)?L:u),this.commands.on("afterExec",$)):this.commands.off("afterExec",$)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(L){L?(this.commands.addCommand(m),this.on("changeMode",b),b(null,this)):(this.commands.removeCommand(m),this.off("changeMode",b))},value:!1}}),r.MarkerGroup=o}),function(){ace.require(["ace/ext/language_tools"],function(t){n&&(n.exports=t)})}()}(wf)),wf.exports}Hx();var xf={exports:{}},Cf;function jx(){return Cf||(Cf=1,function(n,e){ace.define("ace/ext/searchbox-css",["require","exports","module"],function(t,r,d){d.exports=`
1230
+
1231
+ /* ------------------------------------------------------------------------------------------
1232
+ * Editor Search Form
1233
+ * --------------------------------------------------------------------------------------- */
1234
+ .ace_search {
1235
+ background-color: #ddd;
1236
+ color: #666;
1237
+ border: 1px solid #cbcbcb;
1238
+ border-top: 0 none;
1239
+ overflow: hidden;
1240
+ margin: 0;
1241
+ padding: 4px 6px 0 4px;
1242
+ position: absolute;
1243
+ top: 0;
1244
+ z-index: 99;
1245
+ white-space: normal;
1246
+ }
1247
+ .ace_search.left {
1248
+ border-left: 0 none;
1249
+ border-radius: 0px 0px 5px 0px;
1250
+ left: 0;
1251
+ }
1252
+ .ace_search.right {
1253
+ border-radius: 0px 0px 0px 5px;
1254
+ border-right: 0 none;
1255
+ right: 0;
1256
+ }
1257
+
1258
+ .ace_search_form, .ace_replace_form {
1259
+ margin: 0 20px 4px 0;
1260
+ overflow: hidden;
1261
+ line-height: 1.9;
1262
+ }
1263
+ .ace_replace_form {
1264
+ margin-right: 0;
1265
+ }
1266
+ .ace_search_form.ace_nomatch {
1267
+ outline: 1px solid red;
1268
+ }
1269
+
1270
+ .ace_search_field {
1271
+ border-radius: 3px 0 0 3px;
1272
+ background-color: white;
1273
+ color: black;
1274
+ border: 1px solid #cbcbcb;
1275
+ border-right: 0 none;
1276
+ outline: 0;
1277
+ padding: 0;
1278
+ font-size: inherit;
1279
+ margin: 0;
1280
+ line-height: inherit;
1281
+ padding: 0 6px;
1282
+ min-width: 17em;
1283
+ vertical-align: top;
1284
+ min-height: 1.8em;
1285
+ box-sizing: content-box;
1286
+ }
1287
+ .ace_searchbtn {
1288
+ border: 1px solid #cbcbcb;
1289
+ line-height: inherit;
1290
+ display: inline-block;
1291
+ padding: 0 6px;
1292
+ background: #fff;
1293
+ border-right: 0 none;
1294
+ border-left: 1px solid #dcdcdc;
1295
+ cursor: pointer;
1296
+ margin: 0;
1297
+ position: relative;
1298
+ color: #666;
1299
+ }
1300
+ .ace_searchbtn:last-child {
1301
+ border-radius: 0 3px 3px 0;
1302
+ border-right: 1px solid #cbcbcb;
1303
+ }
1304
+ .ace_searchbtn:disabled {
1305
+ background: none;
1306
+ cursor: default;
1307
+ }
1308
+ .ace_searchbtn:hover {
1309
+ background-color: #eef1f6;
1310
+ }
1311
+ .ace_searchbtn.prev, .ace_searchbtn.next {
1312
+ padding: 0px 0.7em
1313
+ }
1314
+ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {
1315
+ content: "";
1316
+ border: solid 2px #888;
1317
+ width: 0.5em;
1318
+ height: 0.5em;
1319
+ border-width: 2px 0 0 2px;
1320
+ display:inline-block;
1321
+ transform: rotate(-45deg);
1322
+ }
1323
+ .ace_searchbtn.next:after {
1324
+ border-width: 0 2px 2px 0 ;
1325
+ }
1326
+ .ace_searchbtn_close {
1327
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;
1328
+ border-radius: 50%;
1329
+ border: 0 none;
1330
+ color: #656565;
1331
+ cursor: pointer;
1332
+ font: 16px/16px Arial;
1333
+ padding: 0;
1334
+ height: 14px;
1335
+ width: 14px;
1336
+ top: 9px;
1337
+ right: 7px;
1338
+ position: absolute;
1339
+ }
1340
+ .ace_searchbtn_close:hover {
1341
+ background-color: #656565;
1342
+ background-position: 50% 100%;
1343
+ color: white;
1344
+ }
1345
+
1346
+ .ace_button {
1347
+ margin-left: 2px;
1348
+ cursor: pointer;
1349
+ -webkit-user-select: none;
1350
+ -moz-user-select: none;
1351
+ -o-user-select: none;
1352
+ -ms-user-select: none;
1353
+ user-select: none;
1354
+ overflow: hidden;
1355
+ opacity: 0.7;
1356
+ border: 1px solid rgba(100,100,100,0.23);
1357
+ padding: 1px;
1358
+ box-sizing: border-box!important;
1359
+ color: black;
1360
+ }
1361
+
1362
+ .ace_button:hover {
1363
+ background-color: #eee;
1364
+ opacity:1;
1365
+ }
1366
+ .ace_button:active {
1367
+ background-color: #ddd;
1368
+ }
1369
+
1370
+ .ace_button.checked {
1371
+ border-color: #3399ff;
1372
+ opacity:1;
1373
+ }
1374
+
1375
+ .ace_search_options{
1376
+ margin-bottom: 3px;
1377
+ text-align: right;
1378
+ -webkit-user-select: none;
1379
+ -moz-user-select: none;
1380
+ -o-user-select: none;
1381
+ -ms-user-select: none;
1382
+ user-select: none;
1383
+ clear: both;
1384
+ }
1385
+
1386
+ .ace_search_counter {
1387
+ float: left;
1388
+ font-family: arial;
1389
+ padding: 0 8px;
1390
+ }`}),ace.define("ace/ext/searchbox",["require","exports","module","ace/ext/searchbox","ace/ext/searchbox","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(t,r,d){var p=t("../lib/dom"),f=t("../lib/lang"),w=t("../lib/event"),h=t("./searchbox-css"),g=t("../keyboard/hash_handler").HashHandler,o=t("../lib/keys"),a=t("../config").nls,l=999;p.importCssString(h,"ace_searchbox",!1);var c=function(){function m(b,x,E){this.activeInput,this.element=p.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:a("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},a("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:a("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},a("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},a("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:a("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:a("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:a("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:a("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:a("search-box.toggle-in-selection.title","Search In Selection")},"S"]]]),this.setSession=this.setSession.bind(this),this.$onEditorInput=this.onEditorInput.bind(this),this.$init(),this.setEditor(b),p.importCssString(h,"ace_searchbox",b.container),w.addListener(this.element,"touchstart",function($){$.stopPropagation()},b)}return m.prototype.setEditor=function(b){b.searchBox=this,b.renderer.scroller.appendChild(this.element),this.editor=b},m.prototype.setSession=function(b){this.searchRange=null,this.$syncOptions(!0)},m.prototype.onEditorInput=function(){this.find(!1,!1,!0)},m.prototype.$initElements=function(b){this.searchBox=b.querySelector(".ace_search_form"),this.replaceBox=b.querySelector(".ace_replace_form"),this.searchOption=b.querySelector("[action=searchInSelection]"),this.replaceOption=b.querySelector("[action=toggleReplace]"),this.regExpOption=b.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=b.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=b.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=b.querySelector(".ace_search_counter")},m.prototype.$init=function(){var b=this.element;this.$initElements(b);var x=this;w.addListener(b,"mousedown",function(E){setTimeout(function(){x.activeInput.focus()},0),w.stopPropagation(E)}),w.addListener(b,"click",function(E){var $=E.target||E.srcElement,k=$.getAttribute("action");k&&x[k]?x[k]():x.$searchBarKb.commands[k]&&x.$searchBarKb.commands[k].exec(x),w.stopPropagation(E)}),w.addCommandKeyListener(b,function(E,$,k){var C=o.keyCodeToString(k),R=x.$searchBarKb.findKeyCommand($,C);R&&R.exec&&(R.exec(x),w.stopEvent(E))}),this.$onChange=f.delayedCall(function(){x.find(!1,!1)}),w.addListener(this.searchInput,"input",function(){x.$onChange.schedule(20)}),w.addListener(this.searchInput,"focus",function(){x.activeInput=x.searchInput,x.searchInput.value&&x.highlight()}),w.addListener(this.replaceInput,"focus",function(){x.activeInput=x.replaceInput,x.searchInput.value&&x.highlight()})},m.prototype.setSearchRange=function(b){this.searchRange=b,b?this.searchRangeMarker=this.editor.session.addMarker(b,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},m.prototype.$syncOptions=function(b){p.setCssClass(this.replaceOption,"checked",this.searchRange),p.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",p.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),p.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),p.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var x=this.editor.getReadOnly();this.replaceOption.style.display=x?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!x?"":"none",this.find(!1,!1,b)},m.prototype.highlight=function(b){this.editor.session.highlight(b||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},m.prototype.find=function(b,x,E){if(this.editor.session){var $=this.editor.find(this.searchInput.value,{skipCurrent:b,backwards:x,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:E,range:this.searchRange}),k=!$&&this.searchInput.value;p.setCssClass(this.searchBox,"ace_nomatch",k),this.editor._emit("findSearchBox",{match:!k}),this.highlight(),this.updateCounter()}},m.prototype.updateCounter=function(){var b=this.editor,x=b.$search.$options.re,E=x.unicode,$=0,k=0;if(x){var C=this.searchRange?b.session.getTextRange(this.searchRange):b.getValue();b.$search.$isMultilineSearch(b.getLastSearchOptions())&&(C=C.replace(/\r\n|\r|\n/g,`
1391
+ `),b.session.doc.$autoNewLine=`
1392
+ `);var R=b.session.doc.positionToIndex(b.selection.anchor);this.searchRange&&(R-=b.session.doc.positionToIndex(this.searchRange.start));for(var O=x.lastIndex=0,L;(L=x.exec(C))&&($++,O=L.index,O<=R&&k++,!($>l||!L[0]&&(x.lastIndex=O+=f.skipEmptyMatch(C,O,E),O>=C.length))););}this.searchCounter.textContent=a("search-box.search-counter","$0 of $1",[k,$>l?l+"+":$])},m.prototype.findNext=function(){this.find(!0,!1)},m.prototype.findPrev=function(){this.find(!0,!0)},m.prototype.findAll=function(){var b=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),x=!b&&this.searchInput.value;p.setCssClass(this.searchBox,"ace_nomatch",x),this.editor._emit("findSearchBox",{match:!x}),this.highlight(),this.hide()},m.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},m.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},m.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},m.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.editor.off("input",this.$onEditorInput),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},m.prototype.show=function(b,x){this.active=!0,this.editor.on("changeSession",this.setSession),this.editor.on("input",this.$onEditorInput),this.element.style.display="",this.replaceOption.checked=x,this.editor.$search.$options.regExp&&(b=f.escapeRegExp(b)),b!=null&&(this.searchInput.value=b),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},m.prototype.isFocused=function(){var b=document.activeElement;return b==this.searchInput||b==this.replaceInput},m}(),s=new g;s.bindKeys({"Ctrl-f|Command-f":function(m){var b=m.isReplace=!m.isReplace;m.replaceBox.style.display=b?"":"none",m.replaceOption.checked=!1,m.$syncOptions(),m.searchInput.focus()},"Ctrl-H|Command-Option-F":function(m){m.editor.getReadOnly()||(m.replaceOption.checked=!0,m.$syncOptions(),m.replaceInput.focus())},"Ctrl-G|Command-G":function(m){m.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(m){m.findPrev()},esc:function(m){setTimeout(function(){m.hide()})},Return:function(m){m.activeInput==m.replaceInput&&m.replace(),m.findNext()},"Shift-Return":function(m){m.activeInput==m.replaceInput&&m.replace(),m.findPrev()},"Alt-Return":function(m){m.activeInput==m.replaceInput&&m.replaceAll(),m.findAll()},Tab:function(m){(m.activeInput==m.replaceInput?m.searchInput:m.replaceInput).focus()}}),s.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(m){m.regExpOption.checked=!m.regExpOption.checked,m.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(m){m.caseSensitiveOption.checked=!m.caseSensitiveOption.checked,m.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(m){m.wholeWordOption.checked=!m.wholeWordOption.checked,m.$syncOptions()}},{name:"toggleReplace",exec:function(m){m.replaceOption.checked=!m.replaceOption.checked,m.$syncOptions()}},{name:"searchInSelection",exec:function(m){m.searchOption.checked=!m.searchRange,m.setSearchRange(m.searchOption.checked&&m.editor.getSelectionRange()),m.$syncOptions()}}]);var u=new g([{bindKey:"Esc",name:"closeSearchBar",exec:function(m){m.searchBox.hide()}}]);c.prototype.$searchBarKb=s,c.prototype.$closeSearchBarKb=u,r.SearchBox=c,r.Search=function(m,b){var x=m.searchBox||new c(m),E=m.session.selection.getRange(),$=E.isMultiLine()?"":m.session.getTextRange(E);x.show($,b)}}),function(){ace.require(["ace/ext/searchbox"],function(t){n&&(n.exports=t)})}()}(xf)),xf.exports}jx();var Ux=Object.defineProperty,Vx=(n,e,t)=>e in n?Ux(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,_l=(n,e,t)=>Vx(n,typeof e!="symbol"?e+"":e,t);function kf(n,e){return function(){return n.apply(e,arguments)}}const{toString:Gx}=Object.prototype,{getPrototypeOf:wu}=Object,{iterator:Al,toStringTag:_f}=Symbol,Sl=(n=>e=>{const t=Gx.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ri=n=>(n=n.toLowerCase(),e=>Sl(e)===n),$l=n=>e=>typeof e===n,{isArray:qs}=Array,Ta=$l("undefined");function Ea(n){return n!==null&&!Ta(n)&&n.constructor!==null&&!Ta(n.constructor)&&Hr(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const Af=Ri("ArrayBuffer");function Kx(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&Af(n.buffer),e}const qx=$l("string"),Hr=$l("function"),Sf=$l("number"),Ia=n=>n!==null&&typeof n=="object",Yx=n=>n===!0||n===!1,Ml=n=>{if(Sl(n)!=="object")return!1;const e=wu(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(_f in n)&&!(Al in n)},Xx=n=>{if(!Ia(n)||Ea(n))return!1;try{return Object.keys(n).length===0&&Object.getPrototypeOf(n)===Object.prototype}catch{return!1}},Zx=Ri("Date"),Qx=Ri("File"),Jx=Ri("Blob"),e1=Ri("FileList"),t1=n=>Ia(n)&&Hr(n.pipe),n1=n=>{let e;return n&&(typeof FormData=="function"&&n instanceof FormData||Hr(n.append)&&((e=Sl(n))==="formdata"||e==="object"&&Hr(n.toString)&&n.toString()==="[object FormData]"))},r1=Ri("URLSearchParams"),[i1,o1,s1,a1]=["ReadableStream","Request","Response","Headers"].map(Ri),l1=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function La(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,d;if(typeof n!="object"&&(n=[n]),qs(n))for(r=0,d=n.length;r<d;r++)e.call(null,n[r],r,n);else{if(Ea(n))return;const p=t?Object.getOwnPropertyNames(n):Object.keys(n),f=p.length;let w;for(r=0;r<f;r++)w=p[r],e.call(null,n[w],w,n)}}function $f(n,e){if(Ea(n))return null;e=e.toLowerCase();const t=Object.keys(n);let r=t.length,d;for(;r-- >0;)if(d=t[r],e===d.toLowerCase())return d;return null}const hs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Mf=n=>!Ta(n)&&n!==hs;function bu(){const{caseless:n}=Mf(this)&&this||{},e={},t=(r,d)=>{const p=n&&$f(e,d)||d;Ml(e[p])&&Ml(r)?e[p]=bu(e[p],r):Ml(r)?e[p]=bu({},r):qs(r)?e[p]=r.slice():e[p]=r};for(let r=0,d=arguments.length;r<d;r++)arguments[r]&&La(arguments[r],t);return e}const c1=(n,e,t,{allOwnKeys:r}={})=>(La(e,(d,p)=>{t&&Hr(d)?n[p]=kf(d,t):n[p]=d},{allOwnKeys:r}),n),u1=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),h1=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},d1=(n,e,t,r)=>{let d,p,f;const w={};if(e=e||{},n==null)return e;do{for(d=Object.getOwnPropertyNames(n),p=d.length;p-- >0;)f=d[p],(!r||r(f,n,e))&&!w[f]&&(e[f]=n[f],w[f]=!0);n=t!==!1&&wu(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},p1=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},f1=n=>{if(!n)return null;if(qs(n))return n;let e=n.length;if(!Sf(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},g1=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&wu(Uint8Array)),m1=(n,e)=>{const t=(n&&n[Al]).call(n);let r;for(;(r=t.next())&&!r.done;){const d=r.value;e.call(n,d[0],d[1])}},v1=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},y1=Ri("HTMLFormElement"),w1=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,r){return t.toUpperCase()+r}),Tf=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),b1=Ri("RegExp"),Ef=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};La(t,(d,p)=>{let f;(f=e(d,p,n))!==!1&&(r[p]=f||d)}),Object.defineProperties(n,r)},x1=n=>{Ef(n,(e,t)=>{if(Hr(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Hr(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},C1=(n,e)=>{const t={},r=d=>{d.forEach(p=>{t[p]=!0})};return qs(n)?r(n):r(String(n).split(e)),t},k1=()=>{},_1=(n,e)=>n!=null&&Number.isFinite(n=+n)?n:e;function A1(n){return!!(n&&Hr(n.append)&&n[_f]==="FormData"&&n[Al])}const S1=n=>{const e=new Array(10),t=(r,d)=>{if(Ia(r)){if(e.indexOf(r)>=0)return;if(Ea(r))return r;if(!("toJSON"in r)){e[d]=r;const p=qs(r)?[]:{};return La(r,(f,w)=>{const h=t(f,d+1);!Ta(h)&&(p[w]=h)}),e[d]=void 0,p}}return r};return t(n,0)},$1=Ri("AsyncFunction"),M1=n=>n&&(Ia(n)||Hr(n))&&Hr(n.then)&&Hr(n.catch),If=((n,e)=>n?setImmediate:e?((t,r)=>(hs.addEventListener("message",({source:d,data:p})=>{d===hs&&p===t&&r.length&&r.shift()()},!1),d=>{r.push(d),hs.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Hr(hs.postMessage)),T1=typeof queueMicrotask<"u"?queueMicrotask.bind(hs):typeof process<"u"&&process.nextTick||If,E1=n=>n!=null&&Hr(n[Al]),ke={isArray:qs,isArrayBuffer:Af,isBuffer:Ea,isFormData:n1,isArrayBufferView:Kx,isString:qx,isNumber:Sf,isBoolean:Yx,isObject:Ia,isPlainObject:Ml,isEmptyObject:Xx,isReadableStream:i1,isRequest:o1,isResponse:s1,isHeaders:a1,isUndefined:Ta,isDate:Zx,isFile:Qx,isBlob:Jx,isRegExp:b1,isFunction:Hr,isStream:t1,isURLSearchParams:r1,isTypedArray:g1,isFileList:e1,forEach:La,merge:bu,extend:c1,trim:l1,stripBOM:u1,inherits:h1,toFlatObject:d1,kindOf:Sl,kindOfTest:Ri,endsWith:p1,toArray:f1,forEachEntry:m1,matchAll:v1,isHTMLForm:y1,hasOwnProperty:Tf,hasOwnProp:Tf,reduceDescriptors:Ef,freezeMethods:x1,toObjectSet:C1,toCamelCase:w1,noop:k1,toFiniteNumber:_1,findKey:$f,global:hs,isContextDefined:Mf,isSpecCompliantForm:A1,toJSONObject:S1,isAsyncFn:$1,isThenable:M1,setImmediate:If,asap:T1,isIterable:E1};function kt(n,e,t,r,d){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),d&&(this.response=d,this.status=d.status?d.status:null)}ke.inherits(kt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ke.toJSONObject(this.config),code:this.code,status:this.status}}});const Lf=kt.prototype,Rf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{Rf[n]={value:n}}),Object.defineProperties(kt,Rf),Object.defineProperty(Lf,"isAxiosError",{value:!0}),kt.from=(n,e,t,r,d,p)=>{const f=Object.create(Lf);return ke.toFlatObject(n,f,function(w){return w!==Error.prototype},w=>w!=="isAxiosError"),kt.call(f,n.message,e,t,r,d),f.cause=n,f.name=n.name,p&&Object.assign(f,p),f};const I1=null;function xu(n){return ke.isPlainObject(n)||ke.isArray(n)}function Of(n){return ke.endsWith(n,"[]")?n.slice(0,-2):n}function Df(n,e,t){return n?n.concat(e).map(function(r,d){return r=Of(r),!t&&d?"["+r+"]":r}).join(t?".":""):e}function L1(n){return ke.isArray(n)&&!n.some(xu)}const R1=ke.toFlatObject(ke,{},null,function(n){return/^is[A-Z]/.test(n)});function Tl(n,e,t){if(!ke.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=ke.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(c,s){return!ke.isUndefined(s[c])});const r=t.metaTokens,d=t.visitor||g,p=t.dots,f=t.indexes,w=(t.Blob||typeof Blob<"u"&&Blob)&&ke.isSpecCompliantForm(e);if(!ke.isFunction(d))throw new TypeError("visitor must be a function");function h(c){if(c===null)return"";if(ke.isDate(c))return c.toISOString();if(ke.isBoolean(c))return c.toString();if(!w&&ke.isBlob(c))throw new kt("Blob is not supported. Use a Buffer instead.");return ke.isArrayBuffer(c)||ke.isTypedArray(c)?w&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function g(c,s,u){let m=c;if(c&&!u&&typeof c=="object"){if(ke.endsWith(s,"{}"))s=r?s:s.slice(0,-2),c=JSON.stringify(c);else if(ke.isArray(c)&&L1(c)||(ke.isFileList(c)||ke.endsWith(s,"[]"))&&(m=ke.toArray(c)))return s=Of(s),m.forEach(function(b,x){!(ke.isUndefined(b)||b===null)&&e.append(f===!0?Df([s],x,p):f===null?s:s+"[]",h(b))}),!1}return xu(c)?!0:(e.append(Df(u,s,p),h(c)),!1)}const o=[],a=Object.assign(R1,{defaultVisitor:g,convertValue:h,isVisitable:xu});function l(c,s){if(!ke.isUndefined(c)){if(o.indexOf(c)!==-1)throw Error("Circular reference detected in "+s.join("."));o.push(c),ke.forEach(c,function(u,m){(!(ke.isUndefined(u)||u===null)&&d.call(e,u,ke.isString(m)?m.trim():m,s,a))===!0&&l(u,s?s.concat(m):[m])}),o.pop()}}if(!ke.isObject(n))throw new TypeError("data must be an object");return l(n),e}function Nf(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function Cu(n,e){this._pairs=[],n&&Tl(n,this,e)}const Ff=Cu.prototype;Ff.append=function(n,e){this._pairs.push([n,e])},Ff.toString=function(n){const e=n?function(t){return n.call(this,t,Nf)}:Nf;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function O1(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Pf(n,e,t){if(!e)return n;const r=t&&t.encode||O1;ke.isFunction(t)&&(t={serialize:t});const d=t&&t.serialize;let p;if(d?p=d(e,t):p=ke.isURLSearchParams(e)?e.toString():new Cu(e,t).toString(r),p){const f=n.indexOf("#");f!==-1&&(n=n.slice(0,f)),n+=(n.indexOf("?")===-1?"?":"&")+p}return n}class Wf{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ke.forEach(this.handlers,function(t){t!==null&&e(t)})}}const Bf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},D1=typeof URLSearchParams<"u"?URLSearchParams:Cu,N1=typeof FormData<"u"?FormData:null,F1=typeof Blob<"u"?Blob:null,P1={isBrowser:!0,classes:{URLSearchParams:D1,FormData:N1,Blob:F1},protocols:["http","https","file","blob","url","data"]},ku=typeof window<"u"&&typeof document<"u",_u=typeof navigator=="object"&&navigator||void 0,W1=ku&&(!_u||["ReactNative","NativeScript","NS"].indexOf(_u.product)<0),B1=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",z1=ku&&window.location.href||"http://localhost",H1=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ku,hasStandardBrowserEnv:W1,hasStandardBrowserWebWorkerEnv:B1,navigator:_u,origin:z1},Symbol.toStringTag,{value:"Module"})),br={...H1,...P1};function j1(n,e){return Tl(n,new br.classes.URLSearchParams,{visitor:function(t,r,d,p){return br.isNode&&ke.isBuffer(t)?(this.append(r,t.toString("base64")),!1):p.defaultVisitor.apply(this,arguments)},...e})}function U1(n){return ke.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function V1(n){const e={},t=Object.keys(n);let r;const d=t.length;let p;for(r=0;r<d;r++)p=t[r],e[p]=n[p];return e}function zf(n){function e(t,r,d,p){let f=t[p++];if(f==="__proto__")return!0;const w=Number.isFinite(+f),h=p>=t.length;return f=!f&&ke.isArray(d)?d.length:f,h?(ke.hasOwnProp(d,f)?d[f]=[d[f],r]:d[f]=r,!w):((!d[f]||!ke.isObject(d[f]))&&(d[f]=[]),e(t,r,d[f],p)&&ke.isArray(d[f])&&(d[f]=V1(d[f])),!w)}if(ke.isFormData(n)&&ke.isFunction(n.entries)){const t={};return ke.forEachEntry(n,(r,d)=>{e(U1(r),d,t,0)}),t}return null}function G1(n,e,t){if(ke.isString(n))try{return(e||JSON.parse)(n),ke.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Ra={transitional:Bf,adapter:["xhr","http","fetch"],transformRequest:[function(n,e){const t=e.getContentType()||"",r=t.indexOf("application/json")>-1,d=ke.isObject(n);if(d&&ke.isHTMLForm(n)&&(n=new FormData(n)),ke.isFormData(n))return r?JSON.stringify(zf(n)):n;if(ke.isArrayBuffer(n)||ke.isBuffer(n)||ke.isStream(n)||ke.isFile(n)||ke.isBlob(n)||ke.isReadableStream(n))return n;if(ke.isArrayBufferView(n))return n.buffer;if(ke.isURLSearchParams(n))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();let p;if(d){if(t.indexOf("application/x-www-form-urlencoded")>-1)return j1(n,this.formSerializer).toString();if((p=ke.isFileList(n))||t.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Tl(p?{"files[]":n}:n,f&&new f,this.formSerializer)}}return d||r?(e.setContentType("application/json",!1),G1(n)):n}],transformResponse:[function(n){const e=this.transitional||Ra.transitional,t=e&&e.forcedJSONParsing,r=this.responseType==="json";if(ke.isResponse(n)||ke.isReadableStream(n))return n;if(n&&ke.isString(n)&&(t&&!this.responseType||r)){const d=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(n)}catch(p){if(d)throw p.name==="SyntaxError"?kt.from(p,kt.ERR_BAD_RESPONSE,this,null,this.response):p}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:br.classes.FormData,Blob:br.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ke.forEach(["delete","get","head","post","put","patch"],n=>{Ra.headers[n]={}});const K1=ke.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),q1=n=>{const e={};let t,r,d;return n&&n.split(`
1393
+ `).forEach(function(p){d=p.indexOf(":"),t=p.substring(0,d).trim().toLowerCase(),r=p.substring(d+1).trim(),!(!t||e[t]&&K1[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},Hf=Symbol("internals");function Oa(n){return n&&String(n).trim().toLowerCase()}function El(n){return n===!1||n==null?n:ke.isArray(n)?n.map(El):String(n)}function Y1(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}const X1=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function Au(n,e,t,r,d){if(ke.isFunction(r))return r.call(this,e,t);if(d&&(e=t),!!ke.isString(e)){if(ke.isString(r))return e.indexOf(r)!==-1;if(ke.isRegExp(r))return r.test(e)}}function Z1(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function Q1(n,e){const t=ke.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{value:function(d,p,f){return this[r].call(this,e,d,p,f)},configurable:!0})})}let jr=class{constructor(n){n&&this.set(n)}set(n,e,t){const r=this;function d(f,w,h){const g=Oa(w);if(!g)throw new Error("header name must be a non-empty string");const o=ke.findKey(r,g);(!o||r[o]===void 0||h===!0||h===void 0&&r[o]!==!1)&&(r[o||w]=El(f))}const p=(f,w)=>ke.forEach(f,(h,g)=>d(h,g,w));if(ke.isPlainObject(n)||n instanceof this.constructor)p(n,e);else if(ke.isString(n)&&(n=n.trim())&&!X1(n))p(q1(n),e);else if(ke.isObject(n)&&ke.isIterable(n)){let f={},w,h;for(const g of n){if(!ke.isArray(g))throw TypeError("Object iterator must return a key-value pair");f[h=g[0]]=(w=f[h])?ke.isArray(w)?[...w,g[1]]:[w,g[1]]:g[1]}p(f,e)}else n!=null&&d(e,n,t);return this}get(n,e){if(n=Oa(n),n){const t=ke.findKey(this,n);if(t){const r=this[t];if(!e)return r;if(e===!0)return Y1(r);if(ke.isFunction(e))return e.call(this,r,t);if(ke.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(n,e){if(n=Oa(n),n){const t=ke.findKey(this,n);return!!(t&&this[t]!==void 0&&(!e||Au(this,this[t],t,e)))}return!1}delete(n,e){const t=this;let r=!1;function d(p){if(p=Oa(p),p){const f=ke.findKey(t,p);f&&(!e||Au(t,t[f],f,e))&&(delete t[f],r=!0)}}return ke.isArray(n)?n.forEach(d):d(n),r}clear(n){const e=Object.keys(this);let t=e.length,r=!1;for(;t--;){const d=e[t];(!n||Au(this,this[d],d,n,!0))&&(delete this[d],r=!0)}return r}normalize(n){const e=this,t={};return ke.forEach(this,(r,d)=>{const p=ke.findKey(t,d);if(p){e[p]=El(r),delete e[d];return}const f=n?Z1(d):String(d).trim();f!==d&&delete e[d],e[f]=El(r),t[f]=!0}),this}concat(...n){return this.constructor.concat(this,...n)}toJSON(n){const e=Object.create(null);return ke.forEach(this,(t,r)=>{t!=null&&t!==!1&&(e[r]=n&&ke.isArray(t)?t.join(", "):t)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([n,e])=>n+": "+e).join(`
1394
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(n){return n instanceof this?n:new this(n)}static concat(n,...e){const t=new this(n);return e.forEach(r=>t.set(r)),t}static accessor(n){const e=(this[Hf]=this[Hf]={accessors:{}}).accessors,t=this.prototype;function r(d){const p=Oa(d);e[p]||(Q1(t,d),e[p]=!0)}return ke.isArray(n)?n.forEach(r):r(n),this}};jr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ke.reduceDescriptors(jr.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(r){this[t]=r}}}),ke.freezeMethods(jr);function Su(n,e){const t=this||Ra,r=e||t,d=jr.from(r.headers);let p=r.data;return ke.forEach(n,function(f){p=f.call(t,p,d.normalize(),e?e.status:void 0)}),d.normalize(),p}function jf(n){return!!(n&&n.__CANCEL__)}function Ys(n,e,t){kt.call(this,n??"canceled",kt.ERR_CANCELED,e,t),this.name="CanceledError"}ke.inherits(Ys,kt,{__CANCEL__:!0});function Uf(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new kt("Request failed with status code "+t.status,[kt.ERR_BAD_REQUEST,kt.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function J1(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function eC(n,e){n=n||10;const t=new Array(n),r=new Array(n);let d=0,p=0,f;return e=e!==void 0?e:1e3,function(w){const h=Date.now(),g=r[p];f||(f=h),t[d]=w,r[d]=h;let o=p,a=0;for(;o!==d;)a+=t[o++],o=o%n;if(d=(d+1)%n,d===p&&(p=(p+1)%n),h-f<e)return;const l=g&&h-g;return l?Math.round(a*1e3/l):void 0}}function tC(n,e){let t=0,r=1e3/e,d,p;const f=(w,h=Date.now())=>{t=h,d=null,p&&(clearTimeout(p),p=null),n(...w)};return[(...w)=>{const h=Date.now(),g=h-t;g>=r?f(w,h):(d=w,p||(p=setTimeout(()=>{p=null,f(d)},r-g)))},()=>d&&f(d)]}const Il=(n,e,t=3)=>{let r=0;const d=eC(50,250);return tC(p=>{const f=p.loaded,w=p.lengthComputable?p.total:void 0,h=f-r,g=d(h),o=f<=w;r=f;const a={loaded:f,total:w,progress:w?f/w:void 0,bytes:h,rate:g||void 0,estimated:g&&w&&o?(w-f)/g:void 0,event:p,lengthComputable:w!=null,[e?"download":"upload"]:!0};n(a)},t)},Vf=(n,e)=>{const t=n!=null;return[r=>e[0]({lengthComputable:t,total:n,loaded:r}),e[1]]},Gf=n=>(...e)=>ke.asap(()=>n(...e)),nC=br.hasStandardBrowserEnv?((n,e)=>t=>(t=new URL(t,br.origin),n.protocol===t.protocol&&n.host===t.host&&(e||n.port===t.port)))(new URL(br.origin),br.navigator&&/(msie|trident)/i.test(br.navigator.userAgent)):()=>!0,rC=br.hasStandardBrowserEnv?{write(n,e,t,r,d,p){const f=[n+"="+encodeURIComponent(e)];ke.isNumber(t)&&f.push("expires="+new Date(t).toGMTString()),ke.isString(r)&&f.push("path="+r),ke.isString(d)&&f.push("domain="+d),p===!0&&f.push("secure"),document.cookie=f.join("; ")},read(n){const e=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(n){this.write(n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function iC(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function oC(n,e){return e?n.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):n}function Kf(n,e,t){let r=!iC(e);return n&&(r||t==!1)?oC(n,e):e}const qf=n=>n instanceof jr?{...n}:n;function ds(n,e){e=e||{};const t={};function r(g,o,a,l){return ke.isPlainObject(g)&&ke.isPlainObject(o)?ke.merge.call({caseless:l},g,o):ke.isPlainObject(o)?ke.merge({},o):ke.isArray(o)?o.slice():o}function d(g,o,a,l){if(ke.isUndefined(o)){if(!ke.isUndefined(g))return r(void 0,g,a,l)}else return r(g,o,a,l)}function p(g,o){if(!ke.isUndefined(o))return r(void 0,o)}function f(g,o){if(ke.isUndefined(o)){if(!ke.isUndefined(g))return r(void 0,g)}else return r(void 0,o)}function w(g,o,a){if(a in e)return r(g,o);if(a in n)return r(void 0,g)}const h={url:p,method:p,data:p,baseURL:f,transformRequest:f,transformResponse:f,paramsSerializer:f,timeout:f,timeoutMessage:f,withCredentials:f,withXSRFToken:f,adapter:f,responseType:f,xsrfCookieName:f,xsrfHeaderName:f,onUploadProgress:f,onDownloadProgress:f,decompress:f,maxContentLength:f,maxBodyLength:f,beforeRedirect:f,transport:f,httpAgent:f,httpsAgent:f,cancelToken:f,socketPath:f,responseEncoding:f,validateStatus:w,headers:(g,o,a)=>d(qf(g),qf(o),a,!0)};return ke.forEach(Object.keys({...n,...e}),function(g){const o=h[g]||d,a=o(n[g],e[g],g);ke.isUndefined(a)&&o!==w||(t[g]=a)}),t}const Yf=n=>{const e=ds({},n);let{data:t,withXSRFToken:r,xsrfHeaderName:d,xsrfCookieName:p,headers:f,auth:w}=e;e.headers=f=jr.from(f),e.url=Pf(Kf(e.baseURL,e.url,e.allowAbsoluteUrls),n.params,n.paramsSerializer),w&&f.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let h;if(ke.isFormData(t)){if(br.hasStandardBrowserEnv||br.hasStandardBrowserWebWorkerEnv)f.setContentType(void 0);else if((h=f.getContentType())!==!1){const[g,...o]=h?h.split(";").map(a=>a.trim()).filter(Boolean):[];f.setContentType([g||"multipart/form-data",...o].join("; "))}}if(br.hasStandardBrowserEnv&&(r&&ke.isFunction(r)&&(r=r(e)),r||r!==!1&&nC(e.url))){const g=d&&p&&rC.read(p);g&&f.set(d,g)}return e},sC=typeof XMLHttpRequest<"u",aC=sC&&function(n){return new Promise(function(e,t){const r=Yf(n);let d=r.data;const p=jr.from(r.headers).normalize();let{responseType:f,onUploadProgress:w,onDownloadProgress:h}=r,g,o,a,l,c;function s(){l&&l(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(g),r.signal&&r.signal.removeEventListener("abort",g)}let u=new XMLHttpRequest;u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout;function m(){if(!u)return;const x=jr.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),E={data:!f||f==="text"||f==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:x,config:n,request:u};Uf(function($){e($),s()},function($){t($),s()},E),u=null}"onloadend"in u?u.onloadend=m:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(m)},u.onabort=function(){u&&(t(new kt("Request aborted",kt.ECONNABORTED,n,u)),u=null)},u.onerror=function(){t(new kt("Network Error",kt.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const E=r.transitional||Bf;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),t(new kt(x,E.clarifyTimeoutError?kt.ETIMEDOUT:kt.ECONNABORTED,n,u)),u=null},d===void 0&&p.setContentType(null),"setRequestHeader"in u&&ke.forEach(p.toJSON(),function(x,E){u.setRequestHeader(E,x)}),ke.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),f&&f!=="json"&&(u.responseType=r.responseType),h&&([a,c]=Il(h,!0),u.addEventListener("progress",a)),w&&u.upload&&([o,l]=Il(w),u.upload.addEventListener("progress",o),u.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(g=x=>{u&&(t(!x||x.type?new Ys(null,n,u):x),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(g),r.signal&&(r.signal.aborted?g():r.signal.addEventListener("abort",g)));const b=J1(r.url);if(b&&br.protocols.indexOf(b)===-1){t(new kt("Unsupported protocol "+b+":",kt.ERR_BAD_REQUEST,n));return}u.send(d||null)})},lC=(n,e)=>{const{length:t}=n=n?n.filter(Boolean):[];if(e||t){let r=new AbortController,d;const p=function(g){if(!d){d=!0,w();const o=g instanceof Error?g:this.reason;r.abort(o instanceof kt?o:new Ys(o instanceof Error?o.message:o))}};let f=e&&setTimeout(()=>{f=null,p(new kt(`timeout ${e} of ms exceeded`,kt.ETIMEDOUT))},e);const w=()=>{n&&(f&&clearTimeout(f),f=null,n.forEach(g=>{g.unsubscribe?g.unsubscribe(p):g.removeEventListener("abort",p)}),n=null)};n.forEach(g=>g.addEventListener("abort",p));const{signal:h}=r;return h.unsubscribe=()=>ke.asap(w),h}},cC=function*(n,e){let t=n.byteLength;if(t<e){yield n;return}let r=0,d;for(;r<t;)d=r+e,yield n.slice(r,d),r=d},uC=async function*(n,e){for await(const t of hC(n))yield*cC(t,e)},hC=async function*(n){if(n[Symbol.asyncIterator]){yield*n;return}const e=n.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)break;yield r}}finally{await e.cancel()}},Xf=(n,e,t,r)=>{const d=uC(n,e);let p=0,f,w=h=>{f||(f=!0,r&&r(h))};return new ReadableStream({async pull(h){try{const{done:g,value:o}=await d.next();if(g){w(),h.close();return}let a=o.byteLength;if(t){let l=p+=a;t(l)}h.enqueue(new Uint8Array(o))}catch(g){throw w(g),g}},cancel(h){return w(h),d.return()}},{highWaterMark:2})},Ll=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Zf=Ll&&typeof ReadableStream=="function",dC=Ll&&(typeof TextEncoder=="function"?(n=>e=>n.encode(e))(new TextEncoder):async n=>new Uint8Array(await new Response(n).arrayBuffer())),Qf=(n,...e)=>{try{return!!n(...e)}catch{return!1}},pC=Zf&&Qf(()=>{let n=!1;const e=new Request(br.origin,{body:new ReadableStream,method:"POST",get duplex(){return n=!0,"half"}}).headers.has("Content-Type");return n&&!e}),Jf=64*1024,$u=Zf&&Qf(()=>ke.isReadableStream(new Response("").body)),Rl={stream:$u&&(n=>n.body)};Ll&&(n=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Rl[e]&&(Rl[e]=ke.isFunction(n[e])?t=>t[e]():(t,r)=>{throw new kt(`Response type '${e}' is not supported`,kt.ERR_NOT_SUPPORT,r)})})})(new Response);const fC=async n=>{if(n==null)return 0;if(ke.isBlob(n))return n.size;if(ke.isSpecCompliantForm(n))return(await new Request(br.origin,{method:"POST",body:n}).arrayBuffer()).byteLength;if(ke.isArrayBufferView(n)||ke.isArrayBuffer(n))return n.byteLength;if(ke.isURLSearchParams(n)&&(n=n+""),ke.isString(n))return(await dC(n)).byteLength},gC=async(n,e)=>ke.toFiniteNumber(n.getContentLength())??fC(e),mC=Ll&&(async n=>{let{url:e,method:t,data:r,signal:d,cancelToken:p,timeout:f,onDownloadProgress:w,onUploadProgress:h,responseType:g,headers:o,withCredentials:a="same-origin",fetchOptions:l}=Yf(n);g=g?(g+"").toLowerCase():"text";let c=lC([d,p&&p.toAbortSignal()],f),s;const u=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(h&&pC&&t!=="get"&&t!=="head"&&(m=await gC(o,r))!==0){let k=new Request(e,{method:"POST",body:r,duplex:"half"}),C;if(ke.isFormData(r)&&(C=k.headers.get("content-type"))&&o.setContentType(C),k.body){const[R,O]=Vf(m,Il(Gf(h)));r=Xf(k.body,Jf,R,O)}}ke.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;s=new Request(e,{...l,signal:c,method:t.toUpperCase(),headers:o.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(s,l);const E=$u&&(g==="stream"||g==="response");if($u&&(w||E&&u)){const k={};["status","statusText","headers"].forEach(L=>{k[L]=x[L]});const C=ke.toFiniteNumber(x.headers.get("content-length")),[R,O]=w&&Vf(C,Il(Gf(w),!0))||[];x=new Response(Xf(x.body,Jf,R,()=>{O&&O(),u&&u()}),k)}g=g||"text";let $=await Rl[ke.findKey(Rl,g)||"text"](x,n);return!E&&u&&u(),await new Promise((k,C)=>{Uf(k,C,{data:$,headers:jr.from(x.headers),status:x.status,statusText:x.statusText,config:n,request:s})})}catch(b){throw u&&u(),b&&b.name==="TypeError"&&/Load failed|fetch/i.test(b.message)?Object.assign(new kt("Network Error",kt.ERR_NETWORK,n,s),{cause:b.cause||b}):kt.from(b,b&&b.code,n,s)}}),Mu={http:I1,xhr:aC,fetch:mC};ke.forEach(Mu,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const eg=n=>`- ${n}`,vC=n=>ke.isFunction(n)||n===null||n===!1,tg={getAdapter:n=>{n=ke.isArray(n)?n:[n];const{length:e}=n;let t,r;const d={};for(let p=0;p<e;p++){t=n[p];let f;if(r=t,!vC(t)&&(r=Mu[(f=String(t)).toLowerCase()],r===void 0))throw new kt(`Unknown adapter '${f}'`);if(r)break;d[f||"#"+p]=r}if(!r){const p=Object.entries(d).map(([w,h])=>`adapter ${w} `+(h===!1?"is not supported by the environment":"is not available in the build"));let f=e?p.length>1?`since :
1395
+ `+p.map(eg).join(`
1396
+ `):" "+eg(p[0]):"as no adapter specified";throw new kt("There is no suitable adapter to dispatch the request "+f,"ERR_NOT_SUPPORT")}return r},adapters:Mu};function Tu(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new Ys(null,n)}function ng(n){return Tu(n),n.headers=jr.from(n.headers),n.data=Su.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),tg.getAdapter(n.adapter||Ra.adapter)(n).then(function(e){return Tu(n),e.data=Su.call(n,n.transformResponse,e),e.headers=jr.from(e.headers),e},function(e){return jf(e)||(Tu(n),e&&e.response&&(e.response.data=Su.call(n,n.transformResponse,e.response),e.response.headers=jr.from(e.response.headers))),Promise.reject(e)})}const rg="1.11.0",Ol={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{Ol[n]=function(t){return typeof t===n||"a"+(e<1?"n ":" ")+n}});const ig={};Ol.transitional=function(n,e,t){function r(d,p){return"[Axios v"+rg+"] Transitional option '"+d+"'"+p+(t?". "+t:"")}return(d,p,f)=>{if(n===!1)throw new kt(r(p," has been removed"+(e?" in "+e:"")),kt.ERR_DEPRECATED);return e&&!ig[p]&&(ig[p]=!0,console.warn(r(p," has been deprecated since v"+e+" and will be removed in the near future"))),n?n(d,p,f):!0}},Ol.spelling=function(n){return(e,t)=>(console.warn(`${t} is likely a misspelling of ${n}`),!0)};function yC(n,e,t){if(typeof n!="object")throw new kt("options must be an object",kt.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let d=r.length;for(;d-- >0;){const p=r[d],f=e[p];if(f){const w=n[p],h=w===void 0||f(w,p,n);if(h!==!0)throw new kt("option "+p+" must be "+h,kt.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new kt("Unknown option "+p,kt.ERR_BAD_OPTION)}}const Dl={assertOptions:yC,validators:Ol},Qi=Dl.validators;let ps=class{constructor(n){this.defaults=n||{},this.interceptors={request:new Wf,response:new Wf}}async request(n,e){try{return await this._request(n,e)}catch(t){if(t instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const d=r.stack?r.stack.replace(/^.+\n/,""):"";try{t.stack?d&&!String(t.stack).endsWith(d.replace(/^.+\n.+\n/,""))&&(t.stack+=`
1397
+ `+d):t.stack=d}catch{}}throw t}}_request(n,e){typeof n=="string"?(e=e||{},e.url=n):e=n||{},e=ds(this.defaults,e);const{transitional:t,paramsSerializer:r,headers:d}=e;t!==void 0&&Dl.assertOptions(t,{silentJSONParsing:Qi.transitional(Qi.boolean),forcedJSONParsing:Qi.transitional(Qi.boolean),clarifyTimeoutError:Qi.transitional(Qi.boolean)},!1),r!=null&&(ke.isFunction(r)?e.paramsSerializer={serialize:r}:Dl.assertOptions(r,{encode:Qi.function,serialize:Qi.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),Dl.assertOptions(e,{baseUrl:Qi.spelling("baseURL"),withXsrfToken:Qi.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let p=d&&ke.merge(d.common,d[e.method]);d&&ke.forEach(["delete","get","head","post","put","patch","common"],c=>{delete d[c]}),e.headers=jr.concat(p,d);const f=[];let w=!0;this.interceptors.request.forEach(function(c){typeof c.runWhen=="function"&&c.runWhen(e)===!1||(w=w&&c.synchronous,f.unshift(c.fulfilled,c.rejected))});const h=[];this.interceptors.response.forEach(function(c){h.push(c.fulfilled,c.rejected)});let g,o=0,a;if(!w){const c=[ng.bind(this),void 0];for(c.unshift(...f),c.push(...h),a=c.length,g=Promise.resolve(e);o<a;)g=g.then(c[o++],c[o++]);return g}a=f.length;let l=e;for(o=0;o<a;){const c=f[o++],s=f[o++];try{l=c(l)}catch(u){s.call(this,u);break}}try{g=ng.call(this,l)}catch(c){return Promise.reject(c)}for(o=0,a=h.length;o<a;)g=g.then(h[o++],h[o++]);return g}getUri(n){n=ds(this.defaults,n);const e=Kf(n.baseURL,n.url,n.allowAbsoluteUrls);return Pf(e,n.params,n.paramsSerializer)}};ke.forEach(["delete","get","head","options"],function(n){ps.prototype[n]=function(e,t){return this.request(ds(t||{},{method:n,url:e,data:(t||{}).data}))}}),ke.forEach(["post","put","patch"],function(n){function e(t){return function(r,d,p){return this.request(ds(p||{},{method:n,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:d}))}}ps.prototype[n]=e(),ps.prototype[n+"Form"]=e(!0)});let wC=class wb{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(d){t=d});const r=this;this.promise.then(d=>{if(!r._listeners)return;let p=r._listeners.length;for(;p-- >0;)r._listeners[p](d);r._listeners=null}),this.promise.then=d=>{let p;const f=new Promise(w=>{r.subscribe(w),p=w}).then(d);return f.cancel=function(){r.unsubscribe(p)},f},e(function(d,p,f){r.reason||(r.reason=new Ys(d,p,f),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=r=>{e.abort(r)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new wb(function(t){e=t}),cancel:e}}};function bC(n){return function(e){return n.apply(null,e)}}function xC(n){return ke.isObject(n)&&n.isAxiosError===!0}const Eu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Eu).forEach(([n,e])=>{Eu[e]=n});function og(n){const e=new ps(n),t=kf(ps.prototype.request,e);return ke.extend(t,ps.prototype,e,{allOwnKeys:!0}),ke.extend(t,e,null,{allOwnKeys:!0}),t.create=function(r){return og(ds(n,r))},t}const Fn=og(Ra);Fn.Axios=ps,Fn.CanceledError=Ys,Fn.CancelToken=wC,Fn.isCancel=jf,Fn.VERSION=rg,Fn.toFormData=Tl,Fn.AxiosError=kt,Fn.Cancel=Fn.CanceledError,Fn.all=function(n){return Promise.all(n)},Fn.spread=bC,Fn.isAxiosError=xC,Fn.mergeConfig=ds,Fn.AxiosHeaders=jr,Fn.formToJSON=n=>zf(ke.isHTMLForm(n)?new FormData(n):n),Fn.getAdapter=tg.getAdapter,Fn.HttpStatusCode=Eu,Fn.default=Fn;const{Axios:DN,AxiosError:NN,CanceledError:FN,isCancel:PN,CancelToken:WN,VERSION:BN,all:zN,Cancel:HN,isAxiosError:jN,spread:UN,toFormData:VN,AxiosHeaders:GN,HttpStatusCode:KN,formToJSON:qN,getAdapter:YN,mergeConfig:XN}=Fn,Iu=Fn.create({baseURL:location.origin,timeout:6e4,params:{}});Iu.interceptors.response.use(n=>n,n=>{var e,t,r,d,p,f,w,h,g,o,a;if(n.response){if(n.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(s){s&&OpenC3Auth.setTokens()}),n.response.config.headers["Ignore-Errors"]&&n.response.config.headers["Ignore-Errors"].includes(n.response.status.toString()))return Promise.reject(n);let l=`HTTP ${n.response.status} - `;(e=n.response)!=null&&e.statusText&&(l+=`${n.response.statusText} `),(r=(t=n.response)==null?void 0:t.config)!=null&&r.data&&(l+=`${n.response.config.data} `),(p=(d=n.response)==null?void 0:d.data)!=null&&p.message?l+=`${n.response.data.message}`:(w=(f=n.response)==null?void 0:f.data)!=null&&w.exception?l+=`${n.response.data.exception}`:(o=(g=(h=n.response)==null?void 0:h.data)==null?void 0:g.error)!=null&&o.message?(n.response.data.error.class&&(l+=`${n.response.data.error.class} `),l+=`${n.response.data.error.message}`):l+=`${(a=n.response)==null?void 0:a.data}`;const{$cosmosNotify:c}=window;throw c&&c.serious({title:"Network error",body:l}),n}else throw n});const Nl=async function(n,e,{data:t,params:r={},headers:d,noAuth:p=!1,noScope:f=!1,onUploadProgress:w=!1}={}){if(!p){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}d.Authorization=localStorage.openc3Token}return d.manual=!0,!f&&!r.scope&&(r.scope=window.openc3Scope),Iu({method:n,url:e,data:t,params:r,headers:d,onUploadProgress:w})},Lu={Accept:"application/json"},sg={...Lu,"Content-Type":"application/json"},CC=er("D",{get:function(n,{params:e,headers:t=Lu,noScope:r,noAuth:d,onUploadProgress:p}={}){return Nl("get",n,{params:e,headers:t,noScope:r,noAuth:d,onUploadProgress:p})},put:function(n,{data:e,params:t,headers:r=sg,noScope:d,noAuth:p,onUploadProgress:f}={}){return Nl("put",n,{data:e,params:t,headers:r,noScope:d,noAuth:p,onUploadProgress:f})},post:function(n,{data:e,params:t,headers:r=sg,noScope:d,noAuth:p,onUploadProgress:f}={}){return Nl("post",n,{data:e,params:t,headers:r,noScope:d,noAuth:p,onUploadProgress:f})},delete:function(n,{params:e,headers:t=Lu,noScope:r,noAuth:d,onUploadProgress:p}={}){return Nl("delete",n,{params:e,headers:t,noScope:r,noAuth:d,onUploadProgress:p})}});let Fl=()=>({emit(n,...e){for(let t=this.events[n]||[],r=0,d=t.length;r<d;r++)t[r](...e)},events:{},on(n,e){var t;return((t=this.events)[n]||(t[n]=[])).push(e),()=>{var r;this.events[n]=(r=this.events[n])==null?void 0:r.filter(d=>e!==d)}}});class Da extends Error{constructor(e,t){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=t,this.name="ReasonError"}}class Ru extends Da{constructor(e){super("Rejected",e),this.name="SubscriptionRejectedError"}}class kC extends Da{constructor(e){super(e||"Timed out to receive subscription ack"),this.name="SubscriptionTimeoutError"}}class Oi extends Da{constructor(e,t){t?super(e,t):super("Disconnected",e),this.name="DisconnectedError"}}class _C extends Oi{constructor(e){super(e,"stale_connection"),this.name="StaleConnectionError"}}function ag(n){return n?`{${Object.keys(n).sort().filter(e=>n[e]!==void 0).map(e=>{let t=JSON.stringify(n[e]);return`${JSON.stringify(e)}:${t}`}).join(",")}}`:""}class AC{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,t){if(!this._info)return this._info={id:e,info:t},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((t,{id:r,info:d})=>(t[r]=d,t),{})}}const fs=Symbol("state");class lg{constructor(e={}){this.emitter=Fl(),this.params=Object.freeze(e),this.presence=new AC(this),this.initialConnect=!0,this[fs]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=ag({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[fs]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[fs]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[fs]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[fs]="connected";let e=!0,t=!0;this.initialConnect=!1,this.emit("connect",{reconnect:t,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[fs]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[fs]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,t){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,t)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(t){let r=this.receiver?this.receiver.logger:null;r&&r.warn("whisper failed: ",t)}}receive(e,t){this.emit("message",e,t)}on(e,t){return this.emitter.on(e,t)}once(e,t){let r=this.emitter.on(e,(...d)=>{r(),t(...d)});return r}emit(e,...t){return this.emitter.emit(e,...t)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((e,t)=>{let r=[()=>delete this._pendingSubscribe];r.push(this.on("connect",()=>{r.forEach(d=>d()),e()})),r.push(this.on("close",d=>{r.forEach(p=>p()),t(d||new Da("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class SC{constructor(e){this.id=e,this.intent="unsubscribed",this.state="idle",this.channels=[],this.disposed=!1,this._pendings=[]}add(e){this.channels.includes(e)||this.channels.push(e)}remove(e){let t=this.channels.indexOf(e);t>-1&&this.channels.splice(t,1)}notify(e,...t){this.state=e==="restored"?"connected":e,t.length===1?this.channels.forEach(r=>r[e](t[0])):this.channels.forEach(r=>r[e]())}pending(e){this._checkIntent(e);let t=this._pendings[0];return!t||t.intent!==e?Promise.resolve():t.promise}ensureResubscribed(){this.disposed||(this.intent=void 0,this.ensureSubscribed())}ensureSubscribed(){if(this.intent!=="subscribed"){if(this.disposed)throw Error("Subscription is disposed");this.intent="subscribed",!this._mergeWithPending("unsubscribed")&&this.subscriber(this)}}maybeUnsubscribe(){this.disposed||this.intent==="unsubscribed"||this.channels.length>0||(this.intent="unsubscribed",this._mergeWithPending("subscribed"))||this.unsubscriber(this)}async acquire(e){this._checkIntent(e);let t,r={promise:new Promise(p=>{t=p}),intent:e,release:()=>{this._pendings.splice(this._pendings.indexOf(r),1),t(r)},canceled:!1,acquired:!1},d=this._pendingTop;return this._pendings.push(r),d&&await d.promise,this.gvl&&await this.gvl.acquire(r,e),r.acquired=!0,r}close(e){this.disposed=!0,this.intent=void 0,this.notify("closed",e)}_checkIntent(e){if(!(e==="unsubscribed"||e==="subscribed"))throw Error(`Unknown subscription intent: ${e}`)}get _pendingTop(){return this._pendings.length?this._pendings[this._pendings.length-1]:void 0}_mergeWithPending(e){let t=this._pendingTop;return!t||t.acquired||t.intent!==e?!1:(this._pendings.pop(),t.canceled=!0,!0)}}class $C{constructor(){this.queue=[]}async acquire(e,t){t==="subscribed"&&(this.queue.push(e.promise.then(()=>{this.queue.splice(this.queue.indexOf(e),1)})),this.queue.length>1&&await this.queue[this.queue.length-2])}}class MC{constructor(e){e.concurrentSubscribes===!1&&(this.glv=new $C),this._subscriptions={},this._localToRemote={}}all(){return Object.values(this._subscriptions)}get(e){return this._subscriptions[e]}create(e,{subscribe:t,unsubscribe:r}){let d=this._subscriptions[e]=new SC(e);return d.remoteId=this._localToRemote[e],d.subscriber=t,d.unsubscriber=r,d.gvl=this.glv,d}remove(e){delete this._subscriptions[e],delete this._localToRemote[e]}storeRemoteId(e,t){this._localToRemote[e]=t;let r=this.get(e);r&&(r.remoteId=t)}}class TC{constructor(e={}){this.subscriptions=new MC(e),this._pendingMessages=[],this._remoteToLocal={}}subscribe(e,t){this._remoteToLocal[t]=e,this.subscriptions.storeRemoteId(e,t),this.flush(t)}unsubscribe(e){let t=this.subscriptions.get(e);if(!t)return;let r=t.remoteId;r&&delete this._remoteToLocal[r],this.subscriptions.remove(e)}transmit(e,t,r){let d=this._remoteToLocal[e];if(!d){this._pendingMessages.push([e,t,r]);return}let p=this.subscriptions.get(d);p&&p.channels.forEach(f=>{f.receive(t,r)})}notify(e,t,r){let d=this._remoteToLocal[e];if(!d)return;let p=this.subscriptions.get(d);p&&p.channels.forEach(f=>f.emit(t,r))}close(){this._pendingMessages.length=0}get size(){return this.channels.length}get channels(){return this.subscriptions.all().flatMap(e=>e.channels)}flush(e){let t=[];for(let r of this._pendingMessages)r[0]===e?this.transmit(r[0],r[1],r[2]):t.push(r);this._pendingMessages=t}}const cg={debug:0,info:1,warn:2,error:3};class ug{constructor(e){this.level=e||"warn"}log(e,t,r){cg[e]<cg[this.level]||this.writeLogEntry(e,t,r)}writeLogEntry(){throw Error("Not implemented")}debug(e,t){this.log("debug",e,t)}info(e,t){this.log("info",e,t)}warn(e,t){this.log("warn",e,t)}error(e,t){this.log("error",e,t)}}class Na extends ug{writeLogEntry(){}}class EC{encode(e){return JSON.stringify(e)}decode(e){try{return JSON.parse(e)}catch{}}}let IC=0;class hg{constructor(e={}){let{logger:t}=e;this.logger=t||new Na,this.pendingSubscriptions={},this.pendingUnsubscriptions={},this.subscribeCooldownInterval=e.subscribeCooldownInterval||250,this.subscribeRetryInterval=e.subscribeRetryInterval||5e3}attached(e){this.cable=e}subscribe(e,t){let r={channel:e};t&&Object.assign(r,t);let d=ag(r);if(this.pendingUnsubscriptions[d]){let f=this.subscribeCooldownInterval*1.5;return this.logger.debug(`unsubscribed recently, cooldown for ${f}`,d),new Promise(w=>{setTimeout(()=>{w(this.subscribe(e,t))},f)})}if(this.pendingSubscriptions[d])return this.logger.warn("subscription is already pending, skipping",d),Promise.reject(Error("Already subscribing"));let p=this.subscribeRetryInterval;return new Promise((f,w)=>{let h=++IC;this.pendingSubscriptions[d]={resolve:f,reject:w,id:h},this.cable.send(this.buildSubscribeRequest(d)),this.maybeRetrySubscribe(h,d,p)})}buildSubscribeRequest(e){return{command:"subscribe",identifier:e}}maybeRetrySubscribe(e,t,r){setTimeout(()=>{let d=this.pendingSubscriptions[t];d&&d.id===e&&(this.logger.warn(`no subscription ack received in ${r}ms, retrying subscribe`,t),this.cable.send(this.buildSubscribeRequest(t)),this.maybeExpireSubscribe(e,t,r))},r)}maybeExpireSubscribe(e,t,r){setTimeout(()=>{let d=this.pendingSubscriptions[t];d&&d.id===e&&(delete this.pendingSubscriptions[t],d.reject(new kC(`Haven't received subscription ack in ${r*2}ms for ${t}`)))},r)}unsubscribe(e){return this.cable.send({command:"unsubscribe",identifier:e}),this.pendingUnsubscriptions[e]=!0,setTimeout(()=>{delete this.pendingUnsubscriptions[e]},this.subscribeCooldownInterval),Promise.resolve()}perform(e,t,r){return t==="$whisper"?this.whisper(e,r):(r||(r={}),r.action=t,this.cable.send({command:"message",identifier:e,data:JSON.stringify(r)}),Promise.resolve())}whisper(e,t){return this.cable.send({command:"whisper",identifier:e,data:t}),Promise.resolve()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:t,identifier:r,message:d,reason:p,reconnect:f}=e;if(t==="ping")return this.cable.keepalive(e.message);if(this.cable.keepalive(),t==="welcome"){let w=e.sid;return w&&this.cable.setSessionId(w),this.cable.connected()}if(t==="disconnect"){let w=new Oi(p);this.reset(w),f===!1?this.cable.closed(w):this.cable.disconnected(w);return}if(t==="confirm_subscription"){let w=this.pendingSubscriptions[r];if(!w){this.logger.error("subscription not found, unsubscribing",{type:t,identifier:r}),this.unsubscribe(r);return}return delete this.pendingSubscriptions[r],w.resolve(r)}if(t==="reject_subscription"){let w=this.pendingSubscriptions[r];return w?(delete this.pendingSubscriptions[r],w.reject(new Ru)):this.logger.error("subscription not found",{type:t,identifier:r})}if(d)return{identifier:r,message:d};this.logger.warn(`unknown message type: ${t}`,{message:e})}reset(e){for(let t in this.pendingSubscriptions)this.pendingSubscriptions[t].reject(e);this.pendingSubscriptions={}}recoverableClosure(){return!1}}const dg=()=>Date.now()/1e3|0;class LC extends hg{constructor(e={}){super(e),this.streamsPositions={},this.subscriptionStreams={},this.pendingHistory={},this.pendingPresence={},this.presenceInfo={},this.restoreSince=e.historyTimestamp,this.disableSessionRecovery=e.disableSessionRecovery,this.restoreSince===void 0&&(this.restoreSince=dg()),this.sessionId=void 0,this.sendPongs=e.pongs}reset(e){for(let t in this.pendingPresence)this.pendingPresence[t].reject(e);return this.pendingPresence={},super.reset()}receive(e){if(typeof e!="object"){this.logger.error("unsupported message format",{message:e});return}let{type:t,identifier:r,message:d}=e;if(t==="disconnect")return delete this.sessionId,this.cable.setSessionId(""),super.receive(e);if(t==="reject_subscription")return super.receive(e);if(t==="confirm_subscription")return this.subscriptionStreams[r]||(this.subscriptionStreams[r]=new Set),super.receive(e);if(t==="ping")return this.restoreSince&&(this.restoreSince=dg()),this.sendPongs&&this.sendPong(),this.cable.keepalive(e.message);if(this.cable.keepalive(),t==="confirm_history"){this.logger.debug("history result received",e),this.cable.notify("history_received",r);return}if(t==="reject_history"){this.logger.warn("failed to retrieve history",e),this.cable.notify("history_not_found",r);return}if(t==="welcome"){if(this.disableSessionRecovery||(this.sessionId=e.sid,this.sessionId&&this.cable.setSessionId(this.sessionId)),e.restored){let p=e.restored_ids||Object.keys(this.subscriptionStreams);for(let f of p)this.cable.send({identifier:f,command:"history",history:this.historyRequestFor(f)}),this.presenceInfo[f]&&this.cable.send({identifier:f,command:"join",presence:this.presenceInfo[f]});return this.cable.restored(p)}return this.cable.connected(this.sessionId)}if(t==="presence"){let p=d.type;if(p==="info"){let f=this.pendingPresence[r];f&&(delete this.pendingPresence[r],f.resolve(d))}else if(p==="error"){let f=this.pendingPresence[r];f&&(delete this.pendingPresence[r],f.reject(new Error("failed to retrieve presence")))}return{type:t,identifier:r,message:d}}if(d){let p=this.trackStreamPosition(r,e.stream_id,e.epoch,e.offset);return{identifier:r,message:d,meta:p}}this.logger.warn(`unknown message type: ${t}`,{message:e})}perform(e,t,r){switch(t){case"$presence:join":return this.join(e,r);case"$presence:leave":return this.leave(e,r);case"$presence:info":return this.presence(e,r)}return super.perform(e,t,r)}unsubscribe(e){return delete this.presenceInfo[e],super.unsubscribe(e)}buildSubscribeRequest(e){let t=super.buildSubscribeRequest(e),r=this.historyRequestFor(e);r&&(t.history=r,this.pendingHistory[e]=!0);let d=this.presenceInfo[e];return d&&(t.presence=d),t}recoverableClosure(){return!!this.sessionId}historyRequestFor(e){let t={},r=!1;if(this.subscriptionStreams[e])for(let d of this.subscriptionStreams[e]){let p=this.streamsPositions[d];p&&(r=!0,t[d]=p)}if(!(!r&&!this.restoreSince))return{since:this.restoreSince,streams:t}}trackStreamPosition(e,t,r,d){if(!(!t||!r))return this.subscriptionStreams[e]||(this.subscriptionStreams[e]=new Set),this.subscriptionStreams[e].add(t),this.streamsPositions[t]={epoch:r,offset:d},{stream:t,epoch:r,offset:d}}async sendPong(){await new Promise(e=>setTimeout(e,0)),this.cable.state==="connected"&&this.cable.send({command:"pong"})}async join(e,t){return this.presenceInfo[e]=t,this.cable.send({command:"join",identifier:e,presence:t}),Promise.resolve()}async leave(e,t){return delete this.presenceInfo[e],this.cable.send({command:"leave",identifier:e,presence:t}),Promise.resolve()}presence(e,t){return this.pendingPresence[e]?(this.logger.warn("presence is already pending, skipping",e),Promise.reject(Error("presence request is already pending"))):new Promise((r,d)=>{this.pendingPresence[e]={resolve:r,reject:d},this.cable.send({command:"presence",identifier:e,data:t})})}}class RC extends Da{constructor(){super("No connection","closed"),this.name="NoConnectionError"}}class Ou extends lg{constructor(e,t){super(t),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}_l(Ou,"identifier","__ghost__");const OC="$pubsub";class Du extends lg{async perform(e,t){if(e.startsWith("$"))return super.perform(e,t);throw Error("not implemented")}}_l(Du,"identifier",OC);const gs=Symbol("state");let DC=class{constructor({transport:n,protocol:e,encoder:t,logger:r,lazy:d,hubOptions:p,performFailures:f,transportConfigurator:w}){this.emitter=Fl(),this.transport=n,this.encoder=t,this.logger=r||new Na,this.protocol=e,this.performFailures=f||"throw",this.protocol.attached(this),this.hub=new TC(p||{}),this[gs]="idle",this.handleClose=this.handleClose.bind(this),this.handleIncoming=this.handleIncoming.bind(this),this.transportConfigurator=w,this.transport.on("close",this.handleClose),this.transport.on("data",this.handleIncoming),this.initialConnect=!0,this.recovering=!1,d===!1&&this.connect().catch(()=>{})}get state(){return this[gs]}async connect(){if(this.state==="connected")return Promise.resolve();if(this.state==="connecting")return this.pendingConnect();let n=this.state==="idle";this[gs]="connecting";let e=this.pendingConnect();this.logger.debug("connecting");try{this.transportConfigurator&&await this.transportConfigurator(this.transport,{initial:n}),await this.transport.open()}catch(t){this.handleClose(t)}return e}setSessionId(n){this.sessionId=n,this.transport.setParam("sid",n)}connected(){if(this.state==="connected")return;this.logger.info("connected"),this[gs]="connected",this.recovering&&this.hub.subscriptions.all().forEach(e=>e.notify("disconnected",new Oi("recovery_failed"))),this.hub.subscriptions.all().forEach(e=>this._resubscribe(e));let n=!1;this.recovering=!1,this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:n})):this.emit("connect",{reconnect:!0,restored:n})}restored(n){this.logger.info("connection recovered",{remoteIds:n}),this[gs]="connected",this.hub.subscriptions.all().forEach(r=>{n&&r.remoteId&&n.includes(r.remoteId)?r.notify("restored"):(r.notify("disconnected",new Oi("recovery_failed")),this._resubscribe(r))});let e=!this.initialConnect,t=!0;this.recovering=!1,this.initialConnect=!1,this.emit("connect",{reconnect:e,restored:t})}notify(n,e,t){e&&typeof e!="string"&&(t=e,e=void 0),e?this.hub.notify(e,"info",{type:n,data:t}):this.emit("info",{type:n,data:t})}handleClose(n){this.logger.debug("transport closed",{error:n}),this.disconnected(new Oi(n,"transport_closed"))}disconnected(n){(this.state==="connected"||this.state==="connecting")&&(this.logger.info("disconnected",{reason:n}),this[gs]="disconnected",this.recovering=this.protocol.recoverableClosure(n),this.recovering?this.hub.subscriptions.all().forEach(e=>e.notify("connecting")):this.hub.subscriptions.all().forEach(e=>{e.notify("disconnected",n)}),this.protocol.reset(n),this.hub.close(),this.transport.close(),this.emit("disconnect",n))}closed(n){if(this.state==="closed"||this.state==="idle")return;let e;n&&(e=n instanceof Oi?n:new Oi(n,void 0)),this.logger.info("closed",{reason:n||"user"}),this[gs]="closed";let t=e||new Oi("cable_closed");this.hub.subscriptions.all().forEach(r=>r.notify("disconnected",t)),this.hub.close(),this.protocol.reset(),this.transport.close(),this.initialConnect=!0,this.emit("close",e)}disconnect(){this.closed()}handleIncoming(n){if(this.state==="closed"||this.state==="idle")return;let e=this.encoder.decode(n);if(e===void 0){this.logger.error("failed to decode message",{message:n});return}this.logger.debug("incoming data",e);let t=this.protocol.receive(e);if(t){this.logger.debug("processed incoming message",t);let{type:r,identifier:d,message:p,meta:f}=t;r?this.hub.notify(d,r,p):this.hub.transmit(d,p,f)}}send(n){if(this.state==="closed")throw Error("Cable is closed");let e=this.encoder.encode(n);if(e===void 0){this.logger.error("failed to encode message",{message:n});return}this.logger.debug("outgoing message",n),this.transport.send(e)}keepalive(n){this.emit("keepalive",n)}streamFrom(n){let e=new Du({stream_name:n});return this.subscribe(e)}streamFromSigned(n){let e=new Du({signed_stream_name:n});return this.subscribe(e)}subscribeTo(n,e){let t,r;return typeof n=="string"&&(r=n,n=Ou),t=r?new n(r,e):new n(e),this.subscribe(t)}subscribe(n){if(!n.attached(this))return n;let e=n.identifier;n.connecting();let t=this.hub.subscriptions.get(e)||this.hub.subscriptions.create(e,{subscribe:r=>this._subscribe(r,n.channelId,n.params),unsubscribe:r=>this._unsubscribe(r)});return t.add(n),t.intent==="subscribed"&&t.state==="connected"&&n.connected(),t.ensureSubscribed(),n}async _resubscribe(n){n.intent!=="subscribed"||!n.channels[0]||(n.notify("connecting"),n.ensureResubscribed())}async _subscribe(n,e,t){let r=n.id;if(this.state==="idle"&&this.connect().catch(()=>{}),this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r});return}this.logger.debug("acquiring subscribe lock",{identifier:r});let d=await n.acquire("subscribed");if(d.canceled){this.logger.debug("subscribe lock has been canceled",{identifier:r}),d.release();return}if(this.logger.debug("subscribe lock has been acquired",{identifier:r}),n.intent!=="subscribed"){this.logger.debug("cancel subscribe request, already unsubscribed"),d.release();return}if(this.state!=="connected"){this.logger.debug("cancel subscribe, no connection",{identifier:r}),d.release();return}if(n.state==="connected"){this.logger.debug("already connected, skip subscribe command",{identifier:r}),n.notify("connected"),d.release();return}let p={identifier:e,params:t};this.logger.debug("subscribing",p);try{let f=await this.protocol.subscribe(e,t);this.hub.subscribe(r,f),this.logger.debug("subscribed",{...p,remoteId:f}),n.notify("connected")}catch(f){if(f){if(f instanceof Ru&&this.logger.warn("rejected",p),f instanceof Oi){this.logger.debug("disconnected during subscription; will retry on connect",p),d.release();return}this.logger.error("failed to subscribe",{error:f,...p})}n.close(f),this.hub.unsubscribe(r)}d.release()}unsubscribe(n){let e=n.identifier,t=this.hub.subscriptions.get(e);if(!t)throw Error(`Subscription not found: ${e}`);t.remove(n),n.closed(),t.maybeUnsubscribe()}async _unsubscribe(n){let e=n.id;this.logger.debug("acquiring unsubscribe lock",{identifier:e});let t=await n.acquire("unsubscribed");if(t.canceled){this.logger.debug("unsubscribe lock has been canceled",{identifier:e}),t.release();return}if(this.logger.debug("unsubscribe lock has been acquired",{identifier:e}),n.intent!=="unsubscribed"){this.logger.debug("cancel unsubscribe, no longer needed",{identifier:e,intent:n.intent}),t.release();return}if(n.state==="disconnected"||n.state==="closed"){this.logger.debug(`already ${n.state} connected, skip unsubscribe command`,{identifier:e}),t.release();return}let r=n.remoteId;if(this.logger.debug("unsubscribing...",{remoteId:r}),this.state!=="connected"){this.logger.debug("unsubscribe skipped (cable is not connected)",{id:e}),n.close(),this.hub.unsubscribe(e),t.release();return}try{await this.protocol.unsubscribe(r),this.logger.debug("unsubscribed remotely",{id:e})}catch(d){d&&(d instanceof Oi?this.logger.debug("cable disconnected during the unsubscribe command execution",{id:e,error:d}):this.logger.error("unsubscribe failed",{id:e,error:d}))}n.intent==="unsubscribed"?(n.close(),this.hub.unsubscribe(e)):n.state="closed",t.release()}async perform(n,e,t){if(this.performFailures==="throw")return this._perform(n,e,t);try{return await this._perform(n,e,t)}catch(r){this.performFailures==="warn"&&this.logger.warn("perform failed",{error:r});return}}async _perform(n,e,t){if(this.state==="connecting"&&await this.pendingConnect(),this.state==="closed"||this.state==="disconnected")throw new RC;let r=this.hub.subscriptions.get(n);if(!r)throw Error(`Subscription not found: ${n}`);if(await r.pending("subscribed"),r.intent!=="subscribed")throw Error(`Subscription is closed: ${n}`);let d=r.remoteId,p={id:d,action:e,payload:t};this.logger.debug("perform",p);try{let f=await this.protocol.perform(d,e,t);return f&&this.logger.debug("perform result",{message:f,request:p}),f}catch(f){throw this.logger.error("perform failed",{error:f,request:p}),f}}on(n,e){return this.emitter.on(n,e)}once(n,e){let t=this.emitter.on(n,(...r)=>{t(),e(...r)});return t}emit(n,...e){return this.emitter.emit(n,...e)}pendingConnect(){return this._pendingConnect?this._pendingConnect:(this._pendingConnect=new Promise((n,e)=>{let t=[()=>delete this._pendingConnect];t.push(this.on("connect",()=>{t.forEach(r=>r()),n()})),t.push(this.on("close",r=>{t.forEach(d=>d()),e(r)})),t.push(this.on("disconnect",r=>{t.forEach(d=>d()),e(r)}))}),this._pendingConnect)}};const NC={maxMissingPings:2,maxReconnectAttempts:1/0},Xs=()=>Date.now(),pg=(n,e)=>{e=e||{};let{backoffRate:t,jitterRatio:r,maxInterval:d}=e;return t=t||2,r===void 0&&(r=.5),p=>{let f=n*t**p,w=f*t,h=f+(w-f)*Math.random(),g=2*(Math.random()-.5)*r;return h=h*(1+g),d&&d<h&&(h=d),h}};let fg=class{constructor({pingInterval:n,...e}){if(this.pingInterval=n,!this.pingInterval)throw Error(`Incorrect pingInterval is provided: ${n}`);if(e=Object.assign({},NC,e),this.strategy=e.reconnectStrategy,!this.strategy)throw Error("Reconnect strategy must be provided");this.maxMissingPings=e.maxMissingPings,this.maxReconnectAttempts=e.maxReconnectAttempts,this.logger=e.logger||new Na,this.state="pending_connect",this.attempts=0,this.disconnectedAt=Xs()}watch(n){this.target=n,this.initListeners()}reconnectNow(){return this.state==="connected"||this.state==="pending_connect"||this.state==="closed"?!1:(this.cancelReconnect(),this.state="pending_connect",this.target.connect().catch(n=>{this.logger.info("Failed at reconnecting: "+n)}),!0)}initListeners(){this.unbind=[],this.unbind.push(this.target.on("connect",()=>{this.attempts=0,this.pingedAt=Xs(),this.state="connected",this.cancelReconnect(),this.startPolling()})),this.unbind.push(this.target.on("disconnect",()=>{this.disconnectedAt=Xs(),this.state="disconnected",this.stopPolling(),this.scheduleReconnect()})),this.unbind.push(this.target.on("close",()=>{this.disconnectedAt=Xs(),this.state="closed",this.cancelReconnect(),this.stopPolling()})),this.unbind.push(this.target.on("keepalive",()=>{this.pingedAt=Xs()})),this.unbind.push(()=>{this.cancelReconnect(),this.stopPolling()})}dispose(){delete this.target,this.unbind&&this.unbind.forEach(n=>n()),delete this.unbind}startPolling(){this.pollId&&clearTimeout(this.pollId);let n=this.pingInterval+(Math.random()-.5)*this.pingInterval*.5;this.pollId=setTimeout(()=>{this.checkStale(),this.state==="connected"&&this.startPolling()},n)}stopPolling(){this.pollId&&clearTimeout(this.pollId)}checkStale(){let n=Xs()-this.pingedAt;n>this.maxMissingPings*this.pingInterval&&(this.logger.warn(`Stale connection: ${n}ms without pings`),this.state="pending_disconnect",this.target.disconnected(new _C))}scheduleReconnect(){if(this.attempts>=this.maxReconnectAttempts){this.target.close();return}let n=this.strategy(this.attempts);this.attempts++,this.logger.info(`Reconnecting in ${n}ms (${this.attempts} attempt)`),this.state="pending_reconnect",this.reconnnectId=setTimeout(()=>this.reconnectNow(),n)}cancelReconnect(){this.reconnnectId&&(clearTimeout(this.reconnnectId),delete this.reconnnectId)}};class FC{constructor(e,t={}){this.transports=e,this.transport=null,this.emitter=Fl(),this.unbind=[],this.logger=t.logger||new Na}displayName(){return"fallbacked transport"}async open(){for(let e=0;e<this.transports.length;e++){let t=this.transports[e];try{this.transport=t,this.resetListeners(),this.logger.debug(`Trying to connect via ${t.displayName()}`),await t.open(),this.logger.debug(`Connected via ${t.displayName()}`);return}catch(r){this.logger.debug(`Failed to connect via ${t.displayName()}: ${r.message}`)}}throw this.transport=null,this.resetListeners(),new Error("Couldn't connect via any available transport")}send(e){if(!this.transport)throw new Error("No transport is open");this.transport.send(e)}async close(){if(!this.transport)throw new Error("No transport is open");await this.transport.close(),this.transport=null}setURL(){throw new Error("Not implemented. Set URL for each transport separately")}setParam(e,t){this.transports.forEach(r=>{r.setParam(e,t)})}setToken(e,t){this.transports.forEach(r=>{r.setToken(e,t)})}on(e,t){return this.emitter.on(e,t)}once(e,t){let r=this.emitter.on(e,(...d)=>{r(),t(...d)});return r}get url(){return this.transport?this.transport.url:""}resetListeners(){this.unbind.forEach(e=>e()),this.unbind.length=0,this.transport&&this.unbind.push(this.transport.on("open",()=>{this.emitter.emit("open")}),this.transport.on("data",e=>{this.emitter.emit("data",e)}),this.transport.on("close",e=>{this.emitter.emit("close",e)}),this.transport.on("error",e=>{this.emitter.emit("error",e)}))}}class PC{constructor(e,t={}){this.url=e;let r=t.websocketImplementation;if(r)this.Impl=r;else if(typeof WebSocket<"u")this.Impl=WebSocket;else throw new Error("No WebSocket support");this.connected=!1,this.emitter=Fl();let{format:d,subprotocol:p,authStrategy:f}=t;this.format=d||"text",this.connectionOptions=t.websocketOptions,this.authStrategy=f||"param",this.authProtocol="",this.subprotocol=p}displayName(){return"WebSocket("+this.url+")"}open(){let e=this.subprotocol;return this.authStrategy==="sub-protocol"&&(e=[this.subprotocol,this.authProtocol]),this.connectionOptions?this.ws=new this.Impl(this.url,e,this.connectionOptions):this.ws=new this.Impl(this.url,e),this.ws.binaryType="arraybuffer",this.initListeners(),new Promise((t,r)=>{let d=[];d.push(this.once("open",()=>{d.forEach(p=>p()),t()})),d.push(this.once("close",()=>{d.forEach(p=>p()),r(Error("WS connection closed"))}))})}setURL(e){this.url=e}setParam(e,t){let r=new URL(this.url);r.searchParams.set(e,t);let d=`${r.protocol}//${r.host}${r.pathname}?${r.searchParams}`;this.setURL(d)}setToken(e,t="jid"){if(this.authStrategy==="param")this.setParam(t,e);else if(this.authStrategy==="header"){this.connectionOptions=this.connectionOptions||{},this.connectionOptions.headers=this.connectionOptions.headers||{};let r=`x-${t}`.toLowerCase();r=Object.keys(this.connectionOptions.headers).find(d=>d.toLowerCase()===r)||r,this.connectionOptions.headers[r]=e}else if(this.authStrategy==="sub-protocol")this.authProtocol=`anycable-token.${e}`;else throw new Error("Unknown auth strategy: "+this.authStrategy)}send(e){if(!this.ws||!this.connected)throw Error("WebSocket is not connected");this.ws.send(e)}close(){this.ws?this.onclose():this.connected=!1}on(e,t){return this.emitter.on(e,t)}once(e,t){let r=this.emitter.on(e,(...d)=>{r(),t(...d)});return r}initListeners(){this.ws.onerror=e=>{this.connected&&this.emitter.emit("error",e.error||new Error("WS Error"))},this.ws.onclose=()=>{this.onclose()},this.ws.onmessage=e=>{let t=e.data;this.format==="binary"&&(t=new Uint8Array(t)),this.emitter.emit("data",t)},this.ws.onopen=()=>{this.connected=!0,this.emitter.emit("open")}}onclose(){this.ws.onclose=void 0,this.ws.onmessage=void 0,this.ws.onopen=void 0,this.ws.close(),delete this.ws,this.connected=!1,this.emitter.emit("close")}}const gg={protocol:"actioncable-v1-json",pingInterval:3e3,maxReconnectAttempts:1/0,maxMissingPings:2,logLevel:"warn",lazy:!0};function WC(n,e){if(typeof n=="object"&&typeof e>"u"&&(e=n,n=void 0),e=e||{},!n&&!e.transport)throw Error("URL or transport must be specified");e=Object.assign({},gg,e);let{protocol:t,websocketImplementation:r,websocketFormat:d,websocketOptions:p,websocketAuthStrategy:f,fallbacks:w,logLevel:h,logger:g,transport:o,encoder:a,lazy:l,monitor:c,pingInterval:s,reconnectStrategy:u,maxMissingPings:m,maxReconnectAttempts:b,subprotocol:x,tokenRefresher:E,historyTimestamp:$,protocolOptions:k,concurrentSubscribes:C,performFailures:R,transportConfigurator:O,auth:L}=e;if(g=g||new Na(h),typeof t=="string"){x=x||t;let P=t.substring(0,t.lastIndexOf("-")),D=t.substring(t.lastIndexOf("-")+1);if(k=k||{},P==="actioncable-v1")t=new hg({logger:g,...k});else if(P==="actioncable-v1-ext")t=new LC({logger:g,historyTimestamp:$,...k});else throw Error(`Protocol is not supported yet: ${t}`);if(D==="json")a=a||new EC,d=d||"text";else if(D==="msgpack"){if(d="binary",!a)throw Error("Msgpack encoder must be specified explicitly. Use `@anycable/msgpack-encoder` package or build your own")}else if(D==="protobuf"){if(d=d||"binary",!a)throw Error("Protobuf encoder must be specified explicitly. Use `@anycable/protobuf-encoder` package or build your own")}else throw Error(`Protocol is not supported yet: ${t}`)}if(!t)throw Error("Protocol must be specified");o=o||new PC(n,{websocketImplementation:r,websocketOptions:p,subprotocol:x,authStrategy:f,format:d}),w&&(o=new FC([o,...w],{logger:g})),L&&L.token&&o.setToken(L.token,L.param||"jid"),u=u||pg(s),c!==!1&&(c=c||new fg({pingInterval:s,reconnectStrategy:u,maxMissingPings:m,maxReconnectAttempts:b,logger:g}));let I={concurrentSubscribes:C},B=new DC({protocol:t,transport:o,encoder:a,logger:g,lazy:l,hubOptions:I,performFailures:R,transportConfigurator:O});return c&&(c.watch(B),B.monitor=c),E&&BC(B,async()=>{try{await E(o)}catch(P){return g.error("Failed to refresh authentication token: "+P),!1}return B.connect().catch(()=>{}),!0}),B}function BC(n,e){let t=!1;n.on("connect",()=>t=!1),n.on("close",async r=>{if(r){if(t){n.logger.warn("Token auto-refresh is disabled",r);return}r.reason==="token_expired"&&(t=!0,await e())}})}class zC{constructor(e){this.channel=e}notify(e,...t){typeof this[e]=="function"&&this[e](...t)}perform(e,t={}){this.channel.perform(e,t)}send(e){this.channel.send(e)}get identifier(){return this.channel.identifier}unsubscribe(){return this.channel.disconnect()}}class HC extends Ou{constructor(e,t,r){super(e,t),this.subscription=new zC(this),Object.assign(this.subscription,r),this.on("connect",({reconnect:d})=>this.subscription.notify("connected",{reconnected:d})),this.on("disconnect",()=>this.subscription.notify("disconnected",{allowReconnect:!0})),this.on("message",d=>this.subscription.notify("received",d)),this.on("close",d=>{d&&d instanceof Ru?this.subscription.notify("rejected"):this.subscription.notify("disconnected",{allowReconnect:!1})})}}class jC{constructor(e){this.cable=e}create(e,t){let r,d;typeof e=="object"?(r=e.channel,delete e.channel,d=e):(r=e,d={});let p=new HC(r,d,t);return p.subscription.notify("initialized"),this.cable.subscribe(p),p.subscription}findAll(e){return this.cable.hub.channels.filter(t=>t.identifier===e).map(t=>t.subscription)}}class UC{constructor(e){this.cable=e,this.subscriptions=new jC(e)}}class VC extends ug{writeLogEntry(e,t,r){r?console[e](t,r):console[e](t)}}class GC extends fg{watch(e){super.watch(e),this.initActivityListeners()}initActivityListeners(){if(typeof document<"u"&&typeof window<"u"&&document.addEventListener&&window.addEventListener){let e=()=>{document.hidden||this.reconnectNow()&&this.logger.debug("Trigger reconnect due to visibility change")},t=d=>{this.reconnectNow()&&this.logger.debug("Trigger reconnect",{event:d})},r=()=>this.disconnect(new Oi("page_frozen"));document.addEventListener("visibilitychange",e,!1),window.addEventListener("focus",t,!1),window.addEventListener("online",t,!1),window.addEventListener("resume",t,!1),window.addEventListener("freeze",r,!1),this.unbind.push(()=>{document.removeEventListener("visibilitychange",e,!1),window.removeEventListener("focus",t,!1),window.removeEventListener("online",t,!1),window.removeEventListener("resume",t,!1),window.removeEventListener("freeze",r,!1)})}}disconnect(e){this.state==="disconnected"||this.state==="closed"||(this.logger.info("Disconnecting",{reason:e.message}),this.cancelReconnect(),this.stopPolling(),this.state="pending_disconnect",this.target.disconnected(e))}}const KC=["cable","action-cable"],qC="/cable",Pl=(n,e)=>{for(let t of KC){let r=n.head.querySelector(`meta[name='${t}-${e}']`);if(r)return r.getAttribute("content")}},mg=n=>n.match(/wss?:\/\//)?n:typeof window<"u"?`${window.location.protocol.replace("http","ws")}//${window.location.host}${n}`:n,YC=()=>{if(typeof document<"u"&&document.head){let n=Pl(document,"url");if(n)return mg(n)}return mg(qC)},XC=()=>{if(typeof document<"u"&&document.head){let n=Pl(document,"history-timestamp");if(n)return n|0}},ZC=()=>{if(typeof document<"u"&&document.head)return Pl(document,"token")},QC=()=>{if(typeof document<"u"&&document.head)return Pl(document,"token-param")};function JC(n,e){typeof n=="object"&&typeof e>"u"&&(e=n,n=void 0),n=n||YC(),e=e||{},e.historyTimestamp||(e.historyTimestamp=XC());let t=ZC();if(t){let g=QC();e.auth=Object.assign({token:t,param:g},e.auth||{})}e=Object.assign({},gg,e);let{logLevel:r,logger:d,pingInterval:p,reconnectStrategy:f,maxMissingPings:w,maxReconnectAttempts:h}=e;return d=e.logger=e.logger||new VC(r),f=e.reconnectStrategy=e.reconnectStrategy||pg(p),e.monitor!==!1&&(e.monitor=e.monitor||new GC({pingInterval:p,reconnectStrategy:f,maxMissingPings:w,maxReconnectAttempts:h,logger:d})),WC(n,e)}function ek(n,e){let t=JC(n,e);return new UC(t)}class tk{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&(this._cable.cable.disconnect(),this._cable=null)}createSubscription(e,t,r={},d={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(p=>{if(p&&OpenC3Auth.setTokens(),this._cable==null){let f=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);f=new URL(f,document.baseURI).href,this._cable=ek(f)}return this._cable.subscriptions.create({channel:e,...d},r)})}recordPing(){}}er("N",tk);class nk{constructor(e,t,r="",d=""){this.keyword=e.keyword,this.parameters=e.parameters,this.filename=e.filename,this.line=e.line,this.lineNumber=e.lineNumber,this.message=t,this.usage=r,this.url=d}}er("x",nk);function Wl(n){return rk.test(n)}const rk=/^-?[0-9]+$/;function vg(n){return ik.test(n)}const ik=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function yg(n,e){const t=Number.parseFloat(n),r=String(t);if(n===r)return!0;const d=wg(n),p=wg(r);return!!(d===p||(e==null?void 0:e.approx)===!0&&!Wl(n)&&p.length>=14&&d.startsWith(p.substring(0,14)))}let Fa=function(n){return n.underflow="underflow",n.overflow="overflow",n.truncate_integer="truncate_integer",n.truncate_float="truncate_float",n}({});function ok(n){if(yg(n,{approx:!1}))return;if(Wl(n))return Fa.truncate_integer;const e=Number.parseFloat(n);return Number.isFinite(e)?e===0?Fa.underflow:Fa.truncate_float:Fa.overflow}function wg(n){const{start:e,end:t}=sk(n),r=n.substring(e,t),d=r.indexOf(".");return d===-1?r:r.substring(0,d)+r.substring(d+1)}function sk(n){let e=0;for(n[0]==="-"&&e++;n[e]==="0"||n[e]===".";)e++;let t=n.lastIndexOf("e");for(t===-1&&(t=n.lastIndexOf("E")),t===-1&&(t=n.length);(n[t-1]==="0"||n[t-1]===".")&&t>e;)t--;return{start:e,end:t}}class ak{constructor(e){if(_l(this,"isLosslessNumber",!0),!vg(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=ok(this.value);if(e===void 0||e===Fa.truncate_float)return Number.parseFloat(this.value);if(Wl(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${e} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function lk(n){return n&&typeof n=="object"&&n.isLosslessNumber||!1}function ck(n){return new ak(n)}function uk(n,e){return Nu({"":n},"",n,e)}function Nu(n,e,t,r){return Array.isArray(t)?r.call(n,e,dk(t,r)):t&&typeof t=="object"&&!lk(t)?r.call(n,e,hk(t,r)):r.call(n,e,t)}function hk(n,e){for(const t of Object.keys(n)){const r=Nu(n,t,n[t],e);r!==void 0?n[t]=r:delete n[t]}return n}function dk(n,e){for(let t=0;t<n.length;t++)n[t]=Nu(n,String(t),n[t],e);return n}function pk(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ck,r=0;const d=w();return s(d),m(),e?uk(d,e):d;function p(){if(n.charCodeAt(r)===wk){r++,g();const S={};let _=!0;for(;r<n.length&&n.charCodeAt(r)!==xg;){_?_=!1:(l(),g());const N=r,H=o();if(H===void 0){E();return}g(),c();const U=w();if(U===void 0){L();return}Object.prototype.hasOwnProperty.call(S,H)&&!Fu(U,S[H])&&$(H,N+1),S[H]=U}return n.charCodeAt(r)!==xg&&k(),r++,S}}function f(){if(n.charCodeAt(r)===bk){r++,g();const S=[];let _=!0;for(;r<n.length&&n.charCodeAt(r)!==Cg;){_?_=!1:l();const N=w();u(N),S.push(N)}return n.charCodeAt(r)!==Cg&&C(),r++,S}}function w(){g();const S=o()??a()??p()??f()??h("true",!0)??h("false",!1)??h("null",null);return g(),S}function h(S,_){if(n.slice(r,r+S.length)===S)return r+=S.length,_}function g(){for(;fk(n.charCodeAt(r));)r++}function o(){if(n.charCodeAt(r)===Pu){r++;let S="";for(;r<n.length&&n.charCodeAt(r)!==Pu;){if(n.charCodeAt(r)===yk){const _=n[r+1],N=vk[_];N!==void 0?(S+=N,r++):_==="u"?Bl(n.charCodeAt(r+2))&&Bl(n.charCodeAt(r+3))&&Bl(n.charCodeAt(r+4))&&Bl(n.charCodeAt(r+5))?(S+=String.fromCharCode(Number.parseInt(n.slice(r+2,r+6),16)),r+=5):I(r):O(r)}else mk(n.charCodeAt(r))?S+=n[r]:R(n[r]);r++}return x(),r++,S}}function a(){const S=r;if(n.charCodeAt(r)===kg&&(r++,b(S)),n.charCodeAt(r)===Wu)r++;else if(gk(n.charCodeAt(r)))for(r++;zl(n.charCodeAt(r));)r++;if(n.charCodeAt(r)===Mk)for(r++,b(S);zl(n.charCodeAt(r));)r++;if(n.charCodeAt(r)===Rk||n.charCodeAt(r)===Lk)for(r++,(n.charCodeAt(r)===kg||n.charCodeAt(r)===Ak)&&r++,b(S);zl(n.charCodeAt(r));)r++;if(r>S)return t(n.slice(S,r))}function l(){if(n.charCodeAt(r)!==$k)throw new SyntaxError(`Comma ',' expected after value ${D()}`);r++}function c(){if(n.charCodeAt(r)!==Tk)throw new SyntaxError(`Colon ':' expected after property name ${D()}`);r++}function s(S){if(S===void 0)throw new SyntaxError(`JSON value expected ${D()}`)}function u(S){if(S===void 0)throw new SyntaxError(`Array item expected ${D()}`)}function m(){if(r<n.length)throw new SyntaxError(`Expected end of input ${D()}`)}function b(S){if(!zl(n.charCodeAt(r))){const _=n.slice(S,r);throw new SyntaxError(`Invalid number '${_}', expecting a digit ${D()}`)}}function x(){if(n.charCodeAt(r)!==Pu)throw new SyntaxError(`End of string '"' expected ${D()}`)}function E(){throw new SyntaxError(`Quoted object key expected ${D()}`)}function $(S,_){throw new SyntaxError(`Duplicate key '${S}' encountered at position ${_}`)}function k(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${D()}`)}function C(){throw new SyntaxError(`Array item or end of array ']' expected ${D()}`)}function R(S){throw new SyntaxError(`Invalid character '${S}' ${B()}`)}function O(S){const _=n.slice(S,S+2);throw new SyntaxError(`Invalid escape character '${_}' ${B()}`)}function L(){throw new SyntaxError(`Object value expected after ':' ${B()}`)}function I(S){const _=n.slice(S,S+6);throw new SyntaxError(`Invalid unicode character '${_}' ${B()}`)}function B(){return`at position ${r}`}function P(){return r<n.length?`but got '${n[r]}'`:"but reached end of input"}function D(){return`${P()} ${B()}`}}function fk(n){return n===xk||n===Ck||n===kk||n===_k}function Bl(n){return n>=Wu&&n<=Bu||n>=Ek&&n<=Ok||n>=Ik&&n<=Dk}function zl(n){return n>=Wu&&n<=Bu}function gk(n){return n>=Sk&&n<=Bu}function mk(n){return n>=32&&n<=1114111}function Fu(n,e){return n===e?!0:Array.isArray(n)&&Array.isArray(e)?n.length===e.length&&n.every((t,r)=>Fu(t,e[r])):bg(n)&&bg(e)?[...new Set([...Object.keys(n),...Object.keys(e)])].every(t=>Fu(n[t],e[t])):!1}function bg(n){return typeof n=="object"&&n!==null}const vk={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
1398
+ `,r:"\r",t:" "},yk=92,wk=123,xg=125,bk=91,Cg=93,xk=32,Ck=10,kk=9,_k=13,Pu=34,Ak=43,kg=45,Wu=48,Sk=49,Bu=57,$k=44,Mk=46,Tk=58,Ek=65,Ik=97,Lk=69,Rk=101,Ok=70,Dk=102;function _g(n,e,t,r){return d(n);function d(h,g){if(Array.isArray(r)){const o=r.find(a=>a.test(h));if(o){const a=o.stringify(h);if(typeof a!="string"||!vg(a))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${a})`);return a}}if(typeof h=="boolean"||typeof h=="number"||typeof h=="string"||h===null||h instanceof Date||h instanceof Boolean||h instanceof Number||h instanceof String)return JSON.stringify(h);if(h!=null&&h.isLosslessNumber||typeof h=="bigint")return h.toString();if(Array.isArray(h))return p(h);if(h&&typeof h=="object")return f(h)}function p(h,g){if(h.length===0)return"[]";let o="[";for(let a=0;a<h.length;a++){const l=h[a];typeof l<"u"&&typeof l!="function"?o+=d(l):o+="null",a<h.length-1&&(o+=",")}return o+="]",o}function f(h,g){if(typeof h.toJSON=="function")return _g(h.toJSON(),e,t,void 0);const o=Array.isArray(e)?e.map(String):Object.keys(h);if(o.length===0)return"{}";let a=!0,l="{";for(const c of o){const s=h[c];if(w(c,s)){a?a=!1:l+=",";const u=JSON.stringify(c);l+=`${u}:`,l+=d(s)}}return l+="}",l}function w(h,g){return typeof g<"u"&&typeof g!="function"&&typeof g!="symbol"}}function Nk(n){return Wl(n)&&!yg(n)?BigInt(n):parseFloat(n)}class Fk{constructor(){_l(this,"id",1)}async exec(e,t,r={},d={},p=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return r.scope=window.openc3Scope,d.manual=!0,(await Iu.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:t,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...d},timeout:p,transformRequest:[(f,w)=>_g(f)],transformResponse:[f=>pk(f,void 0,Nk)]})).data.result}catch(f){let w=new Error;throw f.response?(w.name=f.response.data.error.data.class,w.message=f.response.data.error.data.message,w.object=f.response.data.error):f.request?(w.name="Request error",w.message="Request error, no response received"):w=f,w}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,t){return this.exec("map_target_to_interface",[e,t])}connect_interface(e,...t){return t.length>0?this.exec("connect_interface",[e,...t]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,t,...r){return this.exec("interface_cmd",[e,t,...r])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,t,r){return this.exec("get_item",[e,t,r])}get_param(e,t,r){return this.exec("get_param",[e,t,r])}get_parameter(e,t,r){return this.exec("get_param",[e,t,r])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,t){return this.exec("get_tlm",[e,t])}get_telemetry(e,t){return this.exec("get_tlm",[e,t])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,t=!1){return this.exec("get_all_tlm_names",[e],{hidden:t})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,t,r,d=30){const p=await this.exec("get_tlm_packet",[e,t],{type:r,stale_time:d});if(p!=null){let f=p.length,w=null;for(let h=0;h<f;h++)w=this.decode_openc3_type(p[h][1]),w!==null&&(p[h][1]=w)}return p}get_packet_derived_items(e,t){return this.exec("get_packet_derived_items",[e,t])}get_tlm_buffer(e,t){return this.exec("get_tlm_buffer",[e,t])}get_tlm_available(e){return this.exec("get_tlm_available",[e])}async get_tlm_values(e,t=30,r=null,d=null,p=null){let f={stale_time:t};r!==null&&(f.cache_timeout=r),d!==null&&(f.start_time=d.toISOString()),p!==null&&(f.end_time=p.toISOString());const w=await this.exec("get_tlm_values",[e],f,{},1e4);if(w&&w.length>0){let h=w[0].length,g=null;for(let o=0;o<h;o++)g=this.decode_openc3_type(w[0][o]),g!==null&&(w[0][o]=g)}return w}get_limits(e,t,r){return this.exec("get_limits",[e,t,r])}async tlm(e,t,r,d="CONVERTED"){let p=null;if(t===void 0)p=await this.exec("tlm",[e]);else if(r===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(t))p=await this.exec("tlm",[e],{type:t});else{let w=new Error;throw w.name="TypeError",w.message=`Invalid data type ${t}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,w}else p=await this.exec("tlm",[e,t,r],{type:d});let f=this.decode_openc3_type(p);return f!==null&&(p=f),p}async inject_tlm(e,t,r=null,d="CONVERTED"){await this.exec("inject_tlm",[e,t,r],{type:d})}set_tlm(e,t,r,d){return this.exec("set_tlm",[e,t,r],{type:d})}override_tlm(e,t,r,d){return this.exec("override_tlm",[e,t,r],{type:d})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,t,r,d){return this.exec("normalize_tlm",[e,t,r],{type:d})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,t=!1){return this.exec("get_all_cmd_names",[e],{hidden:t})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,t){return this.exec("get_cmd",[e,t])}get_command(e,t){return this.exec("get_cmd",[e,t])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,t,r,d="CONVERTED"){return this.exec("get_cmd_value",[e,t,r,d])}get_cmd_buffer(e,t){return this.exec("get_cmd_buffer",[e,t])}_cmd(e,t,r,d,p){let f=null;for(let w in d)Object.prototype.hasOwnProperty.call(d,w)&&(f=this.encode_openc3_type(d[w]),f!==null&&(d[w]=f));return this.exec(e,[t,r,d],{},p)}get_cmd_hazardous(e,t,r,d={}){return t===void 0?this.exec("get_cmd_hazardous",e,{},d):this._cmd("get_cmd_hazardous",e,t,r,d)}cmd(e,t,r,d={}){return t===void 0?this.exec("cmd",e,{},d):this._cmd("cmd",e,t,r,d)}cmd_no_range_check(e,t,r,d={}){return t===void 0?this.exec("cmd_no_range_check",e,{},d):this._cmd("cmd_no_range_check",e,t,r,d)}cmd_raw(e,t,r,d={}){return t===void 0?this.exec("cmd_raw",e,{},d):this._cmd("cmd_raw",e,t,r,d)}cmd_raw_no_range_check(e,t,r,d={}){return t===void 0?this.exec("cmd_raw_no_range_check",e,{},d):this._cmd("cmd_raw_no_range_check",e,t,r,d)}cmd_no_hazardous_check(e,t,r,d={}){return t===void 0?this.exec("cmd_no_hazardous_check",e,{},d):this._cmd("cmd_no_hazardous_check",e,t,r,d)}cmd_no_checks(e,t,r,d={}){return t===void 0?this.exec("cmd_no_checks",e,{},d):this._cmd("cmd_no_checks",e,t,r,d)}cmd_raw_no_hazardous_check(e,t,r,d={}){return t===void 0?this.exec("cmd_raw_no_hazardous_check",e,{},d):this._cmd("cmd_raw_no_hazardous_check",e,t,r,d)}cmd_raw_no_checks(e,t,r,d={}){return t===void 0?this.exec("cmd_raw_no_checks",e,{},d):this._cmd("cmd_raw_no_checks",e,t,r,d)}build_cmd(e,t,r){return t===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,t,r)}build_command(e,t,r){return t===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,t,r)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,t){return this.exec("send_raw",[e,t])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,t){return this.exec("load_config",[e,t])}save_config(e,t,r){return this.exec("save_config",[e,t,r])}delete_config(e,t){return this.exec("delete_config",[e,t])}enable_limits(e,t,r){return this.exec("enable_limits",[e,t,r])}disable_limits(e,t,r){return this.exec("disable_limits",[e,t,r])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e,t){return this.exec("get_setting",[e],t)}get_settings(e,t){return this.exec("get_settings",e,t)}set_setting(e,t){return this.exec("set_setting",[e,t])}update_news(){return this.exec("update_news",[])}update_plugin_store(){return this.exec("update_plugin_store",[])}save_setting(e,t){return this.exec("set_setting",[e,t])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t),d=new Uint8Array(r);return Array.from(d).map(p=>p.toString(16).padStart(2,"0")).join("")}}}er("P",Fk);var Ag={exports:{}},Sg;function Pk(){return Sg||(Sg=1,function(n,e){ace.define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"],function(t,r,d){function p(g,o){function a(L,I,B){if(!(L.length<I)){var P=L.slice(0,I),D=L.slice(I),S=/^(?:(\s+)|(\S+)(\s+))/.exec(D),_=/(?:(\s+)|(\s+)(\S+))$/.exec(P),N=0,H=0;if(_&&!_[2]&&(N=I-_[1].length,H=I),S&&!S[2]&&(N||(N=I),H=I+S[1].length),N)return{start:N,end:H};if(_&&_[2]&&_.index>B)return{start:_.index,end:_.index+_[2].length};if(S&&S[2])return N=I+S[2].length,{start:N,end:N+S[3].length}}}for(var l=o.column||g.getOption("printMarginColumn"),c=o.allowMerge!=0,s=Math.min(o.startRow,o.endRow),u=Math.max(o.startRow,o.endRow),m=g.session;s<=u;){var b=m.getLine(s);if(b.length>l){var x=a(b,l,5);if(x){var E=/^\s*/.exec(b)[0];m.replace(new w(s,x.start,s,x.end),`
1399
+ `+E)}u++}else if(c&&/\S/.test(b)&&s!=u){var $=m.getLine(s+1);if($&&/\S/.test($)){var k=b.replace(/\s+$/,""),C=$.replace(/^\s+/,""),R=k+" "+C,x=a(R,l,5);if(x&&x.start>k.length||R.length<l){var O=new w(s,k.length,s+1,$.length-C.length);m.replace(O," "),s--,u--}else k.length<b.length&&m.remove(new w(s,k.length,s,b.length))}}s++}}function f(g){if(g.command.name=="insertstring"&&/\S/.test(g.args)){var o=g.editor,a=o.selection.cursor;if(a.column<=o.renderer.$printMarginColumn)return;var l=o.session.$undoManager.$lastDelta;p(o,{startRow:a.row,endRow:a.row,allowMerge:!1}),l!=o.session.$undoManager.$lastDelta&&o.session.markUndoGroup()}}var w=t("../range").Range,h=t("../editor").Editor;t("../config").defineOptions(h.prototype,"editor",{hardWrap:{set:function(g){g?this.commands.on("afterExec",f):this.commands.off("afterExec",f)},value:!1}}),r.hardWrap=p}),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(t,r,d){function p(y){return{row:y.line,column:y.ch}}function f(y){return new Oe(y.row,y.column)}function w(y,M,A){if(M.line===A.line&&M.ch>=A.ch-1){var F=y.getLine(M.line),W=F.charCodeAt(M.ch);55296<=W&&W<=55551&&(A.ch+=1)}return{start:M,end:A}}function h(y){y.setOption("disableInput",!0),y.setOption("showCursorWhenSelecting",!1),Pe.signal(y,"vim-mode-change",{mode:"normal"}),y.on("cursorActivity",Ko),R(y),Pe.on(y.getInputField(),"paste",o(y))}function g(y){y.setOption("disableInput",!1),y.off("cursorActivity",Ko),Pe.off(y.getInputField(),"paste",o(y)),y.state.vim=null,dr&&clearTimeout(dr)}function o(y){var M=y.state.vim;return M.onPasteFn||(M.onPasteFn=function(){M.insertMode||(y.setCursor(ge(y.getCursor(),0,1)),On.enterInsertMode(y,{},M))}),M.onPasteFn}function a(y,M){return M>=y.firstLine()&&M<=y.lastLine()}function l(y){return/^[a-z]$/.test(y)}function c(y){return"()[]{}".indexOf(y)!=-1}function s(y){return va.test(y)}function u(y){return Yt.test(y)}function m(y){return/^\s*$/.test(y)}function b(y){return".?!".indexOf(y)!=-1}function x(y,M){for(var A=0;A<M.length;A++)if(M[A]==y)return!0;return!1}function E(y,M,A,F,W){if(M===void 0&&!W)throw Error("defaultValue is required unless callback is provided");if(A||(A="string"),Ft[y]={type:A,defaultValue:M,callback:W},F)for(var z=0;z<F.length;z++)Ft[F[z]]=Ft[y];M&&$(y,M)}function $(y,M,A,F){var W=Ft[y];F=F||{};var z=F.scope;if(!W)return new Error("Unknown option: "+y);if(W.type=="boolean"){if(M&&M!==!0)return new Error("Invalid argument: "+y+"="+M);M!==!1&&(M=!0)}W.callback?(z!=="local"&&W.callback(M,void 0),z!=="global"&&A&&W.callback(M,A)):(z!=="local"&&(W.value=W.type=="boolean"?!!M:M),z!=="global"&&A&&(A.state.vim.options[y]={value:M}))}function k(y,M,A){var F=Ft[y];A=A||{};var W=A.scope;if(!F)return new Error("Unknown option: "+y);if(F.callback){var z=M&&F.callback(void 0,M);return W!=="global"&&z!==void 0?z:W!=="local"?F.callback():void 0}var z=W!=="global"&&M&&M.state.vim.options[y];return(z||W!=="local"&&F||{}).value}function C(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=Ln()}function R(y){return y.state.vim||(y.state.vim={inputState:new S,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{},expectLiteralNext:!1}),y.state.vim}function O(){ze={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ki(),macroModeState:new C,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new q({}),searchHistoryController:new Q,exCommandHistoryController:new Q};for(var y in Ft){var M=Ft[y];M.value=M.defaultValue}}function L(y){function M(Y){typeof Y=="string"?vn.value=Y:vn=null}if(y[0]=="<"){var A=y.toLowerCase().slice(1,-1),F=A.split("-");if(A=F.pop()||"",A=="lt")y="<";else if(A=="space")y=" ";else if(A=="cr")y=`
1400
+ `;else if(_i[A]){var W=vn.value,z={key:_i[A],target:{value:W,selectionEnd:W.length,selectionStart:W.length}};vn.onKeyDown&&vn.onKeyDown(z,vn.value,M),vn&&vn.onKeyUp&&vn.onKeyUp(z,vn.value,M);return}}if(y==`
1401
+ `){var G=vn;vn=null,G.onClose&&G.onClose(G.value)}else vn.value=(vn.value||"")+y}function I(y,M,A){var F=on;if(A){if(Dr.indexOf(A)!=-1)return;Dr.push(A),on=A.noremap!=0}try{for(var W=R(y),z=/<(?:[CSMA]-)*\w+>|./gi,G;G=z.exec(M);){var Y=G[0],Z=W.insertMode;if(vn){L(Y);continue}var re=mt.handleKey(y,Y,"mapping");if(!re&&Z&&W.insertMode){if(Y[0]=="<"){var se=Y.toLowerCase().slice(1,-1),ye=se.split("-");if(se=ye.pop()||"",se=="lt")Y="<";else if(se=="space")Y=" ";else if(se=="cr")Y=`
1402
+ `;else{if(_i.hasOwnProperty(se)){Y=_i[se],Yo(y,Y);continue}Y=Y[0],z.lastIndex=G.index+1}}y.replaceSelection(Y)}}}finally{if(Dr.pop(),on=Dr.length?F:!1,!Dr.length&&vn){var Ce=vn;vn=null,Sr(y,Ce)}}}function B(y,M){var A=y.key;if(!Nr[A]){A.length>1&&A[0]=="n"&&(A=A.replace("Numpad","")),A=Zn[A]||A;var F="";if(y.ctrlKey&&(F+="C-"),y.altKey&&(F+="A-"),y.metaKey&&(F+="M-"),Pe.isMac&&y.altKey&&!y.metaKey&&!y.ctrlKey&&(F=F.slice(2)),(F||A.length>1)&&y.shiftKey&&(F+="S-"),M&&!M.expectLiteralNext&&A.length==1){if(Un.keymap&&A in Un.keymap)(Un.remapCtrl!=0||!F)&&(A=Un.keymap[A]);else if(A.charCodeAt(0)>255){var W=y.code&&y.code.slice(-1)||"";y.shiftKey||(W=W.toLowerCase()),W&&(A=W)}}return F+=A,F.length>1&&(F="<"+F+">"),F}}function P(y,M){Un.string!==y&&(Un=D(y)),Un.remapCtrl=M}function D(y){function M(F){return F.split(/\\?(.)/).filter(Boolean)}var A={};return y?(y.split(/((?:[^\\,]|\\.)+),/).map(function(F){if(F){var W=F.split(/((?:[^\\;]|\\.)+);/);if(W.length==3){var z=M(W[1]),G=M(W[2]);if(z.length!==G.length)return;for(var Y=0;Y<z.length;++Y)A[z[Y]]=G[Y]}else if(W.length==1){var Z=M(F);if(Z.length%2!==0)return;for(var Y=0;Y<Z.length;Y+=2)A[Z[Y]]=Z[Y+1]}}}),{keymap:A,string:y}):{keymap:A,string:""}}function S(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null,this.changeQueue=null}function _(y,M){y.state.vim.inputState=new S,y.state.vim.expectLiteralNext=!1,Pe.signal(y,"vim-command-done",M)}function N(){this.removed=[],this.inserted=""}function H(y,M,A){this.clear(),this.keyBuffer=[y||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!M,this.blockwise=!!A}function U(y,M){var A=ze.registerController.registers;if(!y||y.length!=1)throw Error("Register name must be 1 character");A[y]=M,qt.push(y)}function q(y){this.registers=y,this.unnamedRegister=y['"']=new H,y["."]=new H,y[":"]=new H,y["/"]=new H,y["+"]=new H}function Q(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}function te(y,M){Yr[y]=M}function he(y,M){for(var A=[],F=0;F<M;F++)A.push(y);return A}function ne(y,M){Jo[y]=M}function le(y,M){On[y]=M}function ue(y,M,A){var F=y.state.vim,W=F.insertMode||F.visualMode,z=Math.min(Math.max(y.firstLine(),M.line),y.lastLine()),G=y.getLine(z),Y=G.length-1+ +!!W,Z=Math.min(Math.max(0,M.ch),Y),re=G.charCodeAt(Z);if(56320<=re&&re<=57343){var se=1;A&&A.line==z&&A.ch>Z&&(se=-1),Z+=se,Z>Y&&(Z-=2)}return new Oe(z,Z)}function ce(y){var M={};for(var A in y)y.hasOwnProperty(A)&&(M[A]=y[A]);return M}function ge(y,M,A){return typeof M=="object"&&(A=M.ch,M=M.line),new Oe(y.line+M,y.ch+A)}function Se(y,M,A,F){F.operator&&(A="operatorPending");for(var W,z=[],G=[],Y=on?M.length-_o:0,Z=Y;Z<M.length;Z++){var re=M[Z];A=="insert"&&re.context!="insert"||re.context&&re.context!=A||F.operator&&re.type=="action"||!(W=$e(y,re.keys))||(W=="partial"&&z.push(re),W=="full"&&G.push(re))}return{partial:z.length&&z,full:G.length&&G}}function $e(y,M){var A=M.slice(-11)=="<character>",F=M.slice(-10)=="<register>";if(A||F){var W=M.length-(A?11:10),z=y.slice(0,W),G=M.slice(0,W);return z==G&&y.length>W?"full":G.indexOf(z)==0?"partial":!1}return y==M?"full":M.indexOf(y)==0?"partial":!1}function Te(y){var M=/^.*(<[^>]+>)$/.exec(y),A=M?M[1]:y.slice(-1);if(A.length>1)switch(A){case"<CR>":A=`
1403
+ `;break;case"<Space>":A=" ";break;default:A=""}return A}function Ze(y,M,A){return function(){for(var F=0;F<A;F++)M(y)}}function qe(y){return new Oe(y.line,y.ch)}function dt(y,M){return y.ch==M.ch&&y.line==M.line}function ot(y,M){return y.line<M.line?!0:y.line==M.line&&y.ch<M.ch}function gt(y,M){return arguments.length>2&&(M=gt.apply(void 0,Array.prototype.slice.call(arguments,1))),ot(y,M)?y:M}function tn(y,M){return arguments.length>2&&(M=tn.apply(void 0,Array.prototype.slice.call(arguments,1))),ot(y,M)?M:y}function zn(y,M,A){var F=ot(y,M),W=ot(M,A);return F&&W}function Zt(y,M){return y.getLine(M).length}function oi(y){return y.trim?y.trim():y.replace(/^\s+|\s+$/g,"")}function kn(y){return y.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function Yn(y,M,A){var F=Zt(y,M),W=new Array(A-F+1).join(" ");y.setCursor(new Oe(M,F)),y.replaceRange(W,y.getCursor())}function cr(y,M){var A=[],F=y.listSelections(),W=qe(y.clipPos(M)),z=!dt(M,W),G=y.getCursor("head"),Y=yt(F,G),Z=dt(F[Y].head,F[Y].anchor),re=F.length-1,se=re-Y>Y?re:0,ye=F[se].anchor,Ce=Math.min(ye.line,W.line),me=Math.max(ye.line,W.line),we=ye.ch,Re=W.ch,Le=F[se].head.ch-we,Ue=Re-we;Le>0&&Ue<=0?(we++,z||Re--):Le<0&&Ue>=0?(we--,Z||Re++):Le<0&&Ue==-1&&(we--,Re++);for(var at=Ce;at<=me;at++){var Xe={anchor:new Oe(at,we),head:new Oe(at,Re)};A.push(Xe)}return y.setSelections(A),M.ch=Re,ye.ch=we,ye}function Rr(y,M,A){for(var F=[],W=0;W<A;W++){var z=ge(M,W,0);F.push({anchor:z,head:z})}y.setSelections(F,0)}function yt(y,M,A){for(var F=0;F<y.length;F++){var W=dt(y[F].anchor,M),z=dt(y[F].head,M);if(W||z)return F}return-1}function Ge(y,M){var A=M.lastSelection,F=function(){var z=y.listSelections(),G=z[0],Y=z[z.length-1],Z=ot(G.anchor,G.head)?G.anchor:G.head,re=ot(Y.anchor,Y.head)?Y.head:Y.anchor;return[Z,re]},W=function(){var z=y.getCursor(),G=y.getCursor(),Y=A.visualBlock;if(Y){var Z=Y.width,re=Y.height;G=new Oe(z.line+re,z.ch+Z);for(var se=[],ye=z.line;ye<G.line;ye++){var Ce=new Oe(ye,z.ch),me=new Oe(ye,G.ch),we={anchor:Ce,head:me};se.push(we)}y.setSelections(se)}else{var Re=A.anchorMark.find(),Le=A.headMark.find(),Ue=Le.line-Re.line,at=Le.ch-Re.ch;G={line:G.line+Ue,ch:Ue?G.ch:at+G.ch},A.visualLine&&(z=new Oe(z.line,0),G=new Oe(G.line,Zt(y,G.line))),y.setSelection(z,G)}return[z,G]};return M.visualMode?F():W()}function Ut(y,M){var A=M.sel.anchor,F=M.sel.head;M.lastPastedText&&(F=y.posFromIndex(y.indexFromPos(A)+M.lastPastedText.length),M.lastPastedText=null),M.lastSelection={anchorMark:y.setBookmark(A),headMark:y.setBookmark(F),anchor:qe(A),head:qe(F),visualMode:M.visualMode,visualLine:M.visualLine,visualBlock:M.visualBlock}}function mn(y,M,A,F){var W=y.state.vim.sel,z=F?M:W.head,G=F?M:W.anchor,Y;return ot(A,M)&&(Y=A,A=M,M=Y),ot(z,G)?(z=gt(M,z),G=tn(G,A)):(G=gt(M,G),z=tn(z,A),z=ge(z,0,-1),z.ch==-1&&z.line!=y.firstLine()&&(z=new Oe(z.line-1,Zt(y,z.line-1)))),[G,z]}function Xn(y,M,W){var F=y.state.vim;M=M||F.sel;var W=W||F.visualLine?"line":F.visualBlock?"block":"char",z=Or(y,M,W);y.setSelections(z.ranges,z.primary)}function Or(y,M,A,F){var W=qe(M.head),z=qe(M.anchor);if(A=="char"){var G=!F&&!ot(M.head,M.anchor)?1:0,Y=ot(M.head,M.anchor)?1:0;return W=ge(M.head,0,G),z=ge(M.anchor,0,Y),{ranges:[{anchor:z,head:W}],primary:0}}if(A=="line"){if(ot(M.head,M.anchor))W.ch=0,z.ch=Zt(y,z.line);else{z.ch=0;var Z=y.lastLine();W.line>Z&&(W.line=Z),W.ch=Zt(y,W.line)}return{ranges:[{anchor:z,head:W}],primary:0}}if(A=="block"){var re=Math.min(z.line,W.line),se=z.ch,ye=Math.max(z.line,W.line),Ce=W.ch;se<Ce?Ce+=1:se+=1;for(var me=ye-re+1,we=W.line==re?0:me-1,Re=[],Le=0;Le<me;Le++)Re.push({anchor:new Oe(re+Le,se),head:new Oe(re+Le,Ce)});return{ranges:Re,primary:we}}}function kr(y){var M=y.getCursor("head");return y.getSelection().length==1&&(M=gt(M,y.getCursor("anchor"))),M}function _n(y,M){var A=y.state.vim;M!==!1&&y.setCursor(ue(y,A.sel.head)),Ut(y,A),A.visualMode=!1,A.visualLine=!1,A.visualBlock=!1,A.insertMode||Pe.signal(y,"vim-mode-change",{mode:"normal"})}function ir(y,M,A){var F=y.getRange(M,A);if(/\n\s*$/.test(F)){var W=F.split(`
1404
+ `);W.pop();for(var z,z=W.pop();W.length>0&&z&&m(z);z=W.pop())A.line--,A.ch=0;z?(A.line--,A.ch=Zt(y,A.line)):A.ch=0}}function ur(y,M,A){M.ch=0,A.ch=0,A.line++}function nn(y){if(!y)return 0;var M=y.search(/\S/);return M==-1?y.length:M}function or(y,M,A){var F=M.inclusive,W=M.innerWord,z=M.bigWord,G=M.noSymbol,Y=M.multiline,Z=A||kr(y),re=y.getLine(Z.line),se=re,ye=Z.line,Ce=ye,me=Z.ch,we,Re=G?Ao[0]:Ci[0];if(W&&/\s/.test(re.charAt(me)))Re=function(fn){return/\s/.test(fn)};else{for(;!Re(re.charAt(me));)if(me++,me>=re.length){if(!Y)return null;me--,we=mo(y,Z,!0,z,!0);break}z?Re=Ci[0]:(Re=Ao[0],Re(re.charAt(me))||(Re=Ao[1]))}for(var Le=me,Ue=me;Re(re.charAt(Ue))&&Ue>=0;)Ue--;if(Ue++,we)Le=we.to,Ce=we.line,se=y.getLine(Ce),!se&&Le==0&&Le++;else for(;Re(re.charAt(Le))&&Le<re.length;)Le++;if(F){var at=Le,Xe=Z.ch<=Ue&&/\s/.test(re.charAt(Z.ch));if(!Xe)for(;/\s/.test(se.charAt(Le))&&Le<se.length;)Le++;if(at==Le||Xe){for(var rt=Ue;/\s/.test(re.charAt(Ue-1))&&Ue>0;)Ue--;!Ue&&!Xe&&(Ue=rt)}}return{start:new Oe(ye,Ue),end:new Oe(Ce,Le)}}function go(y,M,A){var F=M;if(!Pe.findMatchingTag||!Pe.findEnclosingTag)return{start:F,end:F};var W=Pe.findMatchingTag(y,M)||Pe.findEnclosingTag(y,M);return!W||!W.open||!W.close?{start:F,end:F}:A?{start:W.open.from,end:W.close.to}:{start:W.open.to,end:W.close.from}}function Wi(y,M,A){dt(M,A)||ze.jumpList.add(y,M,A)}function Bi(y,M){ze.lastCharacterSearch.increment=y,ze.lastCharacterSearch.forward=M.forward,ze.lastCharacterSearch.selectedCharacter=M.selectedCharacter}function zi(y,M,A,F){var W=qe(y.getCursor()),z=A?1:-1,G=A?y.lineCount():-1,Y=W.ch,Z=W.line,re=y.getLine(Z),se={lineText:re,nextCh:re.charAt(Y),lastCh:null,index:Y,symb:F,reverseSymb:(A?{")":"(","}":"{"}:{"(":")","{":"}"})[F],forward:A,depth:0,curMoveThrough:!1},ye=ci[F];if(!ye)return W;var Ce=ui[ye].init,me=ui[ye].isComplete;for(Ce&&Ce(se);Z!==G&&M;){if(se.index+=z,se.nextCh=se.lineText.charAt(se.index),!se.nextCh){if(Z+=z,se.lineText=y.getLine(Z)||"",z>0)se.index=0;else{var we=se.lineText.length;se.index=we>0?we-1:0}se.nextCh=se.lineText.charAt(se.index)}me(se)&&(W.line=Z,W.ch=se.index,M--)}return se.nextCh||se.curMoveThrough?new Oe(Z,se.index):W}function mo(y,M,A,F,W){var z=M.line,G=M.ch,Y=y.getLine(z),Z=A?1:-1,re=F?Ci:Ao;if(W&&Y==""){if(z+=Z,Y=y.getLine(z),!a(y,z))return null;G=A?0:Y.length}for(;;){if(W&&Y=="")return{from:0,to:0,line:z};for(var se=Z>0?Y.length:-1,ye=se,Ce=se;G!=se;){for(var me=!1,we=0;we<re.length&&!me;++we)if(re[we](Y.charAt(G))){for(ye=G;G!=se&&re[we](Y.charAt(G));)G+=Z;if(Ce=G,me=ye!=Ce,ye==M.ch&&z==M.line&&Ce==ye+Z)continue;return{from:Math.min(ye,Ce+1),to:Math.max(ye,Ce),line:z}}me||(G+=Z)}if(z+=Z,!a(y,z))return null;Y=y.getLine(z),G=Z>0?0:Y.length}}function mr(y,M,A,F,W,z){var G=qe(M),Y=[];(F&&!W||!F&&W)&&A++;for(var Z=!F||!W,re=0;re<A;re++){var se=mo(y,M,F,z,Z);if(!se){var ye=Zt(y,y.lastLine());Y.push(F?{line:y.lastLine(),from:ye,to:ye}:{line:0,from:0,to:0});break}Y.push(se),M=new Oe(se.line,F?se.to-1:se.from)}var Ce=Y.length!=A,me=Y[0],we=Y.pop();return F&&!W?(!Ce&&(me.from!=G.ch||me.line!=G.line)&&(we=Y.pop()),new Oe(we.line,we.from)):F&&W?new Oe(we.line,we.to-1):!F&&W?(!Ce&&(me.to!=G.ch||me.line!=G.line)&&(we=Y.pop()),new Oe(we.line,we.to)):new Oe(we.line,we.from)}function vo(y,M,A,F,W){var z=M,G=new Oe(z.line+A.repeat-1,1/0),Y=y.clipPos(G);return Y.ch--,W||(F.lastHPos=1/0,F.lastHSPos=y.charCoords(Y,"div").left),G}function Ho(y,M,A,F,W){for(var z=W||y.getCursor(),G=z.ch,Y,Z=0;Z<M;Z++){var re=y.getLine(z.line);if(Y=nl(G,re,F,A),Y==-1)return null;G=Y}return new Oe(y.getCursor().line,Y)}function tl(y,M){var A=y.getCursor().line;return ue(y,new Oe(A,M-1))}function si(y,M,A,F){!x(A,lo)&&!Vt.test(A)||(M.marks[A]&&M.marks[A].clear(),M.marks[A]=y.setBookmark(F))}function nl(y,M,A,F,W){var z;return F?(z=M.indexOf(A,y+1),z!=-1):(z=M.lastIndexOf(A,y-1),z!=-1),z}function Ss(y,M,A,F,W){function z(Ue){return!/\S/.test(y.getLine(Ue))}function G(Ue,at,Xe){return Xe?z(Ue)!=z(Ue+at):!z(Ue)&&z(Ue+at)}function Y(Ue){F=F>0?1:-1;var at=y.ace.session.getFoldLine(Ue);at&&Ue+F>at.start.row&&Ue+F<at.end.row&&(F=(F>0?at.end.row:at.start.row)-Ue)}var Z=M.line,re=y.firstLine(),se=y.lastLine(),ye,Ce,me=Z;if(F){for(;re<=me&&me<=se&&A>0;)Y(me),G(me,F)&&A--,me+=F;return new Oe(me,0)}var we=y.state.vim;if(we.visualLine&&G(Z,1,!0)){var Re=we.sel.anchor;G(Re.line,-1,!0)&&(!W||Re.line!=Z)&&(Z+=1)}var Le=z(Z);for(me=Z;me<=se&&A;me++)G(me,1,!0)&&(!W||z(me)!=Le)&&A--;for(Ce=new Oe(me,0),me>se&&!Le?Le=!0:W=!1,me=Z;me>re&&!((!W||z(me)==Le||me==Z)&&G(me,-1,!0));me--);return ye=new Oe(me,0),{start:ye,end:Ce}}function ua(y,M,A,F,W){function z(re){re.pos+re.dir<0||re.pos+re.dir>=re.line.length?re.line=null:re.pos+=re.dir}function G(re,se,ye,Ce){var me=re.getLine(se),we={line:me,ln:se,pos:ye,dir:Ce};if(we.line==="")return{ln:we.ln,pos:we.pos};var Re=we.pos;for(z(we);we.line!==null;){if(Re=we.pos,b(we.line[we.pos])){if(!W)return{ln:we.ln,pos:we.pos+1};for(z(we);we.line!==null&&m(we.line[we.pos]);)Re=we.pos,z(we);return{ln:we.ln,pos:Re+1}}z(we)}return{ln:we.ln,pos:Re+1}}function Y(re,se,ye,Ce){var me=re.getLine(se),we={line:me,ln:se,pos:ye,dir:Ce};if(we.line==="")return{ln:we.ln,pos:we.pos};var Re=we.pos;for(z(we);we.line!==null;){if(!m(we.line[we.pos])&&!b(we.line[we.pos]))Re=we.pos;else if(b(we.line[we.pos]))return W?m(we.line[we.pos+1])?{ln:we.ln,pos:we.pos+1}:{ln:we.ln,pos:Re}:{ln:we.ln,pos:Re};z(we)}return we.line=me,W&&m(we.line[we.pos])?{ln:we.ln,pos:we.pos}:{ln:we.ln,pos:Re}}for(var Z={ln:M.line,pos:M.ch};A>0;)F<0?Z=Y(y,Z.ln,Z.pos,F):Z=G(y,Z.ln,Z.pos,F),A--;return new Oe(Z.ln,Z.pos)}function Hi(y,M,A,F){function W(Z,re){if(re.pos+re.dir<0||re.pos+re.dir>=re.line.length){if(re.ln+=re.dir,!a(Z,re.ln)){re.line=null,re.ln=null,re.pos=null;return}re.line=Z.getLine(re.ln),re.pos=re.dir>0?0:re.line.length-1}else re.pos+=re.dir}function z(Z,re,se,ye){var Le=Z.getLine(re),Ce=Le==="",me={line:Le,ln:re,pos:se,dir:ye},we={ln:me.ln,pos:me.pos},Re=me.line==="";for(W(Z,me);me.line!==null;){if(we.ln=me.ln,we.pos=me.pos,me.line===""&&!Re)return{ln:me.ln,pos:me.pos};if(Ce&&me.line!==""&&!m(me.line[me.pos]))return{ln:me.ln,pos:me.pos};b(me.line[me.pos])&&!Ce&&(me.pos===me.line.length-1||m(me.line[me.pos+1]))&&(Ce=!0),W(Z,me)}var Le=Z.getLine(we.ln);we.pos=0;for(var Ue=Le.length-1;Ue>=0;--Ue)if(!m(Le[Ue])){we.pos=Ue;break}return we}function G(Z,re,se,ye){var Re=Z.getLine(re),Ce={line:Re,ln:re,pos:se,dir:ye},me={ln:Ce.ln,pos:null},we=Ce.line==="";for(W(Z,Ce);Ce.line!==null;){if(Ce.line===""&&!we)return me.pos!==null?me:{ln:Ce.ln,pos:Ce.pos};if(!(!b(Ce.line[Ce.pos])||me.pos===null||Ce.ln===me.ln&&Ce.pos+1===me.pos))return me;Ce.line!==""&&!m(Ce.line[Ce.pos])&&(we=!1,me={ln:Ce.ln,pos:Ce.pos}),W(Z,Ce)}var Re=Z.getLine(me.ln);me.pos=0;for(var Le=0;Le<Re.length;++Le)if(!m(Re[Le])){me.pos=Le;break}return me}for(var Y={ln:M.line,pos:M.ch};A>0;)F<0?Y=G(y,Y.ln,Y.pos,F):Y=z(y,Y.ln,Y.pos,F),A--;return new Oe(Y.ln,Y.pos)}function Hn(y,M,A,F){var W=M,z,G,Y={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[A],Z={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[A],re=y.getLine(W.line).charAt(W.ch),se=re===Z?1:0;if(z=y.scanForBracket(new Oe(W.line,W.ch+se),-1,void 0,{bracketRegex:Y}),G=y.scanForBracket(new Oe(W.line,W.ch+se),1,void 0,{bracketRegex:Y}),!z||!G)return null;if(z=z.pos,G=G.pos,z.line==G.line&&z.ch>G.ch||z.line>G.line){var ye=z;z=G,G=ye}return F?G.ch+=1:z.ch+=1,{start:z,end:G}}function _r(y,M,A,F){var W=qe(M),z=y.getLine(W.line),G=z.split(""),Y,Z,re,se,ye=G.indexOf(A);if(W.ch<ye)W.ch=ye;else if(ye<W.ch&&G[W.ch]==A){var Ce=/string/.test(y.getTokenTypeAt(ge(M,0,1))),me=/string/.test(y.getTokenTypeAt(M)),we=Ce&&!me;we||(Z=W.ch,--W.ch)}if(G[W.ch]==A&&!Z)Y=W.ch+1;else for(re=W.ch;re>-1&&!Y;re--)G[re]==A&&(Y=re+1);if(Y&&!Z)for(re=Y,se=G.length;re<se&&!Z;re++)G[re]==A&&(Z=re);return!Y||!Z?{start:W,end:W}:(F&&(--Y,++Z),{start:new Oe(W.line,Y),end:new Oe(W.line,Z)})}function ji(){}function An(y){var M=y.state.vim;return M.searchState_||(M.searchState_=new ji)}function Ar(y){return Ui(y,"/")}function ro(y){return $s(y,"/")}function Ui(y,M){var A=$s(y,M)||[];if(!A.length)return[];var F=[];if(A[0]===0){for(var W=0;W<A.length;W++)typeof A[W]=="number"&&F.push(y.substring(A[W]+1,A[W+1]));return F}}function $s(y,M){M||(M="/");for(var A=!1,F=[],W=0;W<y.length;W++){var z=y.charAt(W);!A&&z==M&&F.push(W),A=!A&&z=="\\"}return F}function ha(y){for(var M="|(){",A="}",F=!1,W=[],z=-1;z<y.length;z++){var G=y.charAt(z)||"",Y=y.charAt(z+1)||"",Z=Y&&M.indexOf(Y)!=-1;F?((G!=="\\"||!Z)&&W.push(G),F=!1):G==="\\"?(F=!0,Y&&A.indexOf(Y)!=-1&&(Z=!0),(!Z||Y==="\\")&&W.push(G)):(W.push(G),Z&&Y!=="\\"&&W.push("\\"))}return W.join("")}function rl(y){for(var M=!1,A=[],F=-1;F<y.length;F++){var W=y.charAt(F)||"",z=y.charAt(F+1)||"";Ai[W+z]?(A.push(Ai[W+z]),F++):M?(A.push(W),M=!1):W==="\\"?(M=!0,s(z)||z==="$"?A.push("$"):z!=="/"&&z!=="\\"&&A.push("\\")):(W==="$"&&A.push("$"),A.push(W),z==="/"&&A.push("\\"))}return A.join("")}function il(y){for(var M=new Pe.StringStream(y),A=[];!M.eol();){for(;M.peek()&&M.peek()!="\\";)A.push(M.next());var F=!1;for(var W in hr)if(M.match(W,!0)){F=!0,A.push(hr[W]);break}F||A.push(M.next())}return A.join("")}function Vi(y,M,A){var F=ze.registerController.getRegister("/");if(F.setText(y),y instanceof RegExp)return y;var W=ro(y),z,G;if(!W.length)z=y;else{z=y.substring(0,W[0]);var Y=y.substring(W[0]);G=Y.indexOf("i")!=-1}if(!z)return null;k("pcre")||(z=ha(z)),A&&(M=/^[^A-Z]*$/.test(z));var Z=new RegExp(z,M||G?"im":"m");return Z}function ai(y){typeof y=="string"&&(y=document.createElement(y));for(var M,A=1;A<arguments.length;A++)if(M=arguments[A])if(typeof M!="object"&&(M=document.createTextNode(M)),M.nodeType)y.appendChild(M);else for(var F in M)Object.prototype.hasOwnProperty.call(M,F)&&(F[0]==="$"?y.style[F.slice(1)]=M[F]:y.setAttribute(F,M[F]));return y}function Nt(y,M){var A=ai("div",{$color:"red",$whiteSpace:"pre",class:"cm-vim-message"},M);y.openNotification?y.openNotification(A,{bottom:!0,duration:5e3}):alert(A.innerText)}function da(y,M){return ai("div",{$display:"flex"},ai("span",{$fontFamily:"monospace",$whiteSpace:"pre",$flex:1},y,ai("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",$width:"100%"})),M&&ai("span",{$color:"#888"},M))}function Sr(y,M){if(Dr.length){M.value||(M.value=""),vn=M;return}var A=da(M.prefix,M.desc);if(y.openDialog)y.openDialog(A,M.onClose,{onKeyDown:M.onKeyDown,onKeyUp:M.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:M.value});else{var F="";typeof M.prefix!="string"&&M.prefix&&(F+=M.prefix.textContent),M.desc&&(F+=" "+M.desc),M.onClose(prompt(F,""))}}function jn(y,M){if(y instanceof RegExp&&M instanceof RegExp){for(var A=["global","multiline","ignoreCase","source"],F=0;F<A.length;F++){var W=A[F];if(y[W]!==M[W])return!1}return!0}return!1}function dn(y,M,A,F){if(M){var W=An(y),z=Vi(M,!!A,!!F);if(z)return wi(y,z),jn(z,W.getQuery())||W.setQuery(z),z}}function In(y){if(y.source.charAt(0)=="^")var M=!0;return{token:function(A){if(M&&!A.sol()){A.skipToEnd();return}var F=A.match(y,!1);if(F)return F[0].length==0?(A.next(),"searching"):!A.sol()&&(A.backUp(1),!y.exec(A.next()+F[0]))?(A.next(),null):(A.match(y),"searching");for(;!A.eol()&&(A.next(),!A.match(y,!1)););},query:y}}function wi(y,M){clearTimeout(dr);var A=An(y);A.highlightTimeout=dr,dr=setTimeout(function(){if(y.state.vim){var F=An(y);F.highlightTimeout=null;var W=F.getOverlay();(!W||M!=W.query)&&(W&&y.removeOverlay(W),W=In(M),y.addOverlay(W),y.showMatchesOnScrollbar&&(F.getScrollbarAnnotate()&&F.getScrollbarAnnotate().clear(),F.setScrollbarAnnotate(y.showMatchesOnScrollbar(M))),F.setOverlay(W))}},50)}function $r(y,M,A,F){return F===void 0&&(F=1),y.operation(function(){for(var W=y.getCursor(),z=y.getSearchCursor(A,W),G=0;G<F;G++){var Y=z.find(M);if(G==0&&Y&&dt(z.from(),W)){var Z=M?z.from():z.to();Y=z.find(M),Y&&!Y[0]&&dt(z.from(),Z)&&y.getLine(Z.line).length==Z.ch&&(Y=z.find(M))}if(!Y&&(z=y.getSearchCursor(A,M?new Oe(y.lastLine()):new Oe(y.firstLine(),0)),!z.find(M)))return}return z.from()})}function bi(y,M,A,F,W){return F===void 0&&(F=1),y.operation(function(){var z=y.getCursor(),G=y.getSearchCursor(A,z),Y=G.find(!M);!W.visualMode&&Y&&dt(G.from(),z)&&G.find(!M);for(var Z=0;Z<F;Z++)if(Y=G.find(M),!Y&&(G=y.getSearchCursor(A,M?new Oe(y.lastLine()):new Oe(y.firstLine(),0)),!G.find(M)))return;return[G.from(),G.to()]})}function jo(y){var M=An(y);M.highlightTimeout&&(clearTimeout(M.highlightTimeout),M.highlightTimeout=null),y.removeOverlay(An(y).getOverlay()),M.setOverlay(null),M.getScrollbarAnnotate()&&(M.getScrollbarAnnotate().clear(),M.setScrollbarAnnotate(null))}function Ms(y,M,A){return typeof y!="number"&&(y=y.line),M instanceof Array?x(y,M):typeof A=="number"?y>=M&&y<=A:y==M}function io(y){var M=y.ace.renderer;return{top:M.getFirstFullyVisibleRow(),bottom:M.getLastFullyVisibleRow()}}function Kr(y,M,A){if(A=="'"||A=="`")return ze.jumpList.find(y,-1)||new Oe(0,0);if(A==".")return yo(y);var F=M.marks[A];return F&&F.find()}function yo(y){if(y.getLastEditEnd)return y.getLastEditEnd();for(var M=y.doc.history.done,A=M.length;A--;)if(M[A].changes)return qe(M[A].changes[0].to)}function Uo(y,M,A,F,W,z,G,Y,Z){function re(){y.operation(function(){for(;!Re;)se(),Ce();me()})}function se(){var Xe=y.getRange(z.from(),z.to()),rt=Xe.replace(G,Y),fn=z.to().line;z.replace(rt),Ue=z.to().line,W+=Ue-fn,at=Ue<fn}function ye(){var Xe=Le&&qe(z.to()),rt=z.findNext();return rt&&!rt[0]&&Xe&&dt(z.from(),Xe)&&(rt=z.findNext()),rt}function Ce(){for(;ye()&&Ms(z.from(),F,W);)if(!(!A&&z.from().line==Ue&&!at)){y.scrollIntoView(z.from(),30),y.setSelection(z.from(),z.to()),Le=z.from(),Re=!1;return}Re=!0}function me(Xe){if(Xe&&Xe(),y.focus(),Le){y.setCursor(Le);var rt=y.state.vim;rt.exMode=!1,rt.lastHPos=rt.lastHSPos=Le.ch}Z&&Z()}function we(Xe,rt,fn){Pe.e_stop(Xe);var lt=B(Xe);switch(lt){case"y":se(),Ce();break;case"n":Ce();break;case"a":var wn=Z;Z=void 0,y.operation(re),Z=wn;break;case"l":se();case"q":case"<Esc>":case"<C-c>":case"<C-[>":me(fn)}return Re&&me(fn),!0}y.state.vim.exMode=!0;var Re=!1,Le,Ue,at;if(Ce(),Re){Nt(y,"No matches for "+G.source);return}if(!M){re(),Z&&Z();return}Sr(y,{prefix:ai("span","replace with ",ai("strong",Y)," (y/n/a/q/l)"),onKeyDown:we})}function qr(y,M){var A=y.state.vim,F=ze.macroModeState,W=ze.registerController.getRegister("."),z=F.isPlaying,G=F.lastInsertModeChanges;z||(y.off("change",wo),A.insertEnd&&A.insertEnd.clear(),A.insertEnd=null,Pe.off(y.getInputField(),"keydown",Ls)),!z&&A.insertModeRepeat>1&&(pa(y,A,A.insertModeRepeat-1,!0),A.lastEditInputState.repeatOverride=A.insertModeRepeat),delete A.insertModeRepeat,A.insertMode=!1,M||y.setCursor(y.getCursor().line,y.getCursor().ch-1),y.setOption("keyMap","vim"),y.setOption("disableInput",!0),y.toggleOverwrite(!1),W.setText(G.changes.join("")),Pe.signal(y,"vim-mode-change",{mode:"normal"}),F.isRecording&&sr(F)}function Vo(y){Sn.unshift(y)}function Ts(y,M,A,F,W){var z={keys:y,type:M};z[M]=A,z[M+"Args"]=F;for(var G in W)z[G]=W[G];Vo(z)}function Es(y,M,A,F){var W=ze.registerController.getRegister(F);if(F==":"){W.keyBuffer[0]&&yr.processCommand(y,W.keyBuffer[0]),A.isPlaying=!1;return}var z=W.keyBuffer,G=0;A.isPlaying=!0,A.replaySearchQueries=W.searchQueries.slice(0);for(var Y=0;Y<z.length;Y++)for(var Z=z[Y],re,se;Z;)if(re=/<\w+-.+?>|<\w+>|./.exec(Z),se=re[0],Z=Z.substring(re.index+se.length),mt.handleKey(y,se,"macro"),M.insertMode){var ye=W.insertModeChanges[G++].changes;ze.macroModeState.lastInsertModeChanges.changes=ye,Xo(y,ye,1),qr(y)}A.isPlaying=!1}function Go(y,M){if(!y.isPlaying){var A=y.latestRegister,F=ze.registerController.getRegister(A);F&&F.pushText(M)}}function sr(y){if(!y.isPlaying){var M=y.latestRegister,A=ze.registerController.getRegister(M);A&&A.pushInsertModeChanges&&A.pushInsertModeChanges(y.lastInsertModeChanges)}}function Is(y,M){if(!y.isPlaying){var A=y.latestRegister,F=ze.registerController.getRegister(A);F&&F.pushSearchQuery&&F.pushSearchQuery(M)}}function wo(y,M){var A=ze.macroModeState,F=A.lastInsertModeChanges;if(!A.isPlaying)for(var W=y.state.vim;M;){if(F.expectCursorActivityForChange=!0,F.ignoreCount>1)F.ignoreCount--;else if(M.origin=="+input"||M.origin=="paste"||M.origin===void 0){var z=y.listSelections().length;z>1&&(F.ignoreCount=z);var G=M.text.join(`
1405
+ `);if(F.maybeReset&&(F.changes=[],F.maybeReset=!1),G)if(y.state.overwrite&&!/\n/.test(G))F.changes.push([G]);else{if(G.length>1){var Y=W&&W.insertEnd&&W.insertEnd.find(),Z=y.getCursor();if(Y&&Y.line==Z.line){var re=Y.ch-Z.ch;re>0&&re<G.length&&(F.changes.push([G,re]),G="")}}G&&F.changes.push(G)}}M=M.next}}function Ko(y){var M=y.state.vim;if(M.insertMode){var A=ze.macroModeState;if(A.isPlaying)return;var F=A.lastInsertModeChanges;F.expectCursorActivityForChange?F.expectCursorActivityForChange=!1:(F.maybeReset=!0,M.insertEnd&&M.insertEnd.clear(),M.insertEnd=y.setBookmark(y.getCursor(),{insertLeft:!0}))}else y.curOp.isVimOp||qo(y,M)}function qo(y,M,A){var F=y.getCursor("anchor"),W=y.getCursor("head");if(M.visualMode&&!y.somethingSelected()?_n(y,!1):!M.visualMode&&!M.insertMode&&y.somethingSelected()&&(M.visualMode=!0,M.visualLine=!1,Pe.signal(y,"vim-mode-change",{mode:"visual"})),M.visualMode){var z=ot(W,F)?0:-1,G=ot(W,F)?-1:0;W=ge(W,0,z),F=ge(F,0,G),M.sel={anchor:F,head:W},si(y,M,"<",gt(W,F)),si(y,M,">",tn(W,F))}else!M.insertMode&&!A&&(M.lastHPos=y.getCursor().ch)}function oo(y,M){this.keyName=y,this.key=M.key,this.ctrlKey=M.ctrlKey,this.altKey=M.altKey,this.metaKey=M.metaKey,this.shiftKey=M.shiftKey}function Ls(y){var M=ze.macroModeState,A=M.lastInsertModeChanges,F=Pe.keyName?Pe.keyName(y):y.key;F&&(F.indexOf("Delete")!=-1||F.indexOf("Backspace")!=-1)&&(A.maybeReset&&(A.changes=[],A.maybeReset=!1),A.changes.push(new oo(F,y)))}function pa(y,M,A,F){function W(){Y?Rn.processAction(y,M,M.lastEditActionCommand):Rn.evalInput(y,M)}function z(se){if(G.lastInsertModeChanges.changes.length>0){se=M.lastEditActionCommand?se:1;var ye=G.lastInsertModeChanges;Xo(y,ye.changes,se)}}var G=ze.macroModeState;G.isPlaying=!0;var Y=!!M.lastEditActionCommand,Z=M.inputState;if(M.inputState=M.lastEditInputState,Y&&M.lastEditActionCommand.interlaceInsertRepeat)for(var re=0;re<A;re++)W(),z(1);else F||W(),z(A);M.inputState=Z,M.insertMode&&!F&&qr(y),G.isPlaying=!1}function Yo(y,M){Pe.lookupKey(M,"vim-insert",function(A){return typeof A=="string"?Pe.commands[A](y):A(y),!0})}function Xo(y,M,A){var F=y.getCursor("head"),W=ze.macroModeState.lastInsertModeChanges.visualBlock;W&&(Rr(y,F,W+1),A=y.listSelections().length,y.setCursor(F));for(var z=0;z<A;z++){W&&y.setCursor(ge(F,z,0));for(var G=0;G<M.length;G++){var Y=M[G];if(Y instanceof oo)Yo(y,Y.keyName);else if(typeof Y=="string")y.replaceSelection(Y);else{var Z=y.getCursor(),re=ge(Z,0,Y[0].length-(Y[1]||0));y.replaceRange(Y[0],Z,Y[1]?Z:re),y.setCursor(re)}}}W&&y.setCursor(ge(F,0,1))}function Rs(y,M,A,F){M.length>1&&M[0]=="n"&&(M=M.replace("numpad","")),M=Mr[M]||M;var W="";if(A.ctrlKey&&(W+="C-"),A.altKey&&(W+="A-"),(W||M.length>1)&&A.shiftKey&&(W+="S-"),F&&!F.expectLiteralNext&&M.length==1){if(Un.keymap&&M in Un.keymap)(Un.remapCtrl!==!1||!W)&&(M=Un.keymap[M]);else if(M.charCodeAt(0)>255){var z=A.code&&A.code.slice(-1)||"";A.shiftKey||(z=z.toLowerCase()),z&&(M=z)}}return W+=M,W.length>1&&(W="<"+W+">"),W}function Zo(y){var M=new y.constructor;return Object.keys(y).forEach(function(A){if(A!="insertEnd"){var F=y[A];Array.isArray(F)?F=F.slice():F&&typeof F=="object"&&F.constructor!=Object&&(F=Zo(F)),M[A]=F}}),y.sel&&(M.sel={head:y.sel.head&&qe(y.sel.head),anchor:y.sel.anchor&&qe(y.sel.anchor)}),M}function bo(y,M,A){var F=!1,W=mt.maybeInitVimState_(y),z=W.visualBlock||W.wasInVisualBlock,G=y.ace.inMultiSelectMode;if(W.wasInVisualBlock&&!G?W.wasInVisualBlock=!1:G&&W.visualBlock&&(W.wasInVisualBlock=!0),M=="<Esc>"&&!W.insertMode&&!W.visualMode&&G)y.ace.exitMultiSelectMode();else if(z||!G||y.ace.inVirtualSelectionMode)F=mt.handleKey(y,M,A);else{var Y=Zo(W),Z=W.inputState.changeQueueList||[];y.operation(function(){y.curOp.isVimOp=!0;var re=0;y.ace.forEachSelection(function(){var se=y.ace.selection;y.state.vim.lastHPos=se.$desiredColumn==null?se.lead.column:se.$desiredColumn,y.state.vim.inputState.changeQueue=Z[re];var ye=y.getCursor("head"),Ce=y.getCursor("anchor"),me=ot(ye,Ce)?0:-1,we=ot(ye,Ce)?-1:0;ye=ge(ye,0,me),Ce=ge(Ce,0,we),y.state.vim.sel.head=ye,y.state.vim.sel.anchor=Ce,F=hi(y,M,A),se.$desiredColumn=y.state.vim.lastHPos==-1?null:y.state.vim.lastHPos,y.ace.inVirtualSelectionMode&&(Z[re]=y.state.vim.inputState.changeQueue),y.virtualSelectionMode()&&(y.state.vim=Zo(Y)),re++}),y.curOp.cursorActivity&&!F&&(y.curOp.cursorActivity=!1),W.status=y.state.vim.status,y.state.vim=W,W.inputState.changeQueueList=Z,W.inputState.changeQueue=null},!0)}return F&&!W.visualMode&&!W.insert&&W.visualMode!=y.somethingSelected()&&qo(y,W,!0),F}function xi(y,M){M.off("beforeEndOperation",xi);var A=M.state.cm.vimCmd;A&&M.execCommand(A.exec?A:A.name,A.args),M.curOp=M.prevOp}var ar=t("../range").Range,so=t("../lib/event_emitter").EventEmitter,Gi=t("../lib/dom"),fa=t("../lib/oop"),ol=t("../lib/keys"),xo=t("../lib/event"),Ki=t("../search").Search,Co=t("../lib/useragent"),Qo=t("../search_highlight").SearchHighlight,ko=t("../commands/multi_select_commands"),ga=t("../mode/text").Mode.prototype.tokenRe,ao=t("../ext/hardwrap").hardWrap;t("../multi_select");var Pe=function(y){this.ace=y,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)};Pe.Pos=function(y,M){if(!(this instanceof Oe))return new Oe(y,M);this.line=y,this.ch=M},Pe.defineOption=function(y,M,A){},Pe.commands={redo:function(y){y.ace.redo()},undo:function(y){y.ace.undo()},newlineAndIndent:function(y){y.ace.insert(`
1406
+ `)},goLineLeft:function(y){y.ace.selection.moveCursorLineStart()},goLineRight:function(y){y.ace.selection.moveCursorLineEnd()}},Pe.keyMap={},Pe.addClass=Pe.rmClass=function(){},Pe.e_stop=Pe.e_preventDefault=xo.stopEvent,Pe.keyName=function(y){var M=ol[y.keyCode]||y.key||"";return M.length==1&&(M=M.toUpperCase()),M=xo.getModifierString(y).replace(/(^|-)\w/g,function(A){return A.toUpperCase()})+M,M},Pe.keyMap.default=function(y){return function(M){var A=M.ace.commands.commandKeyBinding[y.toLowerCase()];return A&&M.ace.execCommand(A)!==!1}},Pe.lookupKey=function y(M,A,F){A||(A="default"),typeof A=="string"&&(A=Pe.keyMap[A]||Pe.keyMap.default);var W=typeof A=="function"?A(M):A[M];if(W===!1)return"nothing";if(W==="...")return"multi";if(W!=null&&F(W))return"handled";if(A.fallthrough){if(!Array.isArray(A.fallthrough))return y(M,A.fallthrough,F);for(var z=0;z<A.fallthrough.length;z++){var G=y(M,A.fallthrough[z],F);if(G)return G}}},Pe.findMatchingTag=function(y,M){return y.findMatchingTag(M)},Pe.findEnclosingTag=function(y,M){},Pe.signal=function(y,M,A){return y._signal(M,A)},Pe.on=xo.addListener,Pe.off=xo.removeListener,Pe.isWordChar=function(y){return y<""?/^\w$/.test(y):(ga.lastIndex=0,ga.test(y))},(function(){fa.implement(Pe.prototype,so),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(A){this.$lineHandleChanges&&this.$lineHandleChanges.push(A);var F={text:A.action[0]=="i"?A.lines:[]},W=this.curOp=this.curOp||{};W.changeHandlers||(W.changeHandlers=this._eventRegistry.change&&this._eventRegistry.change.slice()),W.lastChange?W.lastChange.next=W.lastChange=F:W.lastChange=W.change=F,this.$updateMarkers(A)},this.onSelectionChange=function(){var A=this.curOp=this.curOp||{};A.cursorActivityHandlers||(A.cursorActivityHandlers=this._eventRegistry.cursorActivity&&this._eventRegistry.cursorActivity.slice()),this.curOp.cursorActivity=!0,this.ace.inMultiSelectMode&&this.ace.keyBinding.removeKeyboardHandler(ko.keyboardHandler)},this.operation=function(A,F){if(!F&&this.curOp||F&&this.curOp&&this.curOp.force)return A();if((F||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),!this.ace.curOp){var W=this.ace.prevOp;this.ace.startOperation({command:{name:"vim",scrollIntoView:"cursor"}})}var z=this.curOp=this.curOp||{};this.curOp.force=F;var G=A();return this.ace.curOp&&this.ace.curOp.command.name=="vim"&&(this.state.dialog&&(this.ace.curOp.command.scrollIntoView=this.ace.curOp.vimDialogScroll),this.ace.endOperation(),!z.cursorActivity&&!z.lastChange&&W&&(this.ace.prevOp=W)),(F||!this.ace.curOp)&&this.curOp&&this.onBeforeEndOperation(),G},this.onBeforeEndOperation=function(){var A=this.curOp;A&&(A.change&&this.signal("change",A.change,A),A&&A.cursorActivity&&this.signal("cursorActivity",null,A),this.curOp=null)},this.signal=function(A,F,W){var z=W?W[A+"Handlers"]:(this._eventRegistry||{})[A];if(z){z=z.slice();for(var G=0;G<z.length;G++)z[G](this,F)}},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(A,F){typeof A=="object"&&(F=A.ch,A=A.line);var W=!this.curOp&&!this.ace.inVirtualSelectionMode;this.ace.inVirtualSelectionMode||this.ace.exitMultiSelectMode(),this.ace.session.unfold({row:A,column:F}),this.ace.selection.moveTo(A,F),W&&(this.ace.renderer.scrollCursorIntoView(),this.ace.endOperation())},this.getCursor=function(A){var F=this.ace.selection,W=A=="anchor"?F.isEmpty()?F.lead:F.anchor:A=="head"||!A?F.lead:F.getRange()[A];return f(W)},this.listSelections=function(A){var F=this.ace.multiSelect.rangeList.ranges;return!F.length||this.ace.inVirtualSelectionMode?[{anchor:this.getCursor("anchor"),head:this.getCursor("head")}]:F.map(function(W){return{anchor:this.clipPos(f(W.cursor==W.end?W.start:W.end)),head:this.clipPos(f(W.cursor))}},this)},this.setSelections=function(A,F){var W=this.ace.multiSelect,z=A.map(function(re){var se=p(re.anchor),ye=p(re.head),Ce=ar.comparePoints(se,ye)<0?new ar.fromPoints(se,ye):new ar.fromPoints(ye,se);return Ce.cursor=ar.comparePoints(Ce.start,ye)?Ce.end:Ce.start,Ce});if(this.ace.inVirtualSelectionMode){this.ace.selection.fromOrientedRange(z[0]);return}F?z[F]&&z.push(z.splice(F,1)[0]):z=z.reverse(),W.toSingleRange(z[0].clone());for(var G=this.ace.session,Y=0;Y<z.length;Y++){var Z=G.$clipRangeToDocument(z[Y]);W.addRange(Z)}},this.setSelection=function(A,F,W){var z=this.ace.selection;z.moveTo(A.line,A.ch),z.selectTo(F.line,F.ch),W&&W.origin=="*mouse"&&this.onBeforeEndOperation()},this.somethingSelected=function(A){return!this.ace.selection.isEmpty()},this.clipPos=function(A){var F=this.ace.session.$clipPositionToDocument(A.line,A.ch);return f(F)},this.foldCode=function(A){this.ace.session.$toggleFoldWidget(A.line,{})},this.markText=function(A){return{clear:function(){},find:function(){}}},this.$updateMarkers=function(A){var F=A.action=="insert",W=A.start,z=A.end,G=(z.row-W.row)*(F?1:-1),Y=(z.column-W.column)*(F?1:-1);F&&(z=W);for(var Z in this.marks){var re=this.marks[Z],se=ar.comparePoints(re,W);if(!(se<0)){if(se===0&&F)if(!re.$insertRight)se=1;else{if(re.bias!=1){re.bias=-1;continue}se=1}var ye=F?se:ar.comparePoints(re,z);if(ye>0){re.row+=G,re.column+=re.row==z.row?Y:0;continue}!F&&ye<=0&&(re.row=W.row,re.column=W.column,ye===0&&(re.bias=1))}}};var y=function(A,F,W,z){this.cm=A,this.id=F,this.row=W,this.column=z,A.marks[this.id]=this};y.prototype.clear=function(){delete this.cm.marks[this.id]},y.prototype.find=function(){return f(this)},this.setBookmark=function(A,F){var W=new y(this,this.$uid++,A.line,A.ch);return(!F||!F.insertLeft)&&(W.$insertRight=!0),this.marks[W.id]=W,W},this.moveH=function(A,F){if(F=="char"){var W=this.ace.selection;W.clearSelection(),W.moveCursorBy(0,A)}},this.findPosV=function(A,F,W,z){if(W=="page"){var G=this.ace.renderer,Y=G.layerConfig;F*=Math.floor(Y.height/Y.lineHeight),W="line"}if(W=="line"){var Z=this.ace.session.documentToScreenPosition(A.line,A.ch);z!=null&&(Z.column=z),Z.row+=F,Z.row=Math.min(Math.max(0,Z.row),this.ace.session.getScreenLength()-1);var re=this.ace.session.screenToDocumentPosition(Z.row,Z.column);return f(re)}debugger},this.charCoords=function(A,F){if(F=="div"||!F){var W=this.ace.session.documentToScreenPosition(A.line,A.ch);return{left:W.column,top:W.row}}if(F=="local"){var z=this.ace.renderer,W=this.ace.session.documentToScreenPosition(A.line,A.ch),G=z.layerConfig.lineHeight,Y=z.layerConfig.characterWidth,Z=G*W.row;return{left:W.column*Y,top:Z,bottom:Z+G}}},this.coordsChar=function(A,F){var W=this.ace.renderer;if(F=="local"){var z=Math.max(0,Math.floor(A.top/W.lineHeight)),G=Math.max(0,Math.floor(A.left/W.characterWidth)),Y=W.session.screenToDocumentPosition(z,G);return f(Y)}if(F=="div")throw"not implemented"},this.getSearchCursor=function(A,F,W){var z=!1,G=!1;A instanceof RegExp&&!A.global&&(z=!A.ignoreCase,A=A.source,G=!0),A=="\\n"&&(A=`
1407
+ `,G=!1);var Y=new Ki;F.ch==null&&(F.ch=Number.MAX_VALUE);var Z={row:F.line,column:F.ch},re=this,se=null;return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(ye){Y.setOptions({needle:A,caseSensitive:z,wrap:!1,backwards:ye,regExp:G,start:se||Z});var Ce=Y.find(re.ace.session);return se=Ce,se&&[!se.isEmpty()]},from:function(){return se&&f(se.start)},to:function(){return se&&f(se.end)},replace:function(ye){se&&(se.end=re.ace.session.doc.replace(se,ye))}}},this.scrollTo=function(A,F){var W=this.ace.renderer,z=W.layerConfig,G=z.maxHeight;G-=(W.$size.scrollerHeight-W.lineHeight)*W.$scrollPastEnd,F!=null&&this.ace.session.setScrollTop(Math.max(0,Math.min(F,G))),A!=null&&this.ace.session.setScrollLeft(Math.max(0,Math.min(A,z.width)))},this.scrollInfo=function(){return 0},this.scrollIntoView=function(A,F){if(A){var W=this.ace.renderer,z={top:0,bottom:F};W.scrollCursorIntoView(p(A),W.lineHeight*2/W.$size.scrollerHeight,z)}},this.getLine=function(A){return this.ace.session.getLine(A)},this.getRange=function(A,F){return this.ace.session.getTextRange(new ar(A.line,A.ch,F.line,F.ch))},this.replaceRange=function(A,F,W){W||(W=F);var z=new ar(F.line,F.ch,W.line,W.ch);return this.ace.session.$clipRangeToDocument(z),this.ace.session.replace(z,A)},this.replaceSelection=this.replaceSelections=function(A){var F=Array.isArray(A)&&A,W=this.ace.selection;if(this.ace.inVirtualSelectionMode){this.ace.session.replace(W.getRange(),F?A[0]||"":A);return}W.inVirtualSelectionMode=!0;var z=W.rangeList.ranges;z.length||(z=[this.ace.multiSelect.getRange()]);for(var G=z.length;G--;)this.ace.session.replace(z[G],F?A[G]||"":A);W.inVirtualSelectionMode=!1},this.getSelection=function(){return this.ace.getSelectedText()},this.getSelections=function(){return this.listSelections().map(function(A){return this.getRange(A.anchor,A.head)},this)},this.getInputField=function(){return this.ace.textInput.getElement()},this.getWrapperElement=function(){return this.ace.container};var M={indentWithTabs:"useSoftTabs",indentUnit:"tabSize",tabSize:"tabSize",firstLineNumber:"firstLineNumber",readOnly:"readOnly"};this.setOption=function(A,F){switch(this.state[A]=F,A){case"indentWithTabs":A=M[A],F=!F;break;case"keyMap":this.state.$keyMap=F;return;default:A=M[A]}A&&this.ace.setOption(A,F)},this.getOption=function(A){var F,W=M[A];switch(W&&(F=this.ace.getOption(W)),A){case"indentWithTabs":return A=M[A],!F;case"keyMap":return this.state.$keyMap||"vim"}return W?F:this.state[A]},this.toggleOverwrite=function(A){return this.state.overwrite=A,this.ace.setOverwrite(A)},this.addOverlay=function(A){if(!this.$searchHighlight||!this.$searchHighlight.session){var F=new Qo(null,"ace_highlight-marker","text"),W=this.ace.session.addDynamicMarker(F);F.id=W.id,F.session=this.ace.session,F.destroy=function(G){F.session.off("change",F.updateOnChange),F.session.off("changeEditor",F.destroy),F.session.removeMarker(F.id),F.session=null},F.updateOnChange=function(G){var Y=G.start.row;Y==G.end.row?F.cache[Y]=void 0:F.cache.splice(Y,F.cache.length)},F.session.on("changeEditor",F.destroy),F.session.on("change",F.updateOnChange)}var z=new RegExp(A.query.source,"gmi");this.$searchHighlight=A.highlight=F,this.$searchHighlight.setRegexp(z),this.ace.renderer.updateBackMarkers()},this.removeOverlay=function(A){this.$searchHighlight&&this.$searchHighlight.session&&this.$searchHighlight.destroy()},this.getScrollInfo=function(){var A=this.ace.renderer,F=A.layerConfig;return{left:A.scrollLeft,top:A.scrollTop,height:F.maxHeight,width:F.width,clientHeight:F.height,clientWidth:F.width}},this.getValue=function(){return this.ace.getValue()},this.setValue=function(A){return this.ace.setValue(A,-1)},this.getTokenTypeAt=function(A){var F=this.ace.session.getTokenAt(A.line,A.ch);return F&&/comment|string/.test(F.type)?"string":""},this.findMatchingBracket=function(A){var F=this.ace.session.findMatchingBracket(p(A));return{to:F&&f(F)}},this.findMatchingTag=function(A){var F=this.ace.session.getMatchingTags(p(A));if(F)return{open:{from:f(F.openTag.start),to:f(F.openTag.end)},close:{from:f(F.closeTag.start),to:f(F.closeTag.end)}}},this.indentLine=function(A,F){F===!0?this.ace.session.indentRows(A,A," "):F===!1&&this.ace.session.outdentRows(new ar(A,0,A,0))},this.indexFromPos=function(A){return this.ace.session.doc.positionToIndex(p(A))},this.posFromIndex=function(A){return f(this.ace.session.doc.indexToPosition(A))},this.focus=function(A){return this.ace.textInput.focus()},this.blur=function(A){return this.ace.blur()},this.defaultTextHeight=function(A){return this.ace.renderer.layerConfig.lineHeight},this.scanForBracket=function(A,F,W,z){var G=z.bracketRegex.source,Y=/paren|text|operator|tag/;if(F==1)var Z=this.ace.session.$findClosingBracket(G.slice(1,2),p(A),Y);else{var Z=this.ace.session.$findOpeningBracket(G.slice(-2,-1),{row:A.line,column:A.ch+1},Y);!Z&&z.bracketRegex&&z.bracketRegex.test(this.getLine(A.line)[A.ch-1])&&(Z={row:A.line,column:A.ch-1})}return Z&&{pos:f(Z)}},this.refresh=function(){return this.ace.resize(!0)},this.getMode=function(){return{name:this.getOption("mode")}},this.execCommand=function(A){if(Pe.commands.hasOwnProperty(A))return Pe.commands[A](this);if(A=="indentAuto")return this.ace.execCommand("autoindent");console.log(A+" is not implemented")},this.getLineNumber=function(A){var F=this.$lineHandleChanges;if(!F)return null;for(var W=A.row,z=0;z<F.length;z++){var G=F[z];if(G.start.row!=G.end.row){if(G.action[0]=="i")G.start.row<W&&(W+=G.end.row-G.start.row);else if(G.start.row<W){if(W<G.end.row||W==G.end.row&&G.start.column>0)return null;W-=G.end.row-G.start.row}}}return W},this.getLineHandle=function(A){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{text:this.ace.session.getLine(A),row:A}},this.releaseLineHandles=function(){this.$lineHandleChanges=void 0},this.getLastEditEnd=function(){var A=this.ace.session.$undoManager;if(A&&A.$lastDelta)return f(A.$lastDelta.end)}}).call(Pe.prototype);var ma=Pe.StringStream=function(y,M){this.pos=this.start=0,this.string=y,this.tabSize=M||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0};ma.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(y){var M=this.string.charAt(this.pos);if(typeof y=="string")var A=M==y;else var A=M&&(y.test?y.test(M):y(M));if(A)return++this.pos,M},eatWhile:function(y){for(var M=this.pos;this.eat(y););return this.pos>M},eatSpace:function(){for(var y=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>y},skipToEnd:function(){this.pos=this.string.length},skipTo:function(y){var M=this.string.indexOf(y,this.pos);if(M>-1)return this.pos=M,!0},backUp:function(y){this.pos-=y},column:function(){throw"not implemented"},indentation:function(){throw"not implemented"},match:function(y,M,A){if(typeof y!="string"){var F=this.string.slice(this.pos).match(y);return F&&F.index>0?null:(F&&M!==!1&&(this.pos+=F[0].length),F)}var W=function(G){return A?G.toLowerCase():G},z=this.string.substr(this.pos,y.length);if(W(z)==W(y))return M!==!1&&(this.pos+=y.length),!0},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(y,M){this.lineStart+=y;try{return M()}finally{this.lineStart-=y}}},Pe.defineExtension=function(y,M){Pe.prototype[y]=M},Gi.importCssString(`.normal-mode .ace_cursor{
1408
+ border: none;
1409
+ background-color: rgba(255,0,0,0.5);
1410
+ }
1411
+ .normal-mode .ace_hidden-cursors .ace_cursor{
1412
+ background-color: transparent;
1413
+ border: 1px solid red;
1414
+ opacity: 0.7
1415
+ }
1416
+ .ace_dialog {
1417
+ position: absolute;
1418
+ left: 0; right: 0;
1419
+ background: inherit;
1420
+ z-index: 15;
1421
+ padding: .1em .8em;
1422
+ overflow: hidden;
1423
+ color: inherit;
1424
+ }
1425
+ .ace_dialog-top {
1426
+ border-bottom: 1px solid #444;
1427
+ top: 0;
1428
+ }
1429
+ .ace_dialog-bottom {
1430
+ border-top: 1px solid #444;
1431
+ bottom: 0;
1432
+ }
1433
+ .ace_dialog input {
1434
+ border: none;
1435
+ outline: none;
1436
+ background: transparent;
1437
+ width: 20em;
1438
+ color: inherit;
1439
+ font-family: monospace;
1440
+ }`,"vimMode",!1),function(){function y(A,F,W){var z=A.ace.container,G;return G=z.appendChild(document.createElement("div")),W?G.className="ace_dialog ace_dialog-bottom":G.className="ace_dialog ace_dialog-top",typeof F=="string"?G.innerHTML=F:G.appendChild(F),G}function M(A,F){A.state.currentNotificationClose&&A.state.currentNotificationClose(),A.state.currentNotificationClose=F}Pe.defineExtension("openDialog",function(A,F,W){function z(ye){if(typeof ye=="string")re.value=ye;else{if(Y||ye&&ye.type=="blur"&&document.activeElement===re)return;Z.state.dialog==G&&(Z.state.dialog=null,Z.focus()),Y=!0,G.remove(),W.onClose&&W.onClose(G);var Ce=Z;Ce.state.vim&&(Ce.state.vim.status=null,Ce.ace._signal("changeStatus"),Ce.ace.renderer.$loop.schedule(Ce.ace.renderer.CHANGE_CURSOR))}}if(!this.virtualSelectionMode()){W||(W={}),M(this,null);var G=y(this,A,W.bottom),Y=!1,Z=this;this.state.dialog=G;var re=G.getElementsByTagName("input")[0],se;return re?(W.value&&(re.value=W.value,W.selectValueOnOpen!==!1&&re.select()),W.onInput&&Pe.on(re,"input",function(ye){W.onInput(ye,re.value,z)}),W.onKeyUp&&Pe.on(re,"keyup",function(ye){W.onKeyUp(ye,re.value,z)}),Pe.on(re,"keydown",function(ye){W&&W.onKeyDown&&W.onKeyDown(ye,re.value,z)||(ye.keyCode==13&&F(re.value),(ye.keyCode==27||W.closeOnEnter!==!1&&ye.keyCode==13)&&(Pe.e_stop(ye),z()))}),W.closeOnBlur!==!1&&Pe.on(re,"blur",z),re.focus()):(se=G.getElementsByTagName("button")[0])&&(Pe.on(se,"click",function(){z(),Z.focus()}),W.closeOnBlur!==!1&&Pe.on(se,"blur",z),se.focus()),z}}),Pe.defineExtension("openNotification",function(A,F){function W(){G||(G=!0,clearTimeout(Y),z.remove())}if(!this.virtualSelectionMode()){M(this,W);var z=y(this,A,F&&F.bottom),G=!1,Y,Z=F&&typeof F.duration<"u"?F.duration:5e3;return Pe.on(z,"click",function(re){Pe.e_preventDefault(re),W()}),Z&&(Y=setTimeout(W,Z)),W}})}();var Oe=Pe.Pos,Sn=[{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"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{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:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",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:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{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:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",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<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{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<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",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"}],_o=Sn.length,li=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{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:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],Un=D(""),va=/[\d]/,Ao=[Pe.isWordChar,function(y){return y&&!Pe.isWordChar(y)&&!/\s/.test(y)}],Ci=[function(y){return/\S/.test(y)}],lo=["<",">"],qt=["-",'"',".",":","_","/","+"],Vt=/^\w$/,Yt;try{Yt=new RegExp("^[\\p{Lu}]$","u")}catch{Yt=/^[A-Z]$/}var Ft={};E("filetype",void 0,"string",["ft"],function(y,M){if(M!==void 0){if(y===void 0){var A=M.getOption("mode");return A=="null"?"":A}var A=y==""?"null":y;M.setOption("mode",A)}}),E("textwidth",80,"number",["tw"],function(y,M){if(M!==void 0){if(y===void 0){var A=M.getOption("textwidth");return A}var F=Math.round(y);F>1&&M.setOption("textwidth",F)}});var ki=function(){function y(Z,re,se){function ye(Re){var Le=++W%F,Ue=Y[Le];Ue&&Ue.clear(),Y[Le]=Z.setBookmark(Re)}var Ce=W%F,me=Y[Ce];if(me){var we=me.find();we&&!dt(we,re)&&ye(re)}else ye(re);ye(se),z=W,G=W-F+1,G<0&&(G=0)}function M(Z,re){W+=re,W>z?W=z:W<G&&(W=G);var se=Y[(F+W)%F];if(se&&!se.find()){var ye=re>0?1:-1,Ce,me=Z.getCursor();do if(W+=ye,se=Y[(F+W)%F],se&&(Ce=se.find())&&!dt(me,Ce))break;while(W<z&&W>G)}return se}function A(Z,re){var se=W,ye=M(Z,re);return W=se,ye&&ye.find()}var F=100,W=-1,z=0,G=0,Y=new Array(F);return{cachedCursor:void 0,add:y,find:A,move:M}},Ln=function(y){return y?{changes:y.changes,expectCursorActivityForChange:y.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};C.prototype={exitMacroRecordMode:function(){var y=ze.macroModeState;y.onRecordingDone&&y.onRecordingDone(),y.onRecordingDone=void 0,y.isRecording=!1},enterMacroRecordMode:function(y,M){var A=ze.registerController.getRegister(M);if(A){if(A.clear(),this.latestRegister=M,y.openDialog){var F=ai("span",{class:"cm-vim-message"},"recording @"+M);this.onRecordingDone=y.openDialog(F,null,{bottom:!0})}this.isRecording=!0}}};var ze,pn,mt={enterVimMode:h,leaveVimMode:g,buildKeyMap:function(){},getRegisterController:function(){return ze.registerController},resetVimGlobalState_:O,getVimGlobalState_:function(){return ze},maybeInitVimState_:R,suppressErrorLogging:!1,InsertModeKey:oo,map:function(y,M,A){yr.map(y,M,A)},unmap:function(y,M){return yr.unmap(y,M)},noremap:function(y,M,A){yr.map(y,M,A,!0)},mapclear:function(y){var M=Sn.length,A=_o,F=Sn.slice(0,M-A);if(Sn=Sn.slice(M-A),y)for(var W=F.length-1;W>=0;W--){var z=F[W];if(y!==z.context)if(z.context)this._mapCommand(z);else{var G=["normal","insert","visual"];for(var Y in G)if(G[Y]!==y){var Z={};for(var re in z)Z[re]=z[re];Z.context=G[Y],this._mapCommand(Z)}}}},langmap:P,vimKeyFromEvent:B,setOption:$,getOption:k,defineOption:E,defineEx:function(y,M,A){if(!M)M=y;else if(y.indexOf(M)!==0)throw new Error('(Vim.defineEx) "'+M+'" is not a prefix of "'+y+'", command not registered');Os[y]=A,yr.commandMap_[M]={name:y,shortName:M,type:"api"}},handleKey:function(y,M,A){var F=this.findKey(y,M,A);if(typeof F=="function")return F()},multiSelectHandleKey:bo,findKey:function(y,M,A){function F(){var re=ze.macroModeState;if(re.isRecording){if(M=="q")return re.exitMacroRecordMode(),_(y),!0;A!="mapping"&&Go(re,M)}}function W(){if(M=="<Esc>"){if(Y.visualMode)_n(y);else{if(!Y.insertMode)return;qr(y)}return _(y),!0}}function z(){if(W())return!0;Y.inputState.keyBuffer.push(M);var re=Y.inputState.keyBuffer.join(""),se=M.length==1,ye=Rn.matchCommand(re,Sn,Y.inputState,"insert"),Ce=Y.inputState.changeQueue;if(ye.type=="none")return _(y),!1;if(ye.type=="partial"){if(ye.expectLiteralNext&&(Y.expectLiteralNext=!0),pn&&window.clearTimeout(pn),pn=se&&window.setTimeout(function(){Y.insertMode&&Y.inputState.keyBuffer.length&&_(y)},k("insertModeEscKeysTimeout")),se){var me=y.listSelections();(!Ce||Ce.removed.length!=me.length)&&(Ce=Y.inputState.changeQueue=new N),Ce.inserted+=M;for(var we=0;we<me.length;we++){var Re=gt(me[we].anchor,me[we].head),Le=tn(me[we].anchor,me[we].head),Ue=y.getRange(Re,y.state.overwrite?ge(Le,0,1):Le);Ce.removed[we]=(Ce.removed[we]||"")+Ue}}return!se}if(Y.expectLiteralNext=!1,pn&&window.clearTimeout(pn),ye.command&&Ce){for(var me=y.listSelections(),we=0;we<me.length;we++){var at=me[we].head;y.replaceRange(Ce.removed[we]||"",ge(at,0,-Ce.inserted.length),at,"+input")}ze.macroModeState.lastInsertModeChanges.changes.pop()}return ye.command||_(y),ye.command}function G(){if(F()||W())return!0;Y.inputState.keyBuffer.push(M);var re=Y.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(re))return!0;var se=/^(\d*)(.*)$/.exec(re);if(!se)return _(y),!1;var ye=Y.visualMode?"visual":"normal",Ce=se[2]||se[1];Y.inputState.operatorShortcut&&Y.inputState.operatorShortcut.slice(-1)==Ce&&(Ce=Y.inputState.operatorShortcut);var me=Rn.matchCommand(Ce,Sn,Y.inputState,ye);return me.type=="none"?(_(y),!1):me.type=="partial"?(me.expectLiteralNext&&(Y.expectLiteralNext=!0),!0):me.type=="clear"?(_(y),!0):(Y.expectLiteralNext=!1,Y.inputState.keyBuffer.length=0,se=/^(\d*)(.*)$/.exec(re),se[1]&&se[1]!="0"&&Y.inputState.pushRepeatDigit(se[1]),me.command)}var Y=R(y),Z;return Y.insertMode?Z=z():Z=G(),Z===!1?!Y.insertMode&&M.length===1?function(){return!0}:void 0:Z===!0?function(){return!0}:function(){if(!((Z.operator||Z.isEdit)&&y.getOption("readOnly")))return y.operation(function(){y.curOp.isVimOp=!0;try{Z.type=="keyToKey"?I(y,Z.toKeys,Z):Rn.processCommand(y,Y,Z)}catch(re){throw y.state.vim=void 0,R(y),mt.suppressErrorLogging||console.log(re),re}return!0})}},handleEx:function(y,M){yr.processCommand(y,M)},defineMotion:te,defineAction:le,defineOperator:ne,mapCommand:Ts,_mapCommand:Vo,defineRegister:U,exitVisualMode:_n,exitInsertMode:qr},Dr=[],on=!1,vn,Zn={Return:"CR",Backspace:"BS",Delete:"Del",Escape:"Esc",Insert:"Ins",ArrowLeft:"Left",ArrowRight:"Right",ArrowUp:"Up",ArrowDown:"Down",Enter:"CR"," ":"Space"},Nr={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},_i={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(Zn)).forEach(function(y){_i[(Zn[y]||"").toLowerCase()]=_i[y.toLowerCase()]=y}),E("langmap",void 0,"string",["lmap"],function(y,M){if(y===void 0)return Un.string;P(y)}),S.prototype.pushRepeatDigit=function(y){this.operator?this.motionRepeat=this.motionRepeat.concat(y):this.prefixRepeat=this.prefixRepeat.concat(y)},S.prototype.getRepeat=function(){var y=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(y=1,this.prefixRepeat.length>0&&(y*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(y*=parseInt(this.motionRepeat.join(""),10))),y},H.prototype={setText:function(y,M,A){this.keyBuffer=[y||""],this.linewise=!!M,this.blockwise=!!A},pushText:function(y,M){M&&(this.linewise||this.keyBuffer.push(`
1441
+ `),this.linewise=!0),this.keyBuffer.push(y)},pushInsertModeChanges:function(y){this.insertModeChanges.push(Ln(y))},pushSearchQuery:function(y){this.searchQueries.push(y)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},q.prototype={pushText:function(y,M,A,F,W){if(y!=="_"){F&&A.charAt(A.length-1)!==`
1442
+ `&&(A+=`
1443
+ `);var z=this.isValidRegister(y)?this.getRegister(y):null;if(!z){switch(M){case"yank":this.registers[0]=new H(A,F,W);break;case"delete":case"change":A.indexOf(`
1444
+ `)==-1?this.registers["-"]=new H(A,F):(this.shiftNumericRegisters_(),this.registers[1]=new H(A,F))}this.unnamedRegister.setText(A,F,W);return}var G=u(y);G?z.pushText(A,F):z.setText(A,F,W),y==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"&&navigator.clipboard.writeText(A),this.unnamedRegister.setText(z.toString(),F)}},getRegister:function(y){return this.isValidRegister(y)?(y=y.toLowerCase(),this.registers[y]||(this.registers[y]=new H),this.registers[y]):this.unnamedRegister},isValidRegister:function(y){return y&&(x(y,qt)||Vt.test(y))},shiftNumericRegisters_:function(){for(var y=9;y>=2;y--)this.registers[y]=this.getRegister(""+(y-1))}},Q.prototype={nextMatch:function(y,M){var A=this.historyBuffer,F=M?-1:1;this.initialPrefix===null&&(this.initialPrefix=y);for(var W=this.iterator+F;M?W>=0:W<A.length;W+=F)for(var z=A[W],G=0;G<=z.length;G++)if(this.initialPrefix==z.substring(0,G))return this.iterator=W,z;if(W>=A.length)return this.iterator=A.length,this.initialPrefix;if(W<0)return y},pushInput:function(y){var M=this.historyBuffer.indexOf(y);M>-1&&this.historyBuffer.splice(M,1),y.length&&this.historyBuffer.push(y)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var Rn={matchCommand:function(y,M,A,F){var W=Se(y,M,F,A);if(!W.full&&!W.partial)return{type:"none"};if(!W.full&&W.partial)return{type:"partial",expectLiteralNext:W.partial.length==1&&W.partial[0].keys.slice(-11)=="<character>"};for(var z,G=0;G<W.full.length;G++){var Y=W.full[G];z||(z=Y)}if(z.keys.slice(-11)=="<character>"||z.keys.slice(-10)=="<register>"){var Z=Te(y);if(!Z||Z.length>1)return{type:"clear"};A.selectedCharacter=Z}return{type:"full",command:z}},processCommand:function(y,M,A){switch(M.inputState.repeatOverride=A.repeatOverride,A.type){case"motion":this.processMotion(y,M,A);break;case"operator":this.processOperator(y,M,A);break;case"operatorMotion":this.processOperatorMotion(y,M,A);break;case"action":this.processAction(y,M,A);break;case"search":this.processSearch(y,M,A);break;case"ex":case"keyToEx":this.processEx(y,M,A);break}},processMotion:function(y,M,A){M.inputState.motion=A.motion,M.inputState.motionArgs=ce(A.motionArgs),this.evalInput(y,M)},processOperator:function(y,M,A){var F=M.inputState;if(F.operator){if(F.operator==A.operator){F.motion="expandToLine",F.motionArgs={linewise:!0},this.evalInput(y,M);return}_(y)}F.operator=A.operator,F.operatorArgs=ce(A.operatorArgs),A.keys.length>1&&(F.operatorShortcut=A.keys),A.exitVisualBlock&&(M.visualBlock=!1,Xn(y)),M.visualMode&&this.evalInput(y,M)},processOperatorMotion:function(y,M,A){var F=M.visualMode,W=ce(A.operatorMotionArgs);W&&F&&W.visualLine&&(M.visualLine=!0),this.processOperator(y,M,A),F||this.processMotion(y,M,A)},processAction:function(y,M,A){var F=M.inputState,W=F.getRepeat(),z=!!W,G=ce(A.actionArgs)||{};F.selectedCharacter&&(G.selectedCharacter=F.selectedCharacter),A.operator&&this.processOperator(y,M,A),A.motion&&this.processMotion(y,M,A),(A.motion||A.operator)&&this.evalInput(y,M),G.repeat=W||1,G.repeatIsExplicit=z,G.registerName=F.registerName,_(y),M.lastMotion=null,A.isEdit&&this.recordLastEdit(M,F,A),On[A.action](y,G,M)},processSearch:function(y,M,A){function F(Le,Ue,at){ze.searchHistoryController.pushInput(Le),ze.searchHistoryController.reset();try{dn(y,Le,Ue,at)}catch{Nt(y,"Invalid regex: "+Le),_(y);return}Rn.processMotion(y,M,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:A.searchArgs.toJumplist}})}function W(Le){F(Le,!0,!0);var Ue=ze.macroModeState;Ue.isRecording&&Is(Ue,Le)}function z(Le,Ue,at){var Xe=B(Le),rt,fn;Xe=="<Up>"||Xe=="<Down>"?(rt=Xe=="<Up>",fn=Le.target?Le.target.selectionEnd:0,Ue=ze.searchHistoryController.nextMatch(Ue,rt)||"",at(Ue),fn&&Le.target&&(Le.target.selectionEnd=Le.target.selectionStart=Math.min(fn,Le.target.value.length))):Xe&&Xe!="<Left>"&&Xe!="<Right>"&&ze.searchHistoryController.reset();var lt;try{lt=dn(y,Ue,!0,!0)}catch{}lt?y.scrollIntoView($r(y,!Y,lt),30):(jo(y),y.scrollTo(ye.left,ye.top))}function G(Le,Ue,at){var Xe=B(Le);Xe=="<Esc>"||Xe=="<C-c>"||Xe=="<C-[>"||Xe=="<BS>"&&Ue==""?(ze.searchHistoryController.pushInput(Ue),ze.searchHistoryController.reset(),dn(y,se),jo(y),y.scrollTo(ye.left,ye.top),Pe.e_stop(Le),_(y),at(),y.focus()):Xe=="<Up>"||Xe=="<Down>"?Pe.e_stop(Le):Xe=="<C-u>"&&(Pe.e_stop(Le),at(""))}if(y.getSearchCursor){var Y=A.searchArgs.forward,Z=A.searchArgs.wholeWordOnly;An(y).setReversed(!Y);var re=Y?"/":"?",se=An(y).getQuery(),ye=y.getScrollInfo();switch(A.searchArgs.querySrc){case"prompt":var Ce=ze.macroModeState;if(Ce.isPlaying){var Re=Ce.replaySearchQueries.shift();F(Re,!0,!1)}else Sr(y,{onClose:W,prefix:re,desc:"(JavaScript regexp)",onKeyUp:z,onKeyDown:G});break;case"wordUnderCursor":var me=or(y,{noSymbol:!0}),we=!0;if(me||(me=or(y,{noSymbol:!1}),we=!1),!me){Nt(y,"No word under cursor"),_(y);return}var Re=y.getLine(me.start.line).substring(me.start.ch,me.end.ch);we&&Z?Re="\\b"+Re+"\\b":Re=kn(Re),ze.jumpList.cachedCursor=y.getCursor(),y.setCursor(me.start),F(Re,!0,!1)}}},processEx:function(y,M,A){function F(z){ze.exCommandHistoryController.pushInput(z),ze.exCommandHistoryController.reset(),yr.processCommand(y,z),y.state.vim&&_(y)}function W(z,G,Y){var Z=B(z),re,se;(Z=="<Esc>"||Z=="<C-c>"||Z=="<C-[>"||Z=="<BS>"&&G=="")&&(ze.exCommandHistoryController.pushInput(G),ze.exCommandHistoryController.reset(),Pe.e_stop(z),_(y),Y(),y.focus()),Z=="<Up>"||Z=="<Down>"?(Pe.e_stop(z),re=Z=="<Up>",se=z.target?z.target.selectionEnd:0,G=ze.exCommandHistoryController.nextMatch(G,re)||"",Y(G),se&&z.target&&(z.target.selectionEnd=z.target.selectionStart=Math.min(se,z.target.value.length))):Z=="<C-u>"?(Pe.e_stop(z),Y("")):Z&&Z!="<Left>"&&Z!="<Right>"&&ze.exCommandHistoryController.reset()}A.type=="keyToEx"?yr.processCommand(y,A.exArgs.input):M.visualMode?Sr(y,{onClose:F,prefix:":",value:"'<,'>",onKeyDown:W,selectValueOnOpen:!1}):Sr(y,{onClose:F,prefix:":",onKeyDown:W})},evalInput:function(y,M){var A=M.inputState,F=A.motion,W=A.motionArgs||{},z=A.operator,G=A.operatorArgs||{},Y=A.registerName,Z=M.sel,re=qe(M.visualMode?ue(y,Z.head):y.getCursor("head")),se=qe(M.visualMode?ue(y,Z.anchor):y.getCursor("anchor")),ye=qe(re),Ce=qe(se),me,we,Re;if(z&&this.recordLastEdit(M,A),A.repeatOverride!==void 0?Re=A.repeatOverride:Re=A.getRepeat(),Re>0&&W.explicitRepeat?W.repeatIsExplicit=!0:(W.noRepeat||!W.explicitRepeat&&Re===0)&&(Re=1,W.repeatIsExplicit=!1),A.selectedCharacter&&(W.selectedCharacter=G.selectedCharacter=A.selectedCharacter),W.repeat=Re,_(y),F){var Le=Yr[F](y,re,W,M,A);if(M.lastMotion=Yr[F],!Le)return;if(W.toJumplist){!z&&y.ace.curOp!=null&&(y.ace.curOp.command.scrollIntoView="center-animate");var Ue=ze.jumpList,at=Ue.cachedCursor;at?(Wi(y,at,Le),delete Ue.cachedCursor):Wi(y,re,Le)}Le instanceof Array?(we=Le[0],me=Le[1]):me=Le,me||(me=qe(re)),M.visualMode?((!M.visualBlock||me.ch!==1/0)&&(me=ue(y,me,ye)),we&&(we=ue(y,we)),we=we||Ce,Z.anchor=we,Z.head=me,Xn(y),si(y,M,"<",ot(we,me)?we:me),si(y,M,">",ot(we,me)?me:we)):z||(y.ace.curOp&&(y.ace.curOp.vimDialogScroll="center-animate"),me=ue(y,me,ye),y.setCursor(me.line,me.ch))}if(z){if(G.lastSel){we=Ce;var Xe=G.lastSel,rt=Math.abs(Xe.head.line-Xe.anchor.line),fn=Math.abs(Xe.head.ch-Xe.anchor.ch);Xe.visualLine?me=new Oe(Ce.line+rt,Ce.ch):Xe.visualBlock?me=new Oe(Ce.line+rt,Ce.ch+fn):Xe.head.line==Xe.anchor.line?me=new Oe(Ce.line,Ce.ch+fn):me=new Oe(Ce.line+rt,Ce.ch),M.visualMode=!0,M.visualLine=Xe.visualLine,M.visualBlock=Xe.visualBlock,Z=M.sel={anchor:we,head:me},Xn(y)}else M.visualMode&&(G.lastSel={anchor:qe(Z.anchor),head:qe(Z.head),visualBlock:M.visualBlock,visualLine:M.visualLine});var lt,wn,bt,At,Qn;if(M.visualMode){lt=gt(Z.head,Z.anchor),wn=tn(Z.head,Z.anchor),bt=M.visualLine||G.linewise,At=M.visualBlock?"block":bt?"line":"char";var pr=w(y,lt,wn);if(Qn=Or(y,{anchor:pr.start,head:pr.end},At),bt){var bn=Qn.ranges;if(At=="block")for(var V=0;V<bn.length;V++)bn[V].head.ch=Zt(y,bn[V].head.line);else At=="line"&&(bn[0].head=new Oe(bn[0].head.line+1,0))}}else{if(lt=qe(we||Ce),wn=qe(me||ye),ot(wn,lt)){var X=lt;lt=wn,wn=X}bt=W.linewise||G.linewise,bt?ur(y,lt,wn):W.forward&&ir(y,lt,wn),At="char";var ie=!W.inclusive||bt,pr=w(y,lt,wn);Qn=Or(y,{anchor:pr.start,head:pr.end},At,ie)}y.setSelections(Qn.ranges,Qn.primary),M.lastMotion=null,G.repeat=Re,G.registerName=Y,G.linewise=bt;var oe=Jo[z](y,G,Qn.ranges,Ce,me);M.visualMode&&_n(y,oe!=null),oe&&y.setCursor(oe)}},recordLastEdit:function(y,M,A){var F=ze.macroModeState;F.isPlaying||(y.lastEditInputState=M,y.lastEditActionCommand=A,F.lastInsertModeChanges.changes=[],F.lastInsertModeChanges.expectCursorActivityForChange=!1,F.lastInsertModeChanges.visualBlock=y.visualBlock?y.sel.head.line-y.sel.anchor.line:0)}},Yr={moveToTopLine:function(y,M,A){var F=io(y).top+A.repeat-1;return new Oe(F,nn(y.getLine(F)))},moveToMiddleLine:function(y){var M=io(y),A=Math.floor((M.top+M.bottom)*.5);return new Oe(A,nn(y.getLine(A)))},moveToBottomLine:function(y,M,A){var F=io(y).bottom-A.repeat+1;return new Oe(F,nn(y.getLine(F)))},expandToLine:function(y,M,A){var F=M;return new Oe(F.line+A.repeat-1,1/0)},findNext:function(y,M,A){var F=An(y),W=F.getQuery();if(W){var z=!A.forward;return z=F.isReversed()?!z:z,wi(y,W),$r(y,z,W,A.repeat)}},findAndSelectNextInclusive:function(y,M,A,F,W){var z=An(y),G=z.getQuery();if(G){var Y=!A.forward;Y=z.isReversed()?!Y:Y;var Z=bi(y,Y,G,A.repeat,F);if(Z){if(W.operator)return Z;var re=Z[0],se=new Oe(Z[1].line,Z[1].ch-1);if(F.visualMode){(F.visualLine||F.visualBlock)&&(F.visualLine=!1,F.visualBlock=!1,Pe.signal(y,"vim-mode-change",{mode:"visual",subMode:""}));var ye=F.sel.anchor;if(ye)return z.isReversed()?A.forward?[ye,re]:[ye,se]:A.forward?[ye,se]:[ye,re]}else F.visualMode=!0,F.visualLine=!1,F.visualBlock=!1,Pe.signal(y,"vim-mode-change",{mode:"visual",subMode:""});return Y?[se,re]:[re,se]}}},goToMark:function(y,M,A,F){var W=Kr(y,F,A.selectedCharacter);return W?A.linewise?{line:W.line,ch:nn(y.getLine(W.line))}:W:null},moveToOtherHighlightedEnd:function(y,M,A,F){if(F.visualBlock&&A.sameLine){var W=F.sel;return[ue(y,new Oe(W.anchor.line,W.head.ch)),ue(y,new Oe(W.head.line,W.anchor.ch))]}return[F.sel.head,F.sel.anchor]},jumpToMark:function(y,M,A,F){for(var W=M,z=0;z<A.repeat;z++){var G=W;for(var Y in F.marks)if(l(Y)){var Z=F.marks[Y].find(),re=A.forward?ot(Z,G):ot(G,Z);if(!re&&!(A.linewise&&Z.line==G.line)){var se=dt(G,W),ye=A.forward?zn(G,Z,W):zn(W,Z,G);(se||ye)&&(W=Z)}}}return A.linewise&&(W=new Oe(W.line,nn(y.getLine(W.line)))),W},moveByCharacters:function(y,M,A){var F=M,W=A.repeat,z=A.forward?F.ch+W:F.ch-W;return new Oe(F.line,z)},moveByLines:function(y,M,A,F){var W=M,z=W.ch;switch(F.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:z=F.lastHPos;break;default:F.lastHPos=z}var G=A.repeat+(A.repeatOffset||0),Y=A.forward?W.line+G:W.line-G,Z=y.firstLine(),re=y.lastLine();if(Y<Z&&W.line==Z)return this.moveToStartOfLine(y,M,A,F);if(Y>re&&W.line==re)return vo(y,M,A,F,!0);var se=y.ace.session.getFoldLine(Y);return se&&(A.forward?Y>se.start.row&&(Y=se.end.row+1):Y=se.start.row),A.toFirstChar&&(z=nn(y.getLine(Y)),F.lastHPos=z),F.lastHSPos=y.charCoords(new Oe(Y,z),"div").left,new Oe(Y,z)},moveByDisplayLines:function(y,M,A,F){var W=M;switch(F.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:F.lastHSPos=y.charCoords(W,"div").left}var z=A.repeat,Z=y.findPosV(W,A.forward?z:-z,"line",F.lastHSPos);if(Z.hitSide)if(A.forward)var G=y.charCoords(Z,"div"),Y={top:G.top+8,left:F.lastHSPos},Z=y.coordsChar(Y,"div");else{var re=y.charCoords(new Oe(y.firstLine(),0),"div");re.left=F.lastHSPos,Z=y.coordsChar(re,"div")}return F.lastHPos=Z.ch,Z},moveByPage:function(y,M,A){var F=M,W=A.repeat;return y.findPosV(F,A.forward?W:-W,"page")},moveByParagraph:function(y,M,A){var F=A.forward?1:-1;return Ss(y,M,A.repeat,F)},moveBySentence:function(y,M,A){var F=A.forward?1:-1;return Hi(y,M,A.repeat,F)},moveByScroll:function(y,M,A,F){var W=y.getScrollInfo(),z=null,G=A.repeat;G||(G=W.clientHeight/(2*y.defaultTextHeight()));var Y=y.charCoords(M,"local");if(A.repeat=G,z=Yr.moveByDisplayLines(y,M,A,F),!z)return null;var Z=y.charCoords(z,"local");return y.scrollTo(null,W.top+Z.top-Y.top),z},moveByWords:function(y,M,A){return mr(y,M,A.repeat,!!A.forward,!!A.wordEnd,!!A.bigWord)},moveTillCharacter:function(y,M,A){var F=A.repeat,W=Ho(y,F,A.forward,A.selectedCharacter,M),z=A.forward?-1:1;return Bi(z,A),W?(W.ch+=z,W):null},moveToCharacter:function(y,M,A){var F=A.repeat;return Bi(0,A),Ho(y,F,A.forward,A.selectedCharacter,M)||M},moveToSymbol:function(y,M,A){var F=A.repeat;return zi(y,F,A.forward,A.selectedCharacter)||M},moveToColumn:function(y,M,A,F){var W=A.repeat;return F.lastHPos=W-1,F.lastHSPos=y.charCoords(M,"div").left,tl(y,W)},moveToEol:function(y,M,A,F){return vo(y,M,A,F,!1)},moveToFirstNonWhiteSpaceCharacter:function(y,M){var A=M;return new Oe(A.line,nn(y.getLine(A.line)))},moveToMatchedSymbol:function(y,M){for(var A=M,F=A.line,W=A.ch,z=y.getLine(F),G;W<z.length;W++)if(G=z.charAt(W),G&&c(G)){var Y=y.getTokenTypeAt(new Oe(F,W+1));if(Y!=="string"&&Y!=="comment")break}if(W<z.length){var Z=/[<>]/.test(z[W])?/[(){}[\]<>]/:/[(){}[\]]/,re=y.findMatchingBracket(new Oe(F,W+1),{bracketRegex:Z});return re.to}return A},moveToStartOfLine:function(y,M){return new Oe(M.line,0)},moveToLineOrEdgeOfDocument:function(y,M,A){var F=A.forward?y.lastLine():y.firstLine();return A.repeatIsExplicit&&(F=A.repeat-y.getOption("firstLineNumber")),new Oe(F,nn(y.getLine(F)))},moveToStartOfDisplayLine:function(y){return y.execCommand("goLineLeft"),y.getCursor()},moveToEndOfDisplayLine:function(y){y.execCommand("goLineRight");var M=y.getCursor();return M.sticky=="before"&&M.ch--,M},textObjectManipulation:function(y,M,A,F){var W={"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"},z={"'":!0,'"':!0,"`":!0},G=A.selectedCharacter;G=="b"?G="(":G=="B"&&(G="{");var Y=!A.textObjectInner,Z,re;if(W[G]){if(re=!0,Z=Hn(y,M,G,Y),!Z){var se=y.getSearchCursor(new RegExp("\\"+G,"g"),M);se.find()&&(Z=Hn(y,se.from(),G,Y))}}else if(z[G])re=!0,Z=_r(y,M,G,Y);else if(G==="W"||G==="w")for(var ye=A.repeat||1;ye-- >0;){var Ce=or(y,{inclusive:Y,innerWord:!Y,bigWord:G==="W",noSymbol:G==="W",multiline:!0},Z&&Z.end);Ce&&(Z||(Z=Ce),Z.end=Ce.end)}else if(G==="p")if(Z=Ss(y,M,A.repeat,0,Y),A.linewise=!0,F.visualMode)F.visualLine||(F.visualLine=!0);else{var me=F.inputState.operatorArgs;me&&(me.linewise=!0),Z.end.line--}else if(G==="t")Z=go(y,M,Y);else if(G==="s"){var we=y.getLine(M.line);M.ch>0&&b(we[M.ch])&&(M.ch-=1);var Re=ua(y,M,A.repeat,1,Y),Le=ua(y,M,A.repeat,-1,Y);m(y.getLine(Le.line)[Le.ch])&&m(y.getLine(Re.line)[Re.ch-1])&&(Le={line:Le.line,ch:Le.ch+1}),Z={start:Le,end:Re}}return Z?y.state.vim.visualMode?mn(y,Z.start,Z.end,re):[Z.start,Z.end]:null},repeatLastCharacterSearch:function(y,M,A){var F=ze.lastCharacterSearch,W=A.repeat,z=A.forward===F.forward,G=(F.increment?1:0)*(z?-1:1);y.moveH(-G,"char"),A.inclusive=!!z;var Y=Ho(y,W,z,F.selectedCharacter);return Y?(Y.ch+=G,Y):(y.moveH(G,"char"),M)}},Jo={change:function(y,M,A){var F,W,z=y.state.vim,G=A[0].anchor,Y=A[0].head;if(z.visualMode)if(M.fullLine)Y.ch=Number.MAX_VALUE,Y.line--,y.setSelection(G,Y),W=y.getSelection(),y.replaceSelection(""),F=G;else{W=y.getSelection();var Z=he("",A.length);y.replaceSelections(Z),F=gt(A[0].head,A[0].anchor)}else{W=y.getRange(G,Y);var re=z.lastEditInputState||{};if(re.motion=="moveByWords"&&!m(W)){var se=/\s+$/.exec(W);se&&re.motionArgs&&re.motionArgs.forward&&(Y=ge(Y,0,-se[0].length),W=W.slice(0,-se[0].length))}M.linewise&&(G=new Oe(G.line,nn(y.getLine(G.line))),Y.line>G.line&&(Y=new Oe(Y.line-1,Number.MAX_VALUE))),y.replaceRange("",G,Y),F=G}ze.registerController.pushText(M.registerName,"change",W,M.linewise,A.length>1),On.enterInsertMode(y,{head:F},y.state.vim)},delete:function(y,M,A){var F,W,z=y.state.vim;if(z.visualBlock){W=y.getSelection();var G=he("",A.length);y.replaceSelections(G),F=gt(A[0].head,A[0].anchor)}else{var Y=A[0].anchor,Z=A[0].head;M.linewise&&Z.line!=y.firstLine()&&Y.line==y.lastLine()&&Y.line==Z.line-1&&(Y.line==y.firstLine()?Y.ch=0:Y=new Oe(Y.line-1,Zt(y,Y.line-1))),W=y.getRange(Y,Z),y.replaceRange("",Y,Z),F=Y,M.linewise&&(F=Yr.moveToFirstNonWhiteSpaceCharacter(y,Y))}return ze.registerController.pushText(M.registerName,"delete",W,M.linewise,z.visualBlock),ue(y,F)},indent:function(y,M,A){var F=y.state.vim,W=F.visualMode?M.repeat:1;if(F.visualBlock){for(var z=y.getOption("tabSize"),G=y.getOption("indentWithTabs")?" ":" ".repeat(z),Y,Z=A.length-1;Z>=0;Z--)if(Y=gt(A[Z].anchor,A[Z].head),M.indentRight)y.replaceRange(G.repeat(W),Y,Y);else{for(var re=y.getLine(Y.line),se=0,ye=0;ye<W;ye++){var Ce=re[Y.ch+se];if(Ce==" ")se++;else{if(Ce!=" ")break;se++;for(var me=1;me<G.length&&(Ce=re[Y.ch+se],Ce===" ");me++)se++}}y.replaceRange("",Y,ge(Y,0,se))}return Y}if(y.indentMore)for(var ye=0;ye<W;ye++)M.indentRight?y.indentMore():y.indentLess();else{var we=A[0].anchor.line,Re=F.visualBlock?A[A.length-1].anchor.line:A[0].head.line;M.linewise&&Re--;for(var Z=we;Z<=Re;Z++)for(var ye=0;ye<W;ye++)y.indentLine(Z,M.indentRight)}return Yr.moveToFirstNonWhiteSpaceCharacter(y,A[0].anchor)},indentAuto:function(y,M,A){return y.execCommand("indentAuto"),Yr.moveToFirstNonWhiteSpaceCharacter(y,A[0].anchor)},hardWrap:function(y,M,A,F,W){if(y.hardWrap){var z=A[0].anchor.line,G=A[0].head.line;M.linewise&&G--;var Y=y.hardWrap({from:z,to:G});return Y>z&&M.linewise&&Y--,M.keepCursor?F:new Oe(Y,0)}},changeCase:function(y,M,A,F,W){for(var z=y.getSelections(),G=[],Y=M.toLower,Z=0;Z<z.length;Z++){var re=z[Z],se="";if(Y===!0)se=re.toLowerCase();else if(Y===!1)se=re.toUpperCase();else for(var ye=0;ye<re.length;ye++){var Ce=re.charAt(ye);se+=u(Ce)?Ce.toLowerCase():Ce.toUpperCase()}G.push(se)}return y.replaceSelections(G),M.shouldMoveCursor?W:!y.state.vim.visualMode&&M.linewise&&A[0].anchor.line+1==A[0].head.line?Yr.moveToFirstNonWhiteSpaceCharacter(y,F):M.linewise?F:gt(A[0].anchor,A[0].head)},yank:function(y,M,A,F){var W=y.state.vim,z=y.getSelection(),G=W.visualMode?gt(W.sel.anchor,W.sel.head,A[0].head,A[0].anchor):F;return ze.registerController.pushText(M.registerName,"yank",z,M.linewise,W.visualBlock),G}},On={jumpListWalk:function(y,M,A){if(!A.visualMode){var F=M.repeat,W=M.forward,z=ze.jumpList,G=z.move(y,W?F:-F),Y=G?G.find():void 0;Y=Y||y.getCursor(),y.setCursor(Y),y.ace.curOp.command.scrollIntoView="center-animate"}},scroll:function(y,M,A){if(!A.visualMode){var F=M.repeat||1,W=y.defaultTextHeight(),z=y.getScrollInfo().top,G=W*F,Y=M.forward?z+G:z-G,Z=qe(y.getCursor()),re=y.charCoords(Z,"local");if(M.forward)Y>re.top?(Z.line+=(Y-re.top)/W,Z.line=Math.ceil(Z.line),y.setCursor(Z),re=y.charCoords(Z,"local"),y.scrollTo(null,re.top)):y.scrollTo(null,Y);else{var se=Y+y.getScrollInfo().clientHeight;se<re.bottom?(Z.line-=(re.bottom-se)/W,Z.line=Math.floor(Z.line),y.setCursor(Z),re=y.charCoords(Z,"local"),y.scrollTo(null,re.bottom-y.getScrollInfo().clientHeight)):y.scrollTo(null,Y)}}},scrollToCursor:function(y,M){var A=y.getCursor().line,F=y.charCoords(new Oe(A,0),"local"),W=y.getScrollInfo().clientHeight,z=F.top;switch(M.position){case"center":z=F.bottom-W/2;break;case"bottom":var G=new Oe(A,y.getLine(A).length-1),Y=y.charCoords(G,"local"),Z=Y.bottom-z;z=z-W+Z}y.scrollTo(null,z)},replayMacro:function(y,M,A){var F=M.selectedCharacter,W=M.repeat,z=ze.macroModeState;for(F=="@"?F=z.latestRegister:z.latestRegister=F;W--;)Es(y,A,z,F)},enterMacroRecordMode:function(y,M){var A=ze.macroModeState,F=M.selectedCharacter;ze.registerController.isValidRegister(F)&&A.enterMacroRecordMode(y,F)},toggleOverwrite:function(y){y.state.overwrite?(y.toggleOverwrite(!1),y.setOption("keyMap","vim-insert"),Pe.signal(y,"vim-mode-change",{mode:"insert"})):(y.toggleOverwrite(!0),y.setOption("keyMap","vim-replace"),Pe.signal(y,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(y,M,A){if(!y.getOption("readOnly")){A.insertMode=!0,A.insertModeRepeat=M&&M.repeat||1;var F=M?M.insertAt:null,W=A.sel,z=M.head||y.getCursor("head"),G=y.listSelections().length;if(F=="eol")z=new Oe(z.line,Zt(y,z.line));else if(F=="bol")z=new Oe(z.line,0);else if(F=="charAfter"){var Y=w(y,z,ge(z,0,1));z=Y.end}else if(F=="firstNonBlank"){var Y=w(y,z,Yr.moveToFirstNonWhiteSpaceCharacter(y,z));z=Y.end}else if(F=="startOfSelectedArea"){if(!A.visualMode)return;A.visualBlock?(z=new Oe(Math.min(W.head.line,W.anchor.line),Math.min(W.head.ch,W.anchor.ch)),G=Math.abs(W.head.line-W.anchor.line)+1):W.head.line<W.anchor.line?z=W.head:z=new Oe(W.anchor.line,0)}else if(F=="endOfSelectedArea"){if(!A.visualMode)return;A.visualBlock?(z=new Oe(Math.min(W.head.line,W.anchor.line),Math.max(W.head.ch,W.anchor.ch)+1),G=Math.abs(W.head.line-W.anchor.line)+1):W.head.line>=W.anchor.line?z=ge(W.head,0,1):z=new Oe(W.anchor.line,0)}else if(F=="inplace"){if(A.visualMode)return}else F=="lastEdit"&&(z=yo(y)||z);y.setOption("disableInput",!1),M&&M.replace?(y.toggleOverwrite(!0),y.setOption("keyMap","vim-replace"),Pe.signal(y,"vim-mode-change",{mode:"replace"})):(y.toggleOverwrite(!1),y.setOption("keyMap","vim-insert"),Pe.signal(y,"vim-mode-change",{mode:"insert"})),ze.macroModeState.isPlaying||(y.on("change",wo),A.insertEnd&&A.insertEnd.clear(),A.insertEnd=y.setBookmark(z,{insertLeft:!0}),Pe.on(y.getInputField(),"keydown",Ls)),A.visualMode&&_n(y),Rr(y,z,G)}},toggleVisualMode:function(y,M,A){var F=M.repeat,W=y.getCursor(),z;if(A.visualMode)A.visualLine^M.linewise||A.visualBlock^M.blockwise?(A.visualLine=!!M.linewise,A.visualBlock=!!M.blockwise,Pe.signal(y,"vim-mode-change",{mode:"visual",subMode:A.visualLine?"linewise":A.visualBlock?"blockwise":""}),Xn(y)):_n(y);else{A.visualMode=!0,A.visualLine=!!M.linewise,A.visualBlock=!!M.blockwise,z=ue(y,new Oe(W.line,W.ch+F-1));var G=w(y,W,z);A.sel={anchor:G.start,head:G.end},Pe.signal(y,"vim-mode-change",{mode:"visual",subMode:A.visualLine?"linewise":A.visualBlock?"blockwise":""}),Xn(y),si(y,A,"<",gt(W,z)),si(y,A,">",tn(W,z))}},reselectLastSelection:function(y,M,A){var F=A.lastSelection;if(A.visualMode&&Ut(y,A),F){var W=F.anchorMark.find(),z=F.headMark.find();if(!W||!z)return;A.sel={anchor:W,head:z},A.visualMode=!0,A.visualLine=F.visualLine,A.visualBlock=F.visualBlock,Xn(y),si(y,A,"<",gt(W,z)),si(y,A,">",tn(W,z)),Pe.signal(y,"vim-mode-change",{mode:"visual",subMode:A.visualLine?"linewise":A.visualBlock?"blockwise":""})}},joinLines:function(y,M,A){var F,W;if(A.visualMode){if(F=y.getCursor("anchor"),W=y.getCursor("head"),ot(W,F)){var z=W;W=F,F=z}W.ch=Zt(y,W.line)-1}else{var G=Math.max(M.repeat,2);F=y.getCursor(),W=ue(y,new Oe(F.line+G-1,1/0))}for(var Y=0,Z=F.line;Z<W.line;Z++){Y=Zt(y,F.line);var re="",se=0;if(!M.keepSpaces){var ye=y.getLine(F.line+1);se=ye.search(/\S/),se==-1?se=ye.length:re=" "}y.replaceRange(re,new Oe(F.line,Y),new Oe(F.line+1,se))}var Ce=ue(y,new Oe(F.line,Y));A.visualMode&&_n(y,!1),y.setCursor(Ce)},newLineAndEnterInsertMode:function(y,M,A){A.insertMode=!0;var F=qe(y.getCursor());if(F.line===y.firstLine()&&!M.after)y.replaceRange(`
1445
+ `,new Oe(y.firstLine(),0)),y.setCursor(y.firstLine(),0);else{F.line=M.after?F.line:F.line-1,F.ch=Zt(y,F.line),y.setCursor(F);var W=Pe.commands.newlineAndIndentContinueComment||Pe.commands.newlineAndIndent;W(y)}this.enterInsertMode(y,{repeat:M.repeat},A)},paste:function(y,M,A){var F=this,W=ze.registerController.getRegister(M.registerName),z=function(){var G=W.toString();F.continuePaste(y,M,A,G,W)};M.registerName==="+"&&typeof navigator<"u"&&typeof navigator.clipboard<"u"&&typeof navigator.clipboard.readText=="function"?navigator.clipboard.readText().then(function(G){F.continuePaste(y,M,A,G,W)},function(){z()}):z()},continuePaste:function(y,M,A,F,W){var z=qe(y.getCursor());if(F){if(M.matchIndent){var G=y.getOption("tabSize"),Y=function(bn){var V=bn.split(" ").length-1,X=bn.split(" ").length-1;return V*G+X*1},Z=y.getLine(y.getCursor().line),re=Y(Z.match(/^\s*/)[0]),se=F.replace(/\n$/,""),ye=F!==se,Ce=Y(F.match(/^\s*/)[0]),F=se.replace(/^\s*/gm,function(bn){var V=re+(Y(bn)-Ce);if(V<0)return"";if(y.getOption("indentWithTabs")){var X=Math.floor(V/G);return Array(X+1).join(" ")}return Array(V+1).join(" ")});F+=ye?`
1446
+ `:""}if(M.repeat>1)var F=Array(M.repeat+1).join(F);var me=W.linewise,we=W.blockwise;if(we){F=F.split(`
1447
+ `),me&&F.pop();for(var Re=0;Re<F.length;Re++)F[Re]=F[Re]==""?" ":F[Re];z.ch+=M.after?1:0,z.ch=Math.min(Zt(y,z.line),z.ch)}else me?A.visualMode?F=A.visualLine?F.slice(0,-1):`
1448
+ `+F.slice(0,F.length-1)+`
1449
+ `:M.after?(F=`
1450
+ `+F.slice(0,F.length-1),z.ch=Zt(y,z.line)):z.ch=0:z.ch+=M.after?1:0;var Le;if(A.visualMode){A.lastPastedText=F;var Ue,at=Ge(y,A),Xe=at[0],rt=at[1],fn=y.getSelection(),lt=y.listSelections(),wn=new Array(lt.length).join("1").split("1");A.lastSelection&&(Ue=A.lastSelection.headMark.find()),ze.registerController.unnamedRegister.setText(fn),we?(y.replaceSelections(wn),rt=new Oe(Xe.line+F.length-1,Xe.ch),y.setCursor(Xe),cr(y,rt),y.replaceSelections(F),Le=Xe):A.visualBlock?(y.replaceSelections(wn),y.setCursor(Xe),y.replaceRange(F,Xe,Xe),Le=Xe):(y.replaceRange(F,Xe,rt),Le=y.posFromIndex(y.indexFromPos(Xe)+F.length-1)),Ue&&(A.lastSelection.headMark=y.setBookmark(Ue)),me&&(Le.ch=0)}else if(we){y.setCursor(z);for(var Re=0;Re<F.length;Re++){var bt=z.line+Re;bt>y.lastLine()&&y.replaceRange(`
1451
+ `,new Oe(bt,0));var At=Zt(y,bt);At<z.ch&&Yn(y,bt,z.ch)}y.setCursor(z),cr(y,new Oe(z.line+F.length-1,z.ch)),y.replaceSelections(F),Le=z}else if(y.replaceRange(F,z),me){var bt=M.after?z.line+1:z.line;Le=new Oe(bt,nn(y.getLine(bt)))}else Le=qe(z),/\n/.test(F)||(Le.ch+=F.length-(M.after?1:0));A.visualMode&&_n(y,!1),y.setCursor(Le)}},undo:function(y,M){y.operation(function(){Ze(y,Pe.commands.undo,M.repeat)(),y.setCursor(ue(y,y.getCursor("start")))})},redo:function(y,M){Ze(y,Pe.commands.redo,M.repeat)()},setRegister:function(y,M,A){A.inputState.registerName=M.selectedCharacter},insertRegister:function(y,M,A){var F=M.selectedCharacter,W=ze.registerController.getRegister(F),z=W&&W.toString();z&&y.replaceSelection(z)},oneNormalCommand:function(y,M,A){qr(y,!0),A.insertModeReturn=!0,Pe.on(y,"vim-command-done",function F(){A.visualMode||(A.insertModeReturn&&(A.insertModeReturn=!1,A.insertMode||On.enterInsertMode(y,{},A)),Pe.off(y,"vim-command-done",F))})},setMark:function(y,M,A){var F=M.selectedCharacter;si(y,A,F,y.getCursor())},replace:function(y,M,A){var F=M.selectedCharacter,W=y.getCursor(),z,G,Y=y.listSelections();if(A.visualMode)W=y.getCursor("start"),G=y.getCursor("end");else{var Z=y.getLine(W.line);z=W.ch+M.repeat,z>Z.length&&(z=Z.length),G=new Oe(W.line,z)}var re=w(y,W,G);if(W=re.start,G=re.end,F==`
1452
+ `)A.visualMode||y.replaceRange("",W,G),(Pe.commands.newlineAndIndentContinueComment||Pe.commands.newlineAndIndent)(y);else{var se=y.getRange(W,G);if(se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,F),se=se.replace(/[^\n]/g,F),A.visualBlock){var ye=new Array(y.getOption("tabSize")+1).join(" ");se=y.getSelection(),se=se.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,F),se=se.replace(/\t/g,ye).replace(/[^\n]/g,F).split(`
1453
+ `),y.replaceSelections(se)}else y.replaceRange(se,W,G);A.visualMode?(W=ot(Y[0].anchor,Y[0].head)?Y[0].anchor:Y[0].head,y.setCursor(W),_n(y,!1)):y.setCursor(ge(G,0,-1))}},incrementNumberToken:function(y,M){for(var A=y.getCursor(),F=y.getLine(A.line),W=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi,z,G,Y,Z;(z=W.exec(F))!==null&&(G=z.index,Y=G+z[0].length,!(A.ch<Y)););if(!(!M.backtrack&&Y<=A.ch)&&z){var re=z[2]||z[4],se=z[3]||z[5],ye=M.increase?1:-1,Ce={"0b":2,0:8,"":10,"0x":16}[re.toLowerCase()],me=parseInt(z[1]+se,Ce)+ye*M.repeat;Z=me.toString(Ce);var we=re?new Array(se.length-Z.length+1+z[1].length).join("0"):"";Z.charAt(0)==="-"?Z="-"+re+we+Z.substr(1):Z=re+we+Z;var Re=new Oe(A.line,G),Le=new Oe(A.line,Y);y.replaceRange(Z,Re,Le),y.setCursor(new Oe(A.line,G+Z.length-1))}},repeatLastEdit:function(y,M,A){var F=A.lastEditInputState;if(F){var W=M.repeat;W&&M.repeatIsExplicit?A.lastEditInputState.repeatOverride=W:W=A.lastEditInputState.repeatOverride||W,pa(y,A,W,!1)}},indent:function(y,M){y.indentLine(y.getCursor().line,M.indentRight)},exitInsertMode:qr},ci={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},ui={bracket:{isComplete:function(y){if(y.nextCh===y.symb){if(y.depth++,y.depth>=1)return!0}else y.nextCh===y.reverseSymb&&y.depth--;return!1}},section:{init:function(y){y.curMoveThrough=!0,y.symb=(y.forward?"]":"[")===y.symb?"{":"}"},isComplete:function(y){return y.index===0&&y.nextCh===y.symb}},comment:{isComplete:function(y){var M=y.lastCh==="*"&&y.nextCh==="/";return y.lastCh=y.nextCh,M}},method:{init:function(y){y.symb=y.symb==="m"?"{":"}",y.reverseSymb=y.symb==="{"?"}":"{"},isComplete:function(y){return y.nextCh===y.symb}},preprocess:{init:function(y){y.index=0},isComplete:function(y){if(y.nextCh==="#"){var M=y.lineText.match(/^#(\w+)/)[1];if(M==="endif"){if(y.forward&&y.depth===0)return!0;y.depth++}else if(M==="if"){if(!y.forward&&y.depth===0)return!0;y.depth--}if(M==="else"&&y.depth===0)return!0}return!1}}};E("pcre",!0,"boolean"),ji.prototype={getQuery:function(){return ze.query},setQuery:function(y){ze.query=y},getOverlay:function(){return this.searchOverlay},setOverlay:function(y){this.searchOverlay=y},isReversed:function(){return ze.isReversed},setReversed:function(y){ze.isReversed=y},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(y){this.annotate=y}};var Ai={"\\n":`
1454
+ `,"\\r":"\r","\\t":" "},hr={"\\/":"/","\\\\":"\\","\\n":`
1455
+ `,"\\r":"\r","\\t":" ","\\&":"&"},dr=0,vr=function(){this.buildCommandMap_()};vr.prototype={processCommand:function(y,M,A){var F=this;y.operation(function(){y.curOp.isVimOp=!0,F._processCommand(y,M,A)})},_processCommand:function(y,M,A){var F=y.state.vim,W=ze.registerController.getRegister(":"),z=W.toString(),G=new Pe.StringStream(M);W.setText(M);var Y=A||{};Y.input=M;try{this.parseInput_(y,G,Y)}catch(se){throw Nt(y,se.toString()),se}F.visualMode&&_n(y);var Z,re;if(!Y.commandName)Y.line!==void 0&&(re="move");else if(Z=this.matchCommand_(Y.commandName),Z){if(re=Z.name,Z.excludeFromCommandHistory&&W.setText(z),this.parseCommandArgs_(G,Y,Z),Z.type=="exToKey"){I(y,Z.toKeys,Z);return}if(Z.type=="exToEx"){this.processCommand(y,Z.toInput);return}}if(!re){Nt(y,'Not an editor command ":'+M+'"');return}try{Os[re](y,Y),(!Z||!Z.possiblyAsync)&&Y.callback&&Y.callback()}catch(se){throw Nt(y,se.toString()),se}},parseInput_:function(y,M,A){if(M.eatWhile(":"),M.eat("%")?(A.line=y.firstLine(),A.lineEnd=y.lastLine()):(A.line=this.parseLineSpec_(y,M),A.line!==void 0&&M.eat(",")&&(A.lineEnd=this.parseLineSpec_(y,M))),A.line==null)if(y.state.vim.visualMode){var F=Kr(y,y.state.vim,"<");A.selectionLine=F&&F.line,F=Kr(y,y.state.vim,">"),A.selectionLineEnd=F&&F.line}else A.selectionLine=y.getCursor().line;else A.selectionLine=A.line,A.selectionLineEnd=A.lineEnd;var W=M.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return W?A.commandName=W[1]:A.commandName=M.match(/.*/)[0],A},parseLineSpec_:function(y,M){var A=M.match(/^(\d+)/);if(A)return parseInt(A[1],10)-1;switch(M.next()){case".":return this.parseLineSpecOffset_(M,y.getCursor().line);case"$":return this.parseLineSpecOffset_(M,y.lastLine());case"'":var F=M.next(),W=Kr(y,y.state.vim,F);if(!W)throw new Error("Mark not set");return this.parseLineSpecOffset_(M,W.line);case"-":case"+":return M.backUp(1),this.parseLineSpecOffset_(M,y.getCursor().line);default:return M.backUp(1),void 0}},parseLineSpecOffset_:function(y,M){var A=y.match(/^([+-])?(\d+)/);if(A){var F=parseInt(A[2],10);A[1]=="-"?M-=F:M+=F}return M},parseCommandArgs_:function(y,M,A){if(!y.eol()){M.argString=y.match(/.*/)[0];var F=A.argDelimiter||/\s+/,W=oi(M.argString).split(F);W.length&&W[0]&&(M.args=W)}},matchCommand_:function(y){for(var M=y.length;M>0;M--){var A=y.substring(0,M);if(this.commandMap_[A]){var F=this.commandMap_[A];if(F.name.indexOf(y)===0)return F}}return null},buildCommandMap_:function(){this.commandMap_={};for(var y=0;y<li.length;y++){var M=li[y],A=M.shortName||M.name;this.commandMap_[A]=M}},map:function(y,M,A,F){if(y!=":"&&y.charAt(0)==":"){if(A)throw Error("Mode not supported for ex mappings");var W=y.substring(1);M!=":"&&M.charAt(0)==":"?this.commandMap_[W]={name:W,type:"exToEx",toInput:M.substring(1),user:!0}:this.commandMap_[W]={name:W,type:"exToKey",toKeys:M,user:!0}}else{var z={keys:y,type:"keyToKey",toKeys:M,noremap:!!F};A&&(z.context=A),Sn.unshift(z)}},unmap:function(y,M){if(y!=":"&&y.charAt(0)==":"){if(M)throw Error("Mode not supported for ex mappings");var A=y.substring(1);if(this.commandMap_[A]&&this.commandMap_[A].user)return delete this.commandMap_[A],!0}else for(var F=y,W=0;W<Sn.length;W++)if(F==Sn[W].keys&&Sn[W].context===M)return Sn.splice(W,1),!0}};var Os={colorscheme:function(y,M){if(!M.args||M.args.length<1){Nt(y,y.getOption("theme"));return}y.setOption("theme",M.args[0])},map:function(y,M,A,F){var W=M.args;if(!W||W.length<2){y&&Nt(y,"Invalid mapping: "+M.input);return}yr.map(W[0],W[1],A,F)},imap:function(y,M){this.map(y,M,"insert")},nmap:function(y,M){this.map(y,M,"normal")},vmap:function(y,M){this.map(y,M,"visual")},omap:function(y,M){this.map(y,M,"operatorPending")},noremap:function(y,M){this.map(y,M,void 0,!0)},inoremap:function(y,M){this.map(y,M,"insert",!0)},nnoremap:function(y,M){this.map(y,M,"normal",!0)},vnoremap:function(y,M){this.map(y,M,"visual",!0)},onoremap:function(y,M){this.map(y,M,"operatorPending",!0)},unmap:function(y,M,A){var F=M.args;(!F||F.length<1||!yr.unmap(F[0],A))&&y&&Nt(y,"No such mapping: "+M.input)},mapclear:function(y,M){mt.mapclear()},imapclear:function(y,M){mt.mapclear("insert")},nmapclear:function(y,M){mt.mapclear("normal")},vmapclear:function(y,M){mt.mapclear("visual")},omapclear:function(y,M){mt.mapclear("operatorPending")},move:function(y,M){Rn.processCommand(y,y.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:M.line+1})},set:function(y,M){var A=M.args,F=M.setCfg||{};if(!A||A.length<1){y&&Nt(y,"Invalid mapping: "+M.input);return}var W=A[0].split("="),z=W[0],G=W[1],Y=!1,Z=!1;if(z.charAt(z.length-1)=="?"){if(G)throw Error("Trailing characters: "+M.argString);z=z.substring(0,z.length-1),Y=!0}else z.charAt(z.length-1)=="!"&&(z=z.substring(0,z.length-1),Z=!0);G===void 0&&z.substring(0,2)=="no"&&(z=z.substring(2),G=!1);var re=Ft[z]&&Ft[z].type=="boolean";if(re&&(Z?G=!k(z,y,F):G==null&&(G=!0)),!re&&G===void 0||Y){var se=k(z,y,F);se instanceof Error?Nt(y,se.message):se===!0||se===!1?Nt(y," "+(se?"":"no")+z):Nt(y," "+z+"="+se)}else{var ye=$(z,G,y,F);ye instanceof Error&&Nt(y,ye.message)}},setlocal:function(y,M){M.setCfg={scope:"local"},this.set(y,M)},setglobal:function(y,M){M.setCfg={scope:"global"},this.set(y,M)},registers:function(y,M){var A=M.args,F=ze.registerController.registers,W=`----------Registers----------
1456
+
1457
+ `;if(A){var z;A=A.join("");for(var G=0;G<A.length;G++)if(z=A.charAt(G),!!ze.registerController.isValidRegister(z)){var Y=F[z]||new H;W+='"'+z+" "+Y.toString()+`
1458
+ `}}else for(var z in F){var Z=F[z].toString();Z.length&&(W+='"'+z+" "+Z+`
1459
+ `)}Nt(y,W)},sort:function(y,M){function A(){if(M.argString){var bt=new Pe.StringStream(M.argString);if(bt.eat("!")&&(z=!0),bt.eol())return;if(!bt.eatSpace())return"Invalid arguments";var At=bt.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!At&&!bt.eol())return"Invalid arguments";if(At[1]){G=At[1].indexOf("i")!=-1,Y=At[1].indexOf("u")!=-1;var Qn=At[1].indexOf("d")!=-1||At[1].indexOf("n")!=-1&&1,pr=At[1].indexOf("x")!=-1&&1,bn=At[1].indexOf("o")!=-1&&1;if(Qn+pr+bn>1)return"Invalid arguments";Z=Qn&&"decimal"||pr&&"hex"||bn&&"octal"}At[2]&&(re=new RegExp(At[2].substr(1,At[2].length-2),G?"i":""))}}function F(bt,At){if(z){var Qn;Qn=bt,bt=At,At=Qn}G&&(bt=bt.toLowerCase(),At=At.toLowerCase());var pr=Z&&Le.exec(bt),bn=Z&&Le.exec(At);return pr?(pr=parseInt((pr[1]+pr[2]).toLowerCase(),Ue),bn=parseInt((bn[1]+bn[2]).toLowerCase(),Ue),pr-bn):bt<At?-1:1}function W(bt,At){if(z){var Qn;Qn=bt,bt=At,At=Qn}return G&&(bt[0]=bt[0].toLowerCase(),At[0]=At[0].toLowerCase()),bt[0]<At[0]?-1:1}var z,G,Y,Z,re,se=A();if(se){Nt(y,se+": "+M.argString);return}var ye=M.line||y.firstLine(),Ce=M.lineEnd||M.line||y.lastLine();if(ye!=Ce){var me=new Oe(ye,0),we=new Oe(Ce,Zt(y,Ce)),Re=y.getRange(me,we).split(`
1460
+ `),Le=re||(Z=="decimal"?/(-?)([\d]+)/:Z=="hex"?/(-?)(?:0x)?([0-9a-f]+)/i:Z=="octal"?/([0-7]+)/:null),Ue=Z=="decimal"?10:Z=="hex"?16:Z=="octal"?8:null,at=[],Xe=[];if(Z||re)for(var rt=0;rt<Re.length;rt++){var fn=re?Re[rt].match(re):null;fn&&fn[0]!=""?at.push(fn):!re&&Le.exec(Re[rt])?at.push(Re[rt]):Xe.push(Re[rt])}else Xe=Re;if(at.sort(re?W:F),re)for(var rt=0;rt<at.length;rt++)at[rt]=at[rt].input;else Z||Xe.sort(F);if(Re=z?at.concat(Xe):Xe.concat(at),Y){var lt=Re,wn;Re=[];for(var rt=0;rt<lt.length;rt++)lt[rt]!=wn&&Re.push(lt[rt]),wn=lt[rt]}y.replaceRange(Re.join(`
1461
+ `),me,we)}},vglobal:function(y,M){this.global(y,M)},normal:function(y,M){var A=M.argString;if(A&&A[0]=="!"&&(A=A.slice(1),on=!0),A=A.trimStart(),!A){Nt(y,"Argument is required.");return}var F=M.line;if(typeof F=="number")for(var W=isNaN(M.lineEnd)?F:M.lineEnd,z=F;z<=W;z++)y.setCursor(z,0),I(y,M.argString.trimStart()),y.state.vim.insertMode&&qr(y,!0);else I(y,M.argString.trimStart()),y.state.vim.insertMode&&qr(y,!0)},global:function(y,M){var A=M.argString;if(!A){Nt(y,"Regular Expression missing from global");return}var F=M.commandName[0]==="v";A[0]==="!"&&M.commandName[0]==="g"&&(F=!0,A=A.slice(1));var W=M.line!==void 0?M.line:y.firstLine(),z=M.lineEnd||M.line||y.lastLine(),G=Ar(A),Y=A,Z;if(G.length&&(Y=G[0],Z=G.slice(1,G.length).join("/")),Y)try{dn(y,Y,!0,!0)}catch{Nt(y,"Invalid regex: "+Y);return}for(var re=An(y).getQuery(),se=[],ye=W;ye<=z;ye++){var Ce=y.getLine(ye),me=re.test(Ce);me!==F&&se.push(Z?y.getLineHandle(ye):Ce)}if(!Z){Nt(y,se.join(`
1462
+ `));return}var we=0,Re=function(){if(we<se.length){var Le=se[we++],Ue=y.getLineNumber(Le);if(Ue==null){Re();return}var at=Ue+1+Z;yr.processCommand(y,at,{callback:Re})}else y.releaseLineHandles&&y.releaseLineHandles()};Re()},substitute:function(y,M){if(!y.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var A=M.argString,F=A?Ui(A,A[0]):[],W,z="",G,Y,Z,re=!1,se=!1;if(F.length)W=F[0],k("pcre")&&W!==""&&(W=new RegExp(W).source),z=F[1],z!==void 0&&(k("pcre")?z=il(z.replace(/([^\\])&/g,"$1$$&")):z=rl(z),ze.lastSubstituteReplacePart=z),G=F[2]?F[2].split(" "):[];else if(A&&A.length){Nt(y,"Substitutions should be of the form :s/pattern/replace/");return}if(G&&(Y=G[0],Z=parseInt(G[1]),Y&&(Y.indexOf("c")!=-1&&(re=!0),Y.indexOf("g")!=-1&&(se=!0),k("pcre")?W=W+"/"+Y:W=W.replace(/\//g,"\\/")+"/"+Y)),W)try{dn(y,W,!0,!0)}catch{Nt(y,"Invalid regex: "+W);return}if(z=z||ze.lastSubstituteReplacePart,z===void 0){Nt(y,"No previous substitute regular expression");return}var ye=An(y),Ce=ye.getQuery(),me=M.line!==void 0?M.line:y.getCursor().line,we=M.lineEnd||me;me==y.firstLine()&&we==y.lastLine()&&(we=1/0),Z&&(me=we,we=me+Z-1);var Re=ue(y,new Oe(me,0)),Le=y.getSearchCursor(Ce,Re);Uo(y,re,se,me,we,Le,Ce,z,M.callback)},startinsert:function(y,M){I(y,M.argString=="!"?"A":"i",{})},redo:Pe.commands.redo,undo:Pe.commands.undo,write:function(y){Pe.commands.save?Pe.commands.save(y):y.save&&y.save()},nohlsearch:function(y){jo(y)},yank:function(y){var M=qe(y.getCursor()),A=M.line,F=y.getLine(A);ze.registerController.pushText("0","yank",F,!0,!0)},delete:function(y,M){var A=M.selectionLine,F=isNaN(M.selectionLineEnd)?A:M.selectionLineEnd;Jo.delete(y,{linewise:!0},[{anchor:new Oe(A,0),head:new Oe(F+1,0)}])},join:function(y,M){var A=M.selectionLine,F=isNaN(M.selectionLineEnd)?A:M.selectionLineEnd;y.setCursor(new Oe(A,0)),On.joinLines(y,{repeat:F-A},y.state.vim)},delmarks:function(y,M){if(!M.argString||!oi(M.argString)){Nt(y,"Argument required");return}for(var A=y.state.vim,F=new Pe.StringStream(oi(M.argString));!F.eol();){F.eatSpace();var W=F.pos;if(!F.match(/[a-zA-Z]/,!1)){Nt(y,"Invalid argument: "+M.argString.substring(W));return}var z=F.next();if(F.match("-",!0)){if(!F.match(/[a-zA-Z]/,!1)){Nt(y,"Invalid argument: "+M.argString.substring(W));return}var G=z,Y=F.next();if(!(l(G)&&l(Y)||u(G)&&u(Y))){Nt(y,"Invalid argument: "+G+"-");return}var Z=G.charCodeAt(0),re=Y.charCodeAt(0);if(Z>=re){Nt(y,"Invalid argument: "+M.argString.substring(W));return}for(var se=0;se<=re-Z;se++){var ye=String.fromCharCode(Z+se);delete A.marks[ye]}}else delete A.marks[z]}}},yr=new vr;E("insertModeEscKeysTimeout",200,"number"),Pe.Vim=mt;var Mr={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"},hi=mt.handleKey.bind(mt);mt.handleKey=function(y,M,A){return y.operation(function(){return hi(y,M,A)},!0)},O(),r.CodeMirror=Pe;var di=mt.maybeInitVimState_;r.handler={$id:"ace/keyboard/vim",drawCursor:function(y,M,A,F,W){var z=this.state.vim||{},G=A.characterWidth,Y=A.lineHeight,Z=M.top,re=M.left;if(!z.insertMode){var se=F.cursor?ar.comparePoints(F.cursor,F.start)<=0:W.selection.isBackwards()||W.selection.isEmpty();!se&&re>G&&(re-=G)}!z.insertMode&&z.status&&(Y/=2,Z+=Y),Gi.translate(y,re,Z),Gi.setStyle(y.style,"width",G+"px"),Gi.setStyle(y.style,"height",Y+"px")},$getDirectionForHighlight:function(y){var M=y.state.cm,A=di(M);if(!A.insertMode)return y.session.selection.isBackwards()||y.session.selection.isEmpty()},handleKeyboard:function(y,M,A,F,W){var z=y.editor,G=z.state.cm,Y=di(G);if(F!=-1){if(Y.insertMode||(M==-1?(A.charCodeAt(0)>255&&y.inputKey&&(A=y.inputKey,A&&y.inputHash==4&&(A=A.toUpperCase())),y.inputChar=A):M==4||M==0?y.inputKey==A&&y.inputHash==M&&y.inputChar?(A=y.inputChar,M=-1):(y.inputChar=null,y.inputKey=A,y.inputHash=M):y.inputChar=y.inputKey=null),G.state.overwrite&&Y.insertMode&&A=="backspace"&&M==0)return{command:"gotoleft"};if(A=="c"&&M==1&&!Co.isMac&&z.getCopyText())return z.once("copy",function(){Y.insertMode?z.selection.clearSelection():G.operation(function(){_n(G)})}),{command:"null",passEvent:!0};if(A=="esc"&&!Y.insertMode&&!Y.visualMode&&!G.ace.inMultiSelectMode){var Z=An(G),re=Z.getOverlay();re&&G.removeOverlay(re)}if(M==-1||M&1||M===0&&A.length>1){var se=Y.insertMode,ye=Rs(M,A,W||{},Y);Y.status==null&&(Y.status="");var Ce=bo(G,ye,"user");return Y=di(G),Ce&&Y.status!=null?Y.status+=ye:Y.status==null&&(Y.status=""),G._signal("changeStatus"),!Ce&&(M!=-1||se)?void 0:{command:"null",passEvent:!Ce}}}},attach:function(y){function M(){var F=di(A).insertMode;A.ace.renderer.setStyle("normal-mode",!F),y.textInput.setCommandMode(!F),y.renderer.$keepTextAreaAtCursor=F,y.renderer.$blockCursor=!F}y.state||(y.state={});var A=new Pe(y);y.state.cm=A,y.$vimModeHandler=this,h(A),di(A).status=null,A.on("vim-command-done",function(){A.virtualSelectionMode()||(di(A).status=null,A.ace._signal("changeStatus"),A.ace.session.markUndoGroup())}),A.on("changeStatus",function(){A.ace.renderer.updateCursor(),A.ace._signal("changeStatus")}),A.on("vim-mode-change",function(){A.virtualSelectionMode()||(M(),A._signal("changeStatus"))}),M(),y.renderer.$cursorLayer.drawCursor=this.drawCursor.bind(A)},detach:function(y){var M=y.state.cm;g(M),M.destroy(),y.state.cm=null,y.$vimModeHandler=null,y.renderer.$cursorLayer.drawCursor=null,y.renderer.setStyle("normal-mode",!1),y.textInput.setCommandMode(!1),y.renderer.$keepTextAreaAtCursor=!0},getStatusText:function(y){var M=y.state.cm,A=di(M);if(A.insertMode)return"INSERT";var F="";return A.visualMode&&(F+="VISUAL",A.visualLine&&(F+=" LINE"),A.visualBlock&&(F+=" BLOCK")),A.status&&(F+=(F?" ":"")+A.status),F}},mt.defineOption({name:"wrap",set:function(y,M){M&&M.ace.setOption("wrap",y)},type:"boolean"},!1),mt.defineEx("write","w",function(){console.log(":write is not implemented")}),Sn.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"}}),Sn.push({keys:"gq",type:"operator",operator:"hardWrap"}),mt.defineOperator("hardWrap",function(y,M,A,F,W){var z=A[0].anchor.line,G=A[0].head.line;return M.linewise&&G--,ao(y.ace,{startRow:z,endRow:G}),Oe(G,0)}),E("textwidth",void 0,"number",["tw"],function(y,M){if(M!==void 0){if(y===void 0){var A=M.ace.getOption("printMarginColumn");return A}var F=Math.round(y);F>1&&M.ace.setOption("printMarginColumn",F)}}),On.aceCommand=function(y,M,A){y.vimCmd=M,y.ace.inVirtualSelectionMode?y.ace.on("beforeEndOperation",xi):xi(null,y.ace)},On.fold=function(y,M,A){y.ace.execCommand(["toggleFoldWidget","toggleFoldWidget","foldOther","unfoldall"][(M.all?2:0)+(M.open?1:0)])},_o=Sn.length,r.handler.defaultKeymap=Sn,r.handler.actions=On,r.Vim=mt}),function(){ace.require(["ace/keyboard/vim"],function(t){n&&(n.exports=t)})}()}(Ag)),Ag.exports}Pk();var Hl={exports:{}};/**
1463
+ * @license
1464
+ * Lodash <https://lodash.com/>
1465
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
1466
+ * Released under MIT license <https://lodash.com/license>
1467
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
1468
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1469
+ */var Wk=Hl.exports,$g;function Bk(){return $g||($g=1,function(n,e){(function(){var t,r="4.17.21",d=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",f="Expected a function",w="Invalid `variable` option passed into `_.template`",h="__lodash_hash_undefined__",g=500,o="__lodash_placeholder__",a=1,l=2,c=4,s=1,u=2,m=1,b=2,x=4,E=8,$=16,k=32,C=64,R=128,O=256,L=512,I=30,B="...",P=800,D=16,S=1,_=2,N=3,H=1/0,U=9007199254740991,q=17976931348623157e292,Q=NaN,te=4294967295,he=te-1,ne=te>>>1,le=[["ary",R],["bind",m],["bindKey",b],["curry",E],["curryRight",$],["flip",L],["partial",k],["partialRight",C],["rearg",O]],ue="[object Arguments]",ce="[object Array]",ge="[object AsyncFunction]",Se="[object Boolean]",$e="[object Date]",Te="[object DOMException]",Ze="[object Error]",qe="[object Function]",dt="[object GeneratorFunction]",ot="[object Map]",gt="[object Number]",tn="[object Null]",zn="[object Object]",Zt="[object Promise]",oi="[object Proxy]",kn="[object RegExp]",Yn="[object Set]",cr="[object String]",Rr="[object Symbol]",yt="[object Undefined]",Ge="[object WeakMap]",Ut="[object WeakSet]",mn="[object ArrayBuffer]",Xn="[object DataView]",Or="[object Float32Array]",kr="[object Float64Array]",_n="[object Int8Array]",ir="[object Int16Array]",ur="[object Int32Array]",nn="[object Uint8Array]",or="[object Uint8ClampedArray]",go="[object Uint16Array]",Wi="[object Uint32Array]",Bi=/\b__p \+= '';/g,zi=/\b(__p \+=) '' \+/g,mo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,mr=/&(?:amp|lt|gt|quot|#39);/g,vo=/[&<>"']/g,Ho=RegExp(mr.source),tl=RegExp(vo.source),si=/<%-([\s\S]+?)%>/g,nl=/<%([\s\S]+?)%>/g,Ss=/<%=([\s\S]+?)%>/g,ua=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hi=/^\w*$/,Hn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_r=/[\\^$.*+?()[\]{}|]/g,ji=RegExp(_r.source),An=/^\s+/,Ar=/\s/,ro=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ui=/\{\n\/\* \[wrapped with (.+)\] \*/,$s=/,? & /,ha=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,rl=/[()=,{}\[\]\/\s]/,il=/\\(\\)?/g,Vi=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ai=/\w*$/,Nt=/^[-+]0x[0-9a-f]+$/i,da=/^0b[01]+$/i,Sr=/^\[object .+?Constructor\]$/,jn=/^0o[0-7]+$/i,dn=/^(?:0|[1-9]\d*)$/,In=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,wi=/($^)/,$r=/['\n\r\u2028\u2029\\]/g,bi="\\ud800-\\udfff",jo="\\u0300-\\u036f",Ms="\\ufe20-\\ufe2f",io="\\u20d0-\\u20ff",Kr=jo+Ms+io,yo="\\u2700-\\u27bf",Uo="a-z\\xdf-\\xf6\\xf8-\\xff",qr="\\xac\\xb1\\xd7\\xf7",Vo="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ts="\\u2000-\\u206f",Es=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Go="A-Z\\xc0-\\xd6\\xd8-\\xde",sr="\\ufe0e\\ufe0f",Is=qr+Vo+Ts+Es,wo="['’]",Ko="["+bi+"]",qo="["+Is+"]",oo="["+Kr+"]",Ls="\\d+",pa="["+yo+"]",Yo="["+Uo+"]",Xo="[^"+bi+Is+Ls+yo+Uo+Go+"]",Rs="\\ud83c[\\udffb-\\udfff]",Zo="(?:"+oo+"|"+Rs+")",bo="[^"+bi+"]",xi="(?:\\ud83c[\\udde6-\\uddff]){2}",ar="[\\ud800-\\udbff][\\udc00-\\udfff]",so="["+Go+"]",Gi="\\u200d",fa="(?:"+Yo+"|"+Xo+")",ol="(?:"+so+"|"+Xo+")",xo="(?:"+wo+"(?:d|ll|m|re|s|t|ve))?",Ki="(?:"+wo+"(?:D|LL|M|RE|S|T|VE))?",Co=Zo+"?",Qo="["+sr+"]?",ko="(?:"+Gi+"(?:"+[bo,xi,ar].join("|")+")"+Qo+Co+")*",ga="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ao="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Pe=Qo+Co+ko,ma="(?:"+[pa,xi,ar].join("|")+")"+Pe,Oe="(?:"+[bo+oo+"?",oo,xi,ar,Ko].join("|")+")",Sn=RegExp(wo,"g"),_o=RegExp(oo,"g"),li=RegExp(Rs+"(?="+Rs+")|"+Oe+Pe,"g"),Un=RegExp([so+"?"+Yo+"+"+xo+"(?="+[qo,so,"$"].join("|")+")",ol+"+"+Ki+"(?="+[qo,so+fa,"$"].join("|")+")",so+"?"+fa+"+"+xo,so+"+"+Ki,ao,ga,Ls,ma].join("|"),"g"),va=RegExp("["+Gi+bi+Kr+sr+"]"),Ao=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ci=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lo=-1,qt={};qt[Or]=qt[kr]=qt[_n]=qt[ir]=qt[ur]=qt[nn]=qt[or]=qt[go]=qt[Wi]=!0,qt[ue]=qt[ce]=qt[mn]=qt[Se]=qt[Xn]=qt[$e]=qt[Ze]=qt[qe]=qt[ot]=qt[gt]=qt[zn]=qt[kn]=qt[Yn]=qt[cr]=qt[Ge]=!1;var Vt={};Vt[ue]=Vt[ce]=Vt[mn]=Vt[Xn]=Vt[Se]=Vt[$e]=Vt[Or]=Vt[kr]=Vt[_n]=Vt[ir]=Vt[ur]=Vt[ot]=Vt[gt]=Vt[zn]=Vt[kn]=Vt[Yn]=Vt[cr]=Vt[Rr]=Vt[nn]=Vt[or]=Vt[go]=Vt[Wi]=!0,Vt[Ze]=Vt[qe]=Vt[Ge]=!1;var Yt={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ft={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ki={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Ln={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ze=parseFloat,pn=parseInt,mt=typeof Wo=="object"&&Wo&&Wo.Object===Object&&Wo,Dr=typeof self=="object"&&self&&self.Object===Object&&self,on=mt||Dr||Function("return this")(),vn=e&&!e.nodeType&&e,Zn=vn&&!0&&n&&!n.nodeType&&n,Nr=Zn&&Zn.exports===vn,_i=Nr&&mt.process,Rn=function(){try{var pe=Zn&&Zn.require&&Zn.require("util").types;return pe||_i&&_i.binding&&_i.binding("util")}catch{}}(),Yr=Rn&&Rn.isArrayBuffer,Jo=Rn&&Rn.isDate,On=Rn&&Rn.isMap,ci=Rn&&Rn.isRegExp,ui=Rn&&Rn.isSet,Ai=Rn&&Rn.isTypedArray;function hr(pe,Ae,xe){switch(xe.length){case 0:return pe.call(Ae);case 1:return pe.call(Ae,xe[0]);case 2:return pe.call(Ae,xe[0],xe[1]);case 3:return pe.call(Ae,xe[0],xe[1],xe[2])}return pe.apply(Ae,xe)}function dr(pe,Ae,xe,je){for(var ct=-1,St=pe==null?0:pe.length;++ct<St;){var Ht=pe[ct];Ae(je,Ht,xe(Ht),pe)}return je}function vr(pe,Ae){for(var xe=-1,je=pe==null?0:pe.length;++xe<je&&Ae(pe[xe],xe,pe)!==!1;);return pe}function Os(pe,Ae){for(var xe=pe==null?0:pe.length;xe--&&Ae(pe[xe],xe,pe)!==!1;);return pe}function yr(pe,Ae){for(var xe=-1,je=pe==null?0:pe.length;++xe<je;)if(!Ae(pe[xe],xe,pe))return!1;return!0}function Mr(pe,Ae){for(var xe=-1,je=pe==null?0:pe.length,ct=0,St=[];++xe<je;){var Ht=pe[xe];Ae(Ht,xe,pe)&&(St[ct++]=Ht)}return St}function hi(pe,Ae){var xe=pe==null?0:pe.length;return!!xe&&se(pe,Ae,0)>-1}function di(pe,Ae,xe){for(var je=-1,ct=pe==null?0:pe.length;++je<ct;)if(xe(Ae,pe[je]))return!0;return!1}function y(pe,Ae){for(var xe=-1,je=pe==null?0:pe.length,ct=Array(je);++xe<je;)ct[xe]=Ae(pe[xe],xe,pe);return ct}function M(pe,Ae){for(var xe=-1,je=Ae.length,ct=pe.length;++xe<je;)pe[ct+xe]=Ae[xe];return pe}function A(pe,Ae,xe,je){var ct=-1,St=pe==null?0:pe.length;for(je&&St&&(xe=pe[++ct]);++ct<St;)xe=Ae(xe,pe[ct],ct,pe);return xe}function F(pe,Ae,xe,je){var ct=pe==null?0:pe.length;for(je&&ct&&(xe=pe[--ct]);ct--;)xe=Ae(xe,pe[ct],ct,pe);return xe}function W(pe,Ae){for(var xe=-1,je=pe==null?0:pe.length;++xe<je;)if(Ae(pe[xe],xe,pe))return!0;return!1}var z=we("length");function G(pe){return pe.split("")}function Y(pe){return pe.match(ha)||[]}function Z(pe,Ae,xe){var je;return xe(pe,function(ct,St,Ht){if(Ae(ct,St,Ht))return je=St,!1}),je}function re(pe,Ae,xe,je){for(var ct=pe.length,St=xe+(je?1:-1);je?St--:++St<ct;)if(Ae(pe[St],St,pe))return St;return-1}function se(pe,Ae,xe){return Ae===Ae?Qe(pe,Ae,xe):re(pe,Ce,xe)}function ye(pe,Ae,xe,je){for(var ct=xe-1,St=pe.length;++ct<St;)if(je(pe[ct],Ae))return ct;return-1}function Ce(pe){return pe!==pe}function me(pe,Ae){var xe=pe==null?0:pe.length;return xe?at(pe,Ae)/xe:Q}function we(pe){return function(Ae){return Ae==null?t:Ae[pe]}}function Re(pe){return function(Ae){return pe==null?t:pe[Ae]}}function Le(pe,Ae,xe,je,ct){return ct(pe,function(St,Ht,Tt){xe=je?(je=!1,St):Ae(xe,St,Ht,Tt)}),xe}function Ue(pe,Ae){var xe=pe.length;for(pe.sort(Ae);xe--;)pe[xe]=pe[xe].value;return pe}function at(pe,Ae){for(var xe,je=-1,ct=pe.length;++je<ct;){var St=Ae(pe[je]);St!==t&&(xe=xe===t?St:xe+St)}return xe}function Xe(pe,Ae){for(var xe=-1,je=Array(pe);++xe<pe;)je[xe]=Ae(xe);return je}function rt(pe,Ae){return y(Ae,function(xe){return[xe,pe[xe]]})}function fn(pe){return pe&&pe.slice(0,It(pe)+1).replace(An,"")}function lt(pe){return function(Ae){return pe(Ae)}}function wn(pe,Ae){return y(Ae,function(xe){return pe[xe]})}function bt(pe,Ae){return pe.has(Ae)}function At(pe,Ae){for(var xe=-1,je=pe.length;++xe<je&&se(Ae,pe[xe],0)>-1;);return xe}function Qn(pe,Ae){for(var xe=pe.length;xe--&&se(Ae,pe[xe],0)>-1;);return xe}function pr(pe,Ae){for(var xe=pe.length,je=0;xe--;)pe[xe]===Ae&&++je;return je}var bn=Re(Yt),V=Re(Ft);function X(pe){return"\\"+Ln[pe]}function ie(pe,Ae){return pe==null?t:pe[Ae]}function oe(pe){return va.test(pe)}function fe(pe){return Ao.test(pe)}function be(pe){for(var Ae,xe=[];!(Ae=pe.next()).done;)xe.push(Ae.value);return xe}function Me(pe){var Ae=-1,xe=Array(pe.size);return pe.forEach(function(je,ct){xe[++Ae]=[ct,je]}),xe}function Fe(pe,Ae){return function(xe){return pe(Ae(xe))}}function We(pe,Ae){for(var xe=-1,je=pe.length,ct=0,St=[];++xe<je;){var Ht=pe[xe];(Ht===Ae||Ht===o)&&(pe[xe]=o,St[ct++]=xe)}return St}function Ve(pe){var Ae=-1,xe=Array(pe.size);return pe.forEach(function(je){xe[++Ae]=je}),xe}function Ye(pe){var Ae=-1,xe=Array(pe.size);return pe.forEach(function(je){xe[++Ae]=[je,je]}),xe}function Qe(pe,Ae,xe){for(var je=xe-1,ct=pe.length;++je<ct;)if(pe[je]===Ae)return je;return-1}function vt(pe,Ae,xe){for(var je=xe+1;je--;)if(pe[je]===Ae)return je;return je}function Rt(pe){return oe(pe)?st(pe):z(pe)}function xt(pe){return oe(pe)?cn(pe):G(pe)}function It(pe){for(var Ae=pe.length;Ae--&&Ar.test(pe.charAt(Ae)););return Ae}var ut=Re(ki);function st(pe){for(var Ae=li.lastIndex=0;li.test(pe);)++Ae;return Ae}function cn(pe){return pe.match(li)||[]}function xn(pe){return pe.match(Un)||[]}var Jn=function pe(Ae){Ae=Ae==null?on:Bt.defaults(on.Object(),Ae,Bt.pick(on,Ci));var xe=Ae.Array,je=Ae.Date,ct=Ae.Error,St=Ae.Function,Ht=Ae.Math,Tt=Ae.Object,Fr=Ae.RegExp,Si=Ae.String,sn=Ae.TypeError,fr=xe.prototype,So=St.prototype,Dn=Tt.prototype,Ds=Ae["__core-js_shared__"],Ec=So.toString,rn=Dn.hasOwnProperty,$I=0,E0=function(){var i=/[^.]+$/.exec(Ds&&Ds.keys&&Ds.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}(),Ic=Dn.toString,MI=Ec.call(Tt),TI=on._,EI=Fr("^"+Ec.call(rn).replace(_r,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Lc=Nr?Ae.Buffer:t,es=Ae.Symbol,Rc=Ae.Uint8Array,I0=Lc?Lc.allocUnsafe:t,Oc=Fe(Tt.getPrototypeOf,Tt),L0=Tt.create,R0=Dn.propertyIsEnumerable,Dc=fr.splice,O0=es?es.isConcatSpreadable:t,sl=es?es.iterator:t,Ns=es?es.toStringTag:t,Nc=function(){try{var i=zs(Tt,"defineProperty");return i({},"",{}),i}catch{}}(),II=Ae.clearTimeout!==on.clearTimeout&&Ae.clearTimeout,LI=je&&je.now!==on.Date.now&&je.now,RI=Ae.setTimeout!==on.setTimeout&&Ae.setTimeout,Fc=Ht.ceil,Pc=Ht.floor,Ed=Tt.getOwnPropertySymbols,OI=Lc?Lc.isBuffer:t,D0=Ae.isFinite,DI=fr.join,NI=Fe(Tt.keys,Tt),lr=Ht.max,Tr=Ht.min,FI=je.now,PI=Ae.parseInt,N0=Ht.random,WI=fr.reverse,Id=zs(Ae,"DataView"),al=zs(Ae,"Map"),Ld=zs(Ae,"Promise"),ya=zs(Ae,"Set"),ll=zs(Ae,"WeakMap"),cl=zs(Tt,"create"),Wc=ll&&new ll,wa={},BI=Hs(Id),zI=Hs(al),HI=Hs(Ld),jI=Hs(ya),UI=Hs(ll),Bc=es?es.prototype:t,ul=Bc?Bc.valueOf:t,F0=Bc?Bc.toString:t;function J(i){if(Nn(i)&&!Ct(i)&&!(i instanceof Pt)){if(i instanceof $i)return i;if(rn.call(i,"__wrapped__"))return Pw(i)}return new $i(i)}var ba=function(){function i(){}return function(v){if(!$n(v))return{};if(L0)return L0(v);i.prototype=v;var T=new i;return i.prototype=t,T}}();function zc(){}function $i(i,v){this.__wrapped__=i,this.__actions__=[],this.__chain__=!!v,this.__index__=0,this.__values__=t}J.templateSettings={escape:si,evaluate:nl,interpolate:Ss,variable:"",imports:{_:J}},J.prototype=zc.prototype,J.prototype.constructor=J,$i.prototype=ba(zc.prototype),$i.prototype.constructor=$i;function Pt(i){this.__wrapped__=i,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=te,this.__views__=[]}function VI(){var i=new Pt(this.__wrapped__);return i.__actions__=Xr(this.__actions__),i.__dir__=this.__dir__,i.__filtered__=this.__filtered__,i.__iteratees__=Xr(this.__iteratees__),i.__takeCount__=this.__takeCount__,i.__views__=Xr(this.__views__),i}function GI(){if(this.__filtered__){var i=new Pt(this);i.__dir__=-1,i.__filtered__=!0}else i=this.clone(),i.__dir__*=-1;return i}function KI(){var i=this.__wrapped__.value(),v=this.__dir__,T=Ct(i),j=v<0,K=T?i.length:0,ee=oR(0,K,this.__views__),ae=ee.start,de=ee.end,ve=de-ae,Ee=j?de:ae-1,Ie=this.__iteratees__,De=Ie.length,Ke=0,it=Tr(ve,this.__takeCount__);if(!T||!j&&K==ve&&it==ve)return aw(i,this.__actions__);var pt=[];e:for(;ve--&&Ke<it;){Ee+=v;for(var Et=-1,ft=i[Ee];++Et<De;){var Ot=Ie[Et],zt=Ot.iteratee,gi=Ot.type,Br=zt(ft);if(gi==_)ft=Br;else if(!Br){if(gi==S)continue e;break e}}pt[Ke++]=ft}return pt}Pt.prototype=ba(zc.prototype),Pt.prototype.constructor=Pt;function Fs(i){var v=-1,T=i==null?0:i.length;for(this.clear();++v<T;){var j=i[v];this.set(j[0],j[1])}}function qI(){this.__data__=cl?cl(null):{},this.size=0}function YI(i){var v=this.has(i)&&delete this.__data__[i];return this.size-=v?1:0,v}function XI(i){var v=this.__data__;if(cl){var T=v[i];return T===h?t:T}return rn.call(v,i)?v[i]:t}function ZI(i){var v=this.__data__;return cl?v[i]!==t:rn.call(v,i)}function QI(i,v){var T=this.__data__;return this.size+=this.has(i)?0:1,T[i]=cl&&v===t?h:v,this}Fs.prototype.clear=qI,Fs.prototype.delete=YI,Fs.prototype.get=XI,Fs.prototype.has=ZI,Fs.prototype.set=QI;function $o(i){var v=-1,T=i==null?0:i.length;for(this.clear();++v<T;){var j=i[v];this.set(j[0],j[1])}}function JI(){this.__data__=[],this.size=0}function eL(i){var v=this.__data__,T=Hc(v,i);if(T<0)return!1;var j=v.length-1;return T==j?v.pop():Dc.call(v,T,1),--this.size,!0}function tL(i){var v=this.__data__,T=Hc(v,i);return T<0?t:v[T][1]}function nL(i){return Hc(this.__data__,i)>-1}function rL(i,v){var T=this.__data__,j=Hc(T,i);return j<0?(++this.size,T.push([i,v])):T[j][1]=v,this}$o.prototype.clear=JI,$o.prototype.delete=eL,$o.prototype.get=tL,$o.prototype.has=nL,$o.prototype.set=rL;function Mo(i){var v=-1,T=i==null?0:i.length;for(this.clear();++v<T;){var j=i[v];this.set(j[0],j[1])}}function iL(){this.size=0,this.__data__={hash:new Fs,map:new(al||$o),string:new Fs}}function oL(i){var v=eu(this,i).delete(i);return this.size-=v?1:0,v}function sL(i){return eu(this,i).get(i)}function aL(i){return eu(this,i).has(i)}function lL(i,v){var T=eu(this,i),j=T.size;return T.set(i,v),this.size+=T.size==j?0:1,this}Mo.prototype.clear=iL,Mo.prototype.delete=oL,Mo.prototype.get=sL,Mo.prototype.has=aL,Mo.prototype.set=lL;function Ps(i){var v=-1,T=i==null?0:i.length;for(this.__data__=new Mo;++v<T;)this.add(i[v])}function cL(i){return this.__data__.set(i,h),this}function uL(i){return this.__data__.has(i)}Ps.prototype.add=Ps.prototype.push=cL,Ps.prototype.has=uL;function qi(i){var v=this.__data__=new $o(i);this.size=v.size}function hL(){this.__data__=new $o,this.size=0}function dL(i){var v=this.__data__,T=v.delete(i);return this.size=v.size,T}function pL(i){return this.__data__.get(i)}function fL(i){return this.__data__.has(i)}function gL(i,v){var T=this.__data__;if(T instanceof $o){var j=T.__data__;if(!al||j.length<d-1)return j.push([i,v]),this.size=++T.size,this;T=this.__data__=new Mo(j)}return T.set(i,v),this.size=T.size,this}qi.prototype.clear=hL,qi.prototype.delete=dL,qi.prototype.get=pL,qi.prototype.has=fL,qi.prototype.set=gL;function P0(i,v){var T=Ct(i),j=!T&&js(i),K=!T&&!j&&os(i),ee=!T&&!j&&!K&&_a(i),ae=T||j||K||ee,de=ae?Xe(i.length,Si):[],ve=de.length;for(var Ee in i)(v||rn.call(i,Ee))&&!(ae&&(Ee=="length"||K&&(Ee=="offset"||Ee=="parent")||ee&&(Ee=="buffer"||Ee=="byteLength"||Ee=="byteOffset")||Lo(Ee,ve)))&&de.push(Ee);return de}function W0(i){var v=i.length;return v?i[jd(0,v-1)]:t}function mL(i,v){return tu(Xr(i),Ws(v,0,i.length))}function vL(i){return tu(Xr(i))}function Rd(i,v,T){(T!==t&&!Yi(i[v],T)||T===t&&!(v in i))&&To(i,v,T)}function hl(i,v,T){var j=i[v];(!(rn.call(i,v)&&Yi(j,T))||T===t&&!(v in i))&&To(i,v,T)}function Hc(i,v){for(var T=i.length;T--;)if(Yi(i[T][0],v))return T;return-1}function yL(i,v,T,j){return ts(i,function(K,ee,ae){v(j,K,T(K),ae)}),j}function B0(i,v){return i&&uo(v,gr(v),i)}function wL(i,v){return i&&uo(v,Qr(v),i)}function To(i,v,T){v=="__proto__"&&Nc?Nc(i,v,{configurable:!0,enumerable:!0,value:T,writable:!0}):i[v]=T}function Od(i,v){for(var T=-1,j=v.length,K=xe(j),ee=i==null;++T<j;)K[T]=ee?t:fp(i,v[T]);return K}function Ws(i,v,T){return i===i&&(T!==t&&(i=i<=T?i:T),v!==t&&(i=i>=v?i:v)),i}function Mi(i,v,T,j,K,ee){var ae,de=v&a,ve=v&l,Ee=v&c;if(T&&(ae=K?T(i,j,K,ee):T(i)),ae!==t)return ae;if(!$n(i))return i;var Ie=Ct(i);if(Ie){if(ae=aR(i),!de)return Xr(i,ae)}else{var De=Er(i),Ke=De==qe||De==dt;if(os(i))return uw(i,de);if(De==zn||De==ue||Ke&&!K){if(ae=ve||Ke?{}:Tw(i),!de)return ve?XL(i,wL(ae,i)):YL(i,B0(ae,i))}else{if(!Vt[De])return K?i:{};ae=lR(i,De,de)}}ee||(ee=new qi);var it=ee.get(i);if(it)return it;ee.set(i,ae),ib(i)?i.forEach(function(ft){ae.add(Mi(ft,v,T,ft,i,ee))}):nb(i)&&i.forEach(function(ft,Ot){ae.set(Ot,Mi(ft,v,T,Ot,i,ee))});var pt=Ee?ve?ep:Jd:ve?Qr:gr,Et=Ie?t:pt(i);return vr(Et||i,function(ft,Ot){Et&&(Ot=ft,ft=i[Ot]),hl(ae,Ot,Mi(ft,v,T,Ot,i,ee))}),ae}function bL(i){var v=gr(i);return function(T){return z0(T,i,v)}}function z0(i,v,T){var j=T.length;if(i==null)return!j;for(i=Tt(i);j--;){var K=T[j],ee=v[K],ae=i[K];if(ae===t&&!(K in i)||!ee(ae))return!1}return!0}function H0(i,v,T){if(typeof i!="function")throw new sn(f);return yl(function(){i.apply(t,T)},v)}function dl(i,v,T,j){var K=-1,ee=hi,ae=!0,de=i.length,ve=[],Ee=v.length;if(!de)return ve;T&&(v=y(v,lt(T))),j?(ee=di,ae=!1):v.length>=d&&(ee=bt,ae=!1,v=new Ps(v));e:for(;++K<de;){var Ie=i[K],De=T==null?Ie:T(Ie);if(Ie=j||Ie!==0?Ie:0,ae&&De===De){for(var Ke=Ee;Ke--;)if(v[Ke]===De)continue e;ve.push(Ie)}else ee(v,De,j)||ve.push(Ie)}return ve}var ts=gw(co),j0=gw(Nd,!0);function xL(i,v){var T=!0;return ts(i,function(j,K,ee){return T=!!v(j,K,ee),T}),T}function jc(i,v,T){for(var j=-1,K=i.length;++j<K;){var ee=i[j],ae=v(ee);if(ae!=null&&(de===t?ae===ae&&!fi(ae):T(ae,de)))var de=ae,ve=ee}return ve}function CL(i,v,T,j){var K=i.length;for(T=$t(T),T<0&&(T=-T>K?0:K+T),j=j===t||j>K?K:$t(j),j<0&&(j+=K),j=T>j?0:sb(j);T<j;)i[T++]=v;return i}function U0(i,v){var T=[];return ts(i,function(j,K,ee){v(j,K,ee)&&T.push(j)}),T}function wr(i,v,T,j,K){var ee=-1,ae=i.length;for(T||(T=uR),K||(K=[]);++ee<ae;){var de=i[ee];v>0&&T(de)?v>1?wr(de,v-1,T,j,K):M(K,de):j||(K[K.length]=de)}return K}var Dd=mw(),V0=mw(!0);function co(i,v){return i&&Dd(i,v,gr)}function Nd(i,v){return i&&V0(i,v,gr)}function Uc(i,v){return Mr(v,function(T){return Ro(i[T])})}function Bs(i,v){v=rs(v,i);for(var T=0,j=v.length;i!=null&&T<j;)i=i[ho(v[T++])];return T&&T==j?i:t}function G0(i,v,T){var j=v(i);return Ct(i)?j:M(j,T(i))}function Pr(i){return i==null?i===t?yt:tn:Ns&&Ns in Tt(i)?iR(i):vR(i)}function Fd(i,v){return i>v}function kL(i,v){return i!=null&&rn.call(i,v)}function _L(i,v){return i!=null&&v in Tt(i)}function AL(i,v,T){return i>=Tr(v,T)&&i<lr(v,T)}function Pd(i,v,T){for(var j=T?di:hi,K=i[0].length,ee=i.length,ae=ee,de=xe(ee),ve=1/0,Ee=[];ae--;){var Ie=i[ae];ae&&v&&(Ie=y(Ie,lt(v))),ve=Tr(Ie.length,ve),de[ae]=!T&&(v||K>=120&&Ie.length>=120)?new Ps(ae&&Ie):t}Ie=i[0];var De=-1,Ke=de[0];e:for(;++De<K&&Ee.length<ve;){var it=Ie[De],pt=v?v(it):it;if(it=T||it!==0?it:0,!(Ke?bt(Ke,pt):j(Ee,pt,T))){for(ae=ee;--ae;){var Et=de[ae];if(!(Et?bt(Et,pt):j(i[ae],pt,T)))continue e}Ke&&Ke.push(pt),Ee.push(it)}}return Ee}function SL(i,v,T,j){return co(i,function(K,ee,ae){v(j,T(K),ee,ae)}),j}function pl(i,v,T){v=rs(v,i),i=Rw(i,v);var j=i==null?i:i[ho(Ei(v))];return j==null?t:hr(j,i,T)}function K0(i){return Nn(i)&&Pr(i)==ue}function $L(i){return Nn(i)&&Pr(i)==mn}function ML(i){return Nn(i)&&Pr(i)==$e}function fl(i,v,T,j,K){return i===v?!0:i==null||v==null||!Nn(i)&&!Nn(v)?i!==i&&v!==v:TL(i,v,T,j,fl,K)}function TL(i,v,T,j,K,ee){var ae=Ct(i),de=Ct(v),ve=ae?ce:Er(i),Ee=de?ce:Er(v);ve=ve==ue?zn:ve,Ee=Ee==ue?zn:Ee;var Ie=ve==zn,De=Ee==zn,Ke=ve==Ee;if(Ke&&os(i)){if(!os(v))return!1;ae=!0,Ie=!1}if(Ke&&!Ie)return ee||(ee=new qi),ae||_a(i)?Sw(i,v,T,j,K,ee):nR(i,v,ve,T,j,K,ee);if(!(T&s)){var it=Ie&&rn.call(i,"__wrapped__"),pt=De&&rn.call(v,"__wrapped__");if(it||pt){var Et=it?i.value():i,ft=pt?v.value():v;return ee||(ee=new qi),K(Et,ft,T,j,ee)}}return Ke?(ee||(ee=new qi),rR(i,v,T,j,K,ee)):!1}function EL(i){return Nn(i)&&Er(i)==ot}function Wd(i,v,T,j){var K=T.length,ee=K,ae=!j;if(i==null)return!ee;for(i=Tt(i);K--;){var de=T[K];if(ae&&de[2]?de[1]!==i[de[0]]:!(de[0]in i))return!1}for(;++K<ee;){de=T[K];var ve=de[0],Ee=i[ve],Ie=de[1];if(ae&&de[2]){if(Ee===t&&!(ve in i))return!1}else{var De=new qi;if(j)var Ke=j(Ee,Ie,ve,i,v,De);if(!(Ke===t?fl(Ie,Ee,s|u,j,De):Ke))return!1}}return!0}function q0(i){if(!$n(i)||dR(i))return!1;var v=Ro(i)?EI:Sr;return v.test(Hs(i))}function IL(i){return Nn(i)&&Pr(i)==kn}function LL(i){return Nn(i)&&Er(i)==Yn}function RL(i){return Nn(i)&&au(i.length)&&!!qt[Pr(i)]}function Y0(i){return typeof i=="function"?i:i==null?Jr:typeof i=="object"?Ct(i)?Q0(i[0],i[1]):Z0(i):vb(i)}function Bd(i){if(!vl(i))return NI(i);var v=[];for(var T in Tt(i))rn.call(i,T)&&T!="constructor"&&v.push(T);return v}function OL(i){if(!$n(i))return mR(i);var v=vl(i),T=[];for(var j in i)j=="constructor"&&(v||!rn.call(i,j))||T.push(j);return T}function zd(i,v){return i<v}function X0(i,v){var T=-1,j=Zr(i)?xe(i.length):[];return ts(i,function(K,ee,ae){j[++T]=v(K,ee,ae)}),j}function Z0(i){var v=np(i);return v.length==1&&v[0][2]?Iw(v[0][0],v[0][1]):function(T){return T===i||Wd(T,i,v)}}function Q0(i,v){return ip(i)&&Ew(v)?Iw(ho(i),v):function(T){var j=fp(T,i);return j===t&&j===v?gp(T,i):fl(v,j,s|u)}}function Vc(i,v,T,j,K){i!==v&&Dd(v,function(ee,ae){if(K||(K=new qi),$n(ee))DL(i,v,ae,T,Vc,j,K);else{var de=j?j(sp(i,ae),ee,ae+"",i,v,K):t;de===t&&(de=ee),Rd(i,ae,de)}},Qr)}function DL(i,v,T,j,K,ee,ae){var de=sp(i,T),ve=sp(v,T),Ee=ae.get(ve);if(Ee){Rd(i,T,Ee);return}var Ie=ee?ee(de,ve,T+"",i,v,ae):t,De=Ie===t;if(De){var Ke=Ct(ve),it=!Ke&&os(ve),pt=!Ke&&!it&&_a(ve);Ie=ve,Ke||it||pt?Ct(de)?Ie=de:Vn(de)?Ie=Xr(de):it?(De=!1,Ie=uw(ve,!0)):pt?(De=!1,Ie=hw(ve,!0)):Ie=[]:wl(ve)||js(ve)?(Ie=de,js(de)?Ie=ab(de):(!$n(de)||Ro(de))&&(Ie=Tw(ve))):De=!1}De&&(ae.set(ve,Ie),K(Ie,ve,j,ee,ae),ae.delete(ve)),Rd(i,T,Ie)}function J0(i,v){var T=i.length;if(T)return v+=v<0?T:0,Lo(v,T)?i[v]:t}function ew(i,v,T){v.length?v=y(v,function(ee){return Ct(ee)?function(ae){return Bs(ae,ee.length===1?ee[0]:ee)}:ee}):v=[Jr];var j=-1;v=y(v,lt(ht()));var K=X0(i,function(ee,ae,de){var ve=y(v,function(Ee){return Ee(ee)});return{criteria:ve,index:++j,value:ee}});return Ue(K,function(ee,ae){return qL(ee,ae,T)})}function NL(i,v){return tw(i,v,function(T,j){return gp(i,j)})}function tw(i,v,T){for(var j=-1,K=v.length,ee={};++j<K;){var ae=v[j],de=Bs(i,ae);T(de,ae)&&gl(ee,rs(ae,i),de)}return ee}function FL(i){return function(v){return Bs(v,i)}}function Hd(i,v,T,j){var K=j?ye:se,ee=-1,ae=v.length,de=i;for(i===v&&(v=Xr(v)),T&&(de=y(i,lt(T)));++ee<ae;)for(var ve=0,Ee=v[ee],Ie=T?T(Ee):Ee;(ve=K(de,Ie,ve,j))>-1;)de!==i&&Dc.call(de,ve,1),Dc.call(i,ve,1);return i}function nw(i,v){for(var T=i?v.length:0,j=T-1;T--;){var K=v[T];if(T==j||K!==ee){var ee=K;Lo(K)?Dc.call(i,K,1):Gd(i,K)}}return i}function jd(i,v){return i+Pc(N0()*(v-i+1))}function PL(i,v,T,j){for(var K=-1,ee=lr(Fc((v-i)/(T||1)),0),ae=xe(ee);ee--;)ae[j?ee:++K]=i,i+=T;return ae}function Ud(i,v){var T="";if(!i||v<1||v>U)return T;do v%2&&(T+=i),v=Pc(v/2),v&&(i+=i);while(v);return T}function Lt(i,v){return ap(Lw(i,v,Jr),i+"")}function WL(i){return W0(Aa(i))}function BL(i,v){var T=Aa(i);return tu(T,Ws(v,0,T.length))}function gl(i,v,T,j){if(!$n(i))return i;v=rs(v,i);for(var K=-1,ee=v.length,ae=ee-1,de=i;de!=null&&++K<ee;){var ve=ho(v[K]),Ee=T;if(ve==="__proto__"||ve==="constructor"||ve==="prototype")return i;if(K!=ae){var Ie=de[ve];Ee=j?j(Ie,ve,de):t,Ee===t&&(Ee=$n(Ie)?Ie:Lo(v[K+1])?[]:{})}hl(de,ve,Ee),de=de[ve]}return i}var rw=Wc?function(i,v){return Wc.set(i,v),i}:Jr,zL=Nc?function(i,v){return Nc(i,"toString",{configurable:!0,enumerable:!1,value:vp(v),writable:!0})}:Jr;function HL(i){return tu(Aa(i))}function Ti(i,v,T){var j=-1,K=i.length;v<0&&(v=-v>K?0:K+v),T=T>K?K:T,T<0&&(T+=K),K=v>T?0:T-v>>>0,v>>>=0;for(var ee=xe(K);++j<K;)ee[j]=i[j+v];return ee}function jL(i,v){var T;return ts(i,function(j,K,ee){return T=v(j,K,ee),!T}),!!T}function Gc(i,v,T){var j=0,K=i==null?j:i.length;if(typeof v=="number"&&v===v&&K<=ne){for(;j<K;){var ee=j+K>>>1,ae=i[ee];ae!==null&&!fi(ae)&&(T?ae<=v:ae<v)?j=ee+1:K=ee}return K}return Vd(i,v,Jr,T)}function Vd(i,v,T,j){var K=0,ee=i==null?0:i.length;if(ee===0)return 0;v=T(v);for(var ae=v!==v,de=v===null,ve=fi(v),Ee=v===t;K<ee;){var Ie=Pc((K+ee)/2),De=T(i[Ie]),Ke=De!==t,it=De===null,pt=De===De,Et=fi(De);if(ae)var ft=j||pt;else Ee?ft=pt&&(j||Ke):de?ft=pt&&Ke&&(j||!it):ve?ft=pt&&Ke&&!it&&(j||!Et):it||Et?ft=!1:ft=j?De<=v:De<v;ft?K=Ie+1:ee=Ie}return Tr(ee,he)}function iw(i,v){for(var T=-1,j=i.length,K=0,ee=[];++T<j;){var ae=i[T],de=v?v(ae):ae;if(!T||!Yi(de,ve)){var ve=de;ee[K++]=ae===0?0:ae}}return ee}function ow(i){return typeof i=="number"?i:fi(i)?Q:+i}function pi(i){if(typeof i=="string")return i;if(Ct(i))return y(i,pi)+"";if(fi(i))return F0?F0.call(i):"";var v=i+"";return v=="0"&&1/i==-H?"-0":v}function ns(i,v,T){var j=-1,K=hi,ee=i.length,ae=!0,de=[],ve=de;if(T)ae=!1,K=di;else if(ee>=d){var Ee=v?null:eR(i);if(Ee)return Ve(Ee);ae=!1,K=bt,ve=new Ps}else ve=v?[]:de;e:for(;++j<ee;){var Ie=i[j],De=v?v(Ie):Ie;if(Ie=T||Ie!==0?Ie:0,ae&&De===De){for(var Ke=ve.length;Ke--;)if(ve[Ke]===De)continue e;v&&ve.push(De),de.push(Ie)}else K(ve,De,T)||(ve!==de&&ve.push(De),de.push(Ie))}return de}function Gd(i,v){return v=rs(v,i),i=Rw(i,v),i==null||delete i[ho(Ei(v))]}function sw(i,v,T,j){return gl(i,v,T(Bs(i,v)),j)}function Kc(i,v,T,j){for(var K=i.length,ee=j?K:-1;(j?ee--:++ee<K)&&v(i[ee],ee,i););return T?Ti(i,j?0:ee,j?ee+1:K):Ti(i,j?ee+1:0,j?K:ee)}function aw(i,v){var T=i;return T instanceof Pt&&(T=T.value()),A(v,function(j,K){return K.func.apply(K.thisArg,M([j],K.args))},T)}function Kd(i,v,T){var j=i.length;if(j<2)return j?ns(i[0]):[];for(var K=-1,ee=xe(j);++K<j;)for(var ae=i[K],de=-1;++de<j;)de!=K&&(ee[K]=dl(ee[K]||ae,i[de],v,T));return ns(wr(ee,1),v,T)}function lw(i,v,T){for(var j=-1,K=i.length,ee=v.length,ae={};++j<K;){var de=j<ee?v[j]:t;T(ae,i[j],de)}return ae}function qd(i){return Vn(i)?i:[]}function Yd(i){return typeof i=="function"?i:Jr}function rs(i,v){return Ct(i)?i:ip(i,v)?[i]:Fw(Qt(i))}var UL=Lt;function is(i,v,T){var j=i.length;return T=T===t?j:T,!v&&T>=j?i:Ti(i,v,T)}var cw=II||function(i){return on.clearTimeout(i)};function uw(i,v){if(v)return i.slice();var T=i.length,j=I0?I0(T):new i.constructor(T);return i.copy(j),j}function Xd(i){var v=new i.constructor(i.byteLength);return new Rc(v).set(new Rc(i)),v}function VL(i,v){var T=v?Xd(i.buffer):i.buffer;return new i.constructor(T,i.byteOffset,i.byteLength)}function GL(i){var v=new i.constructor(i.source,ai.exec(i));return v.lastIndex=i.lastIndex,v}function KL(i){return ul?Tt(ul.call(i)):{}}function hw(i,v){var T=v?Xd(i.buffer):i.buffer;return new i.constructor(T,i.byteOffset,i.length)}function dw(i,v){if(i!==v){var T=i!==t,j=i===null,K=i===i,ee=fi(i),ae=v!==t,de=v===null,ve=v===v,Ee=fi(v);if(!de&&!Ee&&!ee&&i>v||ee&&ae&&ve&&!de&&!Ee||j&&ae&&ve||!T&&ve||!K)return 1;if(!j&&!ee&&!Ee&&i<v||Ee&&T&&K&&!j&&!ee||de&&T&&K||!ae&&K||!ve)return-1}return 0}function qL(i,v,T){for(var j=-1,K=i.criteria,ee=v.criteria,ae=K.length,de=T.length;++j<ae;){var ve=dw(K[j],ee[j]);if(ve){if(j>=de)return ve;var Ee=T[j];return ve*(Ee=="desc"?-1:1)}}return i.index-v.index}function pw(i,v,T,j){for(var K=-1,ee=i.length,ae=T.length,de=-1,ve=v.length,Ee=lr(ee-ae,0),Ie=xe(ve+Ee),De=!j;++de<ve;)Ie[de]=v[de];for(;++K<ae;)(De||K<ee)&&(Ie[T[K]]=i[K]);for(;Ee--;)Ie[de++]=i[K++];return Ie}function fw(i,v,T,j){for(var K=-1,ee=i.length,ae=-1,de=T.length,ve=-1,Ee=v.length,Ie=lr(ee-de,0),De=xe(Ie+Ee),Ke=!j;++K<Ie;)De[K]=i[K];for(var it=K;++ve<Ee;)De[it+ve]=v[ve];for(;++ae<de;)(Ke||K<ee)&&(De[it+T[ae]]=i[K++]);return De}function Xr(i,v){var T=-1,j=i.length;for(v||(v=xe(j));++T<j;)v[T]=i[T];return v}function uo(i,v,T,j){var K=!T;T||(T={});for(var ee=-1,ae=v.length;++ee<ae;){var de=v[ee],ve=j?j(T[de],i[de],de,T,i):t;ve===t&&(ve=i[de]),K?To(T,de,ve):hl(T,de,ve)}return T}function YL(i,v){return uo(i,rp(i),v)}function XL(i,v){return uo(i,$w(i),v)}function qc(i,v){return function(T,j){var K=Ct(T)?dr:yL,ee=v?v():{};return K(T,i,ht(j,2),ee)}}function xa(i){return Lt(function(v,T){var j=-1,K=T.length,ee=K>1?T[K-1]:t,ae=K>2?T[2]:t;for(ee=i.length>3&&typeof ee=="function"?(K--,ee):t,ae&&Wr(T[0],T[1],ae)&&(ee=K<3?t:ee,K=1),v=Tt(v);++j<K;){var de=T[j];de&&i(v,de,j,ee)}return v})}function gw(i,v){return function(T,j){if(T==null)return T;if(!Zr(T))return i(T,j);for(var K=T.length,ee=v?K:-1,ae=Tt(T);(v?ee--:++ee<K)&&j(ae[ee],ee,ae)!==!1;);return T}}function mw(i){return function(v,T,j){for(var K=-1,ee=Tt(v),ae=j(v),de=ae.length;de--;){var ve=ae[i?de:++K];if(T(ee[ve],ve,ee)===!1)break}return v}}function ZL(i,v,T){var j=v&m,K=ml(i);function ee(){var ae=this&&this!==on&&this instanceof ee?K:i;return ae.apply(j?T:this,arguments)}return ee}function vw(i){return function(v){v=Qt(v);var T=oe(v)?xt(v):t,j=T?T[0]:v.charAt(0),K=T?is(T,1).join(""):v.slice(1);return j[i]()+K}}function Ca(i){return function(v){return A(gb(fb(v).replace(Sn,"")),i,"")}}function ml(i){return function(){var v=arguments;switch(v.length){case 0:return new i;case 1:return new i(v[0]);case 2:return new i(v[0],v[1]);case 3:return new i(v[0],v[1],v[2]);case 4:return new i(v[0],v[1],v[2],v[3]);case 5:return new i(v[0],v[1],v[2],v[3],v[4]);case 6:return new i(v[0],v[1],v[2],v[3],v[4],v[5]);case 7:return new i(v[0],v[1],v[2],v[3],v[4],v[5],v[6])}var T=ba(i.prototype),j=i.apply(T,v);return $n(j)?j:T}}function QL(i,v,T){var j=ml(i);function K(){for(var ee=arguments.length,ae=xe(ee),de=ee,ve=ka(K);de--;)ae[de]=arguments[de];var Ee=ee<3&&ae[0]!==ve&&ae[ee-1]!==ve?[]:We(ae,ve);if(ee-=Ee.length,ee<T)return Cw(i,v,Yc,K.placeholder,t,ae,Ee,t,t,T-ee);var Ie=this&&this!==on&&this instanceof K?j:i;return hr(Ie,this,ae)}return K}function yw(i){return function(v,T,j){var K=Tt(v);if(!Zr(v)){var ee=ht(T,3);v=gr(v),T=function(de){return ee(K[de],de,K)}}var ae=i(v,T,j);return ae>-1?K[ee?v[ae]:ae]:t}}function ww(i){return Io(function(v){var T=v.length,j=T,K=$i.prototype.thru;for(i&&v.reverse();j--;){var ee=v[j];if(typeof ee!="function")throw new sn(f);if(K&&!ae&&Jc(ee)=="wrapper")var ae=new $i([],!0)}for(j=ae?j:T;++j<T;){ee=v[j];var de=Jc(ee),ve=de=="wrapper"?tp(ee):t;ve&&op(ve[0])&&ve[1]==(R|E|k|O)&&!ve[4].length&&ve[9]==1?ae=ae[Jc(ve[0])].apply(ae,ve[3]):ae=ee.length==1&&op(ee)?ae[de]():ae.thru(ee)}return function(){var Ee=arguments,Ie=Ee[0];if(ae&&Ee.length==1&&Ct(Ie))return ae.plant(Ie).value();for(var De=0,Ke=T?v[De].apply(this,Ee):Ie;++De<T;)Ke=v[De].call(this,Ke);return Ke}})}function Yc(i,v,T,j,K,ee,ae,de,ve,Ee){var Ie=v&R,De=v&m,Ke=v&b,it=v&(E|$),pt=v&L,Et=Ke?t:ml(i);function ft(){for(var Ot=arguments.length,zt=xe(Ot),gi=Ot;gi--;)zt[gi]=arguments[gi];if(it)var Br=ka(ft),mi=pr(zt,Br);if(j&&(zt=pw(zt,j,K,it)),ee&&(zt=fw(zt,ee,ae,it)),Ot-=mi,it&&Ot<Ee){var Gn=We(zt,Br);return Cw(i,v,Yc,ft.placeholder,T,zt,Gn,de,ve,Ee-Ot)}var Xi=De?T:this,Do=Ke?Xi[i]:i;return Ot=zt.length,de?zt=yR(zt,de):pt&&Ot>1&&zt.reverse(),Ie&&ve<Ot&&(zt.length=ve),this&&this!==on&&this instanceof ft&&(Do=Et||ml(Do)),Do.apply(Xi,zt)}return ft}function bw(i,v){return function(T,j){return SL(T,i,v(j),{})}}function Xc(i,v){return function(T,j){var K;if(T===t&&j===t)return v;if(T!==t&&(K=T),j!==t){if(K===t)return j;typeof T=="string"||typeof j=="string"?(T=pi(T),j=pi(j)):(T=ow(T),j=ow(j)),K=i(T,j)}return K}}function Zd(i){return Io(function(v){return v=y(v,lt(ht())),Lt(function(T){var j=this;return i(v,function(K){return hr(K,j,T)})})})}function Zc(i,v){v=v===t?" ":pi(v);var T=v.length;if(T<2)return T?Ud(v,i):v;var j=Ud(v,Fc(i/Rt(v)));return oe(v)?is(xt(j),0,i).join(""):j.slice(0,i)}function JL(i,v,T,j){var K=v&m,ee=ml(i);function ae(){for(var de=-1,ve=arguments.length,Ee=-1,Ie=j.length,De=xe(Ie+ve),Ke=this&&this!==on&&this instanceof ae?ee:i;++Ee<Ie;)De[Ee]=j[Ee];for(;ve--;)De[Ee++]=arguments[++de];return hr(Ke,K?T:this,De)}return ae}function xw(i){return function(v,T,j){return j&&typeof j!="number"&&Wr(v,T,j)&&(T=j=t),v=Oo(v),T===t?(T=v,v=0):T=Oo(T),j=j===t?v<T?1:-1:Oo(j),PL(v,T,j,i)}}function Qc(i){return function(v,T){return typeof v=="string"&&typeof T=="string"||(v=Ii(v),T=Ii(T)),i(v,T)}}function Cw(i,v,T,j,K,ee,ae,de,ve,Ee){var Ie=v&E,De=Ie?ae:t,Ke=Ie?t:ae,it=Ie?ee:t,pt=Ie?t:ee;v|=Ie?k:C,v&=~(Ie?C:k),v&x||(v&=-4);var Et=[i,v,K,it,De,pt,Ke,de,ve,Ee],ft=T.apply(t,Et);return op(i)&&Ow(ft,Et),ft.placeholder=j,Dw(ft,i,v)}function Qd(i){var v=Ht[i];return function(T,j){if(T=Ii(T),j=j==null?0:Tr($t(j),292),j&&D0(T)){var K=(Qt(T)+"e").split("e"),ee=v(K[0]+"e"+(+K[1]+j));return K=(Qt(ee)+"e").split("e"),+(K[0]+"e"+(+K[1]-j))}return v(T)}}var eR=ya&&1/Ve(new ya([,-0]))[1]==H?function(i){return new ya(i)}:bp;function kw(i){return function(v){var T=Er(v);return T==ot?Me(v):T==Yn?Ye(v):rt(v,i(v))}}function Eo(i,v,T,j,K,ee,ae,de){var ve=v&b;if(!ve&&typeof i!="function")throw new sn(f);var Ee=j?j.length:0;if(Ee||(v&=-97,j=K=t),ae=ae===t?ae:lr($t(ae),0),de=de===t?de:$t(de),Ee-=K?K.length:0,v&C){var Ie=j,De=K;j=K=t}var Ke=ve?t:tp(i),it=[i,v,T,j,K,Ie,De,ee,ae,de];if(Ke&&gR(it,Ke),i=it[0],v=it[1],T=it[2],j=it[3],K=it[4],de=it[9]=it[9]===t?ve?0:i.length:lr(it[9]-Ee,0),!de&&v&(E|$)&&(v&=-25),!v||v==m)var pt=ZL(i,v,T);else v==E||v==$?pt=QL(i,v,de):(v==k||v==(m|k))&&!K.length?pt=JL(i,v,T,j):pt=Yc.apply(t,it);var Et=Ke?rw:Ow;return Dw(Et(pt,it),i,v)}function _w(i,v,T,j){return i===t||Yi(i,Dn[T])&&!rn.call(j,T)?v:i}function Aw(i,v,T,j,K,ee){return $n(i)&&$n(v)&&(ee.set(v,i),Vc(i,v,t,Aw,ee),ee.delete(v)),i}function tR(i){return wl(i)?t:i}function Sw(i,v,T,j,K,ee){var ae=T&s,de=i.length,ve=v.length;if(de!=ve&&!(ae&&ve>de))return!1;var Ee=ee.get(i),Ie=ee.get(v);if(Ee&&Ie)return Ee==v&&Ie==i;var De=-1,Ke=!0,it=T&u?new Ps:t;for(ee.set(i,v),ee.set(v,i);++De<de;){var pt=i[De],Et=v[De];if(j)var ft=ae?j(Et,pt,De,v,i,ee):j(pt,Et,De,i,v,ee);if(ft!==t){if(ft)continue;Ke=!1;break}if(it){if(!W(v,function(Ot,zt){if(!bt(it,zt)&&(pt===Ot||K(pt,Ot,T,j,ee)))return it.push(zt)})){Ke=!1;break}}else if(!(pt===Et||K(pt,Et,T,j,ee))){Ke=!1;break}}return ee.delete(i),ee.delete(v),Ke}function nR(i,v,T,j,K,ee,ae){switch(T){case Xn:if(i.byteLength!=v.byteLength||i.byteOffset!=v.byteOffset)return!1;i=i.buffer,v=v.buffer;case mn:return!(i.byteLength!=v.byteLength||!ee(new Rc(i),new Rc(v)));case Se:case $e:case gt:return Yi(+i,+v);case Ze:return i.name==v.name&&i.message==v.message;case kn:case cr:return i==v+"";case ot:var de=Me;case Yn:var ve=j&s;if(de||(de=Ve),i.size!=v.size&&!ve)return!1;var Ee=ae.get(i);if(Ee)return Ee==v;j|=u,ae.set(i,v);var Ie=Sw(de(i),de(v),j,K,ee,ae);return ae.delete(i),Ie;case Rr:if(ul)return ul.call(i)==ul.call(v)}return!1}function rR(i,v,T,j,K,ee){var ae=T&s,de=Jd(i),ve=de.length,Ee=Jd(v),Ie=Ee.length;if(ve!=Ie&&!ae)return!1;for(var De=ve;De--;){var Ke=de[De];if(!(ae?Ke in v:rn.call(v,Ke)))return!1}var it=ee.get(i),pt=ee.get(v);if(it&&pt)return it==v&&pt==i;var Et=!0;ee.set(i,v),ee.set(v,i);for(var ft=ae;++De<ve;){Ke=de[De];var Ot=i[Ke],zt=v[Ke];if(j)var gi=ae?j(zt,Ot,Ke,v,i,ee):j(Ot,zt,Ke,i,v,ee);if(!(gi===t?Ot===zt||K(Ot,zt,T,j,ee):gi)){Et=!1;break}ft||(ft=Ke=="constructor")}if(Et&&!ft){var Br=i.constructor,mi=v.constructor;Br!=mi&&"constructor"in i&&"constructor"in v&&!(typeof Br=="function"&&Br instanceof Br&&typeof mi=="function"&&mi instanceof mi)&&(Et=!1)}return ee.delete(i),ee.delete(v),Et}function Io(i){return ap(Lw(i,t,zw),i+"")}function Jd(i){return G0(i,gr,rp)}function ep(i){return G0(i,Qr,$w)}var tp=Wc?function(i){return Wc.get(i)}:bp;function Jc(i){for(var v=i.name+"",T=wa[v],j=rn.call(wa,v)?T.length:0;j--;){var K=T[j],ee=K.func;if(ee==null||ee==i)return K.name}return v}function ka(i){var v=rn.call(J,"placeholder")?J:i;return v.placeholder}function ht(){var i=J.iteratee||yp;return i=i===yp?Y0:i,arguments.length?i(arguments[0],arguments[1]):i}function eu(i,v){var T=i.__data__;return hR(v)?T[typeof v=="string"?"string":"hash"]:T.map}function np(i){for(var v=gr(i),T=v.length;T--;){var j=v[T],K=i[j];v[T]=[j,K,Ew(K)]}return v}function zs(i,v){var T=ie(i,v);return q0(T)?T:t}function iR(i){var v=rn.call(i,Ns),T=i[Ns];try{i[Ns]=t;var j=!0}catch{}var K=Ic.call(i);return j&&(v?i[Ns]=T:delete i[Ns]),K}var rp=Ed?function(i){return i==null?[]:(i=Tt(i),Mr(Ed(i),function(v){return R0.call(i,v)}))}:xp,$w=Ed?function(i){for(var v=[];i;)M(v,rp(i)),i=Oc(i);return v}:xp,Er=Pr;(Id&&Er(new Id(new ArrayBuffer(1)))!=Xn||al&&Er(new al)!=ot||Ld&&Er(Ld.resolve())!=Zt||ya&&Er(new ya)!=Yn||ll&&Er(new ll)!=Ge)&&(Er=function(i){var v=Pr(i),T=v==zn?i.constructor:t,j=T?Hs(T):"";if(j)switch(j){case BI:return Xn;case zI:return ot;case HI:return Zt;case jI:return Yn;case UI:return Ge}return v});function oR(i,v,T){for(var j=-1,K=T.length;++j<K;){var ee=T[j],ae=ee.size;switch(ee.type){case"drop":i+=ae;break;case"dropRight":v-=ae;break;case"take":v=Tr(v,i+ae);break;case"takeRight":i=lr(i,v-ae);break}}return{start:i,end:v}}function sR(i){var v=i.match(Ui);return v?v[1].split($s):[]}function Mw(i,v,T){v=rs(v,i);for(var j=-1,K=v.length,ee=!1;++j<K;){var ae=ho(v[j]);if(!(ee=i!=null&&T(i,ae)))break;i=i[ae]}return ee||++j!=K?ee:(K=i==null?0:i.length,!!K&&au(K)&&Lo(ae,K)&&(Ct(i)||js(i)))}function aR(i){var v=i.length,T=new i.constructor(v);return v&&typeof i[0]=="string"&&rn.call(i,"index")&&(T.index=i.index,T.input=i.input),T}function Tw(i){return typeof i.constructor=="function"&&!vl(i)?ba(Oc(i)):{}}function lR(i,v,T){var j=i.constructor;switch(v){case mn:return Xd(i);case Se:case $e:return new j(+i);case Xn:return VL(i,T);case Or:case kr:case _n:case ir:case ur:case nn:case or:case go:case Wi:return hw(i,T);case ot:return new j;case gt:case cr:return new j(i);case kn:return GL(i);case Yn:return new j;case Rr:return KL(i)}}function cR(i,v){var T=v.length;if(!T)return i;var j=T-1;return v[j]=(T>1?"& ":"")+v[j],v=v.join(T>2?", ":" "),i.replace(ro,`{
1470
+ /* [wrapped with `+v+`] */
1471
+ `)}function uR(i){return Ct(i)||js(i)||!!(O0&&i&&i[O0])}function Lo(i,v){var T=typeof i;return v=v??U,!!v&&(T=="number"||T!="symbol"&&dn.test(i))&&i>-1&&i%1==0&&i<v}function Wr(i,v,T){if(!$n(T))return!1;var j=typeof v;return(j=="number"?Zr(T)&&Lo(v,T.length):j=="string"&&v in T)?Yi(T[v],i):!1}function ip(i,v){if(Ct(i))return!1;var T=typeof i;return T=="number"||T=="symbol"||T=="boolean"||i==null||fi(i)?!0:Hi.test(i)||!ua.test(i)||v!=null&&i in Tt(v)}function hR(i){var v=typeof i;return v=="string"||v=="number"||v=="symbol"||v=="boolean"?i!=="__proto__":i===null}function op(i){var v=Jc(i),T=J[v];if(typeof T!="function"||!(v in Pt.prototype))return!1;if(i===T)return!0;var j=tp(T);return!!j&&i===j[0]}function dR(i){return!!E0&&E0 in i}var pR=Ds?Ro:Cp;function vl(i){var v=i&&i.constructor,T=typeof v=="function"&&v.prototype||Dn;return i===T}function Ew(i){return i===i&&!$n(i)}function Iw(i,v){return function(T){return T==null?!1:T[i]===v&&(v!==t||i in Tt(T))}}function fR(i){var v=ou(i,function(j){return T.size===g&&T.clear(),j}),T=v.cache;return v}function gR(i,v){var T=i[1],j=v[1],K=T|j,ee=K<(m|b|R),ae=j==R&&T==E||j==R&&T==O&&i[7].length<=v[8]||j==(R|O)&&v[7].length<=v[8]&&T==E;if(!(ee||ae))return i;j&m&&(i[2]=v[2],K|=T&m?0:x);var de=v[3];if(de){var ve=i[3];i[3]=ve?pw(ve,de,v[4]):de,i[4]=ve?We(i[3],o):v[4]}return de=v[5],de&&(ve=i[5],i[5]=ve?fw(ve,de,v[6]):de,i[6]=ve?We(i[5],o):v[6]),de=v[7],de&&(i[7]=de),j&R&&(i[8]=i[8]==null?v[8]:Tr(i[8],v[8])),i[9]==null&&(i[9]=v[9]),i[0]=v[0],i[1]=K,i}function mR(i){var v=[];if(i!=null)for(var T in Tt(i))v.push(T);return v}function vR(i){return Ic.call(i)}function Lw(i,v,T){return v=lr(v===t?i.length-1:v,0),function(){for(var j=arguments,K=-1,ee=lr(j.length-v,0),ae=xe(ee);++K<ee;)ae[K]=j[v+K];K=-1;for(var de=xe(v+1);++K<v;)de[K]=j[K];return de[v]=T(ae),hr(i,this,de)}}function Rw(i,v){return v.length<2?i:Bs(i,Ti(v,0,-1))}function yR(i,v){for(var T=i.length,j=Tr(v.length,T),K=Xr(i);j--;){var ee=v[j];i[j]=Lo(ee,T)?K[ee]:t}return i}function sp(i,v){if(!(v==="constructor"&&typeof i[v]=="function")&&v!="__proto__")return i[v]}var Ow=Nw(rw),yl=RI||function(i,v){return on.setTimeout(i,v)},ap=Nw(zL);function Dw(i,v,T){var j=v+"";return ap(i,cR(j,wR(sR(j),T)))}function Nw(i){var v=0,T=0;return function(){var j=FI(),K=D-(j-T);if(T=j,K>0){if(++v>=P)return arguments[0]}else v=0;return i.apply(t,arguments)}}function tu(i,v){var T=-1,j=i.length,K=j-1;for(v=v===t?j:v;++T<v;){var ee=jd(T,K),ae=i[ee];i[ee]=i[T],i[T]=ae}return i.length=v,i}var Fw=fR(function(i){var v=[];return i.charCodeAt(0)===46&&v.push(""),i.replace(Hn,function(T,j,K,ee){v.push(K?ee.replace(il,"$1"):j||T)}),v});function ho(i){if(typeof i=="string"||fi(i))return i;var v=i+"";return v=="0"&&1/i==-H?"-0":v}function Hs(i){if(i!=null){try{return Ec.call(i)}catch{}try{return i+""}catch{}}return""}function wR(i,v){return vr(le,function(T){var j="_."+T[0];v&T[1]&&!hi(i,j)&&i.push(j)}),i.sort()}function Pw(i){if(i instanceof Pt)return i.clone();var v=new $i(i.__wrapped__,i.__chain__);return v.__actions__=Xr(i.__actions__),v.__index__=i.__index__,v.__values__=i.__values__,v}function bR(i,v,T){(T?Wr(i,v,T):v===t)?v=1:v=lr($t(v),0);var j=i==null?0:i.length;if(!j||v<1)return[];for(var K=0,ee=0,ae=xe(Fc(j/v));K<j;)ae[ee++]=Ti(i,K,K+=v);return ae}function xR(i){for(var v=-1,T=i==null?0:i.length,j=0,K=[];++v<T;){var ee=i[v];ee&&(K[j++]=ee)}return K}function CR(){var i=arguments.length;if(!i)return[];for(var v=xe(i-1),T=arguments[0],j=i;j--;)v[j-1]=arguments[j];return M(Ct(T)?Xr(T):[T],wr(v,1))}var kR=Lt(function(i,v){return Vn(i)?dl(i,wr(v,1,Vn,!0)):[]}),_R=Lt(function(i,v){var T=Ei(v);return Vn(T)&&(T=t),Vn(i)?dl(i,wr(v,1,Vn,!0),ht(T,2)):[]}),AR=Lt(function(i,v){var T=Ei(v);return Vn(T)&&(T=t),Vn(i)?dl(i,wr(v,1,Vn,!0),t,T):[]});function SR(i,v,T){var j=i==null?0:i.length;return j?(v=T||v===t?1:$t(v),Ti(i,v<0?0:v,j)):[]}function $R(i,v,T){var j=i==null?0:i.length;return j?(v=T||v===t?1:$t(v),v=j-v,Ti(i,0,v<0?0:v)):[]}function MR(i,v){return i&&i.length?Kc(i,ht(v,3),!0,!0):[]}function TR(i,v){return i&&i.length?Kc(i,ht(v,3),!0):[]}function ER(i,v,T,j){var K=i==null?0:i.length;return K?(T&&typeof T!="number"&&Wr(i,v,T)&&(T=0,j=K),CL(i,v,T,j)):[]}function Ww(i,v,T){var j=i==null?0:i.length;if(!j)return-1;var K=T==null?0:$t(T);return K<0&&(K=lr(j+K,0)),re(i,ht(v,3),K)}function Bw(i,v,T){var j=i==null?0:i.length;if(!j)return-1;var K=j-1;return T!==t&&(K=$t(T),K=T<0?lr(j+K,0):Tr(K,j-1)),re(i,ht(v,3),K,!0)}function zw(i){var v=i==null?0:i.length;return v?wr(i,1):[]}function IR(i){var v=i==null?0:i.length;return v?wr(i,H):[]}function LR(i,v){var T=i==null?0:i.length;return T?(v=v===t?1:$t(v),wr(i,v)):[]}function RR(i){for(var v=-1,T=i==null?0:i.length,j={};++v<T;){var K=i[v];j[K[0]]=K[1]}return j}function Hw(i){return i&&i.length?i[0]:t}function OR(i,v,T){var j=i==null?0:i.length;if(!j)return-1;var K=T==null?0:$t(T);return K<0&&(K=lr(j+K,0)),se(i,v,K)}function DR(i){var v=i==null?0:i.length;return v?Ti(i,0,-1):[]}var NR=Lt(function(i){var v=y(i,qd);return v.length&&v[0]===i[0]?Pd(v):[]}),FR=Lt(function(i){var v=Ei(i),T=y(i,qd);return v===Ei(T)?v=t:T.pop(),T.length&&T[0]===i[0]?Pd(T,ht(v,2)):[]}),PR=Lt(function(i){var v=Ei(i),T=y(i,qd);return v=typeof v=="function"?v:t,v&&T.pop(),T.length&&T[0]===i[0]?Pd(T,t,v):[]});function WR(i,v){return i==null?"":DI.call(i,v)}function Ei(i){var v=i==null?0:i.length;return v?i[v-1]:t}function BR(i,v,T){var j=i==null?0:i.length;if(!j)return-1;var K=j;return T!==t&&(K=$t(T),K=K<0?lr(j+K,0):Tr(K,j-1)),v===v?vt(i,v,K):re(i,Ce,K,!0)}function zR(i,v){return i&&i.length?J0(i,$t(v)):t}var HR=Lt(jw);function jw(i,v){return i&&i.length&&v&&v.length?Hd(i,v):i}function jR(i,v,T){return i&&i.length&&v&&v.length?Hd(i,v,ht(T,2)):i}function UR(i,v,T){return i&&i.length&&v&&v.length?Hd(i,v,t,T):i}var VR=Io(function(i,v){var T=i==null?0:i.length,j=Od(i,v);return nw(i,y(v,function(K){return Lo(K,T)?+K:K}).sort(dw)),j});function GR(i,v){var T=[];if(!(i&&i.length))return T;var j=-1,K=[],ee=i.length;for(v=ht(v,3);++j<ee;){var ae=i[j];v(ae,j,i)&&(T.push(ae),K.push(j))}return nw(i,K),T}function lp(i){return i==null?i:WI.call(i)}function KR(i,v,T){var j=i==null?0:i.length;return j?(T&&typeof T!="number"&&Wr(i,v,T)?(v=0,T=j):(v=v==null?0:$t(v),T=T===t?j:$t(T)),Ti(i,v,T)):[]}function qR(i,v){return Gc(i,v)}function YR(i,v,T){return Vd(i,v,ht(T,2))}function XR(i,v){var T=i==null?0:i.length;if(T){var j=Gc(i,v);if(j<T&&Yi(i[j],v))return j}return-1}function ZR(i,v){return Gc(i,v,!0)}function QR(i,v,T){return Vd(i,v,ht(T,2),!0)}function JR(i,v){var T=i==null?0:i.length;if(T){var j=Gc(i,v,!0)-1;if(Yi(i[j],v))return j}return-1}function eO(i){return i&&i.length?iw(i):[]}function tO(i,v){return i&&i.length?iw(i,ht(v,2)):[]}function nO(i){var v=i==null?0:i.length;return v?Ti(i,1,v):[]}function rO(i,v,T){return i&&i.length?(v=T||v===t?1:$t(v),Ti(i,0,v<0?0:v)):[]}function iO(i,v,T){var j=i==null?0:i.length;return j?(v=T||v===t?1:$t(v),v=j-v,Ti(i,v<0?0:v,j)):[]}function oO(i,v){return i&&i.length?Kc(i,ht(v,3),!1,!0):[]}function sO(i,v){return i&&i.length?Kc(i,ht(v,3)):[]}var aO=Lt(function(i){return ns(wr(i,1,Vn,!0))}),lO=Lt(function(i){var v=Ei(i);return Vn(v)&&(v=t),ns(wr(i,1,Vn,!0),ht(v,2))}),cO=Lt(function(i){var v=Ei(i);return v=typeof v=="function"?v:t,ns(wr(i,1,Vn,!0),t,v)});function uO(i){return i&&i.length?ns(i):[]}function hO(i,v){return i&&i.length?ns(i,ht(v,2)):[]}function dO(i,v){return v=typeof v=="function"?v:t,i&&i.length?ns(i,t,v):[]}function cp(i){if(!(i&&i.length))return[];var v=0;return i=Mr(i,function(T){if(Vn(T))return v=lr(T.length,v),!0}),Xe(v,function(T){return y(i,we(T))})}function Uw(i,v){if(!(i&&i.length))return[];var T=cp(i);return v==null?T:y(T,function(j){return hr(v,t,j)})}var pO=Lt(function(i,v){return Vn(i)?dl(i,v):[]}),fO=Lt(function(i){return Kd(Mr(i,Vn))}),gO=Lt(function(i){var v=Ei(i);return Vn(v)&&(v=t),Kd(Mr(i,Vn),ht(v,2))}),mO=Lt(function(i){var v=Ei(i);return v=typeof v=="function"?v:t,Kd(Mr(i,Vn),t,v)}),vO=Lt(cp);function yO(i,v){return lw(i||[],v||[],hl)}function wO(i,v){return lw(i||[],v||[],gl)}var bO=Lt(function(i){var v=i.length,T=v>1?i[v-1]:t;return T=typeof T=="function"?(i.pop(),T):t,Uw(i,T)});function Vw(i){var v=J(i);return v.__chain__=!0,v}function xO(i,v){return v(i),i}function nu(i,v){return v(i)}var CO=Io(function(i){var v=i.length,T=v?i[0]:0,j=this.__wrapped__,K=function(ee){return Od(ee,i)};return v>1||this.__actions__.length||!(j instanceof Pt)||!Lo(T)?this.thru(K):(j=j.slice(T,+T+(v?1:0)),j.__actions__.push({func:nu,args:[K],thisArg:t}),new $i(j,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(t),ee}))});function kO(){return Vw(this)}function _O(){return new $i(this.value(),this.__chain__)}function AO(){this.__values__===t&&(this.__values__=ob(this.value()));var i=this.__index__>=this.__values__.length,v=i?t:this.__values__[this.__index__++];return{done:i,value:v}}function SO(){return this}function $O(i){for(var v,T=this;T instanceof zc;){var j=Pw(T);j.__index__=0,j.__values__=t,v?K.__wrapped__=j:v=j;var K=j;T=T.__wrapped__}return K.__wrapped__=i,v}function MO(){var i=this.__wrapped__;if(i instanceof Pt){var v=i;return this.__actions__.length&&(v=new Pt(this)),v=v.reverse(),v.__actions__.push({func:nu,args:[lp],thisArg:t}),new $i(v,this.__chain__)}return this.thru(lp)}function TO(){return aw(this.__wrapped__,this.__actions__)}var EO=qc(function(i,v,T){rn.call(i,T)?++i[T]:To(i,T,1)});function IO(i,v,T){var j=Ct(i)?yr:xL;return T&&Wr(i,v,T)&&(v=t),j(i,ht(v,3))}function LO(i,v){var T=Ct(i)?Mr:U0;return T(i,ht(v,3))}var RO=yw(Ww),OO=yw(Bw);function DO(i,v){return wr(ru(i,v),1)}function NO(i,v){return wr(ru(i,v),H)}function FO(i,v,T){return T=T===t?1:$t(T),wr(ru(i,v),T)}function Gw(i,v){var T=Ct(i)?vr:ts;return T(i,ht(v,3))}function Kw(i,v){var T=Ct(i)?Os:j0;return T(i,ht(v,3))}var PO=qc(function(i,v,T){rn.call(i,T)?i[T].push(v):To(i,T,[v])});function WO(i,v,T,j){i=Zr(i)?i:Aa(i),T=T&&!j?$t(T):0;var K=i.length;return T<0&&(T=lr(K+T,0)),lu(i)?T<=K&&i.indexOf(v,T)>-1:!!K&&se(i,v,T)>-1}var BO=Lt(function(i,v,T){var j=-1,K=typeof v=="function",ee=Zr(i)?xe(i.length):[];return ts(i,function(ae){ee[++j]=K?hr(v,ae,T):pl(ae,v,T)}),ee}),zO=qc(function(i,v,T){To(i,T,v)});function ru(i,v){var T=Ct(i)?y:X0;return T(i,ht(v,3))}function HO(i,v,T,j){return i==null?[]:(Ct(v)||(v=v==null?[]:[v]),T=j?t:T,Ct(T)||(T=T==null?[]:[T]),ew(i,v,T))}var jO=qc(function(i,v,T){i[T?0:1].push(v)},function(){return[[],[]]});function UO(i,v,T){var j=Ct(i)?A:Le,K=arguments.length<3;return j(i,ht(v,4),T,K,ts)}function VO(i,v,T){var j=Ct(i)?F:Le,K=arguments.length<3;return j(i,ht(v,4),T,K,j0)}function GO(i,v){var T=Ct(i)?Mr:U0;return T(i,su(ht(v,3)))}function KO(i){var v=Ct(i)?W0:WL;return v(i)}function qO(i,v,T){(T?Wr(i,v,T):v===t)?v=1:v=$t(v);var j=Ct(i)?mL:BL;return j(i,v)}function YO(i){var v=Ct(i)?vL:HL;return v(i)}function XO(i){if(i==null)return 0;if(Zr(i))return lu(i)?Rt(i):i.length;var v=Er(i);return v==ot||v==Yn?i.size:Bd(i).length}function ZO(i,v,T){var j=Ct(i)?W:jL;return T&&Wr(i,v,T)&&(v=t),j(i,ht(v,3))}var QO=Lt(function(i,v){if(i==null)return[];var T=v.length;return T>1&&Wr(i,v[0],v[1])?v=[]:T>2&&Wr(v[0],v[1],v[2])&&(v=[v[0]]),ew(i,wr(v,1),[])}),iu=LI||function(){return on.Date.now()};function JO(i,v){if(typeof v!="function")throw new sn(f);return i=$t(i),function(){if(--i<1)return v.apply(this,arguments)}}function qw(i,v,T){return v=T?t:v,v=i&&v==null?i.length:v,Eo(i,R,t,t,t,t,v)}function Yw(i,v){var T;if(typeof v!="function")throw new sn(f);return i=$t(i),function(){return--i>0&&(T=v.apply(this,arguments)),i<=1&&(v=t),T}}var up=Lt(function(i,v,T){var j=m;if(T.length){var K=We(T,ka(up));j|=k}return Eo(i,j,v,T,K)}),Xw=Lt(function(i,v,T){var j=m|b;if(T.length){var K=We(T,ka(Xw));j|=k}return Eo(v,j,i,T,K)});function Zw(i,v,T){v=T?t:v;var j=Eo(i,E,t,t,t,t,t,v);return j.placeholder=Zw.placeholder,j}function Qw(i,v,T){v=T?t:v;var j=Eo(i,$,t,t,t,t,t,v);return j.placeholder=Qw.placeholder,j}function Jw(i,v,T){var j,K,ee,ae,de,ve,Ee=0,Ie=!1,De=!1,Ke=!0;if(typeof i!="function")throw new sn(f);v=Ii(v)||0,$n(T)&&(Ie=!!T.leading,De="maxWait"in T,ee=De?lr(Ii(T.maxWait)||0,v):ee,Ke="trailing"in T?!!T.trailing:Ke);function it(Gn){var Xi=j,Do=K;return j=K=t,Ee=Gn,ae=i.apply(Do,Xi),ae}function pt(Gn){return Ee=Gn,de=yl(Ot,v),Ie?it(Gn):ae}function Et(Gn){var Xi=Gn-ve,Do=Gn-Ee,yb=v-Xi;return De?Tr(yb,ee-Do):yb}function ft(Gn){var Xi=Gn-ve,Do=Gn-Ee;return ve===t||Xi>=v||Xi<0||De&&Do>=ee}function Ot(){var Gn=iu();if(ft(Gn))return zt(Gn);de=yl(Ot,Et(Gn))}function zt(Gn){return de=t,Ke&&j?it(Gn):(j=K=t,ae)}function gi(){de!==t&&cw(de),Ee=0,j=ve=K=de=t}function Br(){return de===t?ae:zt(iu())}function mi(){var Gn=iu(),Xi=ft(Gn);if(j=arguments,K=this,ve=Gn,Xi){if(de===t)return pt(ve);if(De)return cw(de),de=yl(Ot,v),it(ve)}return de===t&&(de=yl(Ot,v)),ae}return mi.cancel=gi,mi.flush=Br,mi}var e2=Lt(function(i,v){return H0(i,1,v)}),t2=Lt(function(i,v,T){return H0(i,Ii(v)||0,T)});function n2(i){return Eo(i,L)}function ou(i,v){if(typeof i!="function"||v!=null&&typeof v!="function")throw new sn(f);var T=function(){var j=arguments,K=v?v.apply(this,j):j[0],ee=T.cache;if(ee.has(K))return ee.get(K);var ae=i.apply(this,j);return T.cache=ee.set(K,ae)||ee,ae};return T.cache=new(ou.Cache||Mo),T}ou.Cache=Mo;function su(i){if(typeof i!="function")throw new sn(f);return function(){var v=arguments;switch(v.length){case 0:return!i.call(this);case 1:return!i.call(this,v[0]);case 2:return!i.call(this,v[0],v[1]);case 3:return!i.call(this,v[0],v[1],v[2])}return!i.apply(this,v)}}function r2(i){return Yw(2,i)}var i2=UL(function(i,v){v=v.length==1&&Ct(v[0])?y(v[0],lt(ht())):y(wr(v,1),lt(ht()));var T=v.length;return Lt(function(j){for(var K=-1,ee=Tr(j.length,T);++K<ee;)j[K]=v[K].call(this,j[K]);return hr(i,this,j)})}),hp=Lt(function(i,v){var T=We(v,ka(hp));return Eo(i,k,t,v,T)}),eb=Lt(function(i,v){var T=We(v,ka(eb));return Eo(i,C,t,v,T)}),o2=Io(function(i,v){return Eo(i,O,t,t,t,v)});function s2(i,v){if(typeof i!="function")throw new sn(f);return v=v===t?v:$t(v),Lt(i,v)}function a2(i,v){if(typeof i!="function")throw new sn(f);return v=v==null?0:lr($t(v),0),Lt(function(T){var j=T[v],K=is(T,0,v);return j&&M(K,j),hr(i,this,K)})}function l2(i,v,T){var j=!0,K=!0;if(typeof i!="function")throw new sn(f);return $n(T)&&(j="leading"in T?!!T.leading:j,K="trailing"in T?!!T.trailing:K),Jw(i,v,{leading:j,maxWait:v,trailing:K})}function c2(i){return qw(i,1)}function u2(i,v){return hp(Yd(v),i)}function h2(){if(!arguments.length)return[];var i=arguments[0];return Ct(i)?i:[i]}function d2(i){return Mi(i,c)}function p2(i,v){return v=typeof v=="function"?v:t,Mi(i,c,v)}function f2(i){return Mi(i,a|c)}function g2(i,v){return v=typeof v=="function"?v:t,Mi(i,a|c,v)}function m2(i,v){return v==null||z0(i,v,gr(v))}function Yi(i,v){return i===v||i!==i&&v!==v}var v2=Qc(Fd),y2=Qc(function(i,v){return i>=v}),js=K0(function(){return arguments}())?K0:function(i){return Nn(i)&&rn.call(i,"callee")&&!R0.call(i,"callee")},Ct=xe.isArray,w2=Yr?lt(Yr):$L;function Zr(i){return i!=null&&au(i.length)&&!Ro(i)}function Vn(i){return Nn(i)&&Zr(i)}function b2(i){return i===!0||i===!1||Nn(i)&&Pr(i)==Se}var os=OI||Cp,x2=Jo?lt(Jo):ML;function C2(i){return Nn(i)&&i.nodeType===1&&!wl(i)}function k2(i){if(i==null)return!0;if(Zr(i)&&(Ct(i)||typeof i=="string"||typeof i.splice=="function"||os(i)||_a(i)||js(i)))return!i.length;var v=Er(i);if(v==ot||v==Yn)return!i.size;if(vl(i))return!Bd(i).length;for(var T in i)if(rn.call(i,T))return!1;return!0}function _2(i,v){return fl(i,v)}function A2(i,v,T){T=typeof T=="function"?T:t;var j=T?T(i,v):t;return j===t?fl(i,v,t,T):!!j}function dp(i){if(!Nn(i))return!1;var v=Pr(i);return v==Ze||v==Te||typeof i.message=="string"&&typeof i.name=="string"&&!wl(i)}function S2(i){return typeof i=="number"&&D0(i)}function Ro(i){if(!$n(i))return!1;var v=Pr(i);return v==qe||v==dt||v==ge||v==oi}function tb(i){return typeof i=="number"&&i==$t(i)}function au(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=U}function $n(i){var v=typeof i;return i!=null&&(v=="object"||v=="function")}function Nn(i){return i!=null&&typeof i=="object"}var nb=On?lt(On):EL;function $2(i,v){return i===v||Wd(i,v,np(v))}function M2(i,v,T){return T=typeof T=="function"?T:t,Wd(i,v,np(v),T)}function T2(i){return rb(i)&&i!=+i}function E2(i){if(pR(i))throw new ct(p);return q0(i)}function I2(i){return i===null}function L2(i){return i==null}function rb(i){return typeof i=="number"||Nn(i)&&Pr(i)==gt}function wl(i){if(!Nn(i)||Pr(i)!=zn)return!1;var v=Oc(i);if(v===null)return!0;var T=rn.call(v,"constructor")&&v.constructor;return typeof T=="function"&&T instanceof T&&Ec.call(T)==MI}var pp=ci?lt(ci):IL;function R2(i){return tb(i)&&i>=-U&&i<=U}var ib=ui?lt(ui):LL;function lu(i){return typeof i=="string"||!Ct(i)&&Nn(i)&&Pr(i)==cr}function fi(i){return typeof i=="symbol"||Nn(i)&&Pr(i)==Rr}var _a=Ai?lt(Ai):RL;function O2(i){return i===t}function D2(i){return Nn(i)&&Er(i)==Ge}function N2(i){return Nn(i)&&Pr(i)==Ut}var F2=Qc(zd),P2=Qc(function(i,v){return i<=v});function ob(i){if(!i)return[];if(Zr(i))return lu(i)?xt(i):Xr(i);if(sl&&i[sl])return be(i[sl]());var v=Er(i),T=v==ot?Me:v==Yn?Ve:Aa;return T(i)}function Oo(i){if(!i)return i===0?i:0;if(i=Ii(i),i===H||i===-H){var v=i<0?-1:1;return v*q}return i===i?i:0}function $t(i){var v=Oo(i),T=v%1;return v===v?T?v-T:v:0}function sb(i){return i?Ws($t(i),0,te):0}function Ii(i){if(typeof i=="number")return i;if(fi(i))return Q;if($n(i)){var v=typeof i.valueOf=="function"?i.valueOf():i;i=$n(v)?v+"":v}if(typeof i!="string")return i===0?i:+i;i=fn(i);var T=da.test(i);return T||jn.test(i)?pn(i.slice(2),T?2:8):Nt.test(i)?Q:+i}function ab(i){return uo(i,Qr(i))}function W2(i){return i?Ws($t(i),-U,U):i===0?i:0}function Qt(i){return i==null?"":pi(i)}var B2=xa(function(i,v){if(vl(v)||Zr(v)){uo(v,gr(v),i);return}for(var T in v)rn.call(v,T)&&hl(i,T,v[T])}),lb=xa(function(i,v){uo(v,Qr(v),i)}),cu=xa(function(i,v,T,j){uo(v,Qr(v),i,j)}),z2=xa(function(i,v,T,j){uo(v,gr(v),i,j)}),H2=Io(Od);function j2(i,v){var T=ba(i);return v==null?T:B0(T,v)}var U2=Lt(function(i,v){i=Tt(i);var T=-1,j=v.length,K=j>2?v[2]:t;for(K&&Wr(v[0],v[1],K)&&(j=1);++T<j;)for(var ee=v[T],ae=Qr(ee),de=-1,ve=ae.length;++de<ve;){var Ee=ae[de],Ie=i[Ee];(Ie===t||Yi(Ie,Dn[Ee])&&!rn.call(i,Ee))&&(i[Ee]=ee[Ee])}return i}),V2=Lt(function(i){return i.push(t,Aw),hr(cb,t,i)});function G2(i,v){return Z(i,ht(v,3),co)}function K2(i,v){return Z(i,ht(v,3),Nd)}function q2(i,v){return i==null?i:Dd(i,ht(v,3),Qr)}function Y2(i,v){return i==null?i:V0(i,ht(v,3),Qr)}function X2(i,v){return i&&co(i,ht(v,3))}function Z2(i,v){return i&&Nd(i,ht(v,3))}function Q2(i){return i==null?[]:Uc(i,gr(i))}function J2(i){return i==null?[]:Uc(i,Qr(i))}function fp(i,v,T){var j=i==null?t:Bs(i,v);return j===t?T:j}function eD(i,v){return i!=null&&Mw(i,v,kL)}function gp(i,v){return i!=null&&Mw(i,v,_L)}var tD=bw(function(i,v,T){v!=null&&typeof v.toString!="function"&&(v=Ic.call(v)),i[v]=T},vp(Jr)),nD=bw(function(i,v,T){v!=null&&typeof v.toString!="function"&&(v=Ic.call(v)),rn.call(i,v)?i[v].push(T):i[v]=[T]},ht),rD=Lt(pl);function gr(i){return Zr(i)?P0(i):Bd(i)}function Qr(i){return Zr(i)?P0(i,!0):OL(i)}function iD(i,v){var T={};return v=ht(v,3),co(i,function(j,K,ee){To(T,v(j,K,ee),j)}),T}function oD(i,v){var T={};return v=ht(v,3),co(i,function(j,K,ee){To(T,K,v(j,K,ee))}),T}var sD=xa(function(i,v,T){Vc(i,v,T)}),cb=xa(function(i,v,T,j){Vc(i,v,T,j)}),aD=Io(function(i,v){var T={};if(i==null)return T;var j=!1;v=y(v,function(ee){return ee=rs(ee,i),j||(j=ee.length>1),ee}),uo(i,ep(i),T),j&&(T=Mi(T,a|l|c,tR));for(var K=v.length;K--;)Gd(T,v[K]);return T});function lD(i,v){return ub(i,su(ht(v)))}var cD=Io(function(i,v){return i==null?{}:NL(i,v)});function ub(i,v){if(i==null)return{};var T=y(ep(i),function(j){return[j]});return v=ht(v),tw(i,T,function(j,K){return v(j,K[0])})}function uD(i,v,T){v=rs(v,i);var j=-1,K=v.length;for(K||(K=1,i=t);++j<K;){var ee=i==null?t:i[ho(v[j])];ee===t&&(j=K,ee=T),i=Ro(ee)?ee.call(i):ee}return i}function hD(i,v,T){return i==null?i:gl(i,v,T)}function dD(i,v,T,j){return j=typeof j=="function"?j:t,i==null?i:gl(i,v,T,j)}var hb=kw(gr),db=kw(Qr);function pD(i,v,T){var j=Ct(i),K=j||os(i)||_a(i);if(v=ht(v,4),T==null){var ee=i&&i.constructor;K?T=j?new ee:[]:$n(i)?T=Ro(ee)?ba(Oc(i)):{}:T={}}return(K?vr:co)(i,function(ae,de,ve){return v(T,ae,de,ve)}),T}function fD(i,v){return i==null?!0:Gd(i,v)}function gD(i,v,T){return i==null?i:sw(i,v,Yd(T))}function mD(i,v,T,j){return j=typeof j=="function"?j:t,i==null?i:sw(i,v,Yd(T),j)}function Aa(i){return i==null?[]:wn(i,gr(i))}function vD(i){return i==null?[]:wn(i,Qr(i))}function yD(i,v,T){return T===t&&(T=v,v=t),T!==t&&(T=Ii(T),T=T===T?T:0),v!==t&&(v=Ii(v),v=v===v?v:0),Ws(Ii(i),v,T)}function wD(i,v,T){return v=Oo(v),T===t?(T=v,v=0):T=Oo(T),i=Ii(i),AL(i,v,T)}function bD(i,v,T){if(T&&typeof T!="boolean"&&Wr(i,v,T)&&(v=T=t),T===t&&(typeof v=="boolean"?(T=v,v=t):typeof i=="boolean"&&(T=i,i=t)),i===t&&v===t?(i=0,v=1):(i=Oo(i),v===t?(v=i,i=0):v=Oo(v)),i>v){var j=i;i=v,v=j}if(T||i%1||v%1){var K=N0();return Tr(i+K*(v-i+ze("1e-"+((K+"").length-1))),v)}return jd(i,v)}var xD=Ca(function(i,v,T){return v=v.toLowerCase(),i+(T?pb(v):v)});function pb(i){return mp(Qt(i).toLowerCase())}function fb(i){return i=Qt(i),i&&i.replace(In,bn).replace(_o,"")}function CD(i,v,T){i=Qt(i),v=pi(v);var j=i.length;T=T===t?j:Ws($t(T),0,j);var K=T;return T-=v.length,T>=0&&i.slice(T,K)==v}function kD(i){return i=Qt(i),i&&tl.test(i)?i.replace(vo,V):i}function _D(i){return i=Qt(i),i&&ji.test(i)?i.replace(_r,"\\$&"):i}var AD=Ca(function(i,v,T){return i+(T?"-":"")+v.toLowerCase()}),SD=Ca(function(i,v,T){return i+(T?" ":"")+v.toLowerCase()}),$D=vw("toLowerCase");function MD(i,v,T){i=Qt(i),v=$t(v);var j=v?Rt(i):0;if(!v||j>=v)return i;var K=(v-j)/2;return Zc(Pc(K),T)+i+Zc(Fc(K),T)}function TD(i,v,T){i=Qt(i),v=$t(v);var j=v?Rt(i):0;return v&&j<v?i+Zc(v-j,T):i}function ED(i,v,T){i=Qt(i),v=$t(v);var j=v?Rt(i):0;return v&&j<v?Zc(v-j,T)+i:i}function ID(i,v,T){return T||v==null?v=0:v&&(v=+v),PI(Qt(i).replace(An,""),v||0)}function LD(i,v,T){return(T?Wr(i,v,T):v===t)?v=1:v=$t(v),Ud(Qt(i),v)}function RD(){var i=arguments,v=Qt(i[0]);return i.length<3?v:v.replace(i[1],i[2])}var OD=Ca(function(i,v,T){return i+(T?"_":"")+v.toLowerCase()});function DD(i,v,T){return T&&typeof T!="number"&&Wr(i,v,T)&&(v=T=t),T=T===t?te:T>>>0,T?(i=Qt(i),i&&(typeof v=="string"||v!=null&&!pp(v))&&(v=pi(v),!v&&oe(i))?is(xt(i),0,T):i.split(v,T)):[]}var ND=Ca(function(i,v,T){return i+(T?" ":"")+mp(v)});function FD(i,v,T){return i=Qt(i),T=T==null?0:Ws($t(T),0,i.length),v=pi(v),i.slice(T,T+v.length)==v}function PD(i,v,T){var j=J.templateSettings;T&&Wr(i,v,T)&&(v=t),i=Qt(i),v=cu({},v,j,_w);var K=cu({},v.imports,j.imports,_w),ee=gr(K),ae=wn(K,ee),de,ve,Ee=0,Ie=v.interpolate||wi,De="__p += '",Ke=Fr((v.escape||wi).source+"|"+Ie.source+"|"+(Ie===Ss?Vi:wi).source+"|"+(v.evaluate||wi).source+"|$","g"),it="//# sourceURL="+(rn.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lo+"]")+`
1472
+ `;i.replace(Ke,function(ft,Ot,zt,gi,Br,mi){return zt||(zt=gi),De+=i.slice(Ee,mi).replace($r,X),Ot&&(de=!0,De+=`' +
1473
+ __e(`+Ot+`) +
1474
+ '`),Br&&(ve=!0,De+=`';
1475
+ `+Br+`;
1476
+ __p += '`),zt&&(De+=`' +
1477
+ ((__t = (`+zt+`)) == null ? '' : __t) +
1478
+ '`),Ee=mi+ft.length,ft}),De+=`';
1479
+ `;var pt=rn.call(v,"variable")&&v.variable;if(!pt)De=`with (obj) {
1480
+ `+De+`
1481
+ }
1482
+ `;else if(rl.test(pt))throw new ct(w);De=(ve?De.replace(Bi,""):De).replace(zi,"$1").replace(mo,"$1;"),De="function("+(pt||"obj")+`) {
1483
+ `+(pt?"":`obj || (obj = {});
1484
+ `)+"var __t, __p = ''"+(de?", __e = _.escape":"")+(ve?`, __j = Array.prototype.join;
1485
+ function print() { __p += __j.call(arguments, '') }
1486
+ `:`;
1487
+ `)+De+`return __p
1488
+ }`;var Et=mb(function(){return St(ee,it+"return "+De).apply(t,ae)});if(Et.source=De,dp(Et))throw Et;return Et}function WD(i){return Qt(i).toLowerCase()}function BD(i){return Qt(i).toUpperCase()}function zD(i,v,T){if(i=Qt(i),i&&(T||v===t))return fn(i);if(!i||!(v=pi(v)))return i;var j=xt(i),K=xt(v),ee=At(j,K),ae=Qn(j,K)+1;return is(j,ee,ae).join("")}function HD(i,v,T){if(i=Qt(i),i&&(T||v===t))return i.slice(0,It(i)+1);if(!i||!(v=pi(v)))return i;var j=xt(i),K=Qn(j,xt(v))+1;return is(j,0,K).join("")}function jD(i,v,T){if(i=Qt(i),i&&(T||v===t))return i.replace(An,"");if(!i||!(v=pi(v)))return i;var j=xt(i),K=At(j,xt(v));return is(j,K).join("")}function UD(i,v){var T=I,j=B;if($n(v)){var K="separator"in v?v.separator:K;T="length"in v?$t(v.length):T,j="omission"in v?pi(v.omission):j}i=Qt(i);var ee=i.length;if(oe(i)){var ae=xt(i);ee=ae.length}if(T>=ee)return i;var de=T-Rt(j);if(de<1)return j;var ve=ae?is(ae,0,de).join(""):i.slice(0,de);if(K===t)return ve+j;if(ae&&(de+=ve.length-de),pp(K)){if(i.slice(de).search(K)){var Ee,Ie=ve;for(K.global||(K=Fr(K.source,Qt(ai.exec(K))+"g")),K.lastIndex=0;Ee=K.exec(Ie);)var De=Ee.index;ve=ve.slice(0,De===t?de:De)}}else if(i.indexOf(pi(K),de)!=de){var Ke=ve.lastIndexOf(K);Ke>-1&&(ve=ve.slice(0,Ke))}return ve+j}function VD(i){return i=Qt(i),i&&Ho.test(i)?i.replace(mr,ut):i}var GD=Ca(function(i,v,T){return i+(T?" ":"")+v.toUpperCase()}),mp=vw("toUpperCase");function gb(i,v,T){return i=Qt(i),v=T?t:v,v===t?fe(i)?xn(i):Y(i):i.match(v)||[]}var mb=Lt(function(i,v){try{return hr(i,t,v)}catch(T){return dp(T)?T:new ct(T)}}),KD=Io(function(i,v){return vr(v,function(T){T=ho(T),To(i,T,up(i[T],i))}),i});function qD(i){var v=i==null?0:i.length,T=ht();return i=v?y(i,function(j){if(typeof j[1]!="function")throw new sn(f);return[T(j[0]),j[1]]}):[],Lt(function(j){for(var K=-1;++K<v;){var ee=i[K];if(hr(ee[0],this,j))return hr(ee[1],this,j)}})}function YD(i){return bL(Mi(i,a))}function vp(i){return function(){return i}}function XD(i,v){return i==null||i!==i?v:i}var ZD=ww(),QD=ww(!0);function Jr(i){return i}function yp(i){return Y0(typeof i=="function"?i:Mi(i,a))}function JD(i){return Z0(Mi(i,a))}function eN(i,v){return Q0(i,Mi(v,a))}var tN=Lt(function(i,v){return function(T){return pl(T,i,v)}}),nN=Lt(function(i,v){return function(T){return pl(i,T,v)}});function wp(i,v,T){var j=gr(v),K=Uc(v,j);T==null&&!($n(v)&&(K.length||!j.length))&&(T=v,v=i,i=this,K=Uc(v,gr(v)));var ee=!($n(T)&&"chain"in T)||!!T.chain,ae=Ro(i);return vr(K,function(de){var ve=v[de];i[de]=ve,ae&&(i.prototype[de]=function(){var Ee=this.__chain__;if(ee||Ee){var Ie=i(this.__wrapped__),De=Ie.__actions__=Xr(this.__actions__);return De.push({func:ve,args:arguments,thisArg:i}),Ie.__chain__=Ee,Ie}return ve.apply(i,M([this.value()],arguments))})}),i}function rN(){return on._===this&&(on._=TI),this}function bp(){}function iN(i){return i=$t(i),Lt(function(v){return J0(v,i)})}var oN=Zd(y),sN=Zd(yr),aN=Zd(W);function vb(i){return ip(i)?we(ho(i)):FL(i)}function lN(i){return function(v){return i==null?t:Bs(i,v)}}var cN=xw(),uN=xw(!0);function xp(){return[]}function Cp(){return!1}function hN(){return{}}function dN(){return""}function pN(){return!0}function fN(i,v){if(i=$t(i),i<1||i>U)return[];var T=te,j=Tr(i,te);v=ht(v),i-=te;for(var K=Xe(j,v);++T<i;)v(T);return K}function gN(i){return Ct(i)?y(i,ho):fi(i)?[i]:Xr(Fw(Qt(i)))}function mN(i){var v=++$I;return Qt(i)+v}var vN=Xc(function(i,v){return i+v},0),yN=Qd("ceil"),wN=Xc(function(i,v){return i/v},1),bN=Qd("floor");function xN(i){return i&&i.length?jc(i,Jr,Fd):t}function CN(i,v){return i&&i.length?jc(i,ht(v,2),Fd):t}function kN(i){return me(i,Jr)}function _N(i,v){return me(i,ht(v,2))}function AN(i){return i&&i.length?jc(i,Jr,zd):t}function SN(i,v){return i&&i.length?jc(i,ht(v,2),zd):t}var $N=Xc(function(i,v){return i*v},1),MN=Qd("round"),TN=Xc(function(i,v){return i-v},0);function EN(i){return i&&i.length?at(i,Jr):0}function IN(i,v){return i&&i.length?at(i,ht(v,2)):0}return J.after=JO,J.ary=qw,J.assign=B2,J.assignIn=lb,J.assignInWith=cu,J.assignWith=z2,J.at=H2,J.before=Yw,J.bind=up,J.bindAll=KD,J.bindKey=Xw,J.castArray=h2,J.chain=Vw,J.chunk=bR,J.compact=xR,J.concat=CR,J.cond=qD,J.conforms=YD,J.constant=vp,J.countBy=EO,J.create=j2,J.curry=Zw,J.curryRight=Qw,J.debounce=Jw,J.defaults=U2,J.defaultsDeep=V2,J.defer=e2,J.delay=t2,J.difference=kR,J.differenceBy=_R,J.differenceWith=AR,J.drop=SR,J.dropRight=$R,J.dropRightWhile=MR,J.dropWhile=TR,J.fill=ER,J.filter=LO,J.flatMap=DO,J.flatMapDeep=NO,J.flatMapDepth=FO,J.flatten=zw,J.flattenDeep=IR,J.flattenDepth=LR,J.flip=n2,J.flow=ZD,J.flowRight=QD,J.fromPairs=RR,J.functions=Q2,J.functionsIn=J2,J.groupBy=PO,J.initial=DR,J.intersection=NR,J.intersectionBy=FR,J.intersectionWith=PR,J.invert=tD,J.invertBy=nD,J.invokeMap=BO,J.iteratee=yp,J.keyBy=zO,J.keys=gr,J.keysIn=Qr,J.map=ru,J.mapKeys=iD,J.mapValues=oD,J.matches=JD,J.matchesProperty=eN,J.memoize=ou,J.merge=sD,J.mergeWith=cb,J.method=tN,J.methodOf=nN,J.mixin=wp,J.negate=su,J.nthArg=iN,J.omit=aD,J.omitBy=lD,J.once=r2,J.orderBy=HO,J.over=oN,J.overArgs=i2,J.overEvery=sN,J.overSome=aN,J.partial=hp,J.partialRight=eb,J.partition=jO,J.pick=cD,J.pickBy=ub,J.property=vb,J.propertyOf=lN,J.pull=HR,J.pullAll=jw,J.pullAllBy=jR,J.pullAllWith=UR,J.pullAt=VR,J.range=cN,J.rangeRight=uN,J.rearg=o2,J.reject=GO,J.remove=GR,J.rest=s2,J.reverse=lp,J.sampleSize=qO,J.set=hD,J.setWith=dD,J.shuffle=YO,J.slice=KR,J.sortBy=QO,J.sortedUniq=eO,J.sortedUniqBy=tO,J.split=DD,J.spread=a2,J.tail=nO,J.take=rO,J.takeRight=iO,J.takeRightWhile=oO,J.takeWhile=sO,J.tap=xO,J.throttle=l2,J.thru=nu,J.toArray=ob,J.toPairs=hb,J.toPairsIn=db,J.toPath=gN,J.toPlainObject=ab,J.transform=pD,J.unary=c2,J.union=aO,J.unionBy=lO,J.unionWith=cO,J.uniq=uO,J.uniqBy=hO,J.uniqWith=dO,J.unset=fD,J.unzip=cp,J.unzipWith=Uw,J.update=gD,J.updateWith=mD,J.values=Aa,J.valuesIn=vD,J.without=pO,J.words=gb,J.wrap=u2,J.xor=fO,J.xorBy=gO,J.xorWith=mO,J.zip=vO,J.zipObject=yO,J.zipObjectDeep=wO,J.zipWith=bO,J.entries=hb,J.entriesIn=db,J.extend=lb,J.extendWith=cu,wp(J,J),J.add=vN,J.attempt=mb,J.camelCase=xD,J.capitalize=pb,J.ceil=yN,J.clamp=yD,J.clone=d2,J.cloneDeep=f2,J.cloneDeepWith=g2,J.cloneWith=p2,J.conformsTo=m2,J.deburr=fb,J.defaultTo=XD,J.divide=wN,J.endsWith=CD,J.eq=Yi,J.escape=kD,J.escapeRegExp=_D,J.every=IO,J.find=RO,J.findIndex=Ww,J.findKey=G2,J.findLast=OO,J.findLastIndex=Bw,J.findLastKey=K2,J.floor=bN,J.forEach=Gw,J.forEachRight=Kw,J.forIn=q2,J.forInRight=Y2,J.forOwn=X2,J.forOwnRight=Z2,J.get=fp,J.gt=v2,J.gte=y2,J.has=eD,J.hasIn=gp,J.head=Hw,J.identity=Jr,J.includes=WO,J.indexOf=OR,J.inRange=wD,J.invoke=rD,J.isArguments=js,J.isArray=Ct,J.isArrayBuffer=w2,J.isArrayLike=Zr,J.isArrayLikeObject=Vn,J.isBoolean=b2,J.isBuffer=os,J.isDate=x2,J.isElement=C2,J.isEmpty=k2,J.isEqual=_2,J.isEqualWith=A2,J.isError=dp,J.isFinite=S2,J.isFunction=Ro,J.isInteger=tb,J.isLength=au,J.isMap=nb,J.isMatch=$2,J.isMatchWith=M2,J.isNaN=T2,J.isNative=E2,J.isNil=L2,J.isNull=I2,J.isNumber=rb,J.isObject=$n,J.isObjectLike=Nn,J.isPlainObject=wl,J.isRegExp=pp,J.isSafeInteger=R2,J.isSet=ib,J.isString=lu,J.isSymbol=fi,J.isTypedArray=_a,J.isUndefined=O2,J.isWeakMap=D2,J.isWeakSet=N2,J.join=WR,J.kebabCase=AD,J.last=Ei,J.lastIndexOf=BR,J.lowerCase=SD,J.lowerFirst=$D,J.lt=F2,J.lte=P2,J.max=xN,J.maxBy=CN,J.mean=kN,J.meanBy=_N,J.min=AN,J.minBy=SN,J.stubArray=xp,J.stubFalse=Cp,J.stubObject=hN,J.stubString=dN,J.stubTrue=pN,J.multiply=$N,J.nth=zR,J.noConflict=rN,J.noop=bp,J.now=iu,J.pad=MD,J.padEnd=TD,J.padStart=ED,J.parseInt=ID,J.random=bD,J.reduce=UO,J.reduceRight=VO,J.repeat=LD,J.replace=RD,J.result=uD,J.round=MN,J.runInContext=pe,J.sample=KO,J.size=XO,J.snakeCase=OD,J.some=ZO,J.sortedIndex=qR,J.sortedIndexBy=YR,J.sortedIndexOf=XR,J.sortedLastIndex=ZR,J.sortedLastIndexBy=QR,J.sortedLastIndexOf=JR,J.startCase=ND,J.startsWith=FD,J.subtract=TN,J.sum=EN,J.sumBy=IN,J.template=PD,J.times=fN,J.toFinite=Oo,J.toInteger=$t,J.toLength=sb,J.toLower=WD,J.toNumber=Ii,J.toSafeInteger=W2,J.toString=Qt,J.toUpper=BD,J.trim=zD,J.trimEnd=HD,J.trimStart=jD,J.truncate=UD,J.unescape=VD,J.uniqueId=mN,J.upperCase=GD,J.upperFirst=mp,J.each=Gw,J.eachRight=Kw,J.first=Hw,wp(J,function(){var i={};return co(J,function(v,T){rn.call(J.prototype,T)||(i[T]=v)}),i}(),{chain:!1}),J.VERSION=r,vr(["bind","bindKey","curry","curryRight","partial","partialRight"],function(i){J[i].placeholder=J}),vr(["drop","take"],function(i,v){Pt.prototype[i]=function(T){T=T===t?1:lr($t(T),0);var j=this.__filtered__&&!v?new Pt(this):this.clone();return j.__filtered__?j.__takeCount__=Tr(T,j.__takeCount__):j.__views__.push({size:Tr(T,te),type:i+(j.__dir__<0?"Right":"")}),j},Pt.prototype[i+"Right"]=function(T){return this.reverse()[i](T).reverse()}}),vr(["filter","map","takeWhile"],function(i,v){var T=v+1,j=T==S||T==N;Pt.prototype[i]=function(K){var ee=this.clone();return ee.__iteratees__.push({iteratee:ht(K,3),type:T}),ee.__filtered__=ee.__filtered__||j,ee}}),vr(["head","last"],function(i,v){var T="take"+(v?"Right":"");Pt.prototype[i]=function(){return this[T](1).value()[0]}}),vr(["initial","tail"],function(i,v){var T="drop"+(v?"":"Right");Pt.prototype[i]=function(){return this.__filtered__?new Pt(this):this[T](1)}}),Pt.prototype.compact=function(){return this.filter(Jr)},Pt.prototype.find=function(i){return this.filter(i).head()},Pt.prototype.findLast=function(i){return this.reverse().find(i)},Pt.prototype.invokeMap=Lt(function(i,v){return typeof i=="function"?new Pt(this):this.map(function(T){return pl(T,i,v)})}),Pt.prototype.reject=function(i){return this.filter(su(ht(i)))},Pt.prototype.slice=function(i,v){i=$t(i);var T=this;return T.__filtered__&&(i>0||v<0)?new Pt(T):(i<0?T=T.takeRight(-i):i&&(T=T.drop(i)),v!==t&&(v=$t(v),T=v<0?T.dropRight(-v):T.take(v-i)),T)},Pt.prototype.takeRightWhile=function(i){return this.reverse().takeWhile(i).reverse()},Pt.prototype.toArray=function(){return this.take(te)},co(Pt.prototype,function(i,v){var T=/^(?:filter|find|map|reject)|While$/.test(v),j=/^(?:head|last)$/.test(v),K=J[j?"take"+(v=="last"?"Right":""):v],ee=j||/^find/.test(v);K&&(J.prototype[v]=function(){var ae=this.__wrapped__,de=j?[1]:arguments,ve=ae instanceof Pt,Ee=de[0],Ie=ve||Ct(ae),De=function(Ot){var zt=K.apply(J,M([Ot],de));return j&&Ke?zt[0]:zt};Ie&&T&&typeof Ee=="function"&&Ee.length!=1&&(ve=Ie=!1);var Ke=this.__chain__,it=!!this.__actions__.length,pt=ee&&!Ke,Et=ve&&!it;if(!ee&&Ie){ae=Et?ae:new Pt(this);var ft=i.apply(ae,de);return ft.__actions__.push({func:nu,args:[De],thisArg:t}),new $i(ft,Ke)}return pt&&Et?i.apply(this,de):(ft=this.thru(De),pt?j?ft.value()[0]:ft.value():ft)})}),vr(["pop","push","shift","sort","splice","unshift"],function(i){var v=fr[i],T=/^(?:push|sort|unshift)$/.test(i)?"tap":"thru",j=/^(?:pop|shift)$/.test(i);J.prototype[i]=function(){var K=arguments;if(j&&!this.__chain__){var ee=this.value();return v.apply(Ct(ee)?ee:[],K)}return this[T](function(ae){return v.apply(Ct(ae)?ae:[],K)})}}),co(Pt.prototype,function(i,v){var T=J[v];if(T){var j=T.name+"";rn.call(wa,j)||(wa[j]=[]),wa[j].push({name:v,func:T})}}),wa[Yc(t,b).name]=[{name:"wrapper",func:t}],Pt.prototype.clone=VI,Pt.prototype.reverse=GI,Pt.prototype.value=KI,J.prototype.at=CO,J.prototype.chain=kO,J.prototype.commit=_O,J.prototype.next=AO,J.prototype.plant=$O,J.prototype.reverse=MO,J.prototype.toJSON=J.prototype.valueOf=J.prototype.value=TO,J.prototype.first=J.prototype.head,sl&&(J.prototype[sl]=SO),J},Bt=Jn();Zn?((Zn.exports=Bt)._=Bt,vn._=Bt):on._=Bt}).call(Wk)}(Hl,Hl.exports)),Hl.exports}var zk=Bk();er("b",kl(zk)).debounce(function(){this.rebuildDisplayText()},300);var Mg={exports:{}},Tg;function Hk(){return Tg||(Tg=1,function(n,e){(function(){ace.require(["ace/mode/text"],function(t){n&&(n.exports=t)})})()}(Mg)),Mg.exports}Hk();const jk=!0,tr="u-",Uk="uplot",Vk=tr+"hz",Gk=tr+"vt",Kk=tr+"title",qk=tr+"wrap",Yk=tr+"under",Xk=tr+"over",Zk=tr+"axis",ms=tr+"off",Qk=tr+"select",Jk=tr+"cursor-x",e_=tr+"cursor-y",t_=tr+"cursor-pt",n_=tr+"legend",r_=tr+"live",i_=tr+"inline",o_=tr+"series",s_=tr+"marker",Eg=tr+"label",a_=tr+"value",Pa="width",Wa="height",Ba="top",Ig="bottom",Zs="left",zu="right",Hu="#000",Lg=Hu+"0",ju="mousemove",Rg="mousedown",Uu="mouseup",Og="mouseenter",Dg="mouseleave",Ng="dblclick",l_="resize",c_="scroll",Fg="change",jl="dppxchange",Vu="--",Qs=typeof window<"u",Gu=Qs?document:null,Js=Qs?window:null,u_=Qs?navigator:null;let Gt,Ul;function Ku(){let n=devicePixelRatio;Gt!=n&&(Gt=n,Ul&&Xu(Fg,Ul,Ku),Ul=matchMedia(`(min-resolution: ${Gt-.001}dppx) and (max-resolution: ${Gt+.001}dppx)`),vs(Fg,Ul,Ku),Js.dispatchEvent(new CustomEvent(jl)))}function ti(n,e){if(e!=null){let t=n.classList;!t.contains(e)&&t.add(e)}}function qu(n,e){let t=n.classList;t.contains(e)&&t.remove(e)}function gn(n,e,t){n.style[e]=t+"px"}function Di(n,e,t,r){let d=Gu.createElement(n);return e!=null&&ti(d,e),t!=null&&t.insertBefore(d,r),d}function vi(n,e){return Di("div",n,e)}const Pg=new WeakMap;function Ji(n,e,t,r,d){let p="translate("+e+"px,"+t+"px)",f=Pg.get(n);p!=f&&(n.style.transform=p,Pg.set(n,p),e<0||t<0||e>r||t>d?ti(n,ms):qu(n,ms))}const Wg=new WeakMap;function Bg(n,e,t){let r=e+t,d=Wg.get(n);r!=d&&(Wg.set(n,r),n.style.background=e,n.style.borderColor=t)}const zg=new WeakMap;function Hg(n,e,t,r){let d=e+""+t,p=zg.get(n);d!=p&&(zg.set(n,d),n.style.height=t+"px",n.style.width=e+"px",n.style.marginLeft=r?-e/2+"px":0,n.style.marginTop=r?-t/2+"px":0)}const Yu={passive:!0},h_={...Yu,capture:!0};function vs(n,e,t,r){e.addEventListener(n,t,r?h_:Yu)}function Xu(n,e,t,r){e.removeEventListener(n,t,Yu)}Qs&&Ku();function Ni(n,e,t,r){let d;t=t||0,r=r||e.length-1;let p=r<=2147483647;for(;r-t>1;)d=p?t+r>>1:ri((t+r)/2),e[d]<n?t=d:r=d;return n-e[t]<=e[r]-n?t:r}function jg(n){return(e,t,r)=>{let d=-1,p=-1;for(let f=t;f<=r;f++)if(n(e[f])){d=f;break}for(let f=r;f>=t;f--)if(n(e[f])){p=f;break}return[d,p]}}const Ug=n=>n!=null,Vg=n=>n!=null&&n>0,Vl=jg(Ug),d_=jg(Vg);function p_(n,e,t,r=0,d=!1){let p=d?d_:Vl,f=d?Vg:Ug;[e,t]=p(n,e,t);let w=n[e],h=n[e];if(e>-1)if(r==1)w=n[e],h=n[t];else if(r==-1)w=n[t],h=n[e];else for(let g=e;g<=t;g++){let o=n[g];f(o)&&(o<w?w=o:o>h&&(h=o))}return[w??an,h??-an]}function Gl(n,e,t,r){let d=qg(n),p=qg(e);n==e&&(d==-1?(n*=t,e/=t):(n/=t,e*=t));let f=t==10?po:Yg,w=d==1?ri:yi,h=p==1?yi:ri,g=w(f(nr(n))),o=h(f(nr(e))),a=ea(t,g),l=ea(t,o);return t==10&&(g<0&&(a=ln(a,-g)),o<0&&(l=ln(l,-o))),r||t==2?(n=a*d,e=l*p):(n=nm(n,a),e=Yl(e,l)),[n,e]}function Zu(n,e,t,r){let d=Gl(n,e,t,r);return n==0&&(d[0]=0),e==0&&(d[1]=0),d}const Qu=.1,Gg={mode:3,pad:Qu},za={pad:0,soft:null,mode:0},f_={min:za,max:za};function Kl(n,e,t,r){return Xl(t)?Kg(n,e,t):(za.pad=t,za.soft=r?0:null,za.mode=r?3:0,Kg(n,e,f_))}function jt(n,e){return n??e}function g_(n,e,t){for(e=jt(e,0),t=jt(t,n.length-1);e<=t;){if(n[e]!=null)return!0;e++}return!1}function Kg(n,e,t){let r=t.min,d=t.max,p=jt(r.pad,0),f=jt(d.pad,0),w=jt(r.hard,-an),h=jt(d.hard,an),g=jt(r.soft,an),o=jt(d.soft,-an),a=jt(r.mode,0),l=jt(d.mode,0),c=e-n,s=po(c),u=Ir(nr(n),nr(e)),m=po(u),b=nr(m-s);(c<1e-24||b>10)&&(c=0,(n==0||e==0)&&(c=1e-24,a==2&&g!=an&&(p=0),l==2&&o!=-an&&(f=0)));let x=c||u||1e3,E=po(x),$=ea(10,ri(E)),k=x*(c==0?n==0?.1:1:p),C=ln(nm(n-k,$/10),24),R=n>=g&&(a==1||a==3&&C<=g||a==2&&C>=g)?g:an,O=Ir(w,C<R&&n>=R?R:Fi(R,C)),L=x*(c==0?e==0?.1:1:f),I=ln(Yl(e+L,$/10),24),B=e<=o&&(l==1||l==3&&I>=o||l==2&&I<=o)?o:-an,P=Fi(h,I>B&&e<=B?B:Ir(B,I));return O==P&&O==0&&(P=100),[O,P]}const m_=new Intl.NumberFormat(Qs?u_.language:"en-US"),Ju=n=>m_.format(n),ni=Math,ql=ni.PI,nr=ni.abs,ri=ni.floor,rr=ni.round,yi=ni.ceil,Fi=ni.min,Ir=ni.max,ea=ni.pow,qg=ni.sign,po=ni.log10,Yg=ni.log2,v_=(n,e=1)=>ni.sinh(n)*e,eh=(n,e=1)=>ni.asinh(n/e),an=1/0;function Xg(n){return(po((n^n>>31)-(n>>31))|0)+1}function th(n,e,t){return Fi(Ir(n,e),t)}function Zg(n){return typeof n=="function"}function Dt(n){return Zg(n)?n:()=>n}const y_=()=>{},Qg=n=>n,Jg=(n,e)=>e,w_=n=>null,em=n=>!0,tm=(n,e)=>n==e,b_=/\.\d*?(?=9{6,}|0{6,})/gm,ys=n=>{if(im(n)||Bo.has(n))return n;const e=`${n}`,t=e.match(b_);if(t==null)return n;let r=t[0].length-1;if(e.indexOf("e-")!=-1){let[d,p]=e.split("e");return+`${ys(d)}e${p}`}return ln(n,r)};function ws(n,e){return ys(ln(ys(n/e))*e)}function Yl(n,e){return ys(yi(ys(n/e))*e)}function nm(n,e){return ys(ri(ys(n/e))*e)}function ln(n,e=0){if(im(n))return n;let t=10**e,r=n*t*(1+Number.EPSILON);return rr(r)/t}const Bo=new Map;function rm(n){return((""+n).split(".")[1]||"").length}function Ha(n,e,t,r){let d=[],p=r.map(rm);for(let f=e;f<t;f++){let w=nr(f),h=ln(ea(n,f),w);for(let g=0;g<r.length;g++){let o=n==10?+`${r[g]}e${f}`:r[g]*h,a=(f>=0?0:w)+(f>=p[g]?0:p[g]),l=n==10?o:ln(o,a);d.push(l),Bo.set(l,a)}}return d}const ja={},nh=[],ta=[null,null],zo=Array.isArray,im=Number.isInteger,x_=n=>n===void 0;function om(n){return typeof n=="string"}function Xl(n){let e=!1;if(n!=null){let t=n.constructor;e=t==null||t==Object}return e}function C_(n){return n!=null&&typeof n=="object"}const k_=Object.getPrototypeOf(Uint8Array),sm="__proto__";function na(n,e=Xl){let t;if(zo(n)){let r=n.find(d=>d!=null);if(zo(r)||e(r)){t=Array(n.length);for(let d=0;d<n.length;d++)t[d]=na(n[d],e)}else t=n.slice()}else if(n instanceof k_)t=n.slice();else if(e(n)){t={};for(let r in n)r!=sm&&(t[r]=na(n[r],e))}else t=n;return t}function qn(n){let e=arguments;for(let t=1;t<e.length;t++){let r=e[t];for(let d in r)d!=sm&&(Xl(n[d])?qn(n[d],na(r[d])):n[d]=na(r[d]))}return n}const __=0,A_=1,S_=2;function $_(n,e,t){for(let r=0,d,p=-1;r<e.length;r++){let f=e[r];if(f>p){for(d=f-1;d>=0&&n[d]==null;)n[d--]=null;for(d=f+1;d<t&&n[d]==null;)n[p=d++]=null}}}function M_(n,e){if(I_(n)){let f=n[0].slice();for(let w=1;w<n.length;w++)f.push(...n[w].slice(1));return L_(f[0])||(f=E_(f)),f}let t=new Set;for(let f=0;f<n.length;f++){let w=n[f][0],h=w.length;for(let g=0;g<h;g++)t.add(w[g])}let r=[Array.from(t).sort((f,w)=>f-w)],d=r[0].length,p=new Map;for(let f=0;f<d;f++)p.set(r[0][f],f);for(let f=0;f<n.length;f++){let w=n[f],h=w[0];for(let g=1;g<w.length;g++){let o=w[g],a=Array(d).fill(void 0),l=e?e[f][g]:A_,c=[];for(let s=0;s<o.length;s++){let u=o[s],m=p.get(h[s]);u===null?l!=__&&(a[m]=u,l==S_&&c.push(m)):a[m]=u}$_(a,c,d),r.push(a)}}return r}const T_=typeof queueMicrotask>"u"?n=>Promise.resolve().then(n):queueMicrotask;function E_(n){let e=n[0],t=e.length,r=Array(t);for(let p=0;p<r.length;p++)r[p]=p;r.sort((p,f)=>e[p]-e[f]);let d=[];for(let p=0;p<n.length;p++){let f=n[p],w=Array(t);for(let h=0;h<t;h++)w[h]=f[r[h]];d.push(w)}return d}function I_(n){let e=n[0][0],t=e.length;for(let r=1;r<n.length;r++){let d=n[r][0];if(d.length!=t)return!1;if(d!=e){for(let p=0;p<t;p++)if(d[p]!=e[p])return!1}}return!0}function L_(n,e=100){const t=n.length;if(t<=1)return!0;let r=0,d=t-1;for(;r<=d&&n[r]==null;)r++;for(;d>=r&&n[d]==null;)d--;if(d<=r)return!0;const p=Ir(1,ri((d-r+1)/e));for(let f=n[r],w=r+p;w<=d;w+=p){const h=n[w];if(h!=null){if(h<=f)return!1;f=h}}return!0}const am=["January","February","March","April","May","June","July","August","September","October","November","December"],lm=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function cm(n){return n.slice(0,3)}const R_=lm.map(cm),O_=am.map(cm),D_={MMMM:am,MMM:O_,WWWW:lm,WWW:R_};function Ua(n){return(n<10?"0":"")+n}function N_(n){return(n<10?"00":n<100?"0":"")+n}const F_={YYYY:n=>n.getFullYear(),YY:n=>(n.getFullYear()+"").slice(2),MMMM:(n,e)=>e.MMMM[n.getMonth()],MMM:(n,e)=>e.MMM[n.getMonth()],MM:n=>Ua(n.getMonth()+1),M:n=>n.getMonth()+1,DD:n=>Ua(n.getDate()),D:n=>n.getDate(),WWWW:(n,e)=>e.WWWW[n.getDay()],WWW:(n,e)=>e.WWW[n.getDay()],HH:n=>Ua(n.getHours()),H:n=>n.getHours(),h:n=>{let e=n.getHours();return e==0?12:e>12?e-12:e},AA:n=>n.getHours()>=12?"PM":"AM",aa:n=>n.getHours()>=12?"pm":"am",a:n=>n.getHours()>=12?"p":"a",mm:n=>Ua(n.getMinutes()),m:n=>n.getMinutes(),ss:n=>Ua(n.getSeconds()),s:n=>n.getSeconds(),fff:n=>N_(n.getMilliseconds())};function rh(n,e){e=e||D_;let t=[],r=/\{([a-z]+)\}|[^{]+/gi,d;for(;d=r.exec(n);)t.push(d[0][0]=="{"?F_[d[1]]:d[0]);return p=>{let f="";for(let w=0;w<t.length;w++)f+=typeof t[w]=="string"?t[w]:t[w](p,e);return f}}const P_=new Intl.DateTimeFormat().resolvedOptions().timeZone;function W_(n,e){let t;return e=="UTC"||e=="Etc/UTC"?t=new Date(+n+n.getTimezoneOffset()*6e4):e==P_?t=n:(t=new Date(n.toLocaleString("en-US",{timeZone:e})),t.setMilliseconds(n.getMilliseconds())),t}const um=n=>n%1==0,Zl=[1,2,2.5,5],B_=Ha(10,-32,0,Zl),hm=Ha(10,0,32,Zl),z_=hm.filter(um),bs=B_.concat(hm),ih=`
1489
+ `,dm="{YYYY}",pm=ih+dm,fm="{M}/{D}",Va=ih+fm,Ql=Va+"/{YY}",gm="{aa}",H_="{h}:{mm}",ra=H_+gm,mm=ih+ra,vm=":{ss}",Xt=null;function ym(n){let e=n*1e3,t=e*60,r=t*60,d=r*24,p=d*30,f=d*365,w=(n==1?Ha(10,0,3,Zl).filter(um):Ha(10,-3,0,Zl)).concat([e,e*5,e*10,e*15,e*30,t,t*5,t*10,t*15,t*30,r,r*2,r*3,r*4,r*6,r*8,r*12,d,d*2,d*3,d*4,d*5,d*6,d*7,d*8,d*9,d*10,d*15,p,p*2,p*3,p*4,p*6,f,f*2,f*5,f*10,f*25,f*50,f*100]);const h=[[f,dm,Xt,Xt,Xt,Xt,Xt,Xt,1],[d*28,"{MMM}",pm,Xt,Xt,Xt,Xt,Xt,1],[d,fm,pm,Xt,Xt,Xt,Xt,Xt,1],[r,"{h}"+gm,Ql,Xt,Va,Xt,Xt,Xt,1],[t,ra,Ql,Xt,Va,Xt,Xt,Xt,1],[e,vm,Ql+" "+ra,Xt,Va+" "+ra,Xt,mm,Xt,1],[n,vm+".{fff}",Ql+" "+ra,Xt,Va+" "+ra,Xt,mm,Xt,1]];function g(o){return(a,l,c,s,u,m)=>{let b=[],x=u>=f,E=u>=p&&u<f,$=o(c),k=ln($*n,3),C=oh($.getFullYear(),x?0:$.getMonth(),E||x?1:$.getDate()),R=ln(C*n,3);if(E||x){let O=E?u/p:0,L=x?u/f:0,I=k==R?k:ln(oh(C.getFullYear()+L,C.getMonth()+O,1)*n,3),B=new Date(rr(I/n)),P=B.getFullYear(),D=B.getMonth();for(let S=0;I<=s;S++){let _=oh(P+L*S,D+O*S,1),N=_-o(ln(_*n,3));I=ln((+_+N)*n,3),I<=s&&b.push(I)}}else{let O=u>=d?d:u,L=ri(c)-ri(k),I=R+L+Yl(k-R,O);b.push(I);let B=o(I),P=B.getHours()+B.getMinutes()/t+B.getSeconds()/r,D=u/r,S=a.axes[l]._space,_=m/S;for(;I=ln(I+u,n==1?0:3),!(I>s);)if(D>1){let N=ri(ln(P+D,6))%24,H=o(I).getHours()-N;H>1&&(H=-1),I-=H*r,P=(P+D)%24;let U=b[b.length-1];ln((I-U)/u,3)*_>=.7&&b.push(I)}else b.push(I)}return b}}return[w,h,g]}const[j_,U_,V_]=ym(1),[G_,K_,q_]=ym(.001);Ha(2,-53,53,[1]);function wm(n,e){return n.map(t=>t.map((r,d)=>d==0||d==8||r==null?r:e(d==1||t[8]==0?r:t[1]+r)))}function bm(n,e){return(t,r,d,p,f)=>{let w=e.find(s=>f>=s[0])||e[e.length-1],h,g,o,a,l,c;return r.map(s=>{let u=n(s),m=u.getFullYear(),b=u.getMonth(),x=u.getDate(),E=u.getHours(),$=u.getMinutes(),k=u.getSeconds(),C=m!=h&&w[2]||b!=g&&w[3]||x!=o&&w[4]||E!=a&&w[5]||$!=l&&w[6]||k!=c&&w[7]||w[1];return h=m,g=b,o=x,a=E,l=$,c=k,C(u)})}}function Y_(n,e){let t=rh(e);return(r,d,p,f,w)=>d.map(h=>t(n(h)))}function oh(n,e,t){return new Date(n,e,t)}function xm(n,e){return e(n)}const X_="{YYYY}-{MM}-{DD} {h}:{mm}{aa}";function Cm(n,e){return(t,r,d,p)=>p==null?Vu:e(n(r))}function Z_(n,e){let t=n.series[e];return t.width?t.stroke(n,e):t.points.width?t.points.stroke(n,e):null}function Q_(n,e){return n.series[e].fill(n,e)}const J_={show:!0,live:!0,isolate:!1,mount:y_,markers:{show:!0,width:2,stroke:Z_,fill:Q_,dash:"solid"},idx:null,idxs:null,values:[]};function eA(n,e){let t=n.cursor.points,r=vi(),d=t.size(n,e);gn(r,Pa,d),gn(r,Wa,d);let p=d/-2;gn(r,"marginLeft",p),gn(r,"marginTop",p);let f=t.width(n,e,d);return f&&gn(r,"borderWidth",f),r}function tA(n,e){let t=n.series[e].points;return t._fill||t._stroke}function nA(n,e){let t=n.series[e].points;return t._stroke||t._fill}function rA(n,e){return n.series[e].points.size}const sh=[0,0];function iA(n,e,t){return sh[0]=e,sh[1]=t,sh}function Jl(n,e,t,r=!0){return d=>{d.button==0&&(!r||d.target==e)&&t(d)}}function ah(n,e,t,r=!0){return d=>{(!r||d.target==e)&&t(d)}}const oA={show:!0,x:!0,y:!0,lock:!1,move:iA,points:{one:!1,show:eA,size:rA,width:0,stroke:nA,fill:tA},bind:{mousedown:Jl,mouseup:Jl,click:Jl,dblclick:Jl,mousemove:ah,mouseleave:ah,mouseenter:ah},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(n,e)=>{e.stopPropagation(),e.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(n,e,t,r,d)=>r-d,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},km={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},lh=qn({},km,{filter:Jg}),_m=qn({},lh,{size:10}),Am=qn({},km,{show:!1}),ch='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Sm="bold "+ch,$m=1.5,Mm={show:!0,scale:"x",stroke:Hu,space:50,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:Sm,side:2,grid:lh,ticks:_m,border:Am,font:ch,lineGap:$m,rotate:0},sA="Value",aA="Time",Tm={show:!0,scale:"x",auto:!1,sorted:1,min:an,max:-an,idxs:[]};function lA(n,e,t,r,d){return e.map(p=>p==null?"":Ju(p))}function cA(n,e,t,r,d,p,f){let w=[],h=Bo.get(d)||0;t=f?t:ln(Yl(t,d),h);for(let g=t;g<=r;g=ln(g+d,h))w.push(Object.is(g,-0)?0:g);return w}function uh(n,e,t,r,d,p,f){const w=[],h=n.scales[n.axes[e].scale].log,g=h==10?po:Yg,o=ri(g(t));d=ea(h,o),h==10&&(d=bs[Ni(d,bs)]);let a=t,l=d*h;h==10&&(l=bs[Ni(l,bs)]);do w.push(a),a=a+d,h==10&&!Bo.has(a)&&(a=ln(a,Bo.get(d))),a>=l&&(d=a,l=d*h,h==10&&(l=bs[Ni(l,bs)]));while(a<=r);return w}function uA(n,e,t,r,d,p,f){let w=n.scales[n.axes[e].scale].asinh,h=r>w?uh(n,e,Ir(w,t),r,d):[w],g=r>=0&&t<=0?[0]:[];return(t<-w?uh(n,e,Ir(w,-r),-t,d):[w]).reverse().map(o=>-o).concat(g,h)}const Em=/./,hA=/[12357]/,dA=/[125]/,Im=/1/,hh=(n,e,t,r)=>n.map((d,p)=>e==4&&d==0||p%r==0&&t.test(d.toExponential()[d<0?1:0])?d:null);function pA(n,e,t,r,d){let p=n.axes[t],f=p.scale,w=n.scales[f],h=n.valToPos,g=p._space,o=h(10,f),a=h(9,f)-o>=g?Em:h(7,f)-o>=g?hA:h(5,f)-o>=g?dA:Im;if(a==Im){let l=nr(h(1,f)-o);if(l<g)return hh(e.slice().reverse(),w.distr,a,yi(g/l)).reverse()}return hh(e,w.distr,a,1)}function fA(n,e,t,r,d){let p=n.axes[t],f=p.scale,w=p._space,h=n.valToPos,g=nr(h(1,f)-h(2,f));return g<w?hh(e.slice().reverse(),3,Em,yi(w/g)).reverse():e}function gA(n,e,t,r){return r==null?Vu:e==null?"":Ju(e)}const Lm={show:!0,scale:"y",stroke:Hu,space:30,gap:5,alignTo:1,size:50,labelGap:0,labelSize:30,labelFont:Sm,side:3,grid:lh,ticks:_m,border:Am,font:ch,lineGap:$m,rotate:0};function mA(n,e){let t=3+(n||1)*2;return ln(t*e,3)}function vA(n,e){let{scale:t,idxs:r}=n.series[0],d=n._data[0],p=n.valToPos(d[r[0]],t,!0),f=n.valToPos(d[r[1]],t,!0),w=nr(f-p),h=n.series[e],g=w/(h.points.space*Gt);return r[1]-r[0]<=g}const Rm={scale:null,auto:!0,sorted:0,min:an,max:-an},Om=(n,e,t,r,d)=>d,Dm={show:!0,auto:!0,sorted:0,gaps:Om,alpha:1,facets:[qn({},Rm,{scale:"x"}),qn({},Rm,{scale:"y"})]},Nm={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:Om,alpha:1,points:{show:vA,filter:null},values:null,min:an,max:-an,idxs:[],path:null,clip:null};function yA(n,e,t,r,d){return t/10}const Fm={time:jk,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},wA=qn({},Fm,{time:!1,ori:1}),Pm={};function Wm(n,e){let t=Pm[n];return t||(t={key:n,plots:[],sub(r){t.plots.push(r)},unsub(r){t.plots=t.plots.filter(d=>d!=r)},pub(r,d,p,f,w,h,g){for(let o=0;o<t.plots.length;o++)t.plots[o]!=d&&t.plots[o].pub(r,d,p,f,w,h,g)}},n!=null&&(Pm[n]=t)),t}const ia=1,dh=2;function xs(n,e,t){const r=n.mode,d=n.series[e],p=r==2?n._data[e]:n._data,f=n.scales,w=n.bbox;let h=p[0],g=r==2?p[1]:p[e],o=r==2?f[d.facets[0].scale]:f[n.series[0].scale],a=r==2?f[d.facets[1].scale]:f[d.scale],l=w.left,c=w.top,s=w.width,u=w.height,m=n.valToPosH,b=n.valToPosV;return o.ori==0?t(d,h,g,o,a,m,b,l,c,s,u,tc,oa,rc,Hm,Um):t(d,h,g,o,a,b,m,c,l,u,s,nc,sa,gh,jm,Vm)}function ph(n,e){let t=0,r=0,d=jt(n.bands,nh);for(let p=0;p<d.length;p++){let f=d[p];f.series[0]==e?t=f.dir:f.series[1]==e&&(f.dir==1?r|=1:r|=2)}return[t,r==1?-1:r==2?1:r==3?2:0]}function bA(n,e,t,r,d){let p=n.mode,f=n.series[e],w=p==2?f.facets[1].scale:f.scale,h=n.scales[w];return d==-1?h.min:d==1?h.max:h.distr==3?h.dir==1?h.min:h.max:0}function fo(n,e,t,r,d,p){return xs(n,e,(f,w,h,g,o,a,l,c,s,u,m)=>{let b=f.pxRound;const x=g.dir*(g.ori==0?1:-1),E=g.ori==0?oa:sa;let $,k;x==1?($=t,k=r):($=r,k=t);let C=b(a(w[$],g,u,c)),R=b(l(h[$],o,m,s)),O=b(a(w[k],g,u,c)),L=b(l(p==1?o.max:o.min,o,m,s)),I=new Path2D(d);return E(I,O,L),E(I,C,L),E(I,C,R),I})}function ec(n,e,t,r,d,p){let f=null;if(n.length>0){f=new Path2D;const w=e==0?rc:gh;let h=t;for(let a=0;a<n.length;a++){let l=n[a];if(l[1]>l[0]){let c=l[0]-h;c>0&&w(f,h,r,c,r+p),h=l[1]}}let g=t+d-h,o=10;g>0&&w(f,h,r-o/2,g,r+p+o)}return f}function xA(n,e,t){let r=n[n.length-1];r&&r[0]==e?r[1]=t:n.push([e,t])}function fh(n,e,t,r,d,p,f){let w=[],h=n.length;for(let g=d==1?t:r;g>=t&&g<=r;g+=d)if(e[g]===null){let o=g,a=g;if(d==1)for(;++g<=r&&e[g]===null;)a=g;else for(;--g>=t&&e[g]===null;)a=g;let l=p(n[o]),c=a==o?l:p(n[a]),s=o-d;l=f<=0&&s>=0&&s<h?p(n[s]):l;let u=a+d;c=f>=0&&u>=0&&u<h?p(n[u]):c,c>=l&&w.push([l,c])}return w}function Bm(n){return n==0?Qg:n==1?rr:e=>ws(e,n)}function zm(n){let e=n==0?tc:nc,t=n==0?(d,p,f,w,h,g)=>{d.arcTo(p,f,w,h,g)}:(d,p,f,w,h,g)=>{d.arcTo(f,p,h,w,g)},r=n==0?(d,p,f,w,h)=>{d.rect(p,f,w,h)}:(d,p,f,w,h)=>{d.rect(f,p,h,w)};return(d,p,f,w,h,g=0,o=0)=>{g==0&&o==0?r(d,p,f,w,h):(g=Fi(g,w/2,h/2),o=Fi(o,w/2,h/2),e(d,p+g,f),t(d,p+w,f,p+w,f+h,g),t(d,p+w,f+h,p,f+h,o),t(d,p,f+h,p,f,o),t(d,p,f,p+w,f,g),d.closePath())}}const tc=(n,e,t)=>{n.moveTo(e,t)},nc=(n,e,t)=>{n.moveTo(t,e)},oa=(n,e,t)=>{n.lineTo(e,t)},sa=(n,e,t)=>{n.lineTo(t,e)},rc=zm(0),gh=zm(1),Hm=(n,e,t,r,d,p)=>{n.arc(e,t,r,d,p)},jm=(n,e,t,r,d,p)=>{n.arc(t,e,r,d,p)},Um=(n,e,t,r,d,p,f)=>{n.bezierCurveTo(e,t,r,d,p,f)},Vm=(n,e,t,r,d,p,f)=>{n.bezierCurveTo(t,e,d,r,f,p)};function Gm(n){return(e,t,r,d,p)=>xs(e,t,(f,w,h,g,o,a,l,c,s,u,m)=>{let{pxRound:b,points:x}=f,E,$;g.ori==0?(E=tc,$=Hm):(E=nc,$=jm);const k=ln(x.width*Gt,3);let C=(x.size-x.width)/2*Gt,R=ln(C*2,3),O=new Path2D,L=new Path2D,{left:I,top:B,width:P,height:D}=e.bbox;rc(L,I-R,B-R,P+R*2,D+R*2);const S=_=>{if(h[_]!=null){let N=b(a(w[_],g,u,c)),H=b(l(h[_],o,m,s));E(O,N+C,H),$(O,N,H,C,0,ql*2)}};if(p)p.forEach(S);else for(let _=r;_<=d;_++)S(_);return{stroke:k>0?O:null,fill:O,clip:L,flags:ia|dh}})}function Km(n){return(e,t,r,d,p,f)=>{r!=d&&(p!=r&&f!=r&&n(e,t,r),p!=d&&f!=d&&n(e,t,d),n(e,t,f))}}const CA=Km(oa),kA=Km(sa);function qm(n){const e=jt(n==null?void 0:n.alignGaps,0);return(t,r,d,p)=>xs(t,r,(f,w,h,g,o,a,l,c,s,u,m)=>{[d,p]=Vl(h,d,p);let b=f.pxRound,x=P=>b(a(P,g,u,c)),E=P=>b(l(P,o,m,s)),$,k;g.ori==0?($=oa,k=CA):($=sa,k=kA);const C=g.dir*(g.ori==0?1:-1),R={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:ia},O=R.stroke;let L=!1;if(p-d>=u*4){let P=he=>t.posToVal(he,g.key,!0),D=null,S=null,_,N,H,U=x(w[C==1?d:p]),q=x(w[d]),Q=x(w[p]),te=P(C==1?q+1:Q-1);for(let he=C==1?d:p;he>=d&&he<=p;he+=C){let ne=w[he],le=(C==1?ne<te:ne>te)?U:x(ne),ue=h[he];le==U?ue!=null?(N=ue,D==null?($(O,le,E(N)),_=D=S=N):N<D?D=N:N>S&&(S=N)):ue===null&&(L=!0):(D!=null&&k(O,U,E(D),E(S),E(_),E(N)),ue!=null?(N=ue,$(O,le,E(N)),D=S=_=N):(D=S=null,ue===null&&(L=!0)),U=le,te=P(U+C))}D!=null&&D!=S&&H!=U&&k(O,U,E(D),E(S),E(_),E(N))}else for(let P=C==1?d:p;P>=d&&P<=p;P+=C){let D=h[P];D===null?L=!0:D!=null&&$(O,x(w[P]),E(D))}let[I,B]=ph(t,r);if(f.fill!=null||I!=0){let P=R.fill=new Path2D(O),D=f.fillTo(t,r,f.min,f.max,I),S=E(D),_=x(w[d]),N=x(w[p]);C==-1&&([N,_]=[_,N]),$(P,N,S),$(P,_,S)}if(!f.spanGaps){let P=[];L&&P.push(...fh(w,h,d,p,C,x,e)),R.gaps=P=f.gaps(t,r,d,p,P),R.clip=ec(P,g.ori,c,s,u,m)}return B!=0&&(R.band=B==2?[fo(t,r,d,p,O,-1),fo(t,r,d,p,O,1)]:fo(t,r,d,p,O,B)),R})}function _A(n){const e=jt(n.align,1),t=jt(n.ascDesc,!1),r=jt(n.alignGaps,0),d=jt(n.extend,!1);return(p,f,w,h)=>xs(p,f,(g,o,a,l,c,s,u,m,b,x,E)=>{[w,h]=Vl(a,w,h);let $=g.pxRound,{left:k,width:C}=p.bbox,R=Q=>$(s(Q,l,x,m)),O=Q=>$(u(Q,c,E,b)),L=l.ori==0?oa:sa;const I={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:ia},B=I.stroke,P=l.dir*(l.ori==0?1:-1);let D=O(a[P==1?w:h]),S=R(o[P==1?w:h]),_=S,N=S;d&&e==-1&&(N=k,L(B,N,D)),L(B,S,D);for(let Q=P==1?w:h;Q>=w&&Q<=h;Q+=P){let te=a[Q];if(te==null)continue;let he=R(o[Q]),ne=O(te);e==1?L(B,he,D):L(B,_,ne),L(B,he,ne),D=ne,_=he}let H=_;d&&e==1&&(H=k+C,L(B,H,D));let[U,q]=ph(p,f);if(g.fill!=null||U!=0){let Q=I.fill=new Path2D(B),te=g.fillTo(p,f,g.min,g.max,U),he=O(te);L(Q,H,he),L(Q,N,he)}if(!g.spanGaps){let Q=[];Q.push(...fh(o,a,w,h,P,R,r));let te=g.width*Gt/2,he=t||e==1?te:-te,ne=t||e==-1?-te:te;Q.forEach(le=>{le[0]+=he,le[1]+=ne}),I.gaps=Q=g.gaps(p,f,w,h,Q),I.clip=ec(Q,l.ori,m,b,x,E)}return q!=0&&(I.band=q==2?[fo(p,f,w,h,B,-1),fo(p,f,w,h,B,1)]:fo(p,f,w,h,B,q)),I})}function Ym(n,e,t,r,d,p,f=an){if(n.length>1){let w=null;for(let h=0,g=1/0;h<n.length;h++)if(e[h]!==void 0){if(w!=null){let o=nr(n[h]-n[w]);o<g&&(g=o,f=nr(t(n[h],r,d,p)-t(n[w],r,d,p)))}w=h}}return f}function AA(n){n=n||ja;const e=jt(n.size,[.6,an,1]),t=n.align||0,r=n.gap||0;let d=n.radius;d=d==null?[0,0]:typeof d=="number"?[d,0]:d;const p=Dt(d),f=1-e[0],w=jt(e[1],an),h=jt(e[2],1),g=jt(n.disp,ja),o=jt(n.each,c=>{}),{fill:a,stroke:l}=g;return(c,s,u,m)=>xs(c,s,(b,x,E,$,k,C,R,O,L,I,B)=>{let P=b.pxRound,D=t,S=r*Gt,_=w*Gt,N=h*Gt,H,U;$.ori==0?[H,U]=p(c,s):[U,H]=p(c,s);const q=$.dir*($.ori==0?1:-1);let Q=$.ori==0?rc:gh,te=$.ori==0?o:(Ge,Ut,mn,Xn,Or,kr,_n)=>{o(Ge,Ut,mn,Or,Xn,_n,kr)},he=jt(c.bands,nh).find(Ge=>Ge.series[0]==s),ne=he!=null?he.dir:0,le=b.fillTo(c,s,b.min,b.max,ne),ue=P(R(le,k,B,L)),ce,ge,Se,$e=I,Te=P(b.width*Gt),Ze=!1,qe=null,dt=null,ot=null,gt=null;a!=null&&(Te==0||l!=null)&&(Ze=!0,qe=a.values(c,s,u,m),dt=new Map,new Set(qe).forEach(Ge=>{Ge!=null&&dt.set(Ge,new Path2D)}),Te>0&&(ot=l.values(c,s,u,m),gt=new Map,new Set(ot).forEach(Ge=>{Ge!=null&&gt.set(Ge,new Path2D)})));let{x0:tn,size:zn}=g;if(tn!=null&&zn!=null){D=1,x=tn.values(c,s,u,m),tn.unit==2&&(x=x.map(Ut=>c.posToVal(O+Ut*I,$.key,!0)));let Ge=zn.values(c,s,u,m);zn.unit==2?ge=Ge[0]*I:ge=C(Ge[0],$,I,O)-C(0,$,I,O),$e=Ym(x,E,C,$,I,O,$e),Se=$e-ge+S}else $e=Ym(x,E,C,$,I,O,$e),Se=$e*f+S,ge=$e-Se;Se<1&&(Se=0),Te>=ge/2&&(Te=0),Se<5&&(P=Qg);let Zt=Se>0,oi=$e-Se-(Zt?Te:0);ge=P(th(oi,N,_)),ce=(D==0?ge/2:D==q?0:ge)-D*q*((D==0?S/2:0)+(Zt?Te/2:0));const kn={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},Yn=Ze?null:new Path2D;let cr=null;if(he!=null)cr=c.data[he.series[1]];else{let{y0:Ge,y1:Ut}=g;Ge!=null&&Ut!=null&&(E=Ut.values(c,s,u,m),cr=Ge.values(c,s,u,m))}let Rr=H*ge,yt=U*ge;for(let Ge=q==1?u:m;Ge>=u&&Ge<=m;Ge+=q){let Ut=E[Ge];if(Ut==null)continue;if(cr!=null){let nn=cr[Ge]??0;if(Ut-nn==0)continue;ue=R(nn,k,B,L)}let mn=$.distr!=2||g!=null?x[Ge]:Ge,Xn=C(mn,$,I,O),Or=R(jt(Ut,le),k,B,L),kr=P(Xn-ce),_n=P(Ir(Or,ue)),ir=P(Fi(Or,ue)),ur=_n-ir;if(Ut!=null){let nn=Ut<0?yt:Rr,or=Ut<0?Rr:yt;Ze?(Te>0&&ot[Ge]!=null&&Q(gt.get(ot[Ge]),kr,ir+ri(Te/2),ge,Ir(0,ur-Te),nn,or),qe[Ge]!=null&&Q(dt.get(qe[Ge]),kr,ir+ri(Te/2),ge,Ir(0,ur-Te),nn,or)):Q(Yn,kr,ir+ri(Te/2),ge,Ir(0,ur-Te),nn,or),te(c,s,Ge,kr-Te/2,ir,ge+Te,ur)}}return Te>0?kn.stroke=Ze?gt:Yn:Ze||(kn._fill=b.width==0?b._fill:b._stroke??b._fill,kn.width=0),kn.fill=Ze?dt:Yn,kn})}function SA(n,e){const t=jt(e==null?void 0:e.alignGaps,0);return(r,d,p,f)=>xs(r,d,(w,h,g,o,a,l,c,s,u,m,b)=>{[p,f]=Vl(g,p,f);let x=w.pxRound,E=H=>x(l(H,o,m,s)),$=H=>x(c(H,a,b,u)),k,C,R;o.ori==0?(k=tc,R=oa,C=Um):(k=nc,R=sa,C=Vm);const O=o.dir*(o.ori==0?1:-1);let L=E(h[O==1?p:f]),I=L,B=[],P=[];for(let H=O==1?p:f;H>=p&&H<=f;H+=O)if(g[H]!=null){let U=h[H],q=E(U);B.push(I=q),P.push($(g[H]))}const D={stroke:n(B,P,k,R,C,x),fill:null,clip:null,band:null,gaps:null,flags:ia},S=D.stroke;let[_,N]=ph(r,d);if(w.fill!=null||_!=0){let H=D.fill=new Path2D(S),U=w.fillTo(r,d,w.min,w.max,_),q=$(U);R(H,I,q),R(H,L,q)}if(!w.spanGaps){let H=[];H.push(...fh(h,g,p,f,O,E,t)),D.gaps=H=w.gaps(r,d,p,f,H),D.clip=ec(H,o.ori,s,u,m,b)}return N!=0&&(D.band=N==2?[fo(r,d,p,f,S,-1),fo(r,d,p,f,S,1)]:fo(r,d,p,f,S,N)),D})}function $A(n){return SA(MA,n)}function MA(n,e,t,r,d,p){const f=n.length;if(f<2)return null;const w=new Path2D;if(t(w,n[0],e[0]),f==2)r(w,n[1],e[1]);else{let h=Array(f),g=Array(f-1),o=Array(f-1),a=Array(f-1);for(let l=0;l<f-1;l++)o[l]=e[l+1]-e[l],a[l]=n[l+1]-n[l],g[l]=o[l]/a[l];h[0]=g[0];for(let l=1;l<f-1;l++)g[l]===0||g[l-1]===0||g[l-1]>0!=g[l]>0?h[l]=0:(h[l]=3*(a[l-1]+a[l])/((2*a[l]+a[l-1])/g[l-1]+(a[l]+2*a[l-1])/g[l]),isFinite(h[l])||(h[l]=0));h[f-1]=g[f-2];for(let l=0;l<f-1;l++)d(w,n[l]+a[l]/3,e[l]+h[l]*a[l]/3,n[l+1]-a[l]/3,e[l+1]-h[l+1]*a[l]/3,n[l+1],e[l+1])}return w}const mh=new Set;function Xm(){for(let n of mh)n.syncRect(!0)}Qs&&(vs(l_,Js,Xm),vs(c_,Js,Xm,!0),vs(jl,Js,()=>{xr.pxRatio=Gt}));const TA=qm(),EA=Gm();function Zm(n,e,t,r){return(r?[n[0],n[1]].concat(n.slice(2)):[n[0]].concat(n.slice(1))).map((d,p)=>vh(d,p,e,t))}function IA(n,e){return n.map((t,r)=>r==0?{}:qn({},e,t))}function vh(n,e,t,r){return qn({},e==0?t:r,n)}function Qm(n,e,t){return e==null?ta:[e,t]}const LA=Qm;function RA(n,e,t){return e==null?ta:Kl(e,t,Qu,!0)}function Jm(n,e,t,r){return e==null?ta:Gl(e,t,n.scales[r].log,!1)}const OA=Jm;function ev(n,e,t,r){return e==null?ta:Zu(e,t,n.scales[r].log,!1)}const DA=ev;function NA(n,e,t,r,d){let p=Ir(Xg(n),Xg(e)),f=e-n,w=Ni(d/r*f,t);do{let h=t[w],g=r*h/f;if(g>=d&&p+(h<5?Bo.get(h):0)<=17)return[h,g]}while(++w<t.length);return[0,0]}function tv(n){let e,t;return n=n.replace(/(\d+)px/,(r,d)=>(e=rr((t=+d)*Gt))+"px"),[n,e,t]}function FA(n){n.show&&[n.font,n.labelFont].forEach(e=>{let t=ln(e[2]*Gt,1);e[0]=e[0].replace(/[0-9.]+px/,t+"px"),e[1]=t})}function xr(n,e,t){const r={mode:jt(n.mode,1)},d=r.mode;function p(V,X,ie,oe){let fe=X.valToPct(V);return oe+ie*(X.dir==-1?1-fe:fe)}function f(V,X,ie,oe){let fe=X.valToPct(V);return oe+ie*(X.dir==-1?fe:1-fe)}function w(V,X,ie,oe){return X.ori==0?p(V,X,ie,oe):f(V,X,ie,oe)}r.valToPosH=p,r.valToPosV=f;let h=!1;r.status=0;const g=r.root=vi(Uk);if(n.id!=null&&(g.id=n.id),ti(g,n.class),n.title){let V=vi(Kk,g);V.textContent=n.title}const o=Di("canvas"),a=r.ctx=o.getContext("2d"),l=vi(qk,g);vs("click",l,V=>{V.target===s&&(Yt!=Ci||Ft!=lo)&&Ln.click(r,V)},!0);const c=r.under=vi(Yk,l);l.appendChild(o);const s=r.over=vi(Xk,l);n=na(n);const u=+jt(n.pxAlign,1),m=Bm(u);(n.plugins||[]).forEach(V=>{V.opts&&(n=V.opts(r,n)||n)});const b=n.ms||.001,x=r.series=d==1?Zm(n.series||[],Tm,Nm,!1):IA(n.series||[null],Dm),E=r.axes=Zm(n.axes||[],Mm,Lm,!0),$=r.scales={},k=r.bands=n.bands||[];k.forEach(V=>{V.fill=Dt(V.fill||null),V.dir=jt(V.dir,-1)});const C=d==2?x[1].facets[0].scale:x[0].scale,R={axes:xo,series:pa},O=(n.drawOrder||["axes","series"]).map(V=>R[V]);function L(V){const X=V.distr==3?ie=>po(ie>0?ie:V.clamp(r,ie,V.min,V.max,V.key)):V.distr==4?ie=>eh(ie,V.asinh):V.distr==100?ie=>V.fwd(ie):ie=>ie;return ie=>{let oe=X(ie),{_min:fe,_max:be}=V,Me=be-fe;return(oe-fe)/Me}}function I(V){let X=$[V];if(X==null){let ie=(n.scales||ja)[V]||ja;if(ie.from!=null){I(ie.from);let oe=qn({},$[ie.from],ie,{key:V});oe.valToPct=L(oe),$[V]=oe}else{X=$[V]=qn({},V==C?Fm:wA,ie),X.key=V;let oe=X.time,fe=X.range,be=zo(fe);if((V!=C||d==2&&!oe)&&(be&&(fe[0]==null||fe[1]==null)&&(fe={min:fe[0]==null?Gg:{mode:1,hard:fe[0],soft:fe[0]},max:fe[1]==null?Gg:{mode:1,hard:fe[1],soft:fe[1]}},be=!1),!be&&Xl(fe))){let Me=fe;fe=(Fe,We,Ve)=>We==null?ta:Kl(We,Ve,Me)}X.range=Dt(fe||(oe?LA:V==C?X.distr==3?OA:X.distr==4?DA:Qm:X.distr==3?Jm:X.distr==4?ev:RA)),X.auto=Dt(be?!1:X.auto),X.clamp=Dt(X.clamp||yA),X._min=X._max=null,X.valToPct=L(X)}}}I("x"),I("y"),d==1&&x.forEach(V=>{I(V.scale)}),E.forEach(V=>{I(V.scale)});for(let V in n.scales)I(V);const B=$[C],P=B.distr;let D,S;B.ori==0?(ti(g,Vk),D=p,S=f):(ti(g,Gk),D=f,S=p);const _={};for(let V in $){let X=$[V];(X.min!=null||X.max!=null)&&(_[V]={min:X.min,max:X.max},X.min=X.max=null)}const N=n.tzDate||(V=>new Date(rr(V/b))),H=n.fmtDate||rh,U=b==1?V_(N):q_(N),q=bm(N,wm(b==1?U_:K_,H)),Q=Cm(N,xm(X_,H)),te=[],he=r.legend=qn({},J_,n.legend),ne=r.cursor=qn({},oA,{drag:{y:d==2}},n.cursor),le=he.show,ue=ne.show,ce=he.markers;he.idxs=te,ce.width=Dt(ce.width),ce.dash=Dt(ce.dash),ce.stroke=Dt(ce.stroke),ce.fill=Dt(ce.fill);let ge,Se,$e,Te=[],Ze=[],qe,dt=!1,ot={};if(he.live){const V=x[1]?x[1].values:null;dt=V!=null,qe=dt?V(r,1,0):{_:0};for(let X in qe)ot[X]=Vu}if(le)if(ge=Di("table",n_,g),$e=Di("tbody",null,ge),he.mount(r,ge),dt){Se=Di("thead",null,ge,$e);let V=Di("tr",null,Se);Di("th",null,V);for(var gt in qe)Di("th",Eg,V).textContent=gt}else ti(ge,i_),he.live&&ti(ge,r_);const tn={show:!0},zn={show:!1};function Zt(V,X){if(X==0&&(dt||!he.live||d==2))return ta;let ie=[],oe=Di("tr",o_,$e,$e.childNodes[X]);ti(oe,V.class),V.show||ti(oe,ms);let fe=Di("th",null,oe);if(ce.show){let Fe=vi(s_,fe);if(X>0){let We=ce.width(r,X);We&&(Fe.style.border=We+"px "+ce.dash(r,X)+" "+ce.stroke(r,X)),Fe.style.background=ce.fill(r,X)}}let be=vi(Eg,fe);V.label instanceof HTMLElement?be.appendChild(V.label):be.textContent=V.label,X>0&&(ce.show||(be.style.color=V.width>0?ce.stroke(r,X):ce.fill(r,X)),kn("click",fe,Fe=>{if(ne._lock)return;Hi(Fe);let We=x.indexOf(V);if((Fe.ctrlKey||Fe.metaKey)!=he.isolate){let Ve=x.some((Ye,Qe)=>Qe>0&&Qe!=We&&Ye.show);x.forEach((Ye,Qe)=>{Qe>0&&Nr(Qe,Ve?Qe==We?tn:zn:tn,!0,lt.setSeries)})}else Nr(We,{show:!V.show},!0,lt.setSeries)},!1),ji&&kn(Og,fe,Fe=>{ne._lock||(Hi(Fe),Nr(x.indexOf(V),Ai,!0,lt.setSeries))},!1));for(var Me in qe){let Fe=Di("td",a_,oe);Fe.textContent="--",ie.push(Fe)}return[oe,ie]}const oi=new Map;function kn(V,X,ie,oe=!0){const fe=oi.get(X)||{},be=ne.bind[V](r,X,ie,oe);be&&(vs(V,X,fe[V]=be),oi.set(X,fe))}function Yn(V,X,ie){const oe=oi.get(X)||{};for(let fe in oe)(V==null||fe==V)&&(Xu(fe,X,oe[fe]),delete oe[fe]);V==null&&oi.delete(X)}let cr=0,Rr=0,yt=0,Ge=0,Ut=0,mn=0,Xn=Ut,Or=mn,kr=yt,_n=Ge,ir=0,ur=0,nn=0,or=0;r.bbox={};let go=!1,Wi=!1,Bi=!1,zi=!1,mo=!1,mr=!1;function vo(V,X,ie){(ie||V!=r.width||X!=r.height)&&Ho(V,X),Ki(!1),Bi=!0,Wi=!0,ao()}function Ho(V,X){r.width=cr=yt=V,r.height=Rr=Ge=X,Ut=mn=0,Ss(),ua();let ie=r.bbox;ir=ie.left=ws(Ut*Gt,.5),ur=ie.top=ws(mn*Gt,.5),nn=ie.width=ws(yt*Gt,.5),or=ie.height=ws(Ge*Gt,.5)}const tl=3;function si(){let V=!1,X=0;for(;!V;){X++;let ie=fa(X),oe=ol(X);V=X==tl||ie&&oe,V||(Ho(r.width,r.height),Wi=!0)}}function nl({width:V,height:X}){vo(V,X)}r.setSize=nl;function Ss(){let V=!1,X=!1,ie=!1,oe=!1;E.forEach((fe,be)=>{if(fe.show&&fe._show){let{side:Me,_size:Fe}=fe,We=Me%2,Ve=fe.label!=null?fe.labelSize:0,Ye=Fe+Ve;Ye>0&&(We?(yt-=Ye,Me==3?(Ut+=Ye,oe=!0):ie=!0):(Ge-=Ye,Me==0?(mn+=Ye,V=!0):X=!0))}}),Vi[0]=V,Vi[1]=ie,Vi[2]=X,Vi[3]=oe,yt-=Sr[1]+Sr[3],Ut+=Sr[3],Ge-=Sr[2]+Sr[0],mn+=Sr[0]}function ua(){let V=Ut+yt,X=mn+Ge,ie=Ut,oe=mn;function fe(be,Me){switch(be){case 1:return V+=Me,V-Me;case 2:return X+=Me,X-Me;case 3:return ie-=Me,ie+Me;case 0:return oe-=Me,oe+Me}}E.forEach((be,Me)=>{if(be.show&&be._show){let Fe=be.side;be._pos=fe(Fe,be._size),be.label!=null&&(be._lpos=fe(Fe,be.labelSize))}})}if(ne.dataIdx==null){let V=ne.hover,X=V.skip=new Set(V.skip??[]);X.add(void 0);let ie=V.prox=Dt(V.prox),oe=V.bias??(V.bias=0);ne.dataIdx=(fe,be,Me,Fe)=>{if(be==0)return Me;let We=Me,Ve=ie(fe,be,Me,Fe)??an,Ye=Ve>=0&&Ve<an,Qe=B.ori==0?yt:Ge,vt=ne.left,Rt=e[0],xt=e[be];if(X.has(xt[Me])){We=null;let It=null,ut=null,st;if(oe==0||oe==-1)for(st=Me;It==null&&st-- >0;)X.has(xt[st])||(It=st);if(oe==0||oe==1)for(st=Me;ut==null&&st++<xt.length;)X.has(xt[st])||(ut=st);if(It!=null||ut!=null)if(Ye){let cn=It==null?-1/0:D(Rt[It],B,Qe,0),xn=ut==null?1/0:D(Rt[ut],B,Qe,0),Jn=vt-cn,Bt=xn-vt;Jn<=Bt?Jn<=Ve&&(We=It):Bt<=Ve&&(We=ut)}else We=ut==null?It:It==null?ut:Me-It<=ut-Me?It:ut}else Ye&&nr(vt-D(Rt[Me],B,Qe,0))>Ve&&(We=null);return We}}const Hi=V=>{ne.event=V};ne.idxs=te,ne._lock=!1;let Hn=ne.points;Hn.show=Dt(Hn.show),Hn.size=Dt(Hn.size),Hn.stroke=Dt(Hn.stroke),Hn.width=Dt(Hn.width),Hn.fill=Dt(Hn.fill);const _r=r.focus=qn({},n.focus||{alpha:.3},ne.focus),ji=_r.prox>=0,An=ji&&Hn.one;let Ar=[],ro=[],Ui=[];function $s(V,X){let ie=Hn.show(r,X);if(ie instanceof HTMLElement)return ti(ie,t_),ti(ie,V.class),Ji(ie,-10,-10,yt,Ge),s.insertBefore(ie,Ar[X]),ie}function ha(V,X){if(d==1||X>0){let ie=d==1&&$[V.scale].time,oe=V.value;V.value=ie?om(oe)?Cm(N,xm(oe,H)):oe||Q:oe||gA,V.label=V.label||(ie?aA:sA)}if(An||X>0){V.width=V.width==null?1:V.width,V.paths=V.paths||TA||w_,V.fillTo=Dt(V.fillTo||bA),V.pxAlign=+jt(V.pxAlign,u),V.pxRound=Bm(V.pxAlign),V.stroke=Dt(V.stroke||null),V.fill=Dt(V.fill||null),V._stroke=V._fill=V._paths=V._focus=null;let ie=mA(Ir(1,V.width),1),oe=V.points=qn({},{size:ie,width:Ir(1,ie*.2),stroke:V.stroke,space:ie*2,paths:EA,_stroke:null,_fill:null},V.points);oe.show=Dt(oe.show),oe.filter=Dt(oe.filter),oe.fill=Dt(oe.fill),oe.stroke=Dt(oe.stroke),oe.paths=Dt(oe.paths),oe.pxAlign=V.pxAlign}if(le){let ie=Zt(V,X);Te.splice(X,0,ie[0]),Ze.splice(X,0,ie[1]),he.values.push(null)}if(ue){te.splice(X,0,null);let ie=null;An?X==0&&(ie=$s(V,X)):X>0&&(ie=$s(V,X)),Ar.splice(X,0,ie),ro.splice(X,0,0),Ui.splice(X,0,0)}rt("addSeries",X)}function rl(V,X){X=X??x.length,V=d==1?vh(V,X,Tm,Nm):vh(V,X,{},Dm),x.splice(X,0,V),ha(x[X],X)}r.addSeries=rl;function il(V){if(x.splice(V,1),le){he.values.splice(V,1),Ze.splice(V,1);let X=Te.splice(V,1)[0];Yn(null,X.firstChild),X.remove()}ue&&(te.splice(V,1),Ar.splice(V,1)[0].remove(),ro.splice(V,1),Ui.splice(V,1)),rt("delSeries",V)}r.delSeries=il;const Vi=[!1,!1,!1,!1];function ai(V,X){if(V._show=V.show,V.show){let ie=V.side%2,oe=$[V.scale];oe==null&&(V.scale=ie?x[1].scale:C,oe=$[V.scale]);let fe=oe.time;V.size=Dt(V.size),V.space=Dt(V.space),V.rotate=Dt(V.rotate),zo(V.incrs)&&V.incrs.forEach(Me=>{!Bo.has(Me)&&Bo.set(Me,rm(Me))}),V.incrs=Dt(V.incrs||(oe.distr==2?z_:fe?b==1?j_:G_:bs)),V.splits=Dt(V.splits||(fe&&oe.distr==1?U:oe.distr==3?uh:oe.distr==4?uA:cA)),V.stroke=Dt(V.stroke),V.grid.stroke=Dt(V.grid.stroke),V.ticks.stroke=Dt(V.ticks.stroke),V.border.stroke=Dt(V.border.stroke);let be=V.values;V.values=zo(be)&&!zo(be[0])?Dt(be):fe?zo(be)?bm(N,wm(be,H)):om(be)?Y_(N,be):be||q:be||lA,V.filter=Dt(V.filter||(oe.distr>=3&&oe.log==10?pA:oe.distr==3&&oe.log==2?fA:Jg)),V.font=tv(V.font),V.labelFont=tv(V.labelFont),V._size=V.size(r,null,X,0),V._space=V._rotate=V._incrs=V._found=V._splits=V._values=null,V._size>0&&(Vi[X]=!0,V._el=vi(Zk,l))}}function Nt(V,X,ie,oe){let[fe,be,Me,Fe]=ie,We=X%2,Ve=0;return We==0&&(Fe||be)&&(Ve=X==0&&!fe||X==2&&!Me?rr(Mm.size/3):0),We==1&&(fe||Me)&&(Ve=X==1&&!be||X==3&&!Fe?rr(Lm.size/2):0),Ve}const da=r.padding=(n.padding||[Nt,Nt,Nt,Nt]).map(V=>Dt(jt(V,Nt))),Sr=r._padding=da.map((V,X)=>V(r,X,Vi,0));let jn,dn=null,In=null;const wi=d==1?x[0].idxs:null;let $r=null,bi=!1;function jo(V,X){if(e=V??[],r.data=r._data=e,d==2){jn=0;for(let ie=1;ie<x.length;ie++)jn+=e[ie][0].length}else{e.length==0&&(r.data=r._data=e=[[]]),$r=e[0],jn=$r.length;let ie=e;if(P==2){ie=e.slice();let oe=ie[0]=Array(jn);for(let fe=0;fe<jn;fe++)oe[fe]=fe}r._data=e=ie}if(Ki(!0),rt("setData"),P==2&&(Bi=!0),X!==!1){let ie=B;ie.auto(r,bi)?Ms():Zn(C,ie.min,ie.max),zi=zi||ne.left>=0,mr=!0,ao()}}r.setData=jo;function Ms(){bi=!0;let V,X;d==1&&(jn>0?(dn=wi[0]=0,In=wi[1]=jn-1,V=e[0][dn],X=e[0][In],P==2?(V=dn,X=In):V==X&&(P==3?[V,X]=Gl(V,V,B.log,!1):P==4?[V,X]=Zu(V,V,B.log,!1):B.time?X=V+rr(86400/b):[V,X]=Kl(V,X,Qu,!0))):(dn=wi[0]=V=null,In=wi[1]=X=null)),Zn(C,V,X)}let io,Kr,yo,Uo,qr,Vo,Ts,Es,Go,sr;function Is(V,X,ie,oe,fe,be){V??(V=Lg),ie??(ie=nh),oe??(oe="butt"),fe??(fe=Lg),be??(be="round"),V!=io&&(a.strokeStyle=io=V),fe!=Kr&&(a.fillStyle=Kr=fe),X!=yo&&(a.lineWidth=yo=X),be!=qr&&(a.lineJoin=qr=be),oe!=Vo&&(a.lineCap=Vo=oe),ie!=Uo&&a.setLineDash(Uo=ie)}function wo(V,X,ie,oe){X!=Kr&&(a.fillStyle=Kr=X),V!=Ts&&(a.font=Ts=V),ie!=Es&&(a.textAlign=Es=ie),oe!=Go&&(a.textBaseline=Go=oe)}function Ko(V,X,ie,oe,fe=0){if(oe.length>0&&V.auto(r,bi)&&(X==null||X.min==null)){let be=jt(dn,0),Me=jt(In,oe.length-1),Fe=ie.min==null?p_(oe,be,Me,fe,V.distr==3):[ie.min,ie.max];V.min=Fi(V.min,ie.min=Fe[0]),V.max=Ir(V.max,ie.max=Fe[1])}}const qo={min:null,max:null};function oo(){for(let oe in $){let fe=$[oe];_[oe]==null&&(fe.min==null||_[C]!=null&&fe.auto(r,bi))&&(_[oe]=qo)}for(let oe in $){let fe=$[oe];_[oe]==null&&fe.from!=null&&_[fe.from]!=null&&(_[oe]=qo)}_[C]!=null&&Ki(!0);let V={};for(let oe in _){let fe=_[oe];if(fe!=null){let be=V[oe]=na($[oe],C_);if(fe.min!=null)qn(be,fe);else if(oe!=C||d==2)if(jn==0&&be.from==null){let Me=be.range(r,null,null,oe);be.min=Me[0],be.max=Me[1]}else be.min=an,be.max=-an}}if(jn>0){x.forEach((oe,fe)=>{if(d==1){let be=oe.scale,Me=_[be];if(Me==null)return;let Fe=V[be];if(fe==0){let We=Fe.range(r,Fe.min,Fe.max,be);Fe.min=We[0],Fe.max=We[1],dn=Ni(Fe.min,e[0]),In=Ni(Fe.max,e[0]),In-dn>1&&(e[0][dn]<Fe.min&&dn++,e[0][In]>Fe.max&&In--),oe.min=$r[dn],oe.max=$r[In]}else oe.show&&oe.auto&&Ko(Fe,Me,oe,e[fe],oe.sorted);oe.idxs[0]=dn,oe.idxs[1]=In}else if(fe>0&&oe.show&&oe.auto){let[be,Me]=oe.facets,Fe=be.scale,We=Me.scale,[Ve,Ye]=e[fe],Qe=V[Fe],vt=V[We];Qe!=null&&Ko(Qe,_[Fe],be,Ve,be.sorted),vt!=null&&Ko(vt,_[We],Me,Ye,Me.sorted),oe.min=Me.min,oe.max=Me.max}});for(let oe in V){let fe=V[oe],be=_[oe];if(fe.from==null&&(be==null||be.min==null)){let Me=fe.range(r,fe.min==an?null:fe.min,fe.max==-an?null:fe.max,oe);fe.min=Me[0],fe.max=Me[1]}}}for(let oe in V){let fe=V[oe];if(fe.from!=null){let be=V[fe.from];if(be.min==null)fe.min=fe.max=null;else{let Me=fe.range(r,be.min,be.max,oe);fe.min=Me[0],fe.max=Me[1]}}}let X={},ie=!1;for(let oe in V){let fe=V[oe],be=$[oe];if(be.min!=fe.min||be.max!=fe.max){be.min=fe.min,be.max=fe.max;let Me=be.distr;be._min=Me==3?po(be.min):Me==4?eh(be.min,be.asinh):Me==100?be.fwd(be.min):be.min,be._max=Me==3?po(be.max):Me==4?eh(be.max,be.asinh):Me==100?be.fwd(be.max):be.max,X[oe]=ie=!0}}if(ie){x.forEach((oe,fe)=>{d==2?fe>0&&X.y&&(oe._paths=null):X[oe.scale]&&(oe._paths=null)});for(let oe in X)Bi=!0,rt("setScale",oe);ue&&ne.left>=0&&(zi=mr=!0)}for(let oe in _)_[oe]=null}function Ls(V){let X=th(dn-1,0,jn-1),ie=th(In+1,0,jn-1);for(;V[X]==null&&X>0;)X--;for(;V[ie]==null&&ie<jn-1;)ie++;return[X,ie]}function pa(){if(jn>0){let V=x.some(X=>X._focus)&&sr!=_r.alpha;V&&(a.globalAlpha=sr=_r.alpha),x.forEach((X,ie)=>{if(ie>0&&X.show&&(Yo(ie,!1),Yo(ie,!0),X._paths==null)){let oe=sr;sr!=X.alpha&&(a.globalAlpha=sr=X.alpha);let fe=d==2?[0,e[ie][0].length-1]:Ls(e[ie]);X._paths=X.paths(r,ie,fe[0],fe[1]),sr!=oe&&(a.globalAlpha=sr=oe)}}),x.forEach((X,ie)=>{if(ie>0&&X.show){let oe=sr;sr!=X.alpha&&(a.globalAlpha=sr=X.alpha),X._paths!=null&&Xo(ie,!1);{let fe=X._paths!=null?X._paths.gaps:null,be=X.points.show(r,ie,dn,In,fe),Me=X.points.filter(r,ie,be,fe);(be||Me)&&(X.points._paths=X.points.paths(r,ie,dn,In,Me),Xo(ie,!0))}sr!=oe&&(a.globalAlpha=sr=oe),rt("drawSeries",ie)}}),V&&(a.globalAlpha=sr=1)}}function Yo(V,X){let ie=X?x[V].points:x[V];ie._stroke=ie.stroke(r,V),ie._fill=ie.fill(r,V)}function Xo(V,X){let ie=X?x[V].points:x[V],{stroke:oe,fill:fe,clip:be,flags:Me,_stroke:Fe=ie._stroke,_fill:We=ie._fill,_width:Ve=ie.width}=ie._paths;Ve=ln(Ve*Gt,3);let Ye=null,Qe=Ve%2/2;X&&We==null&&(We=Ve>0?"#fff":Fe);let vt=ie.pxAlign==1&&Qe>0;if(vt&&a.translate(Qe,Qe),!X){let Rt=ir-Ve/2,xt=ur-Ve/2,It=nn+Ve,ut=or+Ve;Ye=new Path2D,Ye.rect(Rt,xt,It,ut)}X?bo(Fe,Ve,ie.dash,ie.cap,We,oe,fe,Me,be):Rs(V,Fe,Ve,ie.dash,ie.cap,We,oe,fe,Me,Ye,be),vt&&a.translate(-Qe,-Qe)}function Rs(V,X,ie,oe,fe,be,Me,Fe,We,Ve,Ye){let Qe=!1;We!=0&&k.forEach((vt,Rt)=>{if(vt.series[0]==V){let xt=x[vt.series[1]],It=e[vt.series[1]],ut=(xt._paths||ja).band;zo(ut)&&(ut=vt.dir==1?ut[0]:ut[1]);let st,cn=null;xt.show&&ut&&g_(It,dn,In)?(cn=vt.fill(r,Rt)||be,st=xt._paths.clip):ut=null,bo(X,ie,oe,fe,cn,Me,Fe,We,Ve,Ye,st,ut),Qe=!0}}),Qe||bo(X,ie,oe,fe,be,Me,Fe,We,Ve,Ye)}const Zo=ia|dh;function bo(V,X,ie,oe,fe,be,Me,Fe,We,Ve,Ye,Qe){Is(V,X,ie,oe,fe),(We||Ve||Qe)&&(a.save(),We&&a.clip(We),Ve&&a.clip(Ve)),Qe?(Fe&Zo)==Zo?(a.clip(Qe),Ye&&a.clip(Ye),ar(fe,Me),xi(V,be,X)):Fe&dh?(ar(fe,Me),a.clip(Qe),xi(V,be,X)):Fe&ia&&(a.save(),a.clip(Qe),Ye&&a.clip(Ye),ar(fe,Me),a.restore(),xi(V,be,X)):(ar(fe,Me),xi(V,be,X)),(We||Ve||Qe)&&a.restore()}function xi(V,X,ie){ie>0&&(X instanceof Map?X.forEach((oe,fe)=>{a.strokeStyle=io=fe,a.stroke(oe)}):X!=null&&V&&a.stroke(X))}function ar(V,X){X instanceof Map?X.forEach((ie,oe)=>{a.fillStyle=Kr=oe,a.fill(ie)}):X!=null&&V&&a.fill(X)}function so(V,X,ie,oe){let fe=E[V],be;if(oe<=0)be=[0,0];else{let Me=fe._space=fe.space(r,V,X,ie,oe),Fe=fe._incrs=fe.incrs(r,V,X,ie,oe,Me);be=NA(X,ie,Fe,oe,Me)}return fe._found=be}function Gi(V,X,ie,oe,fe,be,Me,Fe,We,Ve){let Ye=Me%2/2;u==1&&a.translate(Ye,Ye),Is(Fe,Me,We,Ve,Fe),a.beginPath();let Qe,vt,Rt,xt,It=fe+(oe==0||oe==3?-be:be);ie==0?(vt=fe,xt=It):(Qe=fe,Rt=It);for(let ut=0;ut<V.length;ut++)X[ut]!=null&&(ie==0?Qe=Rt=V[ut]:vt=xt=V[ut],a.moveTo(Qe,vt),a.lineTo(Rt,xt));a.stroke(),u==1&&a.translate(-Ye,-Ye)}function fa(V){let X=!0;return E.forEach((ie,oe)=>{if(!ie.show)return;let fe=$[ie.scale];if(fe.min==null){ie._show&&(X=!1,ie._show=!1,Ki(!1));return}else ie._show||(X=!1,ie._show=!0,Ki(!1));let be=ie.side,Me=be%2,{min:Fe,max:We}=fe,[Ve,Ye]=so(oe,Fe,We,Me==0?yt:Ge);if(Ye==0)return;let Qe=fe.distr==2,vt=ie._splits=ie.splits(r,oe,Fe,We,Ve,Ye,Qe),Rt=fe.distr==2?vt.map(st=>$r[st]):vt,xt=fe.distr==2?$r[vt[1]]-$r[vt[0]]:Ve,It=ie._values=ie.values(r,ie.filter(r,Rt,oe,Ye,xt),oe,Ye,xt);ie._rotate=be==2?ie.rotate(r,It,oe,Ye):0;let ut=ie._size;ie._size=yi(ie.size(r,It,oe,V)),ut!=null&&ie._size!=ut&&(X=!1)}),X}function ol(V){let X=!0;return da.forEach((ie,oe)=>{let fe=ie(r,oe,Vi,V);fe!=Sr[oe]&&(X=!1),Sr[oe]=fe}),X}function xo(){for(let V=0;V<E.length;V++){let X=E[V];if(!X.show||!X._show)continue;let ie=X.side,oe=ie%2,fe,be,Me=X.stroke(r,V),Fe=ie==0||ie==3?-1:1,[We,Ve]=X._found;if(X.label!=null){let sn=X.labelGap*Fe,fr=rr((X._lpos+sn)*Gt);wo(X.labelFont[0],Me,"center",ie==2?Ba:Ig),a.save(),oe==1?(fe=be=0,a.translate(fr,rr(ur+or/2)),a.rotate((ie==3?-ql:ql)/2)):(fe=rr(ir+nn/2),be=fr);let So=Zg(X.label)?X.label(r,V,We,Ve):X.label;a.fillText(So,fe,be),a.restore()}if(Ve==0)continue;let Ye=$[X.scale],Qe=oe==0?nn:or,vt=oe==0?ir:ur,Rt=X._splits,xt=Ye.distr==2?Rt.map(sn=>$r[sn]):Rt,It=Ye.distr==2?$r[Rt[1]]-$r[Rt[0]]:We,ut=X.ticks,st=X.border,cn=ut.show?ut.size:0,xn=rr(cn*Gt),Jn=rr((X.alignTo==2?X._size-cn-X.gap:X.gap)*Gt),Bt=X._rotate*-ql/180,pe=m(X._pos*Gt),Ae=(xn+Jn)*Fe,xe=pe+Ae;be=oe==0?xe:0,fe=oe==1?xe:0;let je=X.font[0],ct=X.align==1?Zs:X.align==2?zu:Bt>0?Zs:Bt<0?zu:oe==0?"center":ie==3?zu:Zs,St=Bt||oe==1?"middle":ie==2?Ba:Ig;wo(je,Me,ct,St);let Ht=X.font[1]*X.lineGap,Tt=Rt.map(sn=>m(w(sn,Ye,Qe,vt))),Fr=X._values;for(let sn=0;sn<Fr.length;sn++){let fr=Fr[sn];if(fr!=null){oe==0?fe=Tt[sn]:be=Tt[sn],fr=""+fr;let So=fr.indexOf(`
1490
+ `)==-1?[fr]:fr.split(/\n/gm);for(let Dn=0;Dn<So.length;Dn++){let Ds=So[Dn];Bt?(a.save(),a.translate(fe,be+Dn*Ht),a.rotate(Bt),a.fillText(Ds,0,0),a.restore()):a.fillText(Ds,fe,be+Dn*Ht)}}}ut.show&&Gi(Tt,ut.filter(r,xt,V,Ve,It),oe,ie,pe,xn,ln(ut.width*Gt,3),ut.stroke(r,V),ut.dash,ut.cap);let Si=X.grid;Si.show&&Gi(Tt,Si.filter(r,xt,V,Ve,It),oe,oe==0?2:1,oe==0?ur:ir,oe==0?or:nn,ln(Si.width*Gt,3),Si.stroke(r,V),Si.dash,Si.cap),st.show&&Gi([pe],[1],oe==0?1:0,oe==0?1:2,oe==1?ur:ir,oe==1?or:nn,ln(st.width*Gt,3),st.stroke(r,V),st.dash,st.cap)}rt("drawAxes")}function Ki(V){x.forEach((X,ie)=>{ie>0&&(X._paths=null,V&&(d==1?(X.min=null,X.max=null):X.facets.forEach(oe=>{oe.min=null,oe.max=null})))})}let Co=!1,Qo=!1,ko=[];function ga(){Qo=!1;for(let V=0;V<ko.length;V++)rt(...ko[V]);ko.length=0}function ao(){Co||(T_(ma),Co=!0)}function Pe(V,X=!1){Co=!0,Qo=X,V(r),ma(),X&&ko.length>0&&queueMicrotask(ga)}r.batch=Pe;function ma(){if(go&&(oo(),go=!1),Bi&&(si(),Bi=!1),Wi){if(gn(c,Zs,Ut),gn(c,Ba,mn),gn(c,Pa,yt),gn(c,Wa,Ge),gn(s,Zs,Ut),gn(s,Ba,mn),gn(s,Pa,yt),gn(s,Wa,Ge),gn(l,Pa,cr),gn(l,Wa,Rr),o.width=rr(cr*Gt),o.height=rr(Rr*Gt),E.forEach(({_el:V,_show:X,_size:ie,_pos:oe,side:fe})=>{if(V!=null)if(X){let be=fe===3||fe===0?ie:0,Me=fe%2==1;gn(V,Me?"left":"top",oe-be),gn(V,Me?"width":"height",ie),gn(V,Me?"top":"left",Me?mn:Ut),gn(V,Me?"height":"width",Me?Ge:yt),qu(V,ms)}else ti(V,ms)}),io=Kr=yo=qr=Vo=Ts=Es=Go=Uo=null,sr=1,W(!0),Ut!=Xn||mn!=Or||yt!=kr||Ge!=_n){Ki(!1);let V=yt/kr,X=Ge/_n;if(ue&&!zi&&ne.left>=0){ne.left*=V,ne.top*=X,li&&Ji(li,rr(ne.left),0,yt,Ge),Un&&Ji(Un,0,rr(ne.top),yt,Ge);for(let ie=0;ie<Ar.length;ie++){let oe=Ar[ie];oe!=null&&(ro[ie]*=V,Ui[ie]*=X,Ji(oe,yi(ro[ie]),yi(Ui[ie]),yt,Ge))}}if(mt.show&&!mo&&mt.left>=0&&mt.width>0){mt.left*=V,mt.width*=V,mt.top*=X,mt.height*=X;for(let ie in Y)gn(Dr,ie,mt[ie])}Xn=Ut,Or=mn,kr=yt,_n=Ge}rt("setSize"),Wi=!1}cr>0&&Rr>0&&(a.clearRect(0,0,o.width,o.height),rt("drawClear"),O.forEach(V=>V()),rt("draw")),mt.show&&mo&&(on(mt),mo=!1),ue&&zi&&(A(null,!0,!1),zi=!1),he.show&&he.live&&mr&&(y(),mr=!1),h||(h=!0,r.status=1,rt("ready")),bi=!1,Co=!1}r.redraw=(V,X)=>{Bi=X||!1,V!==!1?Zn(C,B.min,B.max):ao()};function Oe(V,X){let ie=$[V];if(ie.from==null){if(jn==0){let oe=ie.range(r,X.min,X.max,V);X.min=oe[0],X.max=oe[1]}if(X.min>X.max){let oe=X.min;X.min=X.max,X.max=oe}if(jn>1&&X.min!=null&&X.max!=null&&X.max-X.min<1e-16)return;V==C&&ie.distr==2&&jn>0&&(X.min=Ni(X.min,e[0]),X.max=Ni(X.max,e[0]),X.min==X.max&&X.max++),_[V]=X,go=!0,ao()}}r.setScale=Oe;let Sn,_o,li,Un,va,Ao,Ci,lo,qt,Vt,Yt,Ft,ki=!1;const Ln=ne.drag;let ze=Ln.x,pn=Ln.y;ue&&(ne.x&&(Sn=vi(Jk,s)),ne.y&&(_o=vi(e_,s)),B.ori==0?(li=Sn,Un=_o):(li=_o,Un=Sn),Yt=ne.left,Ft=ne.top);const mt=r.select=qn({show:!0,over:!0,left:0,width:0,top:0,height:0},n.select),Dr=mt.show?vi(Qk,mt.over?s:c):null;function on(V,X){if(mt.show){for(let ie in V)mt[ie]=V[ie],ie in Y&&gn(Dr,ie,V[ie]);X!==!1&&rt("setSelect")}}r.setSelect=on;function vn(V){if(x[V].show)le&&qu(Te[V],ms);else if(le&&ti(Te[V],ms),ue){let X=An?Ar[0]:Ar[V];X!=null&&Ji(X,-10,-10,yt,Ge)}}function Zn(V,X,ie){Oe(V,{min:X,max:ie})}function Nr(V,X,ie,oe){X.focus!=null&&hr(V),X.show!=null&&x.forEach((fe,be)=>{be>0&&(V==be||V==null)&&(fe.show=X.show,vn(be),d==2?(Zn(fe.facets[0].scale,null,null),Zn(fe.facets[1].scale,null,null)):Zn(fe.scale,null,null),ao())}),ie!==!1&&rt("setSeries",V,X),oe&&At("setSeries",r,V,X)}r.setSeries=Nr;function _i(V,X){qn(k[V],X)}function Rn(V,X){V.fill=Dt(V.fill||null),V.dir=jt(V.dir,-1),X=X??k.length,k.splice(X,0,V)}function Yr(V){V==null?k.length=0:k.splice(V,1)}r.addBand=Rn,r.setBand=_i,r.delBand=Yr;function Jo(V,X){x[V].alpha=X,ue&&Ar[V]!=null&&(Ar[V].style.opacity=X),le&&Te[V]&&(Te[V].style.opacity=X)}let On,ci,ui;const Ai={focus:!0};function hr(V){if(V!=ui){let X=V==null,ie=_r.alpha!=1;x.forEach((oe,fe)=>{if(d==1||fe>0){let be=X||fe==0||fe==V;oe._focus=X?null:be,ie&&Jo(fe,be?1:_r.alpha)}}),ui=V,ie&&ao()}}le&&ji&&kn(Dg,ge,V=>{ne._lock||(Hi(V),ui!=null&&Nr(null,Ai,!0,lt.setSeries))});function dr(V,X,ie){let oe=$[X];ie&&(V=V/Gt-(oe.ori==1?mn:Ut));let fe=yt;oe.ori==1&&(fe=Ge,V=fe-V),oe.dir==-1&&(V=fe-V);let be=oe._min,Me=oe._max,Fe=V/fe,We=be+(Me-be)*Fe,Ve=oe.distr;return Ve==3?ea(10,We):Ve==4?v_(We,oe.asinh):Ve==100?oe.bwd(We):We}function vr(V,X){let ie=dr(V,C,X);return Ni(ie,e[0],dn,In)}r.valToIdx=V=>Ni(V,e[0]),r.posToIdx=vr,r.posToVal=dr,r.valToPos=(V,X,ie)=>$[X].ori==0?p(V,$[X],ie?nn:yt,ie?ir:0):f(V,$[X],ie?or:Ge,ie?ur:0),r.setCursor=(V,X,ie)=>{Yt=V.left,Ft=V.top,A(null,X,ie)};function Os(V,X){gn(Dr,Zs,mt.left=V),gn(Dr,Pa,mt.width=X)}function yr(V,X){gn(Dr,Ba,mt.top=V),gn(Dr,Wa,mt.height=X)}let Mr=B.ori==0?Os:yr,hi=B.ori==1?Os:yr;function di(){if(le&&he.live)for(let V=d==2?1:0;V<x.length;V++){if(V==0&&dt)continue;let X=he.values[V],ie=0;for(let oe in X)Ze[V][ie++].firstChild.nodeValue=X[oe]}}function y(V,X){if(V!=null&&(V.idxs?V.idxs.forEach((ie,oe)=>{te[oe]=ie}):x_(V.idx)||te.fill(V.idx),he.idx=te[0]),le&&he.live){for(let ie=0;ie<x.length;ie++)(ie>0||d==1&&!dt)&&M(ie,te[ie]);di()}mr=!1,X!==!1&&rt("setLegend")}r.setLegend=y;function M(V,X){let ie=x[V],oe=V==0&&P==2?$r:e[V],fe;dt?fe=ie.values(r,V,X)??ot:(fe=ie.value(r,X==null?null:oe[X],V,X),fe=fe==null?ot:{_:fe}),he.values[V]=fe}function A(V,X,ie){qt=Yt,Vt=Ft,[Yt,Ft]=ne.move(r,Yt,Ft),ne.left=Yt,ne.top=Ft,ue&&(li&&Ji(li,rr(Yt),0,yt,Ge),Un&&Ji(Un,0,rr(Ft),yt,Ge));let oe,fe=dn>In;On=an,ci=null;let be=B.ori==0?yt:Ge,Me=B.ori==1?yt:Ge;if(Yt<0||jn==0||fe){oe=ne.idx=null;for(let Fe=0;Fe<x.length;Fe++){let We=Ar[Fe];We!=null&&Ji(We,-10,-10,yt,Ge)}ji&&Nr(null,Ai,!0,V==null&&lt.setSeries),he.live&&(te.fill(oe),mr=!0)}else{let Fe,We,Ve;d==1&&(Fe=B.ori==0?Yt:Ft,We=dr(Fe,C),oe=ne.idx=Ni(We,e[0],dn,In),Ve=D(e[0][oe],B,be,0));let Ye=-10,Qe=-10,vt=0,Rt=0,xt=!0,It="",ut="";for(let st=d==2?1:0;st<x.length;st++){let cn=x[st],xn=te[st],Jn=xn==null?null:d==1?e[st][xn]:e[st][1][xn],Bt=ne.dataIdx(r,st,oe,We),pe=Bt==null?null:d==1?e[st][Bt]:e[st][1][Bt];if(mr=mr||pe!=Jn||Bt!=xn,te[st]=Bt,st>0&&cn.show){let Ae=Bt==null?-10:Bt==oe?Ve:D(d==1?e[0][Bt]:e[st][0][Bt],B,be,0),xe=pe==null?-10:S(pe,d==1?$[cn.scale]:$[cn.facets[1].scale],Me,0);if(ji&&pe!=null){let je=B.ori==1?Yt:Ft,ct=nr(_r.dist(r,st,Bt,xe,je));if(ct<On){let St=_r.bias;if(St!=0){let Ht=dr(je,cn.scale),Tt=pe>=0?1:-1,Fr=Ht>=0?1:-1;Fr==Tt&&(Fr==1?St==1?pe>=Ht:pe<=Ht:St==1?pe<=Ht:pe>=Ht)&&(On=ct,ci=st)}else On=ct,ci=st}}if(mr||An){let je,ct;B.ori==0?(je=Ae,ct=xe):(je=xe,ct=Ae);let St,Ht,Tt,Fr,Si,sn,fr=!0,So=Hn.bbox;if(So!=null){fr=!1;let Dn=So(r,st);Tt=Dn.left,Fr=Dn.top,St=Dn.width,Ht=Dn.height}else Tt=je,Fr=ct,St=Ht=Hn.size(r,st);if(sn=Hn.fill(r,st),Si=Hn.stroke(r,st),An)st==ci&&On<=_r.prox&&(Ye=Tt,Qe=Fr,vt=St,Rt=Ht,xt=fr,It=sn,ut=Si);else{let Dn=Ar[st];Dn!=null&&(ro[st]=Tt,Ui[st]=Fr,Hg(Dn,St,Ht,fr),Bg(Dn,sn,Si),Ji(Dn,yi(Tt),yi(Fr),yt,Ge))}}}}if(An){let st=_r.prox,cn=ui==null?On<=st:On>st||ci!=ui;if(mr||cn){let xn=Ar[0];xn!=null&&(ro[0]=Ye,Ui[0]=Qe,Hg(xn,vt,Rt,xt),Bg(xn,It,ut),Ji(xn,yi(Ye),yi(Qe),yt,Ge))}}}if(mt.show&&ki)if(V!=null){let[Fe,We]=lt.scales,[Ve,Ye]=lt.match,[Qe,vt]=V.cursor.sync.scales,Rt=V.cursor.drag;if(ze=Rt._x,pn=Rt._y,ze||pn){let{left:xt,top:It,width:ut,height:st}=V.select,cn=V.scales[Qe].ori,xn=V.posToVal,Jn,Bt,pe,Ae,xe,je=Fe!=null&&Ve(Fe,Qe),ct=We!=null&&Ye(We,vt);je&&ze?(cn==0?(Jn=xt,Bt=ut):(Jn=It,Bt=st),pe=$[Fe],Ae=D(xn(Jn,Qe),pe,be,0),xe=D(xn(Jn+Bt,Qe),pe,be,0),Mr(Fi(Ae,xe),nr(xe-Ae))):Mr(0,be),ct&&pn?(cn==1?(Jn=xt,Bt=ut):(Jn=It,Bt=st),pe=$[We],Ae=S(xn(Jn,vt),pe,Me,0),xe=S(xn(Jn+Bt,vt),pe,Me,0),hi(Fi(Ae,xe),nr(xe-Ae))):hi(0,Me)}else Z()}else{let Fe=nr(qt-va),We=nr(Vt-Ao);if(B.ori==1){let vt=Fe;Fe=We,We=vt}ze=Ln.x&&Fe>=Ln.dist,pn=Ln.y&&We>=Ln.dist;let Ve=Ln.uni;Ve!=null?ze&&pn&&(ze=Fe>=Ve,pn=We>=Ve,!ze&&!pn&&(We>Fe?pn=!0:ze=!0)):Ln.x&&Ln.y&&(ze||pn)&&(ze=pn=!0);let Ye,Qe;ze&&(B.ori==0?(Ye=Ci,Qe=Yt):(Ye=lo,Qe=Ft),Mr(Fi(Ye,Qe),nr(Qe-Ye)),pn||hi(0,Me)),pn&&(B.ori==1?(Ye=Ci,Qe=Yt):(Ye=lo,Qe=Ft),hi(Fi(Ye,Qe),nr(Qe-Ye)),ze||Mr(0,be)),!ze&&!pn&&(Mr(0,0),hi(0,0))}if(Ln._x=ze,Ln._y=pn,V==null){if(ie){if(wn!=null){let[Fe,We]=lt.scales;lt.values[0]=Fe!=null?dr(B.ori==0?Yt:Ft,Fe):null,lt.values[1]=We!=null?dr(B.ori==1?Yt:Ft,We):null}At(ju,r,Yt,Ft,yt,Ge,oe)}if(ji){let Fe=ie&&lt.setSeries,We=_r.prox;ui==null?On<=We&&Nr(ci,Ai,!0,Fe):On>We?Nr(null,Ai,!0,Fe):ci!=ui&&Nr(ci,Ai,!0,Fe)}}mr&&(he.idx=oe,y()),X!==!1&&rt("setCursor")}let F=null;Object.defineProperty(r,"rect",{get(){return F==null&&W(!1),F}});function W(V=!1){V?F=null:(F=s.getBoundingClientRect(),rt("syncRect",F))}function z(V,X,ie,oe,fe,be,Me){ne._lock||ki&&V!=null&&V.movementX==0&&V.movementY==0||(G(V,X,ie,oe,fe,be,Me,!1,V!=null),V!=null?A(null,!0,!0):A(X,!0,!1))}function G(V,X,ie,oe,fe,be,Me,Fe,We){if(F==null&&W(!1),Hi(V),V!=null)ie=V.clientX-F.left,oe=V.clientY-F.top;else{if(ie<0||oe<0){Yt=-10,Ft=-10;return}let[Ve,Ye]=lt.scales,Qe=X.cursor.sync,[vt,Rt]=Qe.values,[xt,It]=Qe.scales,[ut,st]=lt.match,cn=X.axes[0].side%2==1,xn=B.ori==0?yt:Ge,Jn=B.ori==1?yt:Ge,Bt=cn?be:fe,pe=cn?fe:be,Ae=cn?oe:ie,xe=cn?ie:oe;if(xt!=null?ie=ut(Ve,xt)?w(vt,$[Ve],xn,0):-10:ie=xn*(Ae/Bt),It!=null?oe=st(Ye,It)?w(Rt,$[Ye],Jn,0):-10:oe=Jn*(xe/pe),B.ori==1){let je=ie;ie=oe,oe=je}}We&&(X==null||X.cursor.event.type==ju)&&((ie<=1||ie>=yt-1)&&(ie=ws(ie,yt)),(oe<=1||oe>=Ge-1)&&(oe=ws(oe,Ge))),Fe?(va=ie,Ao=oe,[Ci,lo]=ne.move(r,ie,oe)):(Yt=ie,Ft=oe)}const Y={width:0,height:0,left:0,top:0};function Z(){on(Y,!1)}let re,se,ye,Ce;function me(V,X,ie,oe,fe,be,Me){ki=!0,ze=pn=Ln._x=Ln._y=!1,G(V,X,ie,oe,fe,be,Me,!0,!1),V!=null&&(kn(Uu,Gu,we,!1),At(Rg,r,Ci,lo,yt,Ge,null));let{left:Fe,top:We,width:Ve,height:Ye}=mt;re=Fe,se=We,ye=Ve,Ce=Ye}function we(V,X,ie,oe,fe,be,Me){ki=Ln._x=Ln._y=!1,G(V,X,ie,oe,fe,be,Me,!1,!0);let{left:Fe,top:We,width:Ve,height:Ye}=mt,Qe=Ve>0||Ye>0,vt=re!=Fe||se!=We||ye!=Ve||Ce!=Ye;if(Qe&&vt&&on(mt),Ln.setScale&&Qe&&vt){let Rt=Fe,xt=Ve,It=We,ut=Ye;if(B.ori==1&&(Rt=We,xt=Ye,It=Fe,ut=Ve),ze&&Zn(C,dr(Rt,C),dr(Rt+xt,C)),pn)for(let st in $){let cn=$[st];st!=C&&cn.from==null&&cn.min!=an&&Zn(st,dr(It+ut,st),dr(It,st))}Z()}else ne.lock&&(ne._lock=!ne._lock,A(X,!0,V!=null));V!=null&&(Yn(Uu,Gu),At(Uu,r,Yt,Ft,yt,Ge,null))}function Re(V,X,ie,oe,fe,be,Me){if(ne._lock)return;Hi(V);let Fe=ki;if(ki){let We=!0,Ve=!0,Ye=10,Qe,vt;B.ori==0?(Qe=ze,vt=pn):(Qe=pn,vt=ze),Qe&&vt&&(We=Yt<=Ye||Yt>=yt-Ye,Ve=Ft<=Ye||Ft>=Ge-Ye),Qe&&We&&(Yt=Yt<Ci?0:yt),vt&&Ve&&(Ft=Ft<lo?0:Ge),A(null,!0,!0),ki=!1}Yt=-10,Ft=-10,te.fill(null),A(null,!0,!0),Fe&&(ki=Fe)}function Le(V,X,ie,oe,fe,be,Me){ne._lock||(Hi(V),Ms(),Z(),V!=null&&At(Ng,r,Yt,Ft,yt,Ge,null))}function Ue(){E.forEach(FA),vo(r.width,r.height,!0)}vs(jl,Js,Ue);const at={};at.mousedown=me,at.mousemove=z,at.mouseup=we,at.dblclick=Le,at.setSeries=(V,X,ie,oe)=>{let fe=lt.match[2];ie=fe(r,X,ie),ie!=-1&&Nr(ie,oe,!0,!1)},ue&&(kn(Rg,s,me),kn(ju,s,z),kn(Og,s,V=>{Hi(V),W(!1)}),kn(Dg,s,Re),kn(Ng,s,Le),mh.add(r),r.syncRect=W);const Xe=r.hooks=n.hooks||{};function rt(V,X,ie){Qo?ko.push([V,X,ie]):V in Xe&&Xe[V].forEach(oe=>{oe.call(null,r,X,ie)})}(n.plugins||[]).forEach(V=>{for(let X in V.hooks)Xe[X]=(Xe[X]||[]).concat(V.hooks[X])});const fn=(V,X,ie)=>ie,lt=qn({key:null,setSeries:!1,filters:{pub:em,sub:em},scales:[C,x[1]?x[1].scale:null],match:[tm,tm,fn],values:[null,null]},ne.sync);lt.match.length==2&&lt.match.push(fn),ne.sync=lt;const wn=lt.key,bt=Wm(wn);function At(V,X,ie,oe,fe,be,Me){lt.filters.pub(V,X,ie,oe,fe,be,Me)&&bt.pub(V,X,ie,oe,fe,be,Me)}bt.sub(r);function Qn(V,X,ie,oe,fe,be,Me){lt.filters.sub(V,X,ie,oe,fe,be,Me)&&at[V](null,X,ie,oe,fe,be,Me)}r.pub=Qn;function pr(){bt.unsub(r),mh.delete(r),oi.clear(),Xu(jl,Js,Ue),g.remove(),ge==null||ge.remove(),rt("destroy")}r.destroy=pr;function bn(){rt("init",n,e),jo(e||n.data,!1),_[C]?Oe(C,_[C]):Ms(),mo=mt.show&&(mt.width>0||mt.height>0),zi=mr=!0,vo(n.width,n.height)}return x.forEach(ha),E.forEach(ai),t?t instanceof HTMLElement?(t.appendChild(g),bn()):t(r,bn):bn(),r}xr.assign=qn,xr.fmtNum=Ju,xr.rangeNum=Kl,xr.rangeLog=Gl,xr.rangeAsinh=Zu,xr.orient=xs,xr.pxRatio=Gt,xr.join=M_,xr.fmtDate=rh,xr.tzDate=W_,xr.sync=Wm;{xr.addGap=xA,xr.clipGaps=ec;let n=xr.paths={points:Gm};n.linear=qm,n.stepped=_A,n.bars=AA,n.spline=$A}var nv,rv;function PA(){return rv||(rv=1,nv=function(n,e,t,r,d){var p,f;if(r===void 0)r=0;else if(r=r|0,r<0||r>=n.length)throw new RangeError("invalid lower bound");if(d===void 0)d=n.length-1;else if(d=d|0,d<r||d>=n.length)throw new RangeError("invalid upper bound");for(;r<=d;)if(p=r+(d-r>>>1),f=+t(n[p],e,p,n),f<0)r=p+1;else if(f>0)d=p-1;else return p;return~r}),nv}var WA=PA();const QN=er("B",kl(WA));var yh,iv;function BA(){if(iv)return yh;iv=1;function n(e,t,r){var d=-1,p=e.length;t<0&&(t=-t>p?0:p+t),r=r>p?p:r,r<0&&(r+=p),p=t>r?0:r-t>>>0,t>>>=0;for(var f=Array(p);++d<p;)f[d]=e[d+t];return f}return yh=n,yh}var wh,ov;function zA(){if(ov)return wh;ov=1;var n=BA();function e(t,r,d){var p=t.length;return d=d===void 0?p:d,!r&&d>=p?t:n(t,r,d)}return wh=e,wh}var bh,sv;function av(){if(sv)return bh;sv=1;var n="\\ud800-\\udfff",e="\\u0300-\\u036f",t="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",d=e+t+r,p="\\ufe0e\\ufe0f",f="\\u200d",w=RegExp("["+f+n+d+p+"]");function h(g){return w.test(g)}return bh=h,bh}var xh,lv;function HA(){if(lv)return xh;lv=1;function n(e){return e.split("")}return xh=n,xh}var Ch,cv;function jA(){if(cv)return Ch;cv=1;var n="\\ud800-\\udfff",e="\\u0300-\\u036f",t="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",d=e+t+r,p="\\ufe0e\\ufe0f",f="["+n+"]",w="["+d+"]",h="\\ud83c[\\udffb-\\udfff]",g="(?:"+w+"|"+h+")",o="[^"+n+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",c="\\u200d",s=g+"?",u="["+p+"]?",m="(?:"+c+"(?:"+[o,a,l].join("|")+")"+u+s+")*",b=u+s+m,x="(?:"+[o+w+"?",w,a,l,f].join("|")+")",E=RegExp(h+"(?="+h+")|"+x+b,"g");function $(k){return k.match(E)||[]}return Ch=$,Ch}var kh,uv;function UA(){if(uv)return kh;uv=1;var n=HA(),e=av(),t=jA();function r(d){return e(d)?t(d):n(d)}return kh=r,kh}var _h,hv;function VA(){if(hv)return _h;hv=1;var n=typeof Wo=="object"&&Wo&&Wo.Object===Object&&Wo;return _h=n,_h}var Ah,dv;function GA(){if(dv)return Ah;dv=1;var n=VA(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=n||e||Function("return this")();return Ah=t,Ah}var Sh,pv;function $h(){if(pv)return Sh;pv=1;var n=GA(),e=n.Symbol;return Sh=e,Sh}var Mh,fv;function KA(){if(fv)return Mh;fv=1;function n(e,t){for(var r=-1,d=e==null?0:e.length,p=Array(d);++r<d;)p[r]=t(e[r],r,e);return p}return Mh=n,Mh}var Th,gv;function qA(){if(gv)return Th;gv=1;var n=Array.isArray;return Th=n,Th}var Eh,mv;function YA(){if(mv)return Eh;mv=1;var n=$h(),e=Object.prototype,t=e.hasOwnProperty,r=e.toString,d=n?n.toStringTag:void 0;function p(f){var w=t.call(f,d),h=f[d];try{f[d]=void 0;var g=!0}catch{}var o=r.call(f);return g&&(w?f[d]=h:delete f[d]),o}return Eh=p,Eh}var Ih,vv;function XA(){if(vv)return Ih;vv=1;var n=Object.prototype,e=n.toString;function t(r){return e.call(r)}return Ih=t,Ih}var Lh,yv;function ZA(){if(yv)return Lh;yv=1;var n=$h(),e=YA(),t=XA(),r="[object Null]",d="[object Undefined]",p=n?n.toStringTag:void 0;function f(w){return w==null?w===void 0?d:r:p&&p in Object(w)?e(w):t(w)}return Lh=f,Lh}var Rh,wv;function QA(){if(wv)return Rh;wv=1;function n(e){return e!=null&&typeof e=="object"}return Rh=n,Rh}var Oh,bv;function JA(){if(bv)return Oh;bv=1;var n=ZA(),e=QA(),t="[object Symbol]";function r(d){return typeof d=="symbol"||e(d)&&n(d)==t}return Oh=r,Oh}var Dh,xv;function eS(){if(xv)return Dh;xv=1;var n=$h(),e=KA(),t=qA(),r=JA(),d=n?n.prototype:void 0,p=d?d.toString:void 0;function f(w){if(typeof w=="string")return w;if(t(w))return e(w,f)+"";if(r(w))return p?p.call(w):"";var h=w+"";return h=="0"&&1/w==-1/0?"-0":h}return Dh=f,Dh}var Nh,Cv;function ic(){if(Cv)return Nh;Cv=1;var n=eS();function e(t){return t==null?"":n(t)}return Nh=e,Nh}var Fh,kv;function tS(){if(kv)return Fh;kv=1;var n=zA(),e=av(),t=UA(),r=ic();function d(p){return function(f){f=r(f);var w=e(f)?t(f):void 0,h=w?w[0]:f.charAt(0),g=w?n(w,1).join(""):f.slice(1);return h[p]()+g}}return Fh=d,Fh}var Ph,_v;function Av(){if(_v)return Ph;_v=1;var n=tS(),e=n("toUpperCase");return Ph=e,Ph}var nS=Av();const rS=kl(nS);var Wh,Sv;function iS(){if(Sv)return Wh;Sv=1;var n=ic(),e=Av();function t(r){return e(n(r).toLowerCase())}return Wh=t,Wh}var Bh,$v;function oS(){if($v)return Bh;$v=1;function n(e,t,r,d){var p=-1,f=e==null?0:e.length;for(d&&f&&(r=e[++p]);++p<f;)r=t(r,e[p],p,e);return r}return Bh=n,Bh}var zh,Mv;function sS(){if(Mv)return zh;Mv=1;function n(e){return function(t){return e==null?void 0:e[t]}}return zh=n,zh}var Hh,Tv;function aS(){if(Tv)return Hh;Tv=1;var n=sS(),e={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},t=n(e);return Hh=t,Hh}var jh,Ev;function lS(){if(Ev)return jh;Ev=1;var n=aS(),e=ic(),t=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,r="\\u0300-\\u036f",d="\\ufe20-\\ufe2f",p="\\u20d0-\\u20ff",f=r+d+p,w="["+f+"]",h=RegExp(w,"g");function g(o){return o=e(o),o&&o.replace(t,n).replace(h,"")}return jh=g,jh}var Uh,Iv;function cS(){if(Iv)return Uh;Iv=1;var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function e(t){return t.match(n)||[]}return Uh=e,Uh}var Vh,Lv;function uS(){if(Lv)return Vh;Lv=1;var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function e(t){return n.test(t)}return Vh=e,Vh}var Gh,Rv;function hS(){if(Rv)return Gh;Rv=1;var n="\\ud800-\\udfff",e="\\u0300-\\u036f",t="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",d=e+t+r,p="\\u2700-\\u27bf",f="a-z\\xdf-\\xf6\\xf8-\\xff",w="\\xac\\xb1\\xd7\\xf7",h="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",g="\\u2000-\\u206f",o=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",a="A-Z\\xc0-\\xd6\\xd8-\\xde",l="\\ufe0e\\ufe0f",c=w+h+g+o,s="['’]",u="["+c+"]",m="["+d+"]",b="\\d+",x="["+p+"]",E="["+f+"]",$="[^"+n+c+b+p+f+a+"]",k="\\ud83c[\\udffb-\\udfff]",C="(?:"+m+"|"+k+")",R="[^"+n+"]",O="(?:\\ud83c[\\udde6-\\uddff]){2}",L="[\\ud800-\\udbff][\\udc00-\\udfff]",I="["+a+"]",B="\\u200d",P="(?:"+E+"|"+$+")",D="(?:"+I+"|"+$+")",S="(?:"+s+"(?:d|ll|m|re|s|t|ve))?",_="(?:"+s+"(?:D|LL|M|RE|S|T|VE))?",N=C+"?",H="["+l+"]?",U="(?:"+B+"(?:"+[R,O,L].join("|")+")"+H+N+")*",q="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Q="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",te=H+N+U,he="(?:"+[x,O,L].join("|")+")"+te,ne=RegExp([I+"?"+E+"+"+S+"(?="+[u,I,"$"].join("|")+")",D+"+"+_+"(?="+[u,I+P,"$"].join("|")+")",I+"?"+P+"+"+S,I+"+"+_,Q,q,b,he].join("|"),"g");function le(ue){return ue.match(ne)||[]}return Gh=le,Gh}var Kh,Ov;function dS(){if(Ov)return Kh;Ov=1;var n=cS(),e=uS(),t=ic(),r=hS();function d(p,f,w){return p=t(p),f=w?void 0:f,f===void 0?e(p)?r(p):n(p):p.match(f)||[]}return Kh=d,Kh}var qh,Dv;function pS(){if(Dv)return qh;Dv=1;var n=oS(),e=lS(),t=dS(),r="['’]",d=RegExp(r,"g");function p(f){return function(w){return n(t(e(w).replace(d,"")),f,"")}}return qh=p,qh}var Yh,Nv;function fS(){if(Nv)return Yh;Nv=1;var n=iS(),e=pS(),t=e(function(r,d,p){return d=d.toLowerCase(),r+(p?n(d):d)});return Yh=t,Yh}var gS=fS();const mS=kl(gS),vS=Object.assign({"./ArrayWidget.vue":()=>et(()=>Je.import("./ArrayWidget-BSG8KEtf-20ba46b888f4d0a2ab13.js"),void 0),"./ArrayplotWidget.vue":()=>et(()=>Je.import("./ArrayplotWidget-WVu76Kqn-c5d631acd4826caf9a2b.js"),void 0),"./BlockWidget.vue":()=>et(()=>Je.import("./BlockWidget-B7ryWGCq-14457dcee8d216a445db.js"),void 0),"./ButtonWidget.vue":()=>et(()=>Je.import("./ButtonWidget-BKih3ix9-d65410874af26ea05dda.js"),void 0),"./CanvasWidget.vue":()=>et(()=>Je.import("./CanvasWidget-DT9xMSfb-7a50f1c52a3a5cc3b707.js"),void 0),"./CanvasdotWidget.vue":()=>et(()=>Je.import("./CanvasdotWidget-7H5Hvcn--5187351e1459e1dd6535.js"),void 0),"./CanvasimageWidget.vue":()=>et(()=>Je.import("./CanvasimageWidget-BbWYx6Gj-4460db11c86936417199.js"),void 0),"./CanvasimagevalueWidget.vue":()=>et(()=>Je.import("./CanvasimagevalueWidget-Blvoe2X4-2b419bf95c00863f1c4c.js"),void 0),"./CanvaslabelWidget.vue":()=>et(()=>Je.import("./CanvaslabelWidget-BPx_Rm4o-3d86097dc0bbe408cb4f.js"),void 0),"./CanvaslabelvalueWidget.vue":()=>et(()=>Je.import("./CanvaslabelvalueWidget-DzdWvL0W-89bf05a5d8c49efb0364.js"),void 0),"./CanvaslineWidget.vue":()=>et(()=>Je.import("./CanvaslineWidget-CqskilGk-39d2192df486374badf7.js"),void 0),"./CanvaslinevalueWidget.vue":()=>et(()=>Je.import("./CanvaslinevalueWidget-C0JIKdvZ-6d9007a1c241a73cc54e.js"),void 0),"./CheckbuttonWidget.vue":()=>et(()=>Je.import("./CheckbuttonWidget-C9FbJx2v-e993f69eb1a426849691.js"),void 0),"./ComboboxWidget.vue":()=>et(()=>Je.import("./ComboboxWidget-BbNKT0s8-66e71387985b678f52e8.js"),void 0),"./DateWidget.vue":()=>et(()=>Je.import("./DateWidget-CBMsdRUE-727a33589d5e4b7ee566.js"),void 0),"./DynamicWidget.vue":()=>et(()=>Je.import("./DynamicWidget-CfMtj7H8-d2375e0b1602a30d4eea.js"),void 0),"./FormatvalueWidget.vue":()=>et(()=>Je.import("./FormatvalueWidget-BLWsqhIZ-38e569045cd54673c7c7.js"),void 0),"./HorizontalWidget.vue":()=>et(()=>Je.import("./HorizontalWidget-CsVhLwZO-da13a9c090bb08ec4344.js"),void 0),"./HorizontalboxWidget.vue":()=>et(()=>Je.import("./HorizontalboxWidget-xC6PADl3-158bd779c176fcfddd01.js"),void 0),"./HorizontallineWidget.vue":()=>et(()=>Je.import("./HorizontallineWidget-NZIxmRVN-78a8376fce4e57764ea9.js"),void 0),"./IframeWidget.vue":()=>et(()=>Je.import("./IframeWidget-BgzjSfag-6e48828428003053b380.js"),void 0),"./ImageviewerWidget.vue":()=>et(()=>Je.import("./ImageviewerWidget-BnT5m-nw-de9ac7dc8e5a5e863849.js"),void 0),"./LabelWidget.vue":()=>et(()=>Je.import("./LabelWidget-DSDYmz6X-55f1a88737f42055f2e2.js"),void 0),"./LabelledWidget.vue":()=>et(()=>Je.import("./LabelledWidget-DMb-myxs-a6d38f4b7d122cb702fc.js"),void 0),"./LabelprogressbarWidget.vue":()=>et(()=>Je.import("./LabelprogressbarWidget-CkjDJBao-7fad8afe99f0f688153d.js"),void 0),"./LabelsparklineWidget.vue":()=>et(()=>Je.import("./LabelsparklineWidget-DBYPFz3Y-b97bc67b908ad43ae84a.js"),void 0),"./LabelvalueWidget.vue":()=>et(()=>Je.import("./LabelvalueWidget-DlTkJC4i-67a3d7f58536b7fdbe7b.js"),void 0),"./LabelvaluedescWidget.vue":()=>et(()=>Je.import("./LabelvaluedescWidget-dRqnGZub-ae4ef207123b81d69970.js"),void 0),"./LabelvaluelimitsbarWidget.vue":()=>et(()=>Je.import("./LabelvaluelimitsbarWidget-CS4NAPJ1-86985b928b42e358aea6.js"),void 0),"./LabelvaluelimitscolumnWidget.vue":()=>et(()=>Je.import("./LabelvaluelimitscolumnWidget-D9x4Ppv8-df7cf77122322442bf4c.js"),void 0),"./LabelvaluerangebarWidget.vue":()=>et(()=>Je.import("./LabelvaluerangebarWidget-Dhyng4-n-48f8ed77e3ba71f6fd91.js"),void 0),"./LedWidget.vue":()=>et(()=>Je.import("./LedWidget-D8cq4pUv-bcd4f242b5818abad49f.js"),void 0),"./LimitsbarWidget.vue":()=>et(()=>Je.import("./LimitsbarWidget-VGJnDuVM-3cfca67d733b6bb6eece.js"),void 0),"./LimitscolorWidget.vue":()=>et(()=>Je.import("./LimitscolorWidget-CG6Pqi12-281b3f6397f79113407a.js"),void 0),"./LimitscolumnWidget.vue":()=>et(()=>Je.import("./LimitscolumnWidget-DjovQdiT-18d5cd14232cb26ca07f.js"),void 0),"./LinegraphWidget.vue":()=>et(()=>Je.import("./LinegraphWidget-DSWAhXgZ-a316c027af373cbc6428.js"),void 0),"./MatrixbycolumnsWidget.vue":()=>et(()=>Je.import("./MatrixbycolumnsWidget-C3cuhRxz-bf95ff6809f55ee14c50.js"),void 0),"./ProgressbarWidget.vue":()=>et(()=>Je.import("./ProgressbarWidget-oCgAEFBO-6d62d36197407a29ea26.js"),void 0),"./RadiobuttonWidget.vue":()=>et(()=>Je.import("./RadiobuttonWidget-D4Dak3lc-9af14f8876edfd7ee308.js"),void 0),"./RadiogroupWidget.vue":()=>et(()=>Je.import("./RadiogroupWidget-Dbe9T4fp-205d20c3a3374a51efdf.js"),void 0),"./RangebarWidget.vue":()=>et(()=>Je.import("./RangebarWidget-CIVrgqrW-a45b38d7062832440586.js"),void 0),"./RollupWidget.vue":()=>et(()=>Je.import("./RollupWidget-CH1-XNLV-3d1449d0398eab6eea3c.js"),void 0),"./ScrollwindowWidget.vue":()=>et(()=>Je.import("./ScrollwindowWidget-BwFG6Wn8-43d175b7375e2f894439.js"),void 0),"./SignalWidget.vue":()=>et(()=>Je.import("./SignalWidget-Gz2gHrUm-8a49663fba001cac4eff.js"),void 0),"./SpacerWidget.vue":()=>et(()=>Je.import("./SpacerWidget-Bg7VDB0k-add14f816ad330e9a2e7.js"),void 0),"./SparklineWidget.vue":()=>et(()=>Je.import("./SparklineWidget-D_b5rfJv-cfc3f3094a4df93f1586.js"),void 0),"./TabbookWidget.vue":()=>et(()=>Je.import("./TabbookWidget-C30f9B6z-310bff478662a78ca069.js"),void 0),"./TextboxWidget.vue":()=>et(()=>Je.import("./TextboxWidget-CDqxsgys-9c634432e47faaebdb85.js"),void 0),"./TextfieldWidget.vue":()=>et(()=>Je.import("./TextfieldWidget-CAyjKJs6-bc08ae97839d927befdb.js"),void 0),"./TimeWidget.vue":()=>et(()=>Je.import("./TimeWidget-BQsP0G2X-75f5f0b930c4e50dadf6.js"),void 0),"./TitleWidget.vue":()=>et(()=>Je.import("./TitleWidget-DXVba53S-71a6c71ac4cc39f3dae2.js"),void 0),"./ValueWidget.vue":()=>et(()=>Je.import("./ValueWidget-B-TWLPdM-1ba1d1bc65d10bcf55be.js"),void 0),"./ValuelimitsbarWidget.vue":()=>et(()=>Je.import("./ValuelimitsbarWidget-jsDXdPdC-86cae1aabd46c33e233e.js"),void 0),"./ValuelimitscolumnWidget.vue":()=>et(()=>Je.import("./ValuelimitscolumnWidget-I-uwnXM2-c3f763c94ccb0b86f320.js"),void 0),"./ValuerangebarWidget.vue":()=>et(()=>Je.import("./ValuerangebarWidget-OyhSTScu-4f4e30313ef6c4edcb85.js"),void 0),"./VerticalWidget.vue":()=>et(()=>Je.import("./VerticalWidget-CkFbX1Gq-585c58b950987b462cec.js"),void 0),"./VerticalboxWidget.vue":()=>et(()=>Je.import("./VerticalboxWidget-FEQgPM9r-9fe46aa217c5bff83355.js"),void 0)}),yS=Object.entries(vS).reduce((n,[e,t])=>{e=e.split("/").pop();const r=rS(mS(e.replace(/\.\w+$/,"")));return{...n,[r]:_p(t)}},{}),JN=er("H",{components:yS}),Fv="openc3-ace-vim-mode-enabled",Xh="ace/keyboard/vim",oc=er("X",{isVimModeEnabled(){return localStorage.getItem(Fv)==="true"},setVimMode(n){localStorage.setItem(Fv,JSON.stringify(!!n))},toggleVimMode(n){this.isVimModeEnabled()?(n.setKeyboardHandler(null),this.setVimMode(!1)):(n.setKeyboardHandler(Xh),this.setVimMode(!0)),n.focus()},applyVimModeIfEnabled(n,{saveFn:e}={}){this.isVimModeEnabled()?(n.setKeyboardHandler(Xh),ace.config.loadModule(Xh,t=>{t.CodeMirror.Vim.defineEx("write","w",r=>{typeof e=="function"?e():r.ace.execCommand("save")})})):n.setKeyboardHandler(null)}}),wS={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(n){return n.replaceAll(" ","-").toLowerCase()},subMenuClick(n){n.command(n),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},bS={class:"app-title mr-2"};function xS(n,e,t,r,d,p){const f=He("v-col"),w=He("v-row"),h=He("v-icon"),g=He("v-btn"),o=He("v-divider"),a=He("v-list-item-title"),l=He("v-list-item"),c=He("v-list"),s=He("v-menu"),u=He("v-radio"),m=He("v-list-item-action"),b=He("v-radio-group"),x=He("v-checkbox");return nt(),Wt(Ap,{to:"#openc3-menu"},[Be(w,{"no-gutters":""},{default:Ne(()=>[Be(f,{"align-self":"end"},{default:Ne(()=>[Mn("span",bS,un(t.title),1)]),_:1})]),_:1}),Be(w,{dense:"",class:"flex-nowrap"},{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(t.menus,(E,$)=>(nt(),Wt(s,{ref_for:!0,ref:"topmenu",key:$},{activator:Ne(({props:k})=>[Be(g,bl({ref_for:!0},k,{variant:"outlined",class:"mx-1 menu-button",text:E.label,"data-test":p.formatDT(`${t.title} ${E.label}`)}),{append:Ne(()=>[Be(h,{class:"menu-button-icon"},{default:Ne(()=>e[0]||(e[0]=[Mt(" mdi-menu-down ",-1)])),_:1,__:[0]})]),_:2},1040,["text","data-test"])]),default:Ne(()=>[Be(c,null,{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(E.items,(k,C)=>(nt(),Jt(ei,null,[k.divider?(nt(),Wt(o,{key:C+"-divider"})):k.subMenu&&k.subMenu.length>0?(nt(),Jt("div",{key:C+"-submenu"},[(nt(),Wt(s,{"open-on-hover":"",location:"right",key:C},{activator:Ne(({props:R})=>[(nt(),Wt(l,bl({ref_for:!0},R,{disabled:k.disabled,key:C}),uu({append:Ne(()=>[Be(h,null,{default:Ne(()=>e[1]||(e[1]=[Mt(" mdi-chevron-right ",-1)])),_:1,__:[1]})]),default:Ne(()=>[!k.radio&&!k.checkbox?(nt(),Wt(a,{key:0,style:ss("cursor: pointer;"+(k.disabled?"opacity: 0.2":""))},{default:Ne(()=>[Mt(un(k.label),1)]),_:2},1032,["style"])):zr("",!0)]),_:2},[k.icon?{name:"prepend",fn:Ne(()=>[Be(h,{disabled:k.disabled},{default:Ne(()=>[Mt(un(k.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:Ne(()=>[Be(c,null,{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(k.subMenu,(R,O)=>(nt(),Wt(l,{key:O,"prepend-icon":R.icon,onClick:L=>p.subMenuClick(R)},{default:Ne(()=>[Be(a,null,{default:Ne(()=>[Mt(un(R.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):k.radioGroup?(nt(),Wt(b,{"model-value":k.value,"onUpdate:modelValue":k.command,key:C+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(k.choices,(R,O)=>(nt(),Wt(l,{key:O+"-choice"},{default:Ne(()=>[Be(m,{class:"list-action"},{default:Ne(()=>[Be(u,{color:"secondary",label:R.label,value:R.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(nt(),Wt(l,{onClick:R=>k.command(k),disabled:k.disabled,"data-test":p.formatDT(`${t.title} ${E.label} ${k.label}`),key:C+"-list"},uu({default:Ne(()=>[k.checkbox?(nt(),Wt(m,{key:0,class:"list-action"},{default:Ne(()=>[Be(x,{modelValue:k.checked,"onUpdate:modelValue":R=>k.checked=R,label:k.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):zr("",!0),!k.radio&&!k.checkbox?(nt(),Wt(a,{key:1,style:ss("cursor: pointer;"+(k.disabled?"opacity: 0.2":""))},{default:Ne(()=>[Mt(un(k.label),1)]),_:2},1032,["style"])):zr("",!0)]),_:2},[k.icon?{name:"prepend",fn:Ne(()=>[Be(h,{icon:k.icon,disabled:k.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const CS=Li(wS,[["render",xS],["__scopeId","data-v-4d454b93"]]);function Pv(n,e){return function(){return n.apply(e,arguments)}}const{toString:kS}=Object.prototype,{getPrototypeOf:Zh}=Object,{iterator:sc,toStringTag:Wv}=Symbol,ac=(n=>e=>{const t=kS.call(e);return n[t]||(n[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Pi=n=>(n=n.toLowerCase(),e=>ac(e)===n),lc=n=>e=>typeof e===n,{isArray:aa}=Array,Ga=lc("undefined");function Ka(n){return n!==null&&!Ga(n)&&n.constructor!==null&&!Ga(n.constructor)&&Ur(n.constructor.isBuffer)&&n.constructor.isBuffer(n)}const Bv=Pi("ArrayBuffer");function _S(n){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(n):e=n&&n.buffer&&Bv(n.buffer),e}const AS=lc("string"),Ur=lc("function"),zv=lc("number"),qa=n=>n!==null&&typeof n=="object",SS=n=>n===!0||n===!1,cc=n=>{if(ac(n)!=="object")return!1;const e=Zh(n);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Wv in n)&&!(sc in n)},$S=n=>{if(!qa(n)||Ka(n))return!1;try{return Object.keys(n).length===0&&Object.getPrototypeOf(n)===Object.prototype}catch{return!1}},MS=Pi("Date"),TS=Pi("File"),ES=Pi("Blob"),IS=Pi("FileList"),LS=n=>qa(n)&&Ur(n.pipe),RS=n=>{let e;return n&&(typeof FormData=="function"&&n instanceof FormData||Ur(n.append)&&((e=ac(n))==="formdata"||e==="object"&&Ur(n.toString)&&n.toString()==="[object FormData]"))},OS=Pi("URLSearchParams"),[DS,NS,FS,PS]=["ReadableStream","Request","Response","Headers"].map(Pi),WS=n=>n.trim?n.trim():n.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ya(n,e,{allOwnKeys:t=!1}={}){if(n===null||typeof n>"u")return;let r,d;if(typeof n!="object"&&(n=[n]),aa(n))for(r=0,d=n.length;r<d;r++)e.call(null,n[r],r,n);else{if(Ka(n))return;const p=t?Object.getOwnPropertyNames(n):Object.keys(n),f=p.length;let w;for(r=0;r<f;r++)w=p[r],e.call(null,n[w],w,n)}}function Hv(n,e){if(Ka(n))return null;e=e.toLowerCase();const t=Object.keys(n);let r=t.length,d;for(;r-- >0;)if(d=t[r],e===d.toLowerCase())return d;return null}const Cs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,jv=n=>!Ga(n)&&n!==Cs;function Qh(){const{caseless:n}=jv(this)&&this||{},e={},t=(r,d)=>{const p=n&&Hv(e,d)||d;cc(e[p])&&cc(r)?e[p]=Qh(e[p],r):cc(r)?e[p]=Qh({},r):aa(r)?e[p]=r.slice():e[p]=r};for(let r=0,d=arguments.length;r<d;r++)arguments[r]&&Ya(arguments[r],t);return e}const BS=(n,e,t,{allOwnKeys:r}={})=>(Ya(e,(d,p)=>{t&&Ur(d)?n[p]=Pv(d,t):n[p]=d},{allOwnKeys:r}),n),zS=n=>(n.charCodeAt(0)===65279&&(n=n.slice(1)),n),HS=(n,e,t,r)=>{n.prototype=Object.create(e.prototype,r),n.prototype.constructor=n,Object.defineProperty(n,"super",{value:e.prototype}),t&&Object.assign(n.prototype,t)},jS=(n,e,t,r)=>{let d,p,f;const w={};if(e=e||{},n==null)return e;do{for(d=Object.getOwnPropertyNames(n),p=d.length;p-- >0;)f=d[p],(!r||r(f,n,e))&&!w[f]&&(e[f]=n[f],w[f]=!0);n=t!==!1&&Zh(n)}while(n&&(!t||t(n,e))&&n!==Object.prototype);return e},US=(n,e,t)=>{n=String(n),(t===void 0||t>n.length)&&(t=n.length),t-=e.length;const r=n.indexOf(e,t);return r!==-1&&r===t},VS=n=>{if(!n)return null;if(aa(n))return n;let e=n.length;if(!zv(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=n[e];return t},GS=(n=>e=>n&&e instanceof n)(typeof Uint8Array<"u"&&Zh(Uint8Array)),KS=(n,e)=>{const t=(n&&n[sc]).call(n);let r;for(;(r=t.next())&&!r.done;){const d=r.value;e.call(n,d[0],d[1])}},qS=(n,e)=>{let t;const r=[];for(;(t=n.exec(e))!==null;)r.push(t);return r},YS=Pi("HTMLFormElement"),XS=n=>n.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,r){return t.toUpperCase()+r}),Uv=(({hasOwnProperty:n})=>(e,t)=>n.call(e,t))(Object.prototype),ZS=Pi("RegExp"),Vv=(n,e)=>{const t=Object.getOwnPropertyDescriptors(n),r={};Ya(t,(d,p)=>{let f;(f=e(d,p,n))!==!1&&(r[p]=f||d)}),Object.defineProperties(n,r)},QS=n=>{Vv(n,(e,t)=>{if(Ur(n)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const r=n[t];if(Ur(r)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},JS=(n,e)=>{const t={},r=d=>{d.forEach(p=>{t[p]=!0})};return aa(n)?r(n):r(String(n).split(e)),t},e$=()=>{},t$=(n,e)=>n!=null&&Number.isFinite(n=+n)?n:e;function n$(n){return!!(n&&Ur(n.append)&&n[Wv]==="FormData"&&n[sc])}const r$=n=>{const e=new Array(10),t=(r,d)=>{if(qa(r)){if(e.indexOf(r)>=0)return;if(Ka(r))return r;if(!("toJSON"in r)){e[d]=r;const p=aa(r)?[]:{};return Ya(r,(f,w)=>{const h=t(f,d+1);!Ga(h)&&(p[w]=h)}),e[d]=void 0,p}}return r};return t(n,0)},i$=Pi("AsyncFunction"),o$=n=>n&&(qa(n)||Ur(n))&&Ur(n.then)&&Ur(n.catch),Gv=((n,e)=>n?setImmediate:e?((t,r)=>(Cs.addEventListener("message",({source:d,data:p})=>{d===Cs&&p===t&&r.length&&r.shift()()},!1),d=>{r.push(d),Cs.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Ur(Cs.postMessage)),s$=typeof queueMicrotask<"u"?queueMicrotask.bind(Cs):typeof process<"u"&&process.nextTick||Gv,a$=n=>n!=null&&Ur(n[sc]),_e={isArray:aa,isArrayBuffer:Bv,isBuffer:Ka,isFormData:RS,isArrayBufferView:_S,isString:AS,isNumber:zv,isBoolean:SS,isObject:qa,isPlainObject:cc,isEmptyObject:$S,isReadableStream:DS,isRequest:NS,isResponse:FS,isHeaders:PS,isUndefined:Ga,isDate:MS,isFile:TS,isBlob:ES,isRegExp:ZS,isFunction:Ur,isStream:LS,isURLSearchParams:OS,isTypedArray:GS,isFileList:IS,forEach:Ya,merge:Qh,extend:BS,trim:WS,stripBOM:zS,inherits:HS,toFlatObject:jS,kindOf:ac,kindOfTest:Pi,endsWith:US,toArray:VS,forEachEntry:KS,matchAll:qS,isHTMLForm:YS,hasOwnProperty:Uv,hasOwnProp:Uv,reduceDescriptors:Vv,freezeMethods:QS,toObjectSet:JS,toCamelCase:XS,noop:e$,toFiniteNumber:t$,findKey:Hv,global:Cs,isContextDefined:jv,isSpecCompliantForm:n$,toJSONObject:r$,isAsyncFn:i$,isThenable:o$,setImmediate:Gv,asap:s$,isIterable:a$};function _t(n,e,t,r,d){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=n,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),d&&(this.response=d,this.status=d.status?d.status:null)}_e.inherits(_t,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:_e.toJSONObject(this.config),code:this.code,status:this.status}}});const Kv=_t.prototype,qv={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(n=>{qv[n]={value:n}}),Object.defineProperties(_t,qv),Object.defineProperty(Kv,"isAxiosError",{value:!0}),_t.from=(n,e,t,r,d,p)=>{const f=Object.create(Kv);return _e.toFlatObject(n,f,function(w){return w!==Error.prototype},w=>w!=="isAxiosError"),_t.call(f,n.message,e,t,r,d),f.cause=n,f.name=n.name,p&&Object.assign(f,p),f};const l$=null;function Jh(n){return _e.isPlainObject(n)||_e.isArray(n)}function Yv(n){return _e.endsWith(n,"[]")?n.slice(0,-2):n}function Xv(n,e,t){return n?n.concat(e).map(function(r,d){return r=Yv(r),!t&&d?"["+r+"]":r}).join(t?".":""):e}function c$(n){return _e.isArray(n)&&!n.some(Jh)}const u$=_e.toFlatObject(_e,{},null,function(n){return/^is[A-Z]/.test(n)});function uc(n,e,t){if(!_e.isObject(n))throw new TypeError("target must be an object");e=e||new FormData,t=_e.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(c,s){return!_e.isUndefined(s[c])});const r=t.metaTokens,d=t.visitor||g,p=t.dots,f=t.indexes,w=(t.Blob||typeof Blob<"u"&&Blob)&&_e.isSpecCompliantForm(e);if(!_e.isFunction(d))throw new TypeError("visitor must be a function");function h(c){if(c===null)return"";if(_e.isDate(c))return c.toISOString();if(_e.isBoolean(c))return c.toString();if(!w&&_e.isBlob(c))throw new _t("Blob is not supported. Use a Buffer instead.");return _e.isArrayBuffer(c)||_e.isTypedArray(c)?w&&typeof Blob=="function"?new Blob([c]):Buffer.from(c):c}function g(c,s,u){let m=c;if(c&&!u&&typeof c=="object"){if(_e.endsWith(s,"{}"))s=r?s:s.slice(0,-2),c=JSON.stringify(c);else if(_e.isArray(c)&&c$(c)||(_e.isFileList(c)||_e.endsWith(s,"[]"))&&(m=_e.toArray(c)))return s=Yv(s),m.forEach(function(b,x){!(_e.isUndefined(b)||b===null)&&e.append(f===!0?Xv([s],x,p):f===null?s:s+"[]",h(b))}),!1}return Jh(c)?!0:(e.append(Xv(u,s,p),h(c)),!1)}const o=[],a=Object.assign(u$,{defaultVisitor:g,convertValue:h,isVisitable:Jh});function l(c,s){if(!_e.isUndefined(c)){if(o.indexOf(c)!==-1)throw Error("Circular reference detected in "+s.join("."));o.push(c),_e.forEach(c,function(u,m){(!(_e.isUndefined(u)||u===null)&&d.call(e,u,_e.isString(m)?m.trim():m,s,a))===!0&&l(u,s?s.concat(m):[m])}),o.pop()}}if(!_e.isObject(n))throw new TypeError("data must be an object");return l(n),e}function Zv(n){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(n).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function ed(n,e){this._pairs=[],n&&uc(n,this,e)}const Qv=ed.prototype;Qv.append=function(n,e){this._pairs.push([n,e])},Qv.toString=function(n){const e=n?function(t){return n.call(this,t,Zv)}:Zv;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function h$(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Jv(n,e,t){if(!e)return n;const r=t&&t.encode||h$;_e.isFunction(t)&&(t={serialize:t});const d=t&&t.serialize;let p;if(d?p=d(e,t):p=_e.isURLSearchParams(e)?e.toString():new ed(e,t).toString(r),p){const f=n.indexOf("#");f!==-1&&(n=n.slice(0,f)),n+=(n.indexOf("?")===-1?"?":"&")+p}return n}let ey=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){_e.forEach(this.handlers,function(t){t!==null&&e(t)})}};const ty={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},d$=typeof URLSearchParams<"u"?URLSearchParams:ed,p$=typeof FormData<"u"?FormData:null,f$=typeof Blob<"u"?Blob:null,g$={isBrowser:!0,classes:{URLSearchParams:d$,FormData:p$,Blob:f$},protocols:["http","https","file","blob","url","data"]},td=typeof window<"u"&&typeof document<"u",nd=typeof navigator=="object"&&navigator||void 0,m$=td&&(!nd||["ReactNative","NativeScript","NS"].indexOf(nd.product)<0),v$=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",y$=td&&window.location.href||"http://localhost",w$=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:td,hasStandardBrowserEnv:m$,hasStandardBrowserWebWorkerEnv:v$,navigator:nd,origin:y$},Symbol.toStringTag,{value:"Module"})),Cr={...w$,...g$};function b$(n,e){return uc(n,new Cr.classes.URLSearchParams,{visitor:function(t,r,d,p){return Cr.isNode&&_e.isBuffer(t)?(this.append(r,t.toString("base64")),!1):p.defaultVisitor.apply(this,arguments)},...e})}function x$(n){return _e.matchAll(/\w+|\[(\w*)]/g,n).map(e=>e[0]==="[]"?"":e[1]||e[0])}function C$(n){const e={},t=Object.keys(n);let r;const d=t.length;let p;for(r=0;r<d;r++)p=t[r],e[p]=n[p];return e}function ny(n){function e(t,r,d,p){let f=t[p++];if(f==="__proto__")return!0;const w=Number.isFinite(+f),h=p>=t.length;return f=!f&&_e.isArray(d)?d.length:f,h?(_e.hasOwnProp(d,f)?d[f]=[d[f],r]:d[f]=r,!w):((!d[f]||!_e.isObject(d[f]))&&(d[f]=[]),e(t,r,d[f],p)&&_e.isArray(d[f])&&(d[f]=C$(d[f])),!w)}if(_e.isFormData(n)&&_e.isFunction(n.entries)){const t={};return _e.forEachEntry(n,(r,d)=>{e(x$(r),d,t,0)}),t}return null}function k$(n,e,t){if(_e.isString(n))try{return(e||JSON.parse)(n),_e.trim(n)}catch(r){if(r.name!=="SyntaxError")throw r}return(t||JSON.stringify)(n)}const Xa={transitional:ty,adapter:["xhr","http","fetch"],transformRequest:[function(n,e){const t=e.getContentType()||"",r=t.indexOf("application/json")>-1,d=_e.isObject(n);if(d&&_e.isHTMLForm(n)&&(n=new FormData(n)),_e.isFormData(n))return r?JSON.stringify(ny(n)):n;if(_e.isArrayBuffer(n)||_e.isBuffer(n)||_e.isStream(n)||_e.isFile(n)||_e.isBlob(n)||_e.isReadableStream(n))return n;if(_e.isArrayBufferView(n))return n.buffer;if(_e.isURLSearchParams(n))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),n.toString();let p;if(d){if(t.indexOf("application/x-www-form-urlencoded")>-1)return b$(n,this.formSerializer).toString();if((p=_e.isFileList(n))||t.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return uc(p?{"files[]":n}:n,f&&new f,this.formSerializer)}}return d||r?(e.setContentType("application/json",!1),k$(n)):n}],transformResponse:[function(n){const e=this.transitional||Xa.transitional,t=e&&e.forcedJSONParsing,r=this.responseType==="json";if(_e.isResponse(n)||_e.isReadableStream(n))return n;if(n&&_e.isString(n)&&(t&&!this.responseType||r)){const d=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(n)}catch(p){if(d)throw p.name==="SyntaxError"?_t.from(p,_t.ERR_BAD_RESPONSE,this,null,this.response):p}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Cr.classes.FormData,Blob:Cr.classes.Blob},validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_e.forEach(["delete","get","head","post","put","patch"],n=>{Xa.headers[n]={}});const _$=_e.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),A$=n=>{const e={};let t,r,d;return n&&n.split(`
1491
+ `).forEach(function(p){d=p.indexOf(":"),t=p.substring(0,d).trim().toLowerCase(),r=p.substring(d+1).trim(),!(!t||e[t]&&_$[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r)}),e},ry=Symbol("internals");function Za(n){return n&&String(n).trim().toLowerCase()}function hc(n){return n===!1||n==null?n:_e.isArray(n)?n.map(hc):String(n)}function S$(n){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=t.exec(n);)e[r[1]]=r[2];return e}const $$=n=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(n.trim());function rd(n,e,t,r,d){if(_e.isFunction(r))return r.call(this,e,t);if(d&&(e=t),!!_e.isString(e)){if(_e.isString(r))return e.indexOf(r)!==-1;if(_e.isRegExp(r))return r.test(e)}}function M$(n){return n.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function T$(n,e){const t=_e.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(n,r+t,{value:function(d,p,f){return this[r].call(this,e,d,p,f)},configurable:!0})})}let Vr=class{constructor(e){e&&this.set(e)}set(e,t,r){const d=this;function p(w,h,g){const o=Za(h);if(!o)throw new Error("header name must be a non-empty string");const a=_e.findKey(d,o);(!a||d[a]===void 0||g===!0||g===void 0&&d[a]!==!1)&&(d[a||h]=hc(w))}const f=(w,h)=>_e.forEach(w,(g,o)=>p(g,o,h));if(_e.isPlainObject(e)||e instanceof this.constructor)f(e,t);else if(_e.isString(e)&&(e=e.trim())&&!$$(e))f(A$(e),t);else if(_e.isObject(e)&&_e.isIterable(e)){let w={},h,g;for(const o of e){if(!_e.isArray(o))throw TypeError("Object iterator must return a key-value pair");w[g=o[0]]=(h=w[g])?_e.isArray(h)?[...h,o[1]]:[h,o[1]]:o[1]}f(w,t)}else e!=null&&p(t,e,r);return this}get(e,t){if(e=Za(e),e){const r=_e.findKey(this,e);if(r){const d=this[r];if(!t)return d;if(t===!0)return S$(d);if(_e.isFunction(t))return t.call(this,d,r);if(_e.isRegExp(t))return t.exec(d);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Za(e),e){const r=_e.findKey(this,e);return!!(r&&this[r]!==void 0&&(!t||rd(this,this[r],r,t)))}return!1}delete(e,t){const r=this;let d=!1;function p(f){if(f=Za(f),f){const w=_e.findKey(r,f);w&&(!t||rd(r,r[w],w,t))&&(delete r[w],d=!0)}}return _e.isArray(e)?e.forEach(p):p(e),d}clear(e){const t=Object.keys(this);let r=t.length,d=!1;for(;r--;){const p=t[r];(!e||rd(this,this[p],p,e,!0))&&(delete this[p],d=!0)}return d}normalize(e){const t=this,r={};return _e.forEach(this,(d,p)=>{const f=_e.findKey(r,p);if(f){t[f]=hc(d),delete t[p];return}const w=e?M$(p):String(p).trim();w!==p&&delete t[p],t[w]=hc(d),r[w]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return _e.forEach(this,(r,d)=>{r!=null&&r!==!1&&(t[d]=e&&_e.isArray(r)?r.join(", "):r)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
1492
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach(d=>r.set(d)),r}static accessor(e){const t=(this[ry]=this[ry]={accessors:{}}).accessors,r=this.prototype;function d(p){const f=Za(p);t[f]||(T$(r,p),t[f]=!0)}return _e.isArray(e)?e.forEach(d):d(e),this}};Vr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),_e.reduceDescriptors(Vr.prototype,({value:n},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>n,set(r){this[t]=r}}}),_e.freezeMethods(Vr);function id(n,e){const t=this||Xa,r=e||t,d=Vr.from(r.headers);let p=r.data;return _e.forEach(n,function(f){p=f.call(t,p,d.normalize(),e?e.status:void 0)}),d.normalize(),p}function iy(n){return!!(n&&n.__CANCEL__)}function la(n,e,t){_t.call(this,n??"canceled",_t.ERR_CANCELED,e,t),this.name="CanceledError"}_e.inherits(la,_t,{__CANCEL__:!0});function oy(n,e,t){const r=t.config.validateStatus;!t.status||!r||r(t.status)?n(t):e(new _t("Request failed with status code "+t.status,[_t.ERR_BAD_REQUEST,_t.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function E$(n){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(n);return e&&e[1]||""}function I$(n,e){n=n||10;const t=new Array(n),r=new Array(n);let d=0,p=0,f;return e=e!==void 0?e:1e3,function(w){const h=Date.now(),g=r[p];f||(f=h),t[d]=w,r[d]=h;let o=p,a=0;for(;o!==d;)a+=t[o++],o=o%n;if(d=(d+1)%n,d===p&&(p=(p+1)%n),h-f<e)return;const l=g&&h-g;return l?Math.round(a*1e3/l):void 0}}function L$(n,e){let t=0,r=1e3/e,d,p;const f=(w,h=Date.now())=>{t=h,d=null,p&&(clearTimeout(p),p=null),n(...w)};return[(...w)=>{const h=Date.now(),g=h-t;g>=r?f(w,h):(d=w,p||(p=setTimeout(()=>{p=null,f(d)},r-g)))},()=>d&&f(d)]}const dc=(n,e,t=3)=>{let r=0;const d=I$(50,250);return L$(p=>{const f=p.loaded,w=p.lengthComputable?p.total:void 0,h=f-r,g=d(h),o=f<=w;r=f;const a={loaded:f,total:w,progress:w?f/w:void 0,bytes:h,rate:g||void 0,estimated:g&&w&&o?(w-f)/g:void 0,event:p,lengthComputable:w!=null,[e?"download":"upload"]:!0};n(a)},t)},sy=(n,e)=>{const t=n!=null;return[r=>e[0]({lengthComputable:t,total:n,loaded:r}),e[1]]},ay=n=>(...e)=>_e.asap(()=>n(...e)),R$=Cr.hasStandardBrowserEnv?((n,e)=>t=>(t=new URL(t,Cr.origin),n.protocol===t.protocol&&n.host===t.host&&(e||n.port===t.port)))(new URL(Cr.origin),Cr.navigator&&/(msie|trident)/i.test(Cr.navigator.userAgent)):()=>!0,O$=Cr.hasStandardBrowserEnv?{write(n,e,t,r,d,p){const f=[n+"="+encodeURIComponent(e)];_e.isNumber(t)&&f.push("expires="+new Date(t).toGMTString()),_e.isString(r)&&f.push("path="+r),_e.isString(d)&&f.push("domain="+d),p===!0&&f.push("secure"),document.cookie=f.join("; ")},read(n){const e=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(n){this.write(n,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function D$(n){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(n)}function N$(n,e){return e?n.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):n}function ly(n,e,t){let r=!D$(e);return n&&(r||t==!1)?N$(n,e):e}const cy=n=>n instanceof Vr?{...n}:n;function ks(n,e){e=e||{};const t={};function r(g,o,a,l){return _e.isPlainObject(g)&&_e.isPlainObject(o)?_e.merge.call({caseless:l},g,o):_e.isPlainObject(o)?_e.merge({},o):_e.isArray(o)?o.slice():o}function d(g,o,a,l){if(_e.isUndefined(o)){if(!_e.isUndefined(g))return r(void 0,g,a,l)}else return r(g,o,a,l)}function p(g,o){if(!_e.isUndefined(o))return r(void 0,o)}function f(g,o){if(_e.isUndefined(o)){if(!_e.isUndefined(g))return r(void 0,g)}else return r(void 0,o)}function w(g,o,a){if(a in e)return r(g,o);if(a in n)return r(void 0,g)}const h={url:p,method:p,data:p,baseURL:f,transformRequest:f,transformResponse:f,paramsSerializer:f,timeout:f,timeoutMessage:f,withCredentials:f,withXSRFToken:f,adapter:f,responseType:f,xsrfCookieName:f,xsrfHeaderName:f,onUploadProgress:f,onDownloadProgress:f,decompress:f,maxContentLength:f,maxBodyLength:f,beforeRedirect:f,transport:f,httpAgent:f,httpsAgent:f,cancelToken:f,socketPath:f,responseEncoding:f,validateStatus:w,headers:(g,o,a)=>d(cy(g),cy(o),a,!0)};return _e.forEach(Object.keys({...n,...e}),function(g){const o=h[g]||d,a=o(n[g],e[g],g);_e.isUndefined(a)&&o!==w||(t[g]=a)}),t}const uy=n=>{const e=ks({},n);let{data:t,withXSRFToken:r,xsrfHeaderName:d,xsrfCookieName:p,headers:f,auth:w}=e;e.headers=f=Vr.from(f),e.url=Jv(ly(e.baseURL,e.url,e.allowAbsoluteUrls),n.params,n.paramsSerializer),w&&f.set("Authorization","Basic "+btoa((w.username||"")+":"+(w.password?unescape(encodeURIComponent(w.password)):"")));let h;if(_e.isFormData(t)){if(Cr.hasStandardBrowserEnv||Cr.hasStandardBrowserWebWorkerEnv)f.setContentType(void 0);else if((h=f.getContentType())!==!1){const[g,...o]=h?h.split(";").map(a=>a.trim()).filter(Boolean):[];f.setContentType([g||"multipart/form-data",...o].join("; "))}}if(Cr.hasStandardBrowserEnv&&(r&&_e.isFunction(r)&&(r=r(e)),r||r!==!1&&R$(e.url))){const g=d&&p&&O$.read(p);g&&f.set(d,g)}return e},F$=typeof XMLHttpRequest<"u",P$=F$&&function(n){return new Promise(function(e,t){const r=uy(n);let d=r.data;const p=Vr.from(r.headers).normalize();let{responseType:f,onUploadProgress:w,onDownloadProgress:h}=r,g,o,a,l,c;function s(){l&&l(),c&&c(),r.cancelToken&&r.cancelToken.unsubscribe(g),r.signal&&r.signal.removeEventListener("abort",g)}let u=new XMLHttpRequest;u.open(r.method.toUpperCase(),r.url,!0),u.timeout=r.timeout;function m(){if(!u)return;const x=Vr.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),E={data:!f||f==="text"||f==="json"?u.responseText:u.response,status:u.status,statusText:u.statusText,headers:x,config:n,request:u};oy(function($){e($),s()},function($){t($),s()},E),u=null}"onloadend"in u?u.onloadend=m:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(m)},u.onabort=function(){u&&(t(new _t("Request aborted",_t.ECONNABORTED,n,u)),u=null)},u.onerror=function(){t(new _t("Network Error",_t.ERR_NETWORK,n,u)),u=null},u.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const E=r.transitional||ty;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),t(new _t(x,E.clarifyTimeoutError?_t.ETIMEDOUT:_t.ECONNABORTED,n,u)),u=null},d===void 0&&p.setContentType(null),"setRequestHeader"in u&&_e.forEach(p.toJSON(),function(x,E){u.setRequestHeader(E,x)}),_e.isUndefined(r.withCredentials)||(u.withCredentials=!!r.withCredentials),f&&f!=="json"&&(u.responseType=r.responseType),h&&([a,c]=dc(h,!0),u.addEventListener("progress",a)),w&&u.upload&&([o,l]=dc(w),u.upload.addEventListener("progress",o),u.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(g=x=>{u&&(t(!x||x.type?new la(null,n,u):x),u.abort(),u=null)},r.cancelToken&&r.cancelToken.subscribe(g),r.signal&&(r.signal.aborted?g():r.signal.addEventListener("abort",g)));const b=E$(r.url);if(b&&Cr.protocols.indexOf(b)===-1){t(new _t("Unsupported protocol "+b+":",_t.ERR_BAD_REQUEST,n));return}u.send(d||null)})},W$=(n,e)=>{const{length:t}=n=n?n.filter(Boolean):[];if(e||t){let r=new AbortController,d;const p=function(g){if(!d){d=!0,w();const o=g instanceof Error?g:this.reason;r.abort(o instanceof _t?o:new la(o instanceof Error?o.message:o))}};let f=e&&setTimeout(()=>{f=null,p(new _t(`timeout ${e} of ms exceeded`,_t.ETIMEDOUT))},e);const w=()=>{n&&(f&&clearTimeout(f),f=null,n.forEach(g=>{g.unsubscribe?g.unsubscribe(p):g.removeEventListener("abort",p)}),n=null)};n.forEach(g=>g.addEventListener("abort",p));const{signal:h}=r;return h.unsubscribe=()=>_e.asap(w),h}},B$=function*(n,e){let t=n.byteLength;if(t<e){yield n;return}let r=0,d;for(;r<t;)d=r+e,yield n.slice(r,d),r=d},z$=async function*(n,e){for await(const t of H$(n))yield*B$(t,e)},H$=async function*(n){if(n[Symbol.asyncIterator]){yield*n;return}const e=n.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)break;yield r}}finally{await e.cancel()}},hy=(n,e,t,r)=>{const d=z$(n,e);let p=0,f,w=h=>{f||(f=!0,r&&r(h))};return new ReadableStream({async pull(h){try{const{done:g,value:o}=await d.next();if(g){w(),h.close();return}let a=o.byteLength;if(t){let l=p+=a;t(l)}h.enqueue(new Uint8Array(o))}catch(g){throw w(g),g}},cancel(h){return w(h),d.return()}},{highWaterMark:2})},pc=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",dy=pc&&typeof ReadableStream=="function",j$=pc&&(typeof TextEncoder=="function"?(n=>e=>n.encode(e))(new TextEncoder):async n=>new Uint8Array(await new Response(n).arrayBuffer())),py=(n,...e)=>{try{return!!n(...e)}catch{return!1}},U$=dy&&py(()=>{let n=!1;const e=new Request(Cr.origin,{body:new ReadableStream,method:"POST",get duplex(){return n=!0,"half"}}).headers.has("Content-Type");return n&&!e}),fy=64*1024,od=dy&&py(()=>_e.isReadableStream(new Response("").body)),fc={stream:od&&(n=>n.body)};pc&&(n=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!fc[e]&&(fc[e]=_e.isFunction(n[e])?t=>t[e]():(t,r)=>{throw new _t(`Response type '${e}' is not supported`,_t.ERR_NOT_SUPPORT,r)})})})(new Response);const V$=async n=>{if(n==null)return 0;if(_e.isBlob(n))return n.size;if(_e.isSpecCompliantForm(n))return(await new Request(Cr.origin,{method:"POST",body:n}).arrayBuffer()).byteLength;if(_e.isArrayBufferView(n)||_e.isArrayBuffer(n))return n.byteLength;if(_e.isURLSearchParams(n)&&(n=n+""),_e.isString(n))return(await j$(n)).byteLength},G$=async(n,e)=>_e.toFiniteNumber(n.getContentLength())??V$(e),K$=pc&&(async n=>{let{url:e,method:t,data:r,signal:d,cancelToken:p,timeout:f,onDownloadProgress:w,onUploadProgress:h,responseType:g,headers:o,withCredentials:a="same-origin",fetchOptions:l}=uy(n);g=g?(g+"").toLowerCase():"text";let c=W$([d,p&&p.toAbortSignal()],f),s;const u=c&&c.unsubscribe&&(()=>{c.unsubscribe()});let m;try{if(h&&U$&&t!=="get"&&t!=="head"&&(m=await G$(o,r))!==0){let k=new Request(e,{method:"POST",body:r,duplex:"half"}),C;if(_e.isFormData(r)&&(C=k.headers.get("content-type"))&&o.setContentType(C),k.body){const[R,O]=sy(m,dc(ay(h)));r=hy(k.body,fy,R,O)}}_e.isString(a)||(a=a?"include":"omit");const b="credentials"in Request.prototype;s=new Request(e,{...l,signal:c,method:t.toUpperCase(),headers:o.normalize().toJSON(),body:r,duplex:"half",credentials:b?a:void 0});let x=await fetch(s,l);const E=od&&(g==="stream"||g==="response");if(od&&(w||E&&u)){const k={};["status","statusText","headers"].forEach(L=>{k[L]=x[L]});const C=_e.toFiniteNumber(x.headers.get("content-length")),[R,O]=w&&sy(C,dc(ay(w),!0))||[];x=new Response(hy(x.body,fy,R,()=>{O&&O(),u&&u()}),k)}g=g||"text";let $=await fc[_e.findKey(fc,g)||"text"](x,n);return!E&&u&&u(),await new Promise((k,C)=>{oy(k,C,{data:$,headers:Vr.from(x.headers),status:x.status,statusText:x.statusText,config:n,request:s})})}catch(b){throw u&&u(),b&&b.name==="TypeError"&&/Load failed|fetch/i.test(b.message)?Object.assign(new _t("Network Error",_t.ERR_NETWORK,n,s),{cause:b.cause||b}):_t.from(b,b&&b.code,n,s)}}),sd={http:l$,xhr:P$,fetch:K$};_e.forEach(sd,(n,e)=>{if(n){try{Object.defineProperty(n,"name",{value:e})}catch{}Object.defineProperty(n,"adapterName",{value:e})}});const gy=n=>`- ${n}`,q$=n=>_e.isFunction(n)||n===null||n===!1,my={getAdapter:n=>{n=_e.isArray(n)?n:[n];const{length:e}=n;let t,r;const d={};for(let p=0;p<e;p++){t=n[p];let f;if(r=t,!q$(t)&&(r=sd[(f=String(t)).toLowerCase()],r===void 0))throw new _t(`Unknown adapter '${f}'`);if(r)break;d[f||"#"+p]=r}if(!r){const p=Object.entries(d).map(([w,h])=>`adapter ${w} `+(h===!1?"is not supported by the environment":"is not available in the build"));let f=e?p.length>1?`since :
1493
+ `+p.map(gy).join(`
1494
+ `):" "+gy(p[0]):"as no adapter specified";throw new _t("There is no suitable adapter to dispatch the request "+f,"ERR_NOT_SUPPORT")}return r},adapters:sd};function ad(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new la(null,n)}function vy(n){return ad(n),n.headers=Vr.from(n.headers),n.data=id.call(n,n.transformRequest),["post","put","patch"].indexOf(n.method)!==-1&&n.headers.setContentType("application/x-www-form-urlencoded",!1),my.getAdapter(n.adapter||Xa.adapter)(n).then(function(e){return ad(n),e.data=id.call(n,n.transformResponse,e),e.headers=Vr.from(e.headers),e},function(e){return iy(e)||(ad(n),e&&e.response&&(e.response.data=id.call(n,n.transformResponse,e.response),e.response.headers=Vr.from(e.response.headers))),Promise.reject(e)})}const yy="1.11.0",gc={};["object","boolean","number","function","string","symbol"].forEach((n,e)=>{gc[n]=function(t){return typeof t===n||"a"+(e<1?"n ":" ")+n}});const wy={};gc.transitional=function(n,e,t){function r(d,p){return"[Axios v"+yy+"] Transitional option '"+d+"'"+p+(t?". "+t:"")}return(d,p,f)=>{if(n===!1)throw new _t(r(p," has been removed"+(e?" in "+e:"")),_t.ERR_DEPRECATED);return e&&!wy[p]&&(wy[p]=!0,console.warn(r(p," has been deprecated since v"+e+" and will be removed in the near future"))),n?n(d,p,f):!0}},gc.spelling=function(n){return(e,t)=>(console.warn(`${t} is likely a misspelling of ${n}`),!0)};function Y$(n,e,t){if(typeof n!="object")throw new _t("options must be an object",_t.ERR_BAD_OPTION_VALUE);const r=Object.keys(n);let d=r.length;for(;d-- >0;){const p=r[d],f=e[p];if(f){const w=n[p],h=w===void 0||f(w,p,n);if(h!==!0)throw new _t("option "+p+" must be "+h,_t.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new _t("Unknown option "+p,_t.ERR_BAD_OPTION)}}const mc={assertOptions:Y$,validators:gc},eo=mc.validators;let _s=class{constructor(e){this.defaults=e||{},this.interceptors={request:new ey,response:new ey}}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let d={};Error.captureStackTrace?Error.captureStackTrace(d):d=new Error;const p=d.stack?d.stack.replace(/^.+\n/,""):"";try{r.stack?p&&!String(r.stack).endsWith(p.replace(/^.+\n.+\n/,""))&&(r.stack+=`
1495
+ `+p):r.stack=p}catch{}}throw r}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=ks(this.defaults,t);const{transitional:r,paramsSerializer:d,headers:p}=t;r!==void 0&&mc.assertOptions(r,{silentJSONParsing:eo.transitional(eo.boolean),forcedJSONParsing:eo.transitional(eo.boolean),clarifyTimeoutError:eo.transitional(eo.boolean)},!1),d!=null&&(_e.isFunction(d)?t.paramsSerializer={serialize:d}:mc.assertOptions(d,{encode:eo.function,serialize:eo.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),mc.assertOptions(t,{baseUrl:eo.spelling("baseURL"),withXsrfToken:eo.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let f=p&&_e.merge(p.common,p[t.method]);p&&_e.forEach(["delete","get","head","post","put","patch","common"],s=>{delete p[s]}),t.headers=Vr.concat(f,p);const w=[];let h=!0;this.interceptors.request.forEach(function(s){typeof s.runWhen=="function"&&s.runWhen(t)===!1||(h=h&&s.synchronous,w.unshift(s.fulfilled,s.rejected))});const g=[];this.interceptors.response.forEach(function(s){g.push(s.fulfilled,s.rejected)});let o,a=0,l;if(!h){const s=[vy.bind(this),void 0];for(s.unshift(...w),s.push(...g),l=s.length,o=Promise.resolve(t);a<l;)o=o.then(s[a++],s[a++]);return o}l=w.length;let c=t;for(a=0;a<l;){const s=w[a++],u=w[a++];try{c=s(c)}catch(m){u.call(this,m);break}}try{o=vy.call(this,c)}catch(s){return Promise.reject(s)}for(a=0,l=g.length;a<l;)o=o.then(g[a++],g[a++]);return o}getUri(e){e=ks(this.defaults,e);const t=ly(e.baseURL,e.url,e.allowAbsoluteUrls);return Jv(t,e.params,e.paramsSerializer)}};_e.forEach(["delete","get","head","options"],function(n){_s.prototype[n]=function(e,t){return this.request(ks(t||{},{method:n,url:e,data:(t||{}).data}))}}),_e.forEach(["post","put","patch"],function(n){function e(t){return function(r,d,p){return this.request(ks(p||{},{method:n,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:d}))}}_s.prototype[n]=e(),_s.prototype[n+"Form"]=e(!0)});let X$=class bb{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(d){t=d});const r=this;this.promise.then(d=>{if(!r._listeners)return;let p=r._listeners.length;for(;p-- >0;)r._listeners[p](d);r._listeners=null}),this.promise.then=d=>{let p;const f=new Promise(w=>{r.subscribe(w),p=w}).then(d);return f.cancel=function(){r.unsubscribe(p)},f},e(function(d,p,f){r.reason||(r.reason=new la(d,p,f),t(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=r=>{e.abort(r)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new bb(function(t){e=t}),cancel:e}}};function Z$(n){return function(e){return n.apply(null,e)}}function Q$(n){return _e.isObject(n)&&n.isAxiosError===!0}const ld={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ld).forEach(([n,e])=>{ld[e]=n});function by(n){const e=new _s(n),t=Pv(_s.prototype.request,e);return _e.extend(t,_s.prototype,e,{allOwnKeys:!0}),_e.extend(t,e,null,{allOwnKeys:!0}),t.create=function(r){return by(ks(n,r))},t}const Pn=er("E",by(Xa));Pn.Axios=_s,Pn.CanceledError=la,Pn.CancelToken=X$,Pn.isCancel=iy,Pn.VERSION=yy,Pn.toFormData=uc,Pn.AxiosError=_t,Pn.Cancel=Pn.CanceledError,Pn.all=function(n){return Promise.all(n)},Pn.spread=Z$,Pn.isAxiosError=Q$,Pn.mergeConfig=ks,Pn.AxiosHeaders=Vr,Pn.formToJSON=n=>ny(_e.isHTMLForm(n)?new FormData(n):n),Pn.getAdapter=my.getAdapter,Pn.HttpStatusCode=ld,Pn.default=Pn;const{Axios:eF,AxiosError:tF,CanceledError:nF,isCancel:rF,CancelToken:iF,VERSION:oF,all:sF,Cancel:aF,isAxiosError:lF,spread:cF,toFormData:uF,AxiosHeaders:hF,HttpStatusCode:dF,formToJSON:pF,getAdapter:fF,mergeConfig:gF}=Pn;function xy(){return Object.assign({},Vs())}function J$(n,e,t){const r=yn(n,void 0);return r.setTime(r.getTime()+e*xl),r}function eM(n,e){const t=()=>Kn(void 0,NaN),r=iM(n);let d;if(r.date){const h=oM(r.date,2);d=sM(h.restDateString,h.year)}if(!d||isNaN(+d))return t();const p=+d;let f=0,w;if(r.time&&(f=aM(r.time),isNaN(f)))return t();if(r.timezone){if(w=lM(r.timezone),isNaN(w))return t()}else{const h=new Date(p+f),g=yn(0,void 0);return g.setFullYear(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate()),g.setHours(h.getUTCHours(),h.getUTCMinutes(),h.getUTCSeconds(),h.getUTCMilliseconds()),g}return yn(p+f+w,void 0)}const vc={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},tM=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,nM=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,rM=/^([+-])(\d{2})(?::?(\d{2}))?$/;function iM(n){const e={},t=n.split(vc.dateTimeDelimiter);let r;if(t.length>2)return e;if(/:/.test(t[0])?r=t[0]:(e.date=t[0],r=t[1],vc.timeZoneDelimiter.test(e.date)&&(e.date=n.split(vc.timeZoneDelimiter)[0],r=n.substr(e.date.length,n.length))),r){const d=vc.timezone.exec(r);d?(e.time=r.replace(d[1],""),e.timezone=d[1]):e.time=r}return e}function oM(n,e){const t=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=n.match(t);if(!r)return{year:NaN,restDateString:""};const d=r[1]?parseInt(r[1]):null,p=r[2]?parseInt(r[2]):null;return{year:p===null?d:p*100,restDateString:n.slice((r[1]||r[2]).length)}}function sM(n,e){if(e===null)return new Date(NaN);const t=n.match(tM);if(!t)return new Date(NaN);const r=!!t[4],d=Qa(t[1]),p=Qa(t[2])-1,f=Qa(t[3]),w=Qa(t[4]),h=Qa(t[5])-1;if(r)return pM(e,w,h)?cM(e,w,h):new Date(NaN);{const g=new Date(0);return!hM(e,p,f)||!dM(e,d)?new Date(NaN):(g.setUTCFullYear(e,p,Math.max(d,f)),g)}}function Qa(n){return n?parseInt(n):1}function aM(n){const e=n.match(nM);if(!e)return NaN;const t=cd(e[1]),r=cd(e[2]),d=cd(e[3]);return fM(t,r,d)?t*fu+r*xl+d*1e3:NaN}function cd(n){return n&&parseFloat(n.replace(",","."))||0}function lM(n){if(n==="Z")return 0;const e=n.match(rM);if(!e)return 0;const t=e[1]==="+"?-1:1,r=parseInt(e[2]),d=e[3]&&parseInt(e[3])||0;return gM(r,d)?t*(r*fu+d*xl):NaN}function cM(n,e,t){const r=new Date(0);r.setUTCFullYear(n,0,4);const d=r.getUTCDay()||7,p=(e-1)*7+t+1-d;return r.setUTCDate(r.getUTCDate()+p),r}const uM=[31,null,31,30,31,30,31,31,30,31,30,31];function Cy(n){return n%400===0||n%4===0&&n%100!==0}function hM(n,e,t){return e>=0&&e<=11&&t>=1&&t<=(uM[e]||(Cy(n)?29:28))}function dM(n,e){return e>=1&&e<=(Cy(n)?366:365)}function pM(n,e,t){return e>=1&&e<=53&&t>=0&&t<=6}function fM(n,e,t){return n===24?e===0&&t===0:t>=0&&t<60&&e>=0&&e<60&&n>=0&&n<25}function gM(n,e){return e>=0&&e<=59}function mM(n,e,t){return J$(n,-e)}function ky(n,e,t){const r=xy(),d=wM(n,t.timeZone,t.locale??r.locale);return"formatToParts"in d?vM(d,e):yM(d,e)}function vM(n,e){const t=n.formatToParts(e);for(let r=t.length-1;r>=0;--r)if(t[r].type==="timeZoneName")return t[r].value}function yM(n,e){const t=n.format(e).replace(/\u200E/g,""),r=/ [\w-+ ]+$/.exec(t);return r?r[0].substr(1):""}function wM(n,e,t){return new Intl.DateTimeFormat(t?[t.code,"en-US"]:void 0,{timeZone:e,timeZoneName:n})}function bM(n,e){const t=AM(e);return"formatToParts"in t?CM(t,n):kM(t,n)}const xM={year:0,month:1,day:2,hour:3,minute:4,second:5};function CM(n,e){try{const t=n.formatToParts(e),r=[];for(let d=0;d<t.length;d++){const p=xM[t[d].type];p!==void 0&&(r[p]=parseInt(t[d].value,10))}return r}catch(t){if(t instanceof RangeError)return[NaN];throw t}}function kM(n,e){const t=n.format(e),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(t);return[parseInt(r[3],10),parseInt(r[1],10),parseInt(r[2],10),parseInt(r[4],10),parseInt(r[5],10),parseInt(r[6],10)]}const ud={},_y=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),_M=_y==="06/25/2014, 00:00:00"||_y==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";function AM(n){return ud[n]||(ud[n]=_M?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),ud[n]}function Ay(n,e,t,r,d,p,f){const w=new Date(0);return w.setUTCFullYear(n,e,t),w.setUTCHours(r,d,p,f),w}const Sy=36e5,SM=6e4,hd={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function dd(n,e,t){if(!n)return 0;let r=hd.timezoneZ.exec(n);if(r)return 0;let d,p;if(r=hd.timezoneHH.exec(n),r)return d=parseInt(r[1],10),$y(d)?-(d*Sy):NaN;if(r=hd.timezoneHHMM.exec(n),r){d=parseInt(r[2],10);const f=parseInt(r[3],10);return $y(d,f)?(p=Math.abs(d)*Sy+f*SM,r[1]==="+"?-p:p):NaN}if(TM(n)){e=new Date(e||Date.now());const f=t?e:$M(e),w=pd(f,n);return-(t?w:MM(e,w,n))}return NaN}function $M(n){return Ay(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())}function pd(n,e){const t=bM(n,e),r=Ay(t[0],t[1]-1,t[2],t[3]%24,t[4],t[5],0).getTime();let d=n.getTime();const p=d%1e3;return d-=p>=0?p:1e3+p,r-d}function MM(n,e,t){let r=n.getTime()-e;const d=pd(new Date(r),t);if(e===d)return e;r-=d-e;const p=pd(new Date(r),t);return d===p?d:Math.max(d,p)}function $y(n,e){return-23<=n&&n<=23&&(e==null||0<=e&&e<=59)}const My={};function TM(n){if(My[n])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:n}),My[n]=!0,!0}catch{return!1}}const EM=60*1e3,IM={X:function(n,e,t){const r=fd(t.timeZone,n);if(r===0)return"Z";switch(e){case"X":return Ty(r);case"XXXX":case"XX":return ca(r);case"XXXXX":case"XXX":default:return ca(r,":")}},x:function(n,e,t){const r=fd(t.timeZone,n);switch(e){case"x":return Ty(r);case"xxxx":case"xx":return ca(r);case"xxxxx":case"xxx":default:return ca(r,":")}},O:function(n,e,t){const r=fd(t.timeZone,n);switch(e){case"O":case"OO":case"OOO":return"GMT"+LM(r,":");case"OOOO":default:return"GMT"+ca(r,":")}},z:function(n,e,t){switch(e){case"z":case"zz":case"zzz":return ky("short",n,t);case"zzzz":default:return ky("long",n,t)}}};function fd(n,e){const t=n?dd(n,e,!0)/EM:(e==null?void 0:e.getTimezoneOffset())??0;if(Number.isNaN(t))throw new RangeError("Invalid time zone specified: "+n);return t}function yc(n,e){const t=n<0?"-":"";let r=Math.abs(n).toString();for(;r.length<e;)r="0"+r;return t+r}function ca(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),d=yc(Math.floor(r/60),2),p=yc(Math.floor(r%60),2);return t+d+e+p}function Ty(n,e){return n%60===0?(n>0?"-":"+")+yc(Math.abs(n)/60,2):ca(n,e)}function LM(n,e=""){const t=n>0?"-":"+",r=Math.abs(n),d=Math.floor(r/60),p=r%60;return p===0?t+String(d):t+String(d)+e+yc(p,2)}function Ey(n){const e=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return e.setUTCFullYear(n.getFullYear()),+n-+e}const RM=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,gd=36e5,Iy=6e4,OM=2,Lr={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:RM};function Ly(n,e={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(n===null)return new Date(NaN);const t=e.additionalDigits==null?OM:Number(e.additionalDigits);if(t!==2&&t!==1&&t!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]")return new Date(n.getTime());if(typeof n=="number"||Object.prototype.toString.call(n)==="[object Number]")return new Date(n);if(Object.prototype.toString.call(n)!=="[object String]")return new Date(NaN);const r=DM(n),{year:d,restDateString:p}=NM(r.date,t),f=FM(p,d);if(f===null||isNaN(f.getTime()))return new Date(NaN);if(f){const w=f.getTime();let h=0,g;if(r.time&&(h=PM(r.time),h===null||isNaN(h)))return new Date(NaN);if(r.timeZone||e.timeZone){if(g=dd(r.timeZone||e.timeZone,new Date(w+h)),isNaN(g))return new Date(NaN)}else g=Ey(new Date(w+h)),g=Ey(new Date(w+h+g));return new Date(w+h+g)}else return new Date(NaN)}function DM(n){const e={};let t=Lr.dateTimePattern.exec(n),r;if(t?(e.date=t[1],r=t[3]):(t=Lr.datePattern.exec(n),t?(e.date=t[1],r=t[2]):(e.date=null,r=n)),r){const d=Lr.timeZone.exec(r);d?(e.time=r.replace(d[1],""),e.timeZone=d[1].trim()):e.time=r}return e}function NM(n,e){if(n){const t=Lr.YYY[e],r=Lr.YYYYY[e];let d=Lr.YYYY.exec(n)||r.exec(n);if(d){const p=d[1];return{year:parseInt(p,10),restDateString:n.slice(p.length)}}if(d=Lr.YY.exec(n)||t.exec(n),d){const p=d[1];return{year:parseInt(p,10)*100,restDateString:n.slice(p.length)}}}return{year:null}}function FM(n,e){if(e===null)return null;let t,r,d;if(!n||!n.length)return t=new Date(0),t.setUTCFullYear(e),t;let p=Lr.MM.exec(n);if(p)return t=new Date(0),r=parseInt(p[1],10)-1,Dy(e,r)?(t.setUTCFullYear(e,r),t):new Date(NaN);if(p=Lr.DDD.exec(n),p){t=new Date(0);const f=parseInt(p[1],10);return zM(e,f)?(t.setUTCFullYear(e,0,f),t):new Date(NaN)}if(p=Lr.MMDD.exec(n),p){t=new Date(0),r=parseInt(p[1],10)-1;const f=parseInt(p[2],10);return Dy(e,r,f)?(t.setUTCFullYear(e,r,f),t):new Date(NaN)}if(p=Lr.Www.exec(n),p)return d=parseInt(p[1],10)-1,Ny(d)?Ry(e,d):new Date(NaN);if(p=Lr.WwwD.exec(n),p){d=parseInt(p[1],10)-1;const f=parseInt(p[2],10)-1;return Ny(d,f)?Ry(e,d,f):new Date(NaN)}return null}function PM(n){let e,t,r=Lr.HH.exec(n);if(r)return e=parseFloat(r[1].replace(",",".")),md(e)?e%24*gd:NaN;if(r=Lr.HHMM.exec(n),r)return e=parseInt(r[1],10),t=parseFloat(r[2].replace(",",".")),md(e,t)?e%24*gd+t*Iy:NaN;if(r=Lr.HHMMSS.exec(n),r){e=parseInt(r[1],10),t=parseInt(r[2],10);const d=parseFloat(r[3].replace(",","."));return md(e,t,d)?e%24*gd+t*Iy+d*1e3:NaN}return null}function Ry(n,e,t){e=e||0,t=t||0;const r=new Date(0);r.setUTCFullYear(n,0,4);const d=r.getUTCDay()||7,p=e*7+t+1-d;return r.setUTCDate(r.getUTCDate()+p),r}const WM=[31,28,31,30,31,30,31,31,30,31,30,31],BM=[31,29,31,30,31,30,31,31,30,31,30,31];function Oy(n){return n%400===0||n%4===0&&n%100!==0}function Dy(n,e,t){if(e<0||e>11)return!1;if(t!=null){if(t<1)return!1;const r=Oy(n);if(r&&t>BM[e]||!r&&t>WM[e])return!1}return!0}function zM(n,e){if(e<1)return!1;const t=Oy(n);return!(t&&e>366||!t&&e>365)}function Ny(n,e){return!(n<0||n>52||e!=null&&(e<0||e>6))}function md(n,e,t){return!(n<0||n>=25||e!=null&&(e<0||e>=60)||t!=null&&(t<0||t>=60))}const HM=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function jM(n,e,t={}){e=String(e);const r=e.match(HM);if(r){const d=Ly(t.originalDate||n,t);e=r.reduce(function(p,f){if(f[0]==="'")return p;const w=p.indexOf(f),h=p[w-1]==="'",g=p.replace(f,"'"+IM[f[0]](d,f,t)+"'");return h?g.substring(0,w-1)+g.substring(w+1):g},e)}return Po(n,e,t)}function UM(n,e,t){n=Ly(n,t);const r=dd(e,n,!0),d=new Date(n.getTime()-r),p=new Date(0);return p.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),p.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),p}function wc(n,e,t,r){return r={...r,timeZone:e,originalDate:n},jM(UM(n,e,{timeZone:r.timeZone}),t,r)}const bc="yyyy-MM-dd",Fy="HH:mm:ss.SSS",Py="HH:mm:ss",xc=`${bc} ${Fy}`,Wy=`${bc} ${Py}`,mF=er("R",{methods:{parseDateTime(n,e){return n.includes(" ")&&(n=n.replace(" ","T")),e&&e==="UTC"&&(n+="Z"),Date.parse(n)},formatUtcToLocal(n,e){return Po(!e||e==="local"?mM(n,n.getTimezoneOffset()):n,xc)},formatDateTime(n,e){return!e||e==="local"?Po(n,xc):wc(n,e,xc)},formatDateTimeHMS(n,e){return!e||e==="local"?Po(n,Wy):wc(n,e,Wy)},formatDate:function(n,e){return!e||e==="local"?Po(n,bc):wc(n,this.timeZone,bc)},formatTime:function(n,e,t=Fy){return!e||e==="local"?Po(n,t):wc(n,this.timeZone,t)},formatTimeHMS:function(n,e){return this.formatTime(n,e,Py)},formatTimestamp(n,e){return this.formatDateTime(eM(n),e)},formatSeconds(n,e){return this.formatDateTime(new Date(n*1e3),e)},formatNanoseconds(n,e){return this.formatDateTime(new Date(parseInt(n)/1e6),e)}}});var VM=Object.defineProperty,GM=(n,e,t)=>e in n?VM(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,tt=(n,e,t)=>GM(n,typeof e!="symbol"?e+"":e,t);function vd(n,e,t){const r=yn(n,t==null?void 0:t.in);return isNaN(e)?Kn((t==null?void 0:t.in)||n,NaN):(e&&r.setDate(r.getDate()+e),r)}function KM(n,e){const t=yn(n,void 0).getDay();return t===0?7:t}function qM(n,e){const t=YM(e)?new e(0):Kn(e,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),t}function YM(n){var e;return typeof n=="function"&&((e=n.prototype)==null?void 0:e.constructor)===n}const XM=10;class By{constructor(){tt(this,"subPriority",0)}validate(e,t){return!0}}let ZM=class extends By{constructor(e,t,r,d,p){super(),this.value=e,this.validateValue=t,this.setValue=r,this.priority=d,p&&(this.subPriority=p)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,r){return this.setValue(e,t,this.value,r)}},QM=class extends By{constructor(e,t){super(),tt(this,"priority",XM),tt(this,"subPriority",-1),this.context=e||(r=>Kn(t,r))}set(e,t){return t.timestampIsSet?e:Kn(e,qM(e,this.context))}};class Kt{run(e,t,r,d){const p=this.parse(e,t,r,d);return p?{setter:new ZM(p.value,this.validate,this.set,this.priority,this.subPriority),rest:p.rest}:null}validate(e,t,r){return!0}}let JM=class extends Kt{constructor(){super(...arguments),tt(this,"priority",140),tt(this,"incompatibleTokens",["R","u","t","T"])}parse(e,t,r){switch(t){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"});case"GGGGG":return r.era(e,{width:"narrow"});case"GGGG":default:return r.era(e,{width:"wide"})||r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"})}}set(e,t,r){return t.era=r,e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}};const Wn={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},to={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Bn(n,e){return n&&{value:e(n.value),rest:n.rest}}function Cn(n,e){const t=e.match(n);return t?{value:parseInt(t[0],10),rest:e.slice(t[0].length)}:null}function no(n,e){const t=e.match(n);if(!t)return null;if(t[0]==="Z")return{value:0,rest:e.slice(1)};const r=t[1]==="+"?1:-1,d=t[2]?parseInt(t[2],10):0,p=t[3]?parseInt(t[3],10):0,f=t[5]?parseInt(t[5],10):0;return{value:r*(d*fu+p*xl+f*Pb),rest:e.slice(t[0].length)}}function zy(n){return Cn(Wn.anyDigitsSigned,n)}function Tn(n,e){switch(n){case 1:return Cn(Wn.singleDigit,e);case 2:return Cn(Wn.twoDigits,e);case 3:return Cn(Wn.threeDigits,e);case 4:return Cn(Wn.fourDigits,e);default:return Cn(new RegExp("^\\d{1,"+n+"}"),e)}}function Hy(n,e){switch(n){case 1:return Cn(Wn.singleDigitSigned,e);case 2:return Cn(Wn.twoDigitsSigned,e);case 3:return Cn(Wn.threeDigitsSigned,e);case 4:return Cn(Wn.fourDigitsSigned,e);default:return Cn(new RegExp("^-?\\d{1,"+n+"}"),e)}}function yd(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function jy(n,e){const t=e>0,r=t?e:1-e;let d;if(r<=50)d=n||100;else{const p=r+50,f=Math.trunc(p/100)*100,w=n>=p%100;d=n+f-(w?100:0)}return t?d:1-d}function Uy(n){return n%400===0||n%4===0&&n%100!==0}let eT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(e,t,r){const d=p=>({year:p,isTwoDigitYear:t==="yy"});switch(t){case"y":return Bn(Tn(4,e),d);case"yo":return Bn(r.ordinalNumber(e,{unit:"year"}),d);default:return Bn(Tn(t.length,e),d)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,r){const d=e.getFullYear();if(r.isTwoDigitYear){const f=jy(r.year,d);return e.setFullYear(f,0,1),e.setHours(0,0,0,0),e}const p=!("era"in t)||t.era===1?r.year:1-r.year;return e.setFullYear(p,0,1),e.setHours(0,0,0,0),e}},tT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(e,t,r){const d=p=>({year:p,isTwoDigitYear:t==="YY"});switch(t){case"Y":return Bn(Tn(4,e),d);case"Yo":return Bn(r.ordinalNumber(e,{unit:"year"}),d);default:return Bn(Tn(t.length,e),d)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,r,d){const p=mu(e,d);if(r.isTwoDigitYear){const w=jy(r.year,p);return e.setFullYear(w,0,d.firstWeekContainsDate),e.setHours(0,0,0,0),No(e,d)}const f=!("era"in t)||t.era===1?r.year:1-r.year;return e.setFullYear(f,0,d.firstWeekContainsDate),e.setHours(0,0,0,0),No(e,d)}},nT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(e,t){return Hy(t==="R"?4:t.length,e)}set(e,t,r){const d=Kn(e,0);return d.setFullYear(r,0,4),d.setHours(0,0,0,0),Gs(d)}},rT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",130),tt(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(e,t){return Hy(t==="u"?4:t.length,e)}set(e,t,r){return e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}},iT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",120),tt(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,t,r){switch(t){case"Q":case"QQ":return Tn(t.length,e);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(e,{width:"wide",context:"formatting"})||r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=1&&t<=4}set(e,t,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}},oT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",120),tt(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,t,r){switch(t){case"q":case"qq":return Tn(t.length,e);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(e,{width:"wide",context:"standalone"})||r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=1&&t<=4}set(e,t,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}},sT=class extends Kt{constructor(){super(...arguments),tt(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]),tt(this,"priority",110)}parse(e,t,r){const d=p=>p-1;switch(t){case"M":return Bn(Cn(Wn.month,e),d);case"MM":return Bn(Tn(2,e),d);case"Mo":return Bn(r.ordinalNumber(e,{unit:"month"}),d);case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(e,{width:"wide",context:"formatting"})||r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=11}set(e,t,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}},aT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",110),tt(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(e,t,r){const d=p=>p-1;switch(t){case"L":return Bn(Cn(Wn.month,e),d);case"LL":return Bn(Tn(2,e),d);case"Lo":return Bn(r.ordinalNumber(e,{unit:"month"}),d);case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(e,{width:"wide",context:"standalone"})||r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=11}set(e,t,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}};function lT(n,e,t){const r=yn(n,t==null?void 0:t.in),d=Qp(r,t)-e;return r.setDate(r.getDate()-d*7),yn(r,t==null?void 0:t.in)}let cT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",100),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(e,t,r){switch(t){case"w":return Cn(Wn.week,e);case"wo":return r.ordinalNumber(e,{unit:"week"});default:return Tn(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,r,d){return No(lT(e,r,d),d)}};function uT(n,e,t){const r=yn(n,void 0),d=Zp(r)-e;return r.setDate(r.getDate()-d*7),r}let hT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",100),tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(e,t,r){switch(t){case"I":return Cn(Wn.week,e);case"Io":return r.ordinalNumber(e,{unit:"week"});default:return Tn(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,r){return Gs(uT(e,r))}};const dT=[31,28,31,30,31,30,31,31,30,31,30,31],pT=[31,29,31,30,31,30,31,31,30,31,30,31];class fT extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"subPriority",1),tt(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(e,t,r){switch(t){case"d":return Cn(Wn.date,e);case"do":return r.ordinalNumber(e,{unit:"date"});default:return Tn(t.length,e)}}validate(e,t){const r=e.getFullYear(),d=Uy(r),p=e.getMonth();return d?t>=1&&t<=pT[p]:t>=1&&t<=dT[p]}set(e,t,r){return e.setDate(r),e.setHours(0,0,0,0),e}}let gT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"subpriority",1),tt(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(e,t,r){switch(t){case"D":case"DD":return Cn(Wn.dayOfYear,e);case"Do":return r.ordinalNumber(e,{unit:"date"});default:return Tn(t.length,e)}}validate(e,t){const r=e.getFullYear();return Uy(r)?t>=1&&t<=366:t>=1&&t<=365}set(e,t,r){return e.setMonth(0,r),e.setHours(0,0,0,0),e}};function wd(n,e,t){var r,d,p,f;const w=Vs(),h=(t==null?void 0:t.weekStartsOn)??((d=(r=t==null?void 0:t.locale)==null?void 0:r.options)==null?void 0:d.weekStartsOn)??w.weekStartsOn??((f=(p=w.locale)==null?void 0:p.options)==null?void 0:f.weekStartsOn)??0,g=yn(n,t==null?void 0:t.in),o=g.getDay(),a=(e%7+7)%7,l=7-h,c=e<0||e>6?e-(o+l)%7:(a+l)%7-(o+l)%7;return vd(g,c,t)}let mT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(e,t,r){switch(t){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,r,d){return e=wd(e,r,d),e.setHours(0,0,0,0),e}},vT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(e,t,r,d){const p=f=>{const w=Math.floor((f-1)/7)*7;return(f+d.weekStartsOn+6)%7+w};switch(t){case"e":case"ee":return Bn(Tn(t.length,e),p);case"eo":return Bn(r.ordinalNumber(e,{unit:"day"}),p);case"eee":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeeee":return r.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,r,d){return e=wd(e,r,d),e.setHours(0,0,0,0),e}};class yT extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(e,t,r,d){const p=f=>{const w=Math.floor((f-1)/7)*7;return(f+d.weekStartsOn+6)%7+w};switch(t){case"c":case"cc":return Bn(Tn(t.length,e),p);case"co":return Bn(r.ordinalNumber(e,{unit:"day"}),p);case"ccc":return r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"ccccc":return r.day(e,{width:"narrow",context:"standalone"});case"cccccc":return r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return r.day(e,{width:"wide",context:"standalone"})||r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=6}set(e,t,r,d){return e=wd(e,r,d),e.setHours(0,0,0,0),e}}function wT(n,e,t){const r=yn(n,void 0),d=KM(r),p=e-d;return vd(r,p,t)}let bT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",90),tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(e,t,r){const d=p=>p===0?7:p;switch(t){case"i":case"ii":return Tn(t.length,e);case"io":return r.ordinalNumber(e,{unit:"day"});case"iii":return Bn(r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),d);case"iiiii":return Bn(r.day(e,{width:"narrow",context:"formatting"}),d);case"iiiiii":return Bn(r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),d);case"iiii":default:return Bn(r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),d)}}validate(e,t){return t>=1&&t<=7}set(e,t,r){return e=wT(e,r),e.setHours(0,0,0,0),e}};class xT extends Kt{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(e,t,r){switch(t){case"a":case"aa":case"aaa":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,r){return e.setHours(yd(r),0,0,0),e}}let CT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(e,t,r){switch(t){case"b":case"bb":case"bbb":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,r){return e.setHours(yd(r),0,0,0),e}},kT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",80),tt(this,"incompatibleTokens",["a","b","t","T"])}parse(e,t,r){switch(t){case"B":case"BB":case"BBB":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,r){return e.setHours(yd(r),0,0,0),e}};class _T extends Kt{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["H","K","k","t","T"])}parse(e,t,r){switch(t){case"h":return Cn(Wn.hour12h,e);case"ho":return r.ordinalNumber(e,{unit:"hour"});default:return Tn(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,r){const d=e.getHours()>=12;return d&&r<12?e.setHours(r+12,0,0,0):!d&&r===12?e.setHours(0,0,0,0):e.setHours(r,0,0,0),e}}class AT extends Kt{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(e,t,r){switch(t){case"H":return Cn(Wn.hour23h,e);case"Ho":return r.ordinalNumber(e,{unit:"hour"});default:return Tn(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,r){return e.setHours(r,0,0,0),e}}class ST extends Kt{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["h","H","k","t","T"])}parse(e,t,r){switch(t){case"K":return Cn(Wn.hour11h,e);case"Ko":return r.ordinalNumber(e,{unit:"hour"});default:return Tn(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,r){return e.getHours()>=12&&r<12?e.setHours(r+12,0,0,0):e.setHours(r,0,0,0),e}}class $T extends Kt{constructor(){super(...arguments),tt(this,"priority",70),tt(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(e,t,r){switch(t){case"k":return Cn(Wn.hour24h,e);case"ko":return r.ordinalNumber(e,{unit:"hour"});default:return Tn(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,r){const d=r<=24?r%24:r;return e.setHours(d,0,0,0),e}}class MT extends Kt{constructor(){super(...arguments),tt(this,"priority",60),tt(this,"incompatibleTokens",["t","T"])}parse(e,t,r){switch(t){case"m":return Cn(Wn.minute,e);case"mo":return r.ordinalNumber(e,{unit:"minute"});default:return Tn(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,r){return e.setMinutes(r,0,0),e}}let TT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",50),tt(this,"incompatibleTokens",["t","T"])}parse(e,t,r){switch(t){case"s":return Cn(Wn.second,e);case"so":return r.ordinalNumber(e,{unit:"second"});default:return Tn(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,r){return e.setSeconds(r,0),e}};class ET extends Kt{constructor(){super(...arguments),tt(this,"priority",30),tt(this,"incompatibleTokens",["t","T"])}parse(e,t){const r=d=>Math.trunc(d*Math.pow(10,-t.length+3));return Bn(Tn(t.length,e),r)}set(e,t,r){return e.setMilliseconds(r),e}}class IT extends Kt{constructor(){super(...arguments),tt(this,"priority",10),tt(this,"incompatibleTokens",["t","T","x"])}parse(e,t){switch(t){case"X":return no(to.basicOptionalMinutes,e);case"XX":return no(to.basic,e);case"XXXX":return no(to.basicOptionalSeconds,e);case"XXXXX":return no(to.extendedOptionalSeconds,e);case"XXX":default:return no(to.extended,e)}}set(e,t,r){return t.timestampIsSet?e:Kn(e,e.getTime()-Cl(e)-r)}}let LT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",10),tt(this,"incompatibleTokens",["t","T","X"])}parse(e,t){switch(t){case"x":return no(to.basicOptionalMinutes,e);case"xx":return no(to.basic,e);case"xxxx":return no(to.basicOptionalSeconds,e);case"xxxxx":return no(to.extendedOptionalSeconds,e);case"xxx":default:return no(to.extended,e)}}set(e,t,r){return t.timestampIsSet?e:Kn(e,e.getTime()-Cl(e)-r)}},RT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",40),tt(this,"incompatibleTokens","*")}parse(e){return zy(e)}set(e,t,r){return[Kn(e,r*1e3),{timestampIsSet:!0}]}},OT=class extends Kt{constructor(){super(...arguments),tt(this,"priority",20),tt(this,"incompatibleTokens","*")}parse(e){return zy(e)}set(e,t,r){return[Kn(e,r),{timestampIsSet:!0}]}};const DT={G:new JM,y:new eT,Y:new tT,R:new nT,u:new rT,Q:new iT,q:new oT,M:new sT,L:new aT,w:new cT,I:new hT,d:new fT,D:new gT,E:new mT,e:new vT,c:new yT,i:new bT,a:new xT,b:new CT,B:new kT,h:new _T,H:new AT,K:new ST,k:new $T,m:new MT,s:new TT,S:new ET,X:new IT,x:new LT,t:new RT,T:new OT},NT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,FT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,PT=/^'([^]*?)'?$/,WT=/''/g,BT=/\S/,zT=/[a-zA-Z]/;function HT(n,e,t,r){var d,p,f,w;const h=()=>Kn(t,NaN),g=xy(),o=g.locale??Xp,a=g.firstWeekContainsDate??((p=(d=g.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??1,l=g.weekStartsOn??((w=(f=g.locale)==null?void 0:f.options)==null?void 0:w.weekStartsOn)??0;if(!e)return n?h():yn(t,void 0);const c={firstWeekContainsDate:a,weekStartsOn:l,locale:o},s=[new QM(void 0,t)],u=e.match(FT).map($=>{const k=$[0];if(k in vu){const C=vu[k];return C($,o.formatLong)}return $}).join("").match(NT),m=[];for(let $ of u){sf($)&&yu($,e,n),of($)&&yu($,e,n);const k=$[0],C=DT[k];if(C){const{incompatibleTokens:R}=C;if(Array.isArray(R)){const L=m.find(I=>R.includes(I.token)||I.token===k);if(L)throw new RangeError(`The format string mustn't contain \`${L.fullToken}\` and \`${$}\` at the same time`)}else if(C.incompatibleTokens==="*"&&m.length>0)throw new RangeError(`The format string mustn't contain \`${$}\` and any other token at the same time`);m.push({token:k,fullToken:$});const O=C.run(n,$,o.match,c);if(!O)return h();s.push(O.setter),n=O.rest}else{if(k.match(zT))throw new RangeError("Format string contains an unescaped latin alphabet character `"+k+"`");if($==="''"?$="'":k==="'"&&($=jT($)),n.indexOf($)===0)n=n.slice($.length);else return h()}}if(n.length>0&&BT.test(n))return h();const b=s.map($=>$.priority).sort(($,k)=>k-$).filter(($,k,C)=>C.indexOf($)===k).map($=>s.filter(k=>k.priority===$).sort((k,C)=>C.subPriority-k.subPriority)).map($=>$[0]);let x=yn(t,void 0);if(isNaN(+x))return h();const E={};for(const $ of b){if(!$.validate(x,c))return h();const k=$.set(x,E,c);Array.isArray(k)?(x=k[0],Object.assign(E,k[1])):x=k}return x}function jT(n){return n.match(PT)[1].replace(WT,"'")}const UT="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOAAAAAgCAYAAAALxXRVAAAAxHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMwCPxnio5gc8TB4zhtKnWDjl8IJEranmReh84Are/Xk24OrkIyzdp6a8UgXToPC7QExmZrkc1uWJOy/FIn3gm2EswjUm3Zv9frIRBuWDSdhPSexHIluqS+fgnlz/CJPH6kUE8hcBA1BUasVVrX+bzCcuyW0HjkRvQ69k8+2/Uek/0D5hUVxSwgMQD8gTAsaGYBb6zmhxFeEWiK2UH+3WkHfQAmGFlDwtBoyQAAAYVpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNQFIVPW7UiFRE7iIhkqE7WQUUcaxWKUCHUCq06mLz0D5o0JCkujoJrwcGfxaqDi7OuDq6CIPgD4uripOgiJd6XFFrEeOHxPs675/DefYC/Xmaq2REDVM0yUom4kMmuCsFXdGEE/fBhQmKmPieKSXjW1z31Ud1FeZZ335/Vq+RMBvgE4hjTDYt4g3hm09I57xOHWVFSiM+Jxw26IPEj12WX3zgXHPbzzLCRTs0Th4mFQhvLbcyKhko8TRxRVI3y/RmXFc5bnNVylTXvyV8Yymkry1ynNYwEFrEEEQJkVFFCGRaitGukmEjRedzDP+T4RXLJ5CqBkWMBFaiQHD/4H/yerZmfmnSTQnGg88W2P0aB4C7QqNn297FtN06AwDNwpbX8lTow+0l6raVFjoC+beDiuqXJe8DlDjD4pEuG5EgBWv58Hng/o2/KAgO3QM+aO7fmOU4fgDTNKnkDHBwCYwXKXvd4d3f73P7tac7vB5UicrQ0WLbfAAANemlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDozYjNlMzQ0NC03YTU4LTQxYjItYTZjYi0wMzljNWI3NjRmN2IiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MGUxZjUyNzQtNTMyNC00MzE5LWE3MjYtOGQyNjJlNjI1Y2YwIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZDkzZGI3ODgtMmQwNi00NjdhLWI2OGItZWJlNmJiNGU1ODQ2IgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJNYWMgT1MiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjg4MTUzMjA5MTAxNDUxIgogICBHSU1QOlZlcnNpb249IjIuMTAuMzQiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMzowNjozMFQxMzoyNjo0OC0wNjowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjM6MDY6MzBUMTM6MjY6NDgtMDY6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNWQ3MTYyZi0xYWQ1LTQwNWUtODAxOS03NmExMTI4MDI1YmYiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTWFjIE9TKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wNi0zMFQxMzoyNjo0OS0wNjowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5gv8dKAAAABmJLR0QA9QAHANj00CgxAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wYeExoxB4CzXgAAB65JREFUeNrtnF9sFNcVh78z6z8kEwgPTUVxTZqYh2lVbAKVKleuiuEJkGzIAzFSpEQukaoqQUUhiUiLSkRD2hQ1FYmqqnEtUqUK7UPBVozUBzBpUHkproGXrVqXAoKgKg/EZKFre+f0YcftFs967/zz7rrze5y999yd2fn2d8+9ZwZSpUqVKlWqVKmMpb9vcvT9zB90xF6RXo1UYWWllyAcfEzPjKL6ddy7oymEqcJKTBvmmrN7gR8bNt9v550fLG74KIUui3Vft2zN3Ywaf+bm1zTJ79+w4o8Stu/OO7ToNNsUtgJtqqwEEOEGMCEwIo2ceO9+rifx3TvGtdUt0CuwBaVNxRtfuYEwoXDSyjB0Ya1cW1QABoQvEoTa2XkG1W8kc7bygZw7tyFm+GKFsBYB3HmHFneKAyr0oxVmTYIryqDVxIG4QHxsTFcWXF5R2GV4Uw9kLL7/53Vyo+6noCHhAziYa85+L3CvTOZAYmcbIXYF+ACcxTgd7ZukpzBFVmFXRfgAFEthV2GKbN8kPVHHbx/TnhnXG9/0t4JdMy7Z9jHtqWsAI8AXGkI5e/YMIh8k4n5nz55JCL5FCWHfJ+x2lePAAyG6P+Aqx/s+YXfY8dec12fVZQhYGqL7UnUZWnNen61LAGOAL7wTJuGCIWMGgG9RQdg3SY8Lbxi53jxu6MIbYZywfUx7UN6MnrTzZi07oZSBbx9w6J7DN4BXgU7gyTLx3gXOAd+FYoJcopftvPNaVXLBkLlfCPgi54S1kAPuvENLYYpsSOfz06eZJhzTnPCxMV0545It43y3LTgsGYaXN/E3gFtTrNYCPS7sLdenwcKJIye8fPIpe3Sy90WBXkXbihDJhMJQ97Kh1x/Z8k4uEoBlnO8ysAX4C7AK+Caw3we+Q16bNmAUaAm7MKNdXRuYmRmN565r6A46/YwIX2gIawHAJ27xdpCcy3Rh5DfLecbI/f6kvuOLcFoyPF1ulbNjXFu1wFFVNvqNf/Er8kyUcxj87e82UtBB4OEyTa6Qkf7+HY+fjgKg3w1wyIPHzTVnLe9f5vkSCI8D+4C/em3EA/anwOrSQHbeMV6Fi8UFQ7hfTPCFgrDaAO68Q0thmquRpp7+d5qbaWRVJRfsGNdWd4arfvBdXC+bjAA+r6f8ILQaWBV2i8KD75RZuiObTCE0vciPAl/INWfFzjsuMAn8HPgOcB14ZRY+r/3ngM97brngeVuUGDHDV3c5oU6zLXb4vHxQp9lWqZlboNdvCikZnjZmvdj2tmFso2mn53xmKujg5ZNP2XEC2Af0z86v7byjwEcehF3ApVn4cs3Z5cCPvM+aIv1pRl0RDbjymQB8dQeht8letdhSnDnde5MeDuJcF9bKNQsOm8Q20ehk74vzTDv99LDXJzYA8RZWDuaas0tKIJwGrpbA91ngW/Ms0iysCwbomyB89QZhW1Vj69w2kmE48H+vXx8Nd25CcOc07RN0qrEb+FmuOdvkQeiWwLfEc8nX4vzFQrtg0H2/6cIvEoTvvxDqv16taQfUOavXCxp7trysVLOrnUHk18cvtplza1tSfcLM9RuBh8os6Ewn8suFccGgfWTJDiCb6N0t8uE/rCd3kypVSADfBfbYeee653rirYpi5527wCDF1dB479ugLhii6kW25m5i3dedGIRF+DYH3SdaaHmF1VWLLTq3za2p/11JN5FfH7/YZtNJmUiqTxAA9wHP23nn45JjnwEe9bYdAG4BR5OAMJCjhcwbE4OwTuDzNFHV2DK3jRaCV9L49pFw56YwlFQfUwB/CPzazjv/nD3g5Xw/AY4Aa7wtCrXzzk3gV8DmqrhghJrPRCCsL/gQGKlmbIWT9x5zYW/HuLaajtMxrq1eVUzF2CbqXjb0OnAlQJcrXp/YAPzQzjvXSuB7CHib4mrnZor7gF8tccKPKO4FLrwLxrB3GBuEdQYfgDRyAsFNgD5XGjlR8YbM+DrHUi1wNID7HcWnJK1M7Ip6ZMs7OTLSb36fSr/pb+4H4As+xwZzzdkvefDZFCtgSrcatgEvAV/2IFwNHPSJsz9RF4zofrFCWIfwAbx3P9dFGYydP2XQpBb0wlq5JjAwByplY/t5PTWfE3aMa2u5KhiBgSgP6vbvePw0GdlUwQmvBKmC8b7XXM1TjP1t4IuU32o4Afyd4sZ9pGLssv9u89WIhqj5rDjeiL0C9+4o4CwEfGkx9v95MXYJhHE9jgQxv6LCt0Y04tPusUEY0flq5Yn4vkl6XOV45LI0wbWE7ceWBdtMbx/THu9ZwOjua9F7cZ0MU4Mqe3HtvHO4zHS0qvCVzfMSfJLeeDpap9NOPx1bxrAFeyLlg4JrwZ6g8AFcXCfDCM/FkHs+V6vwVVyEiQHCRF7ONCcXjDH3Cw3hIoLvPxA+yBFL2A58GmbaaQnbjz3IkbDjX1ovb4lFLz6F1Qa6LRa9l9bLW7V8jStOLyJAmOyb0UodL8n3yJhAuAjhK3XCTBOOwICRGwquwECmCSeM8/k5YYPljW+eVw00WDi17HwVc8CIOeGCvJZQOzvPACSV+xnlhDHDl76WsLwW42sJ61ra1bVBu7o2VGXsEXuFvp/5pelzX6lSpUqVKlWqVKlSpUpVA/o34/Ptc3zCsREAAAAASUVORK5CYII=",VT={props:{status:{type:String,required:!0},large:{type:Boolean},small:{type:Boolean},scale:{type:Number}},computed:{icons:function(){return UT},scaleFactor:function(){return this.scale?this.scale:this.large?1:this.small?.3:.5},iconStyle:function(){const n=QT.indexOf(Vy[this.status]),e=1-(n-1)*.05,t=224*this.scaleFactor*e,r=32*this.scaleFactor*e,d=32*this.scaleFactor*e;return[`background-image: url(${this.icons});`,`background-position-x: -${n*d}px;`,`background-size: ${t}px ${r}px;`,`height: ${d}px;`,`width: ${d}px;`,`padding-top: ${n-1}px;`].join("")}}};function GT(n,e,t,r,d,p){return nt(),Jt("div",{style:ss(p.iconStyle)},null,4)}const KT=Li(VT,[["render",GT]]),qT={props:{icon:{type:String},size:{type:String,default:"small"},color:{type:String,default:"white"}},computed:{colorStyle:function(){return{"--iconColor":this.color}}}};function YT(n,e,t,r,d,p){const f=He("rux-icon");return nt(),Wt(f,{size:t.size,icon:t.icon,style:ss(p.colorStyle)},null,8,["size","icon","style"])}const XT=Li(qT,[["render",YT],["__scopeId","data-v-9af48e85"]]),Vy={fatal:"critical",FATAL:"critical",error:"critical",ERROR:"critical",warn:"caution",WARN:"caution",info:"normal",INFO:"normal",debug:"off",DEBUG:"off",critical:"critical",CRITICAL:"critical",serious:"serious",SERIOUS:"serious",caution:"caution",CAUTION:"caution",normal:"normal",NORMAL:"normal",standby:"standby",STANDBY:"standby",off:"off",OFF:"OFF"},bd={fatal:"#ff69B4",critical:"#ff3838",serious:"#ffb302",caution:"#fce83a",normal:"#56f000",standby:"#2dccff",off:"#a4abb6"},ZT=function(n){const e="#000000",t="#ffffff",r=bd[Vy[n]];if(r){const d=+`0x${r.slice(1,3)}`,p=+`0x${r.slice(3,5)}`,f=+`0x${r.slice(5,7)}`;if((d*299+p*587+f*114)/1e3>128)return e}return t},QT=Object.keys(bd),JT={astro:{component:n=>Us(XT,{...n})},"astro-status":{component:n=>Us(KT,{...n,status:n.icon})}},eE={extras:{component:n=>Us(Fb,{...n})}},Gy="single-spa:app-change",tE={data(){return{show:!1}},created(){window.addEventListener(Gy,this.handleAppChange)},mounted(){setTimeout(()=>{this.show=Wp().length===0},150)},unmounted(){window.removeEventListener(Gy,this.handleAppChange)},methods:{handleAppChange:function(n){this.show=!n.detail.appsByNewStatus.MOUNTED}}},nE={class:"mx-1"};function rE(n,e,t,r,d,p){const f=He("v-card-title"),w=He("v-card-text"),h=He("v-card");return d.show?(nt(),Wt(h,{key:0},{default:Ne(()=>[Be(f,null,{default:Ne(()=>e[0]||(e[0]=[Mt(" 404 Not Found ",-1)])),_:1,__:[0]}),Be(w,{class:"d-flex align-center mt-3"},{default:Ne(()=>[e[1]||(e[1]=Mt(" The requested URL ",-1)),Mn("code",nE,un(n.$route.fullPath),1),e[2]||(e[2]=Mt(" was not routable. ",-1)),e[3]||(e[3]=Mn("span",{class:"text-h3 mx-1"}," 🦄 ",-1))]),_:1,__:[1,2,3]})]),_:1})):zr("",!0)}const iE=Li(tE,[["render",rE]]),oE={props:{modelValue:Boolean},data(){return{url:"",type:null,response:null,activeDownload:!1,disableSearch:!1,expanded:[]}},computed:{show:{get(){return this.modelValue},set(n){this.$emit("update:modelValue",n)}},listData:function(){return this.response?this.type==="github"?this.parseGithub():this.parseRuby():[]}},methods:{parseGithub:function(){const n=/\w+.gem/;return this.response.tree.filter(e=>n.exec(e.path)).map(e=>({name:e.path,url:`https://raw.github.com/OpenC3/openc3-tools/main/${e.path}`}))},getResponse:function(){this.disableSearch=!0,Pn.get(this.url).then(n=>{this.response=n.data}),setTimeout(()=>{this.disableSearch=!1},1e4)},searchGithub:function(){this.type="github",this.url="https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1",this.getResponse()},downloadGem:function(n){const e=document.createElement("a");e.href=n.url,e.setAttribute("download",n.name),e.click(),e.remove()}}},sE={class:"pa-3"},aE={class:"px-2"},lE={key:0,class:"mt-4"},cE={key:1,class:"mt-4"};function uE(n,e,t,r,d,p){const f=He("v-spacer"),w=He("v-toolbar"),h=He("v-row"),g=He("v-icon"),o=He("v-btn"),a=He("v-col"),l=He("v-list-item-title"),c=He("v-progress-circular"),s=He("v-list-item"),u=He("v-divider"),m=He("v-card-text"),b=He("v-card"),x=He("v-dialog");return nt(),Wt(x,{modelValue:p.show,"onUpdate:modelValue":e[0]||(e[0]=E=>p.show=E),width:"600"},{default:Ne(()=>[Be(b,null,{default:Ne(()=>[Be(w,{height:"24"},{default:Ne(()=>[Be(f),e[1]||(e[1]=Mn("span",null," Download Gems ",-1)),Be(f)]),_:1,__:[1]}),Be(m,null,{default:Ne(()=>[Mn("div",sE,[Be(h,{class:"my-2"},{default:Ne(()=>e[2]||(e[2]=[Mt(" Select a download option ",-1)])),_:1,__:[2]}),Be(h,null,{default:Ne(()=>[Be(a,null,{default:Ne(()=>[Mn("div",aE,[Be(o,{block:"","data-test":"searchGithub",color:"primary",disabled:d.disableSearch,onClick:p.searchGithub},{default:Ne(()=>[e[4]||(e[4]=Mt(" Github ",-1)),Be(g,{end:"",theme:"dark"},{default:Ne(()=>e[3]||(e[3]=[Mt(" mdi-github ",-1)])),_:1,__:[3]})]),_:1,__:[4]},8,["disabled","onClick"])])]),_:1})]),_:1}),Be(h,{class:"mt-5"},{default:Ne(()=>e[5]||(e[5]=[Mt(" Community Gems ",-1)])),_:1,__:[5]}),p.listData.length<1?(nt(),Jt("div",lE,[Be(h,{class:"mx-2"},{default:Ne(()=>e[6]||(e[6]=[Mn("span",null," I’m sorry, Dave. No gems available.... ",-1)])),_:1,__:[6]})])):(nt(),Jt("div",cE,[(nt(!0),Jt(ei,null,Zi(p.listData,(E,$)=>(nt(),Jt("div",{key:$},[Be(s,null,{default:Ne(()=>[Be(l,null,{default:Ne(()=>[Mt(un(E.name),1)]),_:2},1024),Be(s,{icon:""},{default:Ne(()=>[d.activeDownload?(nt(),Wt(c,{key:0,indeterminate:"",color:"primary"})):(nt(),Wt(o,{key:1,icon:"mdi-cloud-download",variant:"text",disabled:d.activeDownload,onClick:k=>p.downloadGem(E)},null,8,["disabled","onClick"]))]),_:2},1024)]),_:2},1024),$<p.listData.length-1?(nt(),Wt(u,{key:$})):zr("",!0)]))),128))]))])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const vF=er("K",Li(oE,[["render",uE]])),hE={props:{modelValue:Boolean,plugin:String,targets:Array,pluginDelete:Boolean},data(){return{modifiedTargets:[],deleteModified:!1}},computed:{show:{get(){return this.modelValue},set(n){this.$emit("update:modelValue",n)}}},created(){for(const n of this.targets)CC.get(`/openc3-api/targets/${n.name}/modified_files`).then(e=>{e.data.length!==0&&this.modifiedTargets.push({name:n.name,files:e.data})})}};function dE(n,e,t,r,d,p){const f=He("v-spacer"),w=He("v-toolbar"),h=He("v-list-item-title"),g=He("v-list-item-subtitle"),o=He("v-list-item"),a=He("v-checkbox"),l=He("v-card-text"),c=He("v-btn"),s=He("v-card-actions"),u=He("v-card"),m=He("v-dialog");return nt(),Wt(m,{modelValue:p.show,"onUpdate:modelValue":e[3]||(e[3]=b=>p.show=b),width:"600"},{default:Ne(()=>[Be(u,null,{default:Ne(()=>[Be(w,{height:"24"},{default:Ne(()=>[Be(f),e[4]||(e[4]=Mn("span",null," Modified Plugin ",-1)),Be(f)]),_:1,__:[4]}),Be(l,{class:"pa-3"},{default:Ne(()=>[Mn("div",null," Plugin "+un(t.plugin)+" was modified. Would you like to delete the existing modified files? ",1),(nt(!0),Jt(ei,null,Zi(d.modifiedTargets,(b,x)=>(nt(),Wt(o,{key:x,lines:"two"},{default:Ne(()=>[Be(h,null,{default:Ne(()=>[Mt(un(b.name),1)]),_:2},1024),(nt(!0),Jt(ei,null,Zi(b.files,(E,$)=>(nt(),Wt(g,{key:$},{default:Ne(()=>[Mt(un(E),1)]),_:2},1024))),128))]),_:2},1024))),128)),Be(a,{modelValue:d.deleteModified,"onUpdate:modelValue":e[0]||(e[0]=b=>d.deleteModified=b),label:"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!",color:"error","data-test":"modified-plugin-delete-checkbox"},null,8,["modelValue"])]),_:1}),Be(s,{class:"px-2"},{default:Ne(()=>[Be(f),Be(c,{variant:"outlined","data-test":"modified-plugin-cancel",onClick:e[1]||(e[1]=()=>{p.show=!1,n.$emit("cancel")})},{default:Ne(()=>e[5]||(e[5]=[Mt(" Cancel ",-1)])),_:1,__:[5]}),Be(c,{variant:"flat","data-test":"modified-plugin-submit",onClick:e[2]||(e[2]=()=>{p.show=!1,n.$emit("submit",d.deleteModified)})},{default:Ne(()=>e[6]||(e[6]=[Mt(" Confirm ",-1)])),_:1,__:[6]})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const yF=er("J",Li(hE,[["render",dE]])),xd=[{displayName:"Plugins",name:"PluginsTab",path:"plugins",component:()=>et(()=>Je.import("./PluginsTab-CZApRILr-43a7620adfe4ff70420a.js"),void 0)},{displayName:"Targets",name:"TargetsTab",path:"targets",component:()=>et(()=>Je.import("./TargetsTab-CEPId9dL-794b06b3e676ea1d7946.js"),void 0)},{displayName:"Interfaces",name:"InterfacesTab",path:"interfaces",component:()=>et(()=>Je.import("./InterfacesTab-Cd_RITVP-24021c28c4cc79c2a89b.js"),void 0)},{displayName:"Routers",name:"RoutersTab",path:"routers",component:()=>et(()=>Je.import("./RoutersTab-WKa6K7B8-36314d08dbea45e21fa0.js"),void 0)},{displayName:"Microservices",name:"MicroservicesTab",path:"microservices",component:()=>et(()=>Je.import("./MicroservicesTab-Dbp02UlV-b2ad97d61b4e78b8f548.js"),void 0)},{displayName:"Packages",name:"PackagesTab",path:"packages",component:()=>et(()=>Je.import("./PackagesTab-HQCOIGZK-74801e7efb140e5b32a4.js"),void 0)},{displayName:"Tools",name:"ToolsTab",path:"tools",component:()=>et(()=>Je.import("./ToolsTab-CSmjz1H7-4e604eb843eb46bf3af4.js"),void 0)},{displayName:"Redis",name:"RedisTab",path:"redis",component:()=>et(()=>Je.import("./RedisTab-B8U-vEQZ-b1dbbc4dc5eb84ea2f8e.js"),void 0)},{displayName:"Secrets",name:"SecretsTab",path:"secrets",component:()=>et(()=>Je.import("./SecretsTab-Vtvbb_1U-3bd2fd68c55d2e087118.js"),void 0)},{displayName:"Settings",name:"SettingsTab",path:"settings",component:()=>et(()=>Je.import("./SettingsTab-DilFIQ3K-dda9d859454babe6c6a7.js"),void 0)}],pE={components:{TopBar:CS},data(){return{title:"Administrator Console",curTab:null}},computed:{tabs:function(){return xd.map(n=>({displayName:n.displayName,path:{name:n.name}}))}}};function fE(n,e,t,r,d,p){const f=He("top-bar"),w=He("v-tab"),h=He("v-tabs"),g=He("router-view"),o=He("v-card");return nt(),Jt("div",null,[Be(f,{title:d.title},null,8,["title"]),Be(o,null,{default:Ne(()=>[Be(h,{modelValue:d.curTab,"onUpdate:modelValue":e[0]||(e[0]=a=>d.curTab=a),"fixed-tabs":""},{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(p.tabs,(a,l)=>(nt(),Wt(w,{key:l,to:a.path},{default:Ne(()=>[Mt(un(a.displayName),1)]),_:2},1032,["to"]))),128))]),_:1},8,["modelValue"]),Be(g)]),_:1})])}const gE=Li(pE,[["render",fE]]);function Cd(n){const[e,t]=n;return[e,t]}function Ky(n,e){let t=n,r=e;const d=t.length,p=r.length;if(d===0||p===0)return 0;d>p?t=t.substring(d-p):d<p&&(r=r.substring(0,d));const f=Math.min(d,p);if(t===r)return f;let w=0,h=1;for(let g=0;g!==-1;){const o=t.substring(f-h);if(g=r.indexOf(o),g===-1)return w;h+=g,(g===0||t.substring(f-h)===r.substring(0,h))&&(w=h,h++)}return w}function kd(n,e){if(!n||!e||n[0]!==e[0])return 0;let t=0,r=Math.min(n.length,e.length),d=r,p=0;for(;t<d;)n.substring(p,d)===e.substring(p,d)?(t=d,p=t):r=d,d=Math.floor((r-t)/2+t);return d}function Cc(n,e){if(!n||!e||n[n.length-1]!==e[e.length-1])return 0;let t=0,r=Math.min(n.length,e.length),d=r,p=0;for(;t<d;)n.substring(n.length-d,n.length-p)===e.substring(e.length-d,e.length-p)?(t=d,p=t):r=d,d=Math.floor((r-t)/2+t);return d}function mE(n){const e=n.charCodeAt(0);return e>=55296&&e<=56319}function vE(n){const e=n.charCodeAt(0);return e>=56320&&e<=57343}function yE(n,e,t){const r=n.length,d=e.length,p=Math.ceil((r+d)/2),f=p,w=2*p,h=new Array(w),g=new Array(w);for(let m=0;m<w;m++)h[m]=-1,g[m]=-1;h[f+1]=0,g[f+1]=0;const o=r-d,a=o%2!==0;let l=0,c=0,s=0,u=0;for(let m=0;m<p&&!(Date.now()>t);m++){for(let b=-m+l;b<=m-c;b+=2){const x=f+b;let E;b===-m||b!==m&&h[x-1]<h[x+1]?E=h[x+1]:E=h[x-1]+1;let $=E-b;for(;E<r&&$<d&&n.charAt(E)===e.charAt($);)E++,$++;if(h[x]=E,E>r)c+=2;else if($>d)l+=2;else if(a){const k=f+o-b;if(k>=0&&k<w&&g[k]!==-1){const C=r-g[k];if(E>=C)return qy(n,e,E,$,t)}}}for(let b=-m+s;b<=m-u;b+=2){const x=f+b;let E;b===-m||b!==m&&g[x-1]<g[x+1]?E=g[x+1]:E=g[x-1]+1;let $=E-b;for(;E<r&&$<d&&n.charAt(r-E-1)===e.charAt(d-$-1);)E++,$++;if(g[x]=E,E>r)u+=2;else if($>d)s+=2;else if(!a){const k=f+o-b;if(k>=0&&k<w&&h[k]!==-1){const C=h[k],R=f+C-k;if(E=r-E,C>=E)return qy(n,e,C,R,t)}}}}return[[ii,n],[Gr,e]]}function qy(n,e,t,r,d){const p=n.substring(0,t),f=e.substring(0,r),w=n.substring(t),h=e.substring(r),g=As(p,f,{checkLines:!1,deadline:d}),o=As(w,h,{checkLines:!1,deadline:d});return g.concat(o)}function wE(n,e,t=1){if(t<=0)return null;const r=n.length>e.length?n:e,d=n.length>e.length?e:n;if(r.length<4||d.length*2<r.length)return null;const p=Yy(r,d,Math.ceil(r.length/4)),f=Yy(r,d,Math.ceil(r.length/2));let w;if(p&&f)w=p[4].length>f[4].length?p:f;else{if(!p&&!f)return null;f?p||(w=f):w=p}if(!w)throw new Error("Unable to find a half match.");let h,g,o,a;n.length>e.length?(h=w[0],g=w[1],o=w[2],a=w[3]):(o=w[0],a=w[1],h=w[2],g=w[3]);const l=w[4];return[h,g,o,a,l]}function Yy(n,e,t){const r=n.slice(t,t+Math.floor(n.length/4));let d=-1,p="",f,w,h,g;for(;(d=e.indexOf(r,d+1))!==-1;){const o=kd(n.slice(t),e.slice(d)),a=Cc(n.slice(0,t),e.slice(0,d));p.length<a+o&&(p=e.slice(d-a,d)+e.slice(d,d+o),f=n.slice(0,t-a),w=n.slice(t+o),h=e.slice(0,d-a),g=e.slice(d+o))}return p.length*2>=n.length?[f||"",w||"",h||"",g||"",p||""]:null}function bE(n,e){for(let t=0;t<n.length;t++){const r=n[t][1],d=[];for(let p=0;p<r.length;p++)d[p]=e[r.charCodeAt(p)];n[t][1]=d.join("")}}function xE(n,e){const t=[],r={};t[0]="";function d(h){let g="",o=0,a=-1,l=t.length;for(;a<h.length-1;){a=h.indexOf(`
1496
+ `,o),a===-1&&(a=h.length-1);let c=h.slice(o,a+1);(r.hasOwnProperty?r.hasOwnProperty(c):r[c]!==void 0)?g+=String.fromCharCode(r[c]):(l===p&&(c=h.slice(o),a=h.length),g+=String.fromCharCode(l),r[c]=l,t[l++]=c),o=a+1}return g}let p=4e4;const f=d(n);p=65535;const w=d(e);return{chars1:f,chars2:w,lineArray:t}}function CE(n,e,t){let r=n,d=e;const p=xE(r,d);r=p.chars1,d=p.chars2;const f=p.lineArray;let w=As(r,d,{checkLines:!1,deadline:t.deadline});bE(w,f),w=Jy(w),w.push([En,""]);let h=0,g=0,o=0,a="",l="";for(;h<w.length;){switch(w[h][0]){case Gr:o++,l+=w[h][1];break;case ii:g++,a+=w[h][1];break;case En:if(g>=1&&o>=1){w.splice(h-g-o,g+o),h=h-g-o;const c=As(a,l,{checkLines:!1,deadline:t.deadline});for(let s=c.length-1;s>=0;s--)w.splice(h,0,c[s]);h+=c.length}o=0,g=0,a="",l="";break;default:throw new Error("Unknown diff operation.")}h++}return w.pop(),w}function kE(n,e,t){let r;if(!n)return[[Gr,e]];if(!e)return[[ii,n]];const d=n.length>e.length?n:e,p=n.length>e.length?e:n,f=d.indexOf(p);if(f!==-1)return r=[[Gr,d.substring(0,f)],[En,p],[Gr,d.substring(f+p.length)]],n.length>e.length&&(r[0][0]=ii,r[2][0]=ii),r;if(p.length===1)return[[ii,n],[Gr,e]];const w=wE(n,e);if(w){const h=w[0],g=w[1],o=w[2],a=w[3],l=w[4],c=As(h,o,t),s=As(g,a,t);return c.concat([[En,l]],s)}return t.checkLines&&n.length>100&&e.length>100?CE(n,e,t):yE(n,e,t.deadline)}var _E=Object.defineProperty,Xy=Object.getOwnPropertySymbols,AE=Object.prototype.hasOwnProperty,SE=Object.prototype.propertyIsEnumerable,Zy=(n,e,t)=>e in n?_E(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,$E=(n,e)=>{for(var t in e||(e={}))AE.call(e,t)&&Zy(n,t,e[t]);if(Xy)for(var t of Xy(e))SE.call(e,t)&&Zy(n,t,e[t]);return n};const ii=-1,Gr=1,En=0;function ME(n,e,t){if(n===null||e===null)throw new Error("Null input. (diff)");const r=As(n,e,EE({}));return LE(r),r}function As(n,e,t){let r=n,d=e;if(r===d)return r?[[En,r]]:[];let p=kd(r,d);const f=r.substring(0,p);r=r.substring(p),d=d.substring(p),p=Cc(r,d);const w=r.substring(r.length-p);r=r.substring(0,r.length-p),d=d.substring(0,d.length-p);let h=kE(r,d,t);return f&&h.unshift([En,f]),w&&h.push([En,w]),h=_d(h),h}function TE(n){let e=1;return typeof n<"u"&&(e=n<=0?Number.MAX_VALUE:n),Date.now()+e*1e3}function EE(n){return $E({checkLines:!0,deadline:TE(n.timeout||1)},n)}function kc(n,e,t){return t===1?n+e:e+n}function _c(n,e){return e===1?[n.substring(0,n.length-1),n[n.length-1]]:[n.substring(1),n[0]]}function IE(n,e,t,r){return r===1?n[e][1][n[e][1].length-1]===n[t][1][n[t][1].length-1]:n[e][1][0]===n[t][1][0]}function Qy(n,e,t){const r=t===1?-1:1;let d=null,p=null,f=e+t;for(;f>=0&&f<n.length&&(d===null||p===null);f+=t){const[g,o]=n[f];if(o.length!==0){if(g===Gr){d===null&&(d=f);continue}else if(g===ii){p===null&&(p=f);continue}else if(g===En){if(d===null&&p===null){const[a,l]=_c(n[e][1],t);n[e][1]=a,n[f][1]=kc(n[f][1],l,r);return}break}}}if(d!==null&&p!==null&&IE(n,d,p,t)){const[g,o]=_c(n[d][1],r),[a]=_c(n[p][1],r);n[d][1]=g,n[p][1]=a,n[e][1]=kc(n[e][1],o,t);return}const[w,h]=_c(n[e][1],t);n[e][1]=w,d===null?(n.splice(f,0,[Gr,h]),p!==null&&p>=f&&p++):n[d][1]=kc(n[d][1],h,r),p===null?n.splice(f,0,[ii,h]):n[p][1]=kc(n[p][1],h,r)}function LE(n){for(let e=0;e<n.length;e++){const[t,r]=n[e];if(r.length===0)continue;const d=r[0],p=r[r.length-1];mE(p)&&t===En&&Qy(n,e,1),vE(d)&&t===En&&Qy(n,e,-1)}for(let e=0;e<n.length;e++)n[e][1].length===0&&n.splice(e,1)}function Jy(n){let e=n.map(a=>Cd(a)),t=!1;const r=[];let d=0,p=null,f=0,w=0,h=0,g=0,o=0;for(;f<e.length;)e[f][0]===En?(r[d++]=f,w=g,h=o,g=0,o=0,p=e[f][1]):(e[f][0]===Gr?g+=e[f][1].length:o+=e[f][1].length,p&&p.length<=Math.max(w,h)&&p.length<=Math.max(g,o)&&(e.splice(r[d-1],0,[ii,p]),e[r[d-1]+1][0]=Gr,d--,d--,f=d>0?r[d-1]:-1,w=0,h=0,g=0,o=0,p=null,t=!0)),f++;for(t&&(e=_d(e)),e=DE(e),f=1;f<e.length;){if(e[f-1][0]===ii&&e[f][0]===Gr){const a=e[f-1][1],l=e[f][1],c=Ky(a,l),s=Ky(l,a);c>=s?(c>=a.length/2||c>=l.length/2)&&(e.splice(f,0,[En,l.substring(0,c)]),e[f-1][1]=a.substring(0,a.length-c),e[f+1][1]=l.substring(c),f++):(s>=a.length/2||s>=l.length/2)&&(e.splice(f,0,[En,a.substring(0,s)]),e[f-1][0]=Gr,e[f-1][1]=l.substring(0,l.length-s),e[f+1][0]=ii,e[f+1][1]=a.substring(s),f++),f++}f++}return e}const e0=/[^a-zA-Z0-9]/,t0=/\s/,n0=/[\r\n]/,RE=/\n\r?\n$/,OE=/^\r?\n\r?\n/;function DE(n){const e=n.map(d=>Cd(d));function t(d,p){if(!d||!p)return 6;const f=d.charAt(d.length-1),w=p.charAt(0),h=f.match(e0),g=w.match(e0),o=h&&f.match(t0),a=g&&w.match(t0),l=o&&f.match(n0),c=a&&w.match(n0),s=l&&d.match(RE),u=c&&p.match(OE);return s||u?5:l||c?4:h&&!o&&a?3:o||a?2:h||g?1:0}let r=1;for(;r<e.length-1;){if(e[r-1][0]===En&&e[r+1][0]===En){let d=e[r-1][1],p=e[r][1],f=e[r+1][1];const w=Cc(d,p);if(w){const l=p.substring(p.length-w);d=d.substring(0,d.length-w),p=l+p.substring(0,p.length-w),f=l+f}let h=d,g=p,o=f,a=t(d,p)+t(p,f);for(;p.charAt(0)===f.charAt(0);){d+=p.charAt(0),p=p.substring(1)+f.charAt(0),f=f.substring(1);const l=t(d,p)+t(p,f);l>=a&&(a=l,h=d,g=p,o=f)}e[r-1][1]!==h&&(h?e[r-1][1]=h:(e.splice(r-1,1),r--),e[r][1]=g,o?e[r+1][1]=o:(e.splice(r+1,1),r--))}r++}return e}function _d(n){let e=n.map(g=>Cd(g));e.push([En,""]);let t=0,r=0,d=0,p="",f="",w;for(;t<e.length;)switch(e[t][0]){case Gr:d++,f+=e[t][1],t++;break;case ii:r++,p+=e[t][1],t++;break;case En:r+d>1?(r!==0&&d!==0&&(w=kd(f,p),w!==0&&(t-r-d>0&&e[t-r-d-1][0]===En?e[t-r-d-1][1]+=f.substring(0,w):(e.splice(0,0,[En,f.substring(0,w)]),t++),f=f.substring(w),p=p.substring(w)),w=Cc(f,p),w!==0&&(e[t][1]=f.substring(f.length-w)+e[t][1],f=f.substring(0,f.length-w),p=p.substring(0,p.length-w))),t-=r+d,e.splice(t,r+d),p.length&&(e.splice(t,0,[ii,p]),t++),f.length&&(e.splice(t,0,[Gr,f]),t++),t++):t!==0&&e[t-1][0]===En?(e[t-1][1]+=e[t][1],e.splice(t,1)):t++,d=0,r=0,p="",f="";break;default:throw new Error("Unknown diff operation")}e[e.length-1][1]===""&&e.pop();let h=!1;for(t=1;t<e.length-1;)e[t-1][0]===En&&e[t+1][0]===En&&(e[t][1].substring(e[t][1].length-e[t-1][1].length)===e[t-1][1]?(e[t][1]=e[t-1][1]+e[t][1].substring(0,e[t][1].length-e[t-1][1].length),e[t+1][1]=e[t-1][1]+e[t+1][1],e.splice(t-1,1),h=!0):e[t][1].substring(0,e[t+1][1].length)===e[t+1][1]&&(e[t-1][1]+=e[t+1][1],e[t][1]=e[t][1].substring(e[t+1][1].length)+e[t+1][1],e.splice(t+1,1),h=!0)),t++;return h&&(e=_d(e)),e}function Ac(n){return n&&typeof n=="object"&&!Array.isArray(n)&&n!==null}function Ad(n,e){return Ac(n)&&Ac(e)&&Object.keys(e).forEach(t=>{t==="__proto__"||t==="constructor"||(Ac(e[t])?((!n[t]||!Ac(n[t]))&&(n[t]=e[t]),Ad(n[t],e[t])):Object.assign(n,{[t]:e[t]}))}),n}function r0(n,e,t=!1){let r=null,d=!0;return(...p)=>{const f=t&&d,w=()=>{n.apply(this,p),r=null};f&&(d=!1,w()),r||(r=setTimeout(w,e))}}function NE(n,e){let t;return(...r)=>{const d=this;clearTimeout(t),t=setTimeout(()=>n.apply(d,r),e)}}function i0(n=""){return n.replace(/\r\n/g,`
1497
+ `)}function o0(n,e,t,r){const d=t-n,p=n+d/2;return`M ${n} ${e} C ${p},${e} ${p},${r} ${t},${r}`}var hn={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1,EDITOR_RIGHT:"right",EDITOR_LEFT:"left",RTL:"rtl",LTR:"ltr",SVG_NS:"http://www.w3.org/2000/svg",DIFF_GRANULARITY_SPECIFIC:"specific",DIFF_GRANULARITY_BROAD:"broad"};function s0(n,e){let{mode:t}=n.options;return e===hn.EDITOR_LEFT&&n.options.left.mode!==null&&(t=n.options.left.mode),e===hn.EDITOR_RIGHT&&n.options.right.mode!==null&&(t=n.options.right.mode),t}function a0(n,e){let{theme:t}=n.options;return e===hn.EDITOR_LEFT&&n.options.left.theme!==null&&(t=n.options.left.theme),e===hn.EDITOR_RIGHT&&n.options.right.theme!==null&&(t=n.options.right.theme),t}function l0(n,e){return n.ace.getSession().doc.getLine(e)}function FE(n){return document.getElementById(n.options.left.id).offsetHeight}function c0(n){const e=document.createElement("div"),t={class:n.className,style:`top:${n.topOffset}px`,title:n.tooltip,"data-diff-index":n.diffIndex};for(const r in t)e.setAttribute(r,t[r]);return e.innerHTML=n.arrowContent,e}function Sd(n,e){const t=Math.random().toString(36).substr(2,5),r=`js-${e}-${t}`,d=n.querySelector(`.${e}`);if(d)return d.id=d.id||r,d.id;const p=document.createElement("div");return n.appendChild(p),p.className=e,p.id=r,p.id}function u0(n,e,t,r){const d=n==="document"?document:document.querySelector(n);d.addEventListener(e,p=>{const f=d.querySelectorAll(t),{target:w}=p;for(let h=0,g=f.length;h<g;h+=1){let o=w;const a=f[h];for(;o&&o!==d;)o===a&&r.call(a,p),o=o.parentNode}})}let Sc;function PE(n){if(n.Range)return n.Range;const e=n.acequire||n.require;return e?e("ace/range"):!1}function $c(n={}){if(!(this instanceof $c))return new $c(n);const e=this,t=()=>window?window.ace:void 0;e.options=Ad({ace:t(),mode:null,theme:null,element:null,diffGranularity:hn.DIFF_GRANULARITY_BROAD,lockScrolling:!1,showDiffs:!0,showConnectors:!0,maxDiffs:5e3,left:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},right:{id:null,content:null,mode:null,theme:null,editable:!0,copyLinkEnabled:!0},classes:{gutterID:"acediff__gutter",diff:"acediff__diffLine",connector:"acediff__connector",newCodeConnectorLink:"acediff__newCodeConnector",newCodeConnectorLinkContent:"&#8594;",deletedCodeConnectorLink:"acediff__deletedCodeConnector",deletedCodeConnectorLinkContent:"&#8592;",copyRightContainer:"acediff__copy--right",copyLeftContainer:"acediff__copy--left"},connectorYOffset:0},n);const{ace:r}=e.options;if(!r){const d="No ace editor found nor supplied - `options.ace` or `window.ace` is missing";return console.error(d),new Error(d)}if(Sc=PE(r),!Sc){const d="Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff";return console.error(d),new Error(d)}if(e.options.element===null){const d="You need to specify an element for Ace-diff - `options.element` is missing";return console.error(d),new Error(d)}if(e.options.element instanceof HTMLElement?e.el=e.options.element:e.el=document.body.querySelector(e.options.element),!e.el){const d=`Can't find the specified element ${e.options.element}`;return console.error(d),new Error(d)}e.options.left.id=Sd(e.el,"acediff__left"),e.options.classes.gutterID=Sd(e.el,"acediff__gutter"),e.options.right.id=Sd(e.el,"acediff__right"),e.el.innerHTML=`<div class="acediff__wrap">${e.el.innerHTML}</div>`,e.editors={left:{ace:r.edit(e.options.left.id),markers:[],lineLengths:[]},right:{ace:r.edit(e.options.right.id),markers:[],lineLengths:[]},editorHeight:null},e.editors.left.ace.getSession().setMode(s0(e,hn.EDITOR_LEFT)),e.editors.right.ace.getSession().setMode(s0(e,hn.EDITOR_RIGHT)),e.editors.left.ace.setReadOnly(!e.options.left.editable),e.editors.right.ace.setReadOnly(!e.options.right.editable),e.editors.left.ace.setTheme(a0(e,hn.EDITOR_LEFT)),e.editors.right.ace.setTheme(a0(e,hn.EDITOR_RIGHT)),e.editors.left.ace.setValue(i0(e.options.left.content),-1),e.editors.right.ace.setValue(i0(e.options.right.content),-1),e.editors.editorHeight=FE(e),setTimeout(()=>{e.lineHeight=e.editors.left.ace.renderer.lineHeight,WE(e),jE(e),w0(e),e.diff()},1)}$c.prototype={setOptions(n){Ad(this.options,n),this.diff()},getNumDiffs(){return this.diffs.length},getEditors(){return{left:this.editors.left.ace,right:this.editors.right.ace}},diff(){const n=this.editors.left.ace.getSession().getValue(),e=this.editors.right.ace.getSession().getValue(),t=Jy(ME(e,n));this.editors.left.lineLengths=d0(this.editors.left),this.editors.right.lineLengths=d0(this.editors.right);const r=[],d={left:0,right:0};t.forEach(p=>{const f=p[0];let w=p[1];w.length!==0&&(f===hn.DIFF_EQUAL?(d.left+=w.length,d.right+=w.length):f===hn.DIFF_DELETE?(r.push(m0(this,hn.DIFF_DELETE,d.left,d.right,w)),d.right+=w.length):f===hn.DIFF_INSERT&&(r.push(m0(this,hn.DIFF_INSERT,d.left,d.right,w)),d.left+=w.length))},this),this.diffs=GE(this,r),!(this.diffs.length>this.options.maxDiffs)&&(g0(this),x0(this))},destroy(){const n=this.editors.left.ace.getValue();this.editors.left.ace.destroy();let e=this.editors.left.ace.container,t=e.cloneNode(!1);t.textContent=n,e.parentNode.replaceChild(t,e);const r=this.editors.right.ace.getValue();this.editors.right.ace.destroy(),e=this.editors.right.ace.container,t=e.cloneNode(!1),t.textContent=r,e.parentNode.replaceChild(t,e);const d=document.getElementById(this.options.classes.gutterID);d&&(d.innerHTML=""),this.removeEventHandlers()}};function WE(n){n.editors.left.ace.getSession().on("changeScrollTop",r0(()=>{f0(n)},16)),n.editors.right.ace.getSession().on("changeScrollTop",r0(()=>{f0(n)},16));const e=n.diff.bind(n);n.editors.left.ace.on("change",e),n.editors.right.ace.on("change",e),n.options.left.copyLinkEnabled&&u0(`#${n.options.classes.gutterID}`,"click",`.${n.options.classes.newCodeConnectorLink}`,r=>{h0(n,r,hn.LTR)}),n.options.right.copyLinkEnabled&&u0(`#${n.options.classes.gutterID}`,"click",`.${n.options.classes.deletedCodeConnectorLink}`,r=>{h0(n,r,hn.RTL)});const t=NE(()=>{n.editors.availableHeight=document.getElementById(n.options.left.id).offsetHeight,n.diff()},250);window.addEventListener("resize",t),n.removeEventHandlers=()=>{window.removeEventListener("resize",t)}}function h0(n,e,t){const r=parseInt(e.target.getAttribute("data-diff-index"),10),d=n.diffs[r];let p,f,w,h,g,o;t===hn.LTR?(p=n.editors.left,f=n.editors.right,w=d.leftStartLine,h=d.leftEndLine,g=d.rightStartLine,o=d.rightEndLine):(p=n.editors.right,f=n.editors.left,w=d.rightStartLine,h=d.rightEndLine,g=d.leftStartLine,o=d.leftEndLine);let a="";for(let c=w;c<h;c+=1)a+=l0(p,c),c<p.ace.getSession().getLength()-1&&(a+=`
1498
+ `);const l=f.ace.getSession().getScrollTop();f.ace.getSession().replace(new Sc(g,0,o,0),a),f.ace.getSession().setScrollTop(parseInt(l,10)),n.diff()}function d0(n){const e=n.ace.getSession().doc.getAllLines(),t=[];return e.forEach(r=>{t.push(r.length+1)}),t}function p0(n,e,t,r,d){const p=n.editors[e];r<t&&(r=t);const f=`${d} ${r>t?"lines":"targetOnly"}`;r>t&&(r-=1),p.markers.push(p.ace.session.addMarker(new Sc(t,0,r,1),f,"fullLine"))}function f0(n){g0(n),x0(n),HE(n)}function g0(n){n.editors.left.markers.forEach(e=>{n.editors.left.ace.getSession().removeMarker(e)},n),n.editors.right.markers.forEach(e=>{n.editors.right.ace.getSession().removeMarker(e)},n)}function BE(n,e,t,r,d){const p=n.editors.left.ace.getSession().getScrollTop(),f=n.editors.right.ace.getSession().getScrollTop();n.connectorYOffset=1;const w=-1,h=e*n.lineHeight-p+.5,g=n.gutterWidth+1,o=r*n.lineHeight-f+.5,a=-1,l=t*n.lineHeight-p+n.connectorYOffset+.5,c=n.gutterWidth+1,s=d*n.lineHeight-f+n.connectorYOffset+.5,u=o0(w,h,g,o),m=o0(c,s,a,l),b=`L${g},${o} ${c},${s}`,x=`L${a},${l} ${w},${h}`,E=`${u} ${b} ${m} ${x}`,$=document.createElementNS(hn.SVG_NS,"path");$.setAttribute("d",E),$.setAttribute("class",n.options.classes.connector),n.gutterSVG.appendChild($)}function zE(n,e,t){if(e.leftEndLine>e.leftStartLine&&n.options.left.copyLinkEnabled){const r=c0({className:n.options.classes.newCodeConnectorLink,topOffset:e.leftStartLine*n.lineHeight,tooltip:"Copy to right",diffIndex:t,arrowContent:n.options.classes.newCodeConnectorLinkContent});n.copyRightContainer.appendChild(r)}if(e.rightEndLine>e.rightStartLine&&n.options.right.copyLinkEnabled){const r=c0({className:n.options.classes.deletedCodeConnectorLink,topOffset:e.rightStartLine*n.lineHeight,tooltip:"Copy to left",diffIndex:t,arrowContent:n.options.classes.deletedCodeConnectorLinkContent});n.copyLeftContainer.appendChild(r)}}function HE(n){const e=n.editors.left.ace.getSession().getScrollTop(),t=n.editors.right.ace.getSession().getScrollTop();n.copyRightContainer.style.cssText=`top: ${-e}px`,n.copyLeftContainer.style.cssText=`top: ${-t}px`}function m0(n,e,t,r,d){let p={};if(e===hn.DIFF_INSERT){let f=v0(n.editors.left,t,d),w=y0(n.editors.right,r),h=Ja(n.editors.right,w);const g=Ja(n.editors.left,f.startLine);let o=w,a=f.startLine===f.endLine,l=0;(f.startChar>0||a&&d.length<g)&&h>0&&f.startChar<g&&l++,p={leftStartLine:f.startLine,leftEndLine:f.endLine+1,rightStartLine:o,rightEndLine:o+l}}else{let f=v0(n.editors.right,r,d),w=y0(n.editors.left,t),h=Ja(n.editors.left,w);const g=Ja(n.editors.right,f.startLine);let o=w,a=f.startLine===f.endLine,l=0;(f.startChar>0||a&&d.length<g)&&h>0&&f.startChar<g&&l++,p={leftStartLine:o,leftEndLine:o+l,rightStartLine:f.startLine,rightEndLine:f.endLine+1}}return p}function v0(n,e,t){const r={startLine:0,startChar:0,endLine:0,endChar:0},d=e+t.length;let p=0,f=!1,w=!1;n.lineLengths.forEach((g,o)=>{p+=g,!f&&e<p&&(r.startLine=o,r.startChar=e-p+g,f=!0),!w&&d<=p&&(r.endLine=o,r.endChar=d-p+g,w=!0)}),r.startChar>0&&Ja(n,r.startLine)===r.startChar&&(r.startLine++,r.startChar=0),r.endChar===0&&r.endLine--;const h=/\n$/.test(t);return r.startChar>0&&h&&r.endLine++,r}function Ja(n,e){return l0(n,e).length}function y0(n,e){const t=n.ace.getSession().doc.getAllLines();let r=0,d=0;for(let p=0;p<t.length;p+=1)if(d+=t[p].length+1,e<=d){r=p,e===d&&p<t.length-1&&(r+=1);break}return d>=n.ace.getSession().getValue().length&&(r+=1),r}function w0(n){n.gutterHeight=document.getElementById(n.options.classes.gutterID).clientHeight,n.gutterWidth=document.getElementById(n.options.classes.gutterID).clientWidth;const e=b0(n,hn.EDITOR_LEFT),t=b0(n,hn.EDITOR_RIGHT),r=Math.max(e,t,n.gutterHeight);n.gutterSVG=document.createElementNS(hn.SVG_NS,"svg"),n.gutterSVG.setAttribute("width",n.gutterWidth),n.gutterSVG.setAttribute("height",r),document.getElementById(n.options.classes.gutterID).appendChild(n.gutterSVG)}function b0(n,e){return(e===hn.EDITOR_LEFT?n.editors.left:n.editors.right).ace.getSession().getLength()*n.lineHeight}function jE(n){n.copyRightContainer=document.createElement("div"),n.copyRightContainer.setAttribute("class",n.options.classes.copyRightContainer),n.copyLeftContainer=document.createElement("div"),n.copyLeftContainer.setAttribute("class",n.options.classes.copyLeftContainer),document.getElementById(n.options.classes.gutterID).appendChild(n.copyRightContainer),document.getElementById(n.options.classes.gutterID).appendChild(n.copyLeftContainer)}function UE(n){document.getElementById(n.options.classes.gutterID).removeChild(n.gutterSVG),w0(n)}function VE(n){n.copyLeftContainer.innerHTML="",n.copyRightContainer.innerHTML=""}function GE(n,e){const t=[];function r(p){return n.options.diffGranularity===hn.DIFF_GRANULARITY_SPECIFIC?p<1:p<=1}e.forEach((p,f)=>{if(f===0){t.push(p);return}let w=!1;for(let h=0;h<t.length;h+=1)if(r(Math.abs(p.leftStartLine-t[h].leftEndLine))&&r(Math.abs(p.rightStartLine-t[h].rightEndLine))){t[h].leftStartLine=Math.min(p.leftStartLine,t[h].leftStartLine),t[h].rightStartLine=Math.min(p.rightStartLine,t[h].rightStartLine),t[h].leftEndLine=Math.max(p.leftEndLine,t[h].leftEndLine),t[h].rightEndLine=Math.max(p.rightEndLine,t[h].rightEndLine),w=!0;break}w||t.push(p)});const d=[];return t.forEach(p=>{p.leftStartLine===p.leftEndLine&&p.rightStartLine===p.rightEndLine||d.push(p)}),d}function x0(n){UE(n),VE(n),n.diffs.forEach((e,t)=>{n.options.showDiffs&&(p0(n,hn.EDITOR_LEFT,e.leftStartLine,e.leftEndLine,n.options.classes.diff),p0(n,hn.EDITOR_RIGHT,e.rightStartLine,e.rightEndLine,n.options.classes.diff),n.options.showConnectors&&BE(n,e.leftStartLine,e.leftEndLine,e.rightStartLine,e.rightEndLine),zE(n,e,t))},n)}const KE={props:{pluginName:{type:String,required:!0},variables:{type:Object,required:!0},pluginTxt:{type:String,required:!0},existingPluginTxt:{type:String,required:!1,default:null},storeId:{type:Number,required:!1,default:null},modelValue:Boolean},emits:["callback","update:modelValue"],data(){return{tab:0,localVariables:[],localPluginTxt:"",localExistingPluginTxt:null,editor:null,differ:null,contextMenu:!1,menuX:0,menuY:0}},computed:{show:{get(){return this.modelValue},set(n){this.$emit("update:modelValue",n)}}},watch:{value:{immediate:!0,handler:function(){this.localVariables=JSON.parse(JSON.stringify(this.variables)),this.localPluginTxt=this.pluginTxt.slice(),this.existingPluginTxt!==null&&(this.localExistingPluginTxt=this.existingPluginTxt.slice())}}},mounted(){const n=this.buildPluginMode();this.existingPluginTxt===null?(this.editor=us.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode(new n),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.localPluginTxt),this.editor.clearSelection(),oc.applyVimModeIfEnabled(this.editor),this.editor.focus()):(this.tab=1,this.differ=new $c({element:this.$refs.editor,mode:new n,theme:"ace/theme/twilight",left:{content:this.localExistingPluginTxt,copyLinkEnabled:!1},right:{content:this.localPluginTxt,editable:!1}}),this.differ.getEditors().left.setFontSize(16),this.differ.getEditors().right.setFontSize(16),oc.applyVimModeIfEnabled(this.differ.getEditors().left),oc.applyVimModeIfEnabled(this.differ.getEditors().right),this.curDiff=-1)},beforeUnmount(){this.editor&&this.editor.destroy(),this.differ&&this.differ.destroy()},methods:{previousDiff(){this.curDiff--,this.curDiff<0&&(this.curDiff=this.differ.diffs.length-1),this.scrollToCurDiff()},nextDiff(){this.curDiff++,this.curDiff>=this.differ.diffs.length&&(this.curDiff=0),this.scrollToCurDiff()},scrollToCurDiff(){if(this.differ.diffs.length===0)return;let n=this.differ.diffs[this.curDiff].leftStartLine,e=this.differ.diffs[this.curDiff].rightStartLine;n>5&&(n-=5),e>5&&(e-=5),this.differ.getEditors().left.scrollToLine(n),this.differ.getEditors().right.scrollToLine(e)},buildPluginMode(){let n=us.require("ace/lib/oop"),e=us.require("ace/mode/ruby_highlight_rules").RubyHighlightRules,t=["VARIABLE"],r=new RegExp(`(\\b${t.join("\\b|\\b")}\\b)`),d=function(){e.call(this);for(let o in this.$rules)this.$rules[o].unshift({regex:r,token:"support.function"})};n.inherits(d,e);let p=us.require("ace/mode/matching_brace_outdent").MatchingBraceOutdent,f=us.require("ace/mode/behaviour/cstyle").CstyleBehaviour,w=us.require("ace/mode/folding/ruby").FoldMode,h=function(){this.HighlightRules=d,this.$outdent=new p,this.$behaviour=new f,this.foldingRules=new w,this.indentKeywords=this.foldingRules.indentKeywords},g=us.require("ace/mode/ruby").Mode;return n.inherits(h,g),(function(){this.$id="ace/mode/openc3"}).call(h.prototype),h},submit:function(){this.existingPluginTxt===null?this.emitSubmit(this.editor.getValue().split(`
1499
+ `)):this.differ.diffs.length===0?this.emitSubmit(this.differ.getEditors().left.getValue().split(`
1500
+ `)):this.$dialog.confirm("Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?",{okText:"Install",cancelText:"Cancel"}).then(n=>{this.emitSubmit(this.differ.getEditors().left.getValue().split(`
1501
+ `))}).catch(n=>{})},emitSubmit(n){let e={name:this.pluginName,variables:Sp(this.localVariables),plugin_txt_lines:n,store_id:this.storeId};this.$emit("callback",e)},close:function(){this.show=!this.show},showContextMenu:function(n){this.menuX=n.pageX,this.menuY=n.pageY;let e=this.editor.getCursorPosition(),t=this.editor.session.getTokenAt(e.row,e.column);if(t){let r=t.value.trim();r.includes(" ")?this.docsKeyword=r.split(" ")[0]:this.docsKeyword=r,this.contextMenu=!0}},toggleVimMode:function(){this.editor&&oc.toggleVimMode(this.editor)}}},qE={style:{flex:"1"}},YE={class:"pa-3"},XE={ref:"editor",class:"editor"},ZE={key:0};function QE(n,e,t,r,d,p){const f=He("v-card-title"),w=He("v-icon"),h=He("v-row"),g=He("v-tab"),o=He("v-tabs"),a=He("v-text-field"),l=He("v-col"),c=He("v-window-item"),s=He("v-list-item-title"),u=He("v-list-item"),m=He("v-divider"),b=He("v-list"),x=He("v-menu"),E=He("v-window"),$=He("v-btn"),k=He("v-spacer"),C=He("v-card-actions"),R=He("v-card-text"),O=He("v-card"),L=He("v-dialog");return nt(),Wt(L,{modelValue:p.show,"onUpdate:modelValue":e[5]||(e[5]=I=>p.show=I),persistent:"",width:"80vw"},{default:Ne(()=>[Be(O,null,{default:Ne(()=>[Be(R,null,{default:Ne(()=>[Be(f,null,{default:Ne(()=>[Mt(un(t.pluginName),1)]),_:1}),t.existingPluginTxt!==null?(nt(),Wt(h,{key:0,class:"notice d-flex flex-row"},{default:Ne(()=>[Be(w,{size:"x-large",start:"",color:"yellow"},{default:Ne(()=>e[6]||(e[6]=[Mt(" mdi-alert-box ",-1)])),_:1,__:[6]}),Mn("div",qE," The existing plugin.txt is different from the "+un(t.pluginName)+"'s plugin.txt. Navigate the diffs making whatever edits you want before installing. You may want to update "+un(t.pluginName)+"'s plugin.txt going forward. ",1)]),_:1})):zr("",!0),Be(h,{class:"pb-3 pr-3"},{default:Ne(()=>[Be(o,{modelValue:d.tab,"onUpdate:modelValue":e[0]||(e[0]=I=>d.tab=I),class:"ml-3"},{default:Ne(()=>[(nt(),Wt(g,{key:0},{default:Ne(()=>e[7]||(e[7]=[Mt(" Variables ",-1)])),_:1,__:[7]})),(nt(),Wt(g,{key:1},{default:Ne(()=>e[8]||(e[8]=[Mt(" plugin.txt ",-1)])),_:1,__:[8]}))]),_:1},8,["modelValue"])]),_:1}),Mn("form",{onSubmit:e[4]||(e[4]=Sa((...I)=>n.onSubmit&&n.onSubmit(...I),["prevent"]))},[Be(E,{modelValue:d.tab,"onUpdate:modelValue":e[3]||(e[3]=I=>d.tab=I)},{default:Ne(()=>[(nt(),Wt(c,{key:0,eager:"true",class:"tab"},{default:Ne(()=>[Mn("div",YE,[Be(h,{class:"mt-3"},{default:Ne(()=>[(nt(!0),Jt(ei,null,Zi(d.localVariables,(I,B)=>(nt(),Jt("div",{key:B},[Be(l,{style:{width:"220px"}},{default:Ne(()=>[Be(a,{modelValue:d.localVariables[B],"onUpdate:modelValue":P=>d.localVariables[B]=P,clearable:"",type:"text",label:B},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)]))),128))]),_:1})])]),_:1})),t.existingPluginTxt===null?(nt(),Wt(c,{key:"1-new",eager:"true",class:"tab"},{default:Ne(()=>[Be(h,{class:"pa-3"},{default:Ne(()=>[Be(l,null,{default:Ne(()=>e[9]||(e[9]=[Mt(" This can be edited before installation. ",-1)])),_:1,__:[9]})]),_:1}),Mn("pre",{ref:"editor",class:"editor",onContextmenu:e[1]||(e[1]=Sa((...I)=>p.showContextMenu&&p.showContextMenu(...I),["prevent"]))},null,544),Be(x,{modelValue:d.contextMenu,"onUpdate:modelValue":e[2]||(e[2]=I=>d.contextMenu=I),target:[d.menuX,d.menuY]},{default:Ne(()=>[Be(b,null,{default:Ne(()=>[Be(u,{link:""},{default:Ne(()=>[Be(s,{onClick:n.openDocumentation},{default:Ne(()=>[Mt(un(n.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),Be(m),Be(u,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:p.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1})):(nt(),Wt(c,{key:"1-existing",eager:"true",class:"tab"},{default:Ne(()=>[Be(h,{class:"pa-3"},{default:Ne(()=>[Be(l,null,{default:Ne(()=>e[10]||(e[10]=[Mt(" Existing plugin.txt. This can be edited before installation. ",-1)])),_:1,__:[10]}),Be(l,{class:"ml-6"},{default:Ne(()=>e[11]||(e[11]=[Mt(" Uneditable plugin.txt from the new plugin. ",-1)])),_:1,__:[11]})]),_:1}),Mn("pre",XE,null,512)]),_:1}))]),_:1},8,["modelValue"]),Be(C,{class:"px-2 mt-2"},{default:Ne(()=>[t.existingPluginTxt!==null?(nt(),Jt("div",ZE,[Be($,{variant:"text",onClick:p.nextDiff},{default:Ne(()=>e[12]||(e[12]=[Mt(" Next Diff ",-1)])),_:1,__:[12]},8,["onClick"]),Be($,{variant:"text",onClick:p.previousDiff},{default:Ne(()=>e[13]||(e[13]=[Mt(" Previous Diff ",-1)])),_:1,__:[13]},8,["onClick"])])):zr("",!0),Be(k),Be($,{variant:"outlined","data-test":"edit-cancel",onClick:Sa(p.close,["prevent"])},{default:Ne(()=>e[14]||(e[14]=[Mt(" Cancel ",-1)])),_:1,__:[14]},8,["onClick"]),Be($,{variant:"flat","data-test":"edit-submit",onClick:p.submit},{default:Ne(()=>e[15]||(e[15]=[Mt(" Install ",-1)])),_:1,__:[15]},8,["onClick"])]),_:1})],32)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const wF=er("Z",Li(KE,[["render",QE],["__scopeId","data-v-fa08022c"]])),JE=xd.find(n=>n.name==="PluginsTab"),C0=[{path:"/",component:gE,children:[{component:JE.component,path:""},...xd]},{path:"/:pathMatch(.*)*",name:"NotFound",component:iE}];C0.forEach(jp);const eI=Fp({history:Pp(),routes:C0}),tI={dark:!0,colors:{primary:"#005A8F",secondary:"#4DACFF",tertiary:"#BBC1C9","openc3-green":"#56f000","openc3-yellow":"#fce83a","openc3-red":"#ff3838","openc3-blue":"#2dccff","openc3-purple":"#c800c8","openc3-black":"#ffffff","openc3-white":"#ffffff"}},nI={data:function(){return{show:!1,params:{title:"Title",text:"The text that is displayed",okText:"Ok",okClass:"primary",validateText:"CONFIRM",cancelText:"Cancel",html:!1},resolve:null,reject:null,validationText:null,rules:{required:n=>!!n||"Required.",match:n=>n===this.params.validateText||"Value mismatch."}}},computed:{dataTestOk:function(){return`confirm-dialog-${this.params.okText.toLowerCase()}`},dataTestCancel:function(){return`confirm-dialog-${this.params.cancelText.toLowerCase()}`}},methods:{dialog:function(n,e,t){this.params=n,this.show=!0,this.resolve=e,this.reject=t},ok:function(){(!this.params.validateText||this.params.validateText===this.validationText)&&(this.show=!1,this.resolve(!0),this.refresh())},cancel:function(){this.show=!1,this.reject(!0),this.refresh()},refresh:function(){this.validationText=""}}},rI=["innerHTML"],iI={key:2},oI={key:3,class:"validate mt-4"};function sI(n,e,t,r,d,p){const f=He("v-spacer"),w=He("v-toolbar"),h=He("v-icon"),g=He("v-text-field"),o=He("v-card-text"),a=He("v-btn"),l=He("v-card-actions"),c=He("v-card"),s=He("v-dialog"),u=He("v-app");return nt(),Wt(u,null,{default:Ne(()=>[Be(s,{modelValue:n.show,"onUpdate:modelValue":e[1]||(e[1]=m=>n.show=m),width:"600"},{default:Ne(()=>[Be(c,null,{default:Ne(()=>[Be(w,{height:"24"},{default:Ne(()=>[Be(f),Mn("span",null,un(n.params.title),1),Be(f)]),_:1}),Be(o,{class:"mt-4 pa-3"},{default:Ne(()=>[n.params.validateText?(nt(),Wt(h,{key:0,class:"mr-2"},{default:Ne(()=>e[2]||(e[2]=[Mt(" mdi-alert ",-1)])),_:1,__:[2]})):zr("",!0),n.params.html?(nt(),Jt("span",{key:1,innerHTML:n.params.text},null,8,rI)):(nt(),Jt("span",iI,un(n.params.text),1)),n.params.validateText?(nt(),Jt("div",oI,[Mt(" Enter "+un(n.params.validateText)+" to confirm! ",1),Be(g,{modelValue:n.validationText,"onUpdate:modelValue":e[0]||(e[0]=m=>n.validationText=m),variant:"solo",density:"compact","single-line":"",rules:[n.rules.required,n.rules.match],"data-test":"confirm-dialog-validate"},null,8,["modelValue","rules"])])):zr("",!0)]),_:1}),Be(l,{class:"px-2"},{default:Ne(()=>[Be(f),n.params.cancelText?(nt(),Wt(a,{key:0,variant:"outlined","data-test":p.dataTestCancel,onClick:p.cancel},{default:Ne(()=>[Mt(un(n.params.cancelText),1)]),_:1},8,["data-test","onClick"])):zr("",!0),Be(a,{variant:"flat",color:n.params.okClass,"data-test":p.dataTestOk,onClick:p.ok},{default:Ne(()=>[Mt(un(n.params.okText),1)]),_:1},8,["color","data-test","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const aI=Li(nI,[["render",sI],["__scopeId","data-v-de532a0f"]]);class lI{constructor(){this.mounted=!1,this.$root=null}mount(){if(this.mounted)return;const e=window.Vue.createApp(aI);e.use(Md);const t=document.createElement("div");document.querySelector("#openc3-app-toolbar > div").appendChild(t),this.$root=e.mount(t),this.mounted=!0}open({title:e,text:t,okText:r,okClass:d,validateText:p,cancelText:f,html:w}){return this.mount(),new Promise((h,g)=>{this.$root.dialog({title:e,text:t,okText:r,okClass:d,validateText:p,cancelText:f,html:w},h,g)})}confirm(e,{okText:t="Ok",cancelText:r="Cancel",okClass:d="primary"}){return this.open({title:"Confirm",text:e,okText:t,okClass:d,validateText:null,cancelText:r,html:!1})}alert(e,{okText:t="Ok",html:r=!1,okClass:d="primary"}){return this.open({title:"Alert",text:e,okText:t,okClass:d,validateText:null,cancelText:null,html:r})}validate(e,{okText:t="Ok",validateText:r="CONFIRM",cancelText:d="Cancel",okClass:p="primary"}){return this.open({title:"Confirm",text:e,okText:t,okClass:p,validateText:r,cancelText:d,html:!1})}}const cI={install(n,e){const t=new lI;n.provide("dialog",t),n.config.globalProperties.hasOwnProperty("$dialog")||(n.config.globalProperties.$dialog=t)}},uI={data:function(){return{showToast:!1,expanded:!1,toastNotification:{title:"Title here",body:"This is the notification body",message:"Overall message here"},timeout:null,noToastPaths:["/login"]}},computed:{toastNotificationIcon:function(){switch(this.toastNotification.type){case"notification":return"mdi-bell";case"alert":default:return"mdi-alert-box"}},toastStyle:function(){return`
1502
+ --toast-bg-color:${bd[this.toastNotification.level]};
1503
+ --toast-fg-color:${ZT(this.toastNotification.level)};
1504
+ `},contentStyle:function(){return`
1505
+ white-space: ${this.expanded?"normal":"nowrap"};
1506
+ overflow-x: ${this.expanded?"visible":"hidden"};
1507
+ text-overflow: ${this.expanded?"unset":"ellipsis"};
1508
+ `}},methods:{toast:function(n,e){this.noToastPaths.includes(window.location.pathname)||(e===void 0&&(e=5e3),this.toastNotification=n,this.showToast=!0,this.cancelAutohide(),e&&(this.timeout=setTimeout(()=>{this.hide()},e)))},hide:function(){this.cancelAutohide(),this.showToast=!1},cancelAutohide:function(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},expand:function(){this.cancelAutohide(),this.expanded=!0}}},hI={key:0,class:"text-subtitle-1 mr-1 notification-text"},dI={key:1,class:"text-body-2 notification-text"},pI={key:2,class:"text-body-2 notification-text"};function fI(n,e,t,r,d,p){const f=He("v-icon"),w=He("v-spacer"),h=He("v-btn"),g=He("v-sheet"),o=He("v-slide-y-transition");return nt(),Wt(o,null,{default:Ne(()=>[Dp(Be(g,{style:ss(p.toastStyle),class:"toast-notification",onClick:p.expand},{default:Ne(()=>[Be(f,{class:"mr-1 notification-text"},{default:Ne(()=>[Mt(un(p.toastNotificationIcon),1)]),_:1}),Mn("div",{class:"toast-content",style:ss(p.contentStyle)},[n.toastNotification.title?(nt(),Jt("span",hI,[n.toastNotification.body||n.toastNotification.message?(nt(),Jt(ei,{key:0},[Mt(un(n.toastNotification.title)+": ",1)],64)):(nt(),Jt(ei,{key:1},[Mt(un(n.toastNotification.title),1)],64))])):zr("",!0),n.toastNotification.body?(nt(),Jt("span",dI,un(n.toastNotification.body),1)):zr("",!0),n.toastNotification.message?(nt(),Jt("span",pI,un(n.toastNotification.message),1)):zr("",!0)],4),Be(w),Be(h,{variant:"text",class:"notification-text",onClick:Sa(p.hide,["stop"])},{default:Ne(()=>e[0]||(e[0]=[Mt(" Dismiss ",-1)])),_:1,__:[0]},8,["onClick"])]),_:1},8,["style","onClick"]),[[Np,n.showToast]])]),_:1})}const gI=Li(uI,[["render",fI],["__scopeId","data-v-84833581"]]);class mI{constructor(e={}){var t;this.$store=e.store,this.mounted=!1,this.$root=null,(t=window.$cosmosNotify)!=null&&t.$root?(this.mounted=!0,this.$root=window.$cosmosNotify.$root):window.$cosmosNotify=this}mount(){if(this.mounted)return;const e=du(gI);e.use(Md);const t=document.createElement("div");document.querySelector("#openc3-app-toolbar > div").appendChild(t),this.$root=e.mount(t),this.mounted=!0}open({method:e,title:t,body:r,message:d,level:p,duration:f,type:w="alert",logToConsole:h=!1,saveToHistory:g=!0}){this.mount(),h&&console.log(d?`${p.toUpperCase()} - ${d}`:`${p.toUpperCase()} - ${t}: ${r}`),g&&this.$store.commit("notifyAddHistory",{title:t,body:r,message:d,level:p}),this[e]({title:t,body:r,message:d,level:p,duration:f,type:w})}toast({title:e,body:t,message:r,level:d,duration:p,type:f}){this.$root.toast({title:e,body:t,message:r,level:d,type:f},p)}critical({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"critical",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}FATAL(e){this.critical(e)}ERROR(e){this.critical(e)}serious({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"serious",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}caution({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"caution",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}WARN(e){this.caution(e)}normal({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"normal",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}INFO(e){this.normal(e)}DEBUG(e){this.normal(e)}standby({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"standby",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}off({title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w}){this.open({method:"toast",level:"off",title:e,body:t,message:r,type:d,duration:p,logToConsole:f,saveToHistory:w})}}const vI={install(n,e){const t=new mI(e);n.provide("notify",t),n.config.globalProperties.hasOwnProperty("$notify")||(n.config.globalProperties.$notify=t)}},k0=100,_0=Bp({state(){return{notifyHistory:[],namedWidgets:{},playback:{playbackMode:null,playbackDateTime:null,playbackStep:1}}},getters:{namedWidget:n=>e=>n.namedWidgets[e]},mutations:{notifyAddHistory(n,e){n.notifyHistory.length>=k0&&(n.notifyHistory.length=k0-1),n.notifyHistory.unshift(e)},notifyClearHistory(n){n.notifyHistory=[]},setNamedWidget(n,e){Object.assign(n.namedWidgets,e)},clearNamedWidget(n,e){delete n.namedWidgets[e]},playback(n,e){Object.assign(n.playback,e)}},modules:{}});function A0(n){let e;return n!==null&&typeof n=="object"&&((e=Object.getPrototypeOf(n))===Object.prototype||e===null)}function yI(n,e){const t={};for(const r of e)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t}function S0(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;const r={};for(const d in n)r[d]=n[d];for(const d in e){const p=n[d],f=e[d];if(A0(p)&&A0(f)){r[d]=S0(p,f,t);continue}if(t&&Array.isArray(p)&&Array.isArray(f)){r[d]=t(p,f);continue}r[d]=f}return r}function el(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(el.cache.has(n))return el.cache.get(n);const e=n.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return el.cache.set(n,e),e}el.cache=new Map;function wI(n){Mp(`Vuetify: ${n}`)}function $0(n,e){return t=>Object.keys(n).reduce((r,d)=>{const p=typeof n[d]=="object"&&n[d]!=null&&!Array.isArray(n[d])?n[d]:{type:n[d]};return t&&d in t?r[d]={...p,default:t[d]}:r[d]=p,e&&!r[d].source&&(r[d].source=e),r},{})}function M0(n,e){const t=Rp();if(!t)throw new Error(`[Vuetify] ${n} must be called from inside a setup function`);return t}function bI(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:M0("injectSelf");const{provides:t}=e;if(t&&n in t)return t[n]}const $d=Symbol.for("vuetify:defaults");function T0(){const n=Tp($d);if(!n)throw new Error("[Vuetify] Could not find defaults instance");return n}function xI(n,e){return n.props&&(typeof n.props[e]<"u"||typeof n.props[el(e)]<"u")}function CI(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:T0();const r=M0("useDefaults");if(e=e??r.type.name??r.type.__name,!e)throw new Error("[Vuetify] Could not determine component name");const d=hu(()=>{var h;return(h=t.value)==null?void 0:h[n._as??e]}),p=new Proxy(n,{get(h,g){var o,a,l,c;const s=Reflect.get(h,g);if(g==="class"||g==="style")return[(o=d.value)==null?void 0:o[g],s].filter(b=>b!=null);if(xI(r.vnode,g))return s;const u=(a=d.value)==null?void 0:a[g];if(u!==void 0)return u;const m=(c=(l=t.value)==null?void 0:l.global)==null?void 0:c[g];return m!==void 0?m:s}}),f=Ep();Ip(()=>{if(d.value){const h=Object.entries(d.value).filter(g=>{let[o]=g;return o.startsWith(o[0].toUpperCase())});f.value=h.length?Object.fromEntries(h):void 0}else f.value=void 0});function w(){const h=bI($d,r);Op($d,hu(()=>f.value?S0((h==null?void 0:h.value)??{},f.value):h==null?void 0:h.value))}return{props:p,provideSubDefaults:w}}function Mc(n){if(n._setup=n._setup??n.setup,!n.name)return wI("The component is missing an explicit name, unable to generate default prop value"),n;if(n._setup){n.props=$0(n.props??{},n.name)();const e=Object.keys(n.props).filter(t=>t!=="class"&&t!=="style");n.filterProps=function(t){return yI(t,e)},n.props._as=String,n.setup=function(t,r){const d=T0();if(!d.value)return n._setup(t,r);const{props:p,provideSubDefaults:f}=CI(t,t._as??n.name,d),w=n._setup(p,r);return f(),w}}return n}function kI(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return e=>(n?Mc:$p)(e)}const _I=[String,Function,Object,Array],Tc=$0({icon:{type:_I},tag:{type:[String,Object,Function],required:!0}},"icon");kI()({name:"VComponentIcon",props:Tc(),setup(n,e){let{slots:t}=e;return()=>{const r=n.icon;return Be(n.tag,null,{default:()=>{var d;return[n.icon?Be(r,null,null):(d=t.default)==null?void 0:d.call(t)]}})}}}),Mc({name:"VSvgIcon",inheritAttrs:!1,props:Tc(),setup(n,e){let{attrs:t}=e;return()=>Be(n.tag,bl(t,{style:null}),{default:()=>[Mn("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(n.icon)?n.icon.map(r=>Array.isArray(r)?Mn("path",{d:r[0],"fill-opacity":r[1]},null):Mn("path",{d:r},null)):Mn("path",{d:n.icon},null)])]})}}),Mc({name:"VLigatureIcon",props:Tc(),setup(n){return()=>Be(n.tag,null,{default:()=>[n.icon]})}});const AI=Mc({name:"VClassIcon",props:Tc(),setup(n){return()=>Be(n.tag,{class:Lp(n.icon)},null)}}),SI={component:n=>Us(AI,{...n,class:"mdi"})},Md=zp({theme:{defaultTheme:"cosmosDark",themes:{cosmosDark:tI}},icons:{defaultSet:"mdi",sets:{mdi:SI,...JT,...eE}}}),Td=kb({createApp:du,appOptions:{render(){return Us(Ib,{})},el:"#openc3-tool"},handleInstance:n=>{n.use(eI),n.use(_0),n.use(Md),n.use(cI),n.use(vI,{store:_0})}}),bF=er("e",Td.bootstrap),xF=er("m",Td.mount),CF=er("u",Td.unmount)}}});