@kusto/monaco-kusto 10.0.17 → 10.0.19
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.
- package/package.json +2 -2
- package/release/dev/kustoMode.js +2 -2
- package/release/dev/kustoWorker.js +4 -3
- package/release/dev/{main-231134a1.js → main-2e3d19e8.js} +2 -2
- package/release/dev/monaco.contribution.js +2 -2
- package/release/dev/{schema-d1f66ccc.js → schema-19b5584d.js} +2 -2
- package/release/esm/kusto.worker.js +4 -3
- package/release/esm/languageService/kustoLanguageService.js +2 -1
- package/release/esm/{schema-2c9a1618.js → schema-56df1dea.js} +1 -1
- package/release/min/kustoMode.js +2 -2
- package/release/min/kustoWorker.js +3 -3
- package/release/min/{main-cd3cdcac.js → main-a6b2e21b.js} +2 -2
- package/release/min/monaco.contribution.js +2 -2
- package/release/min/{schema-67c211b1.js → schema-517e2f39.js} +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* monaco-kusto version: 10.0.
|
|
3
|
+
* monaco-kusto version: 10.0.19(32f0aaafbb2810206f368e89e29cf982f502d871)
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://https://github.com/Azure/monaco-kusto/blob/master/README.md
|
|
6
6
|
*-----------------------------------------------------------------------------*/
|
|
7
|
-
define("vs/language/kusto/kustoWorker",["exports","./main-
|
|
7
|
+
define("vs/language/kusto/kustoWorker",["exports","./main-a6b2e21b","./schema-517e2f39"],(function(u,d,e){"use strict";function t(u,d){return function(u){if(Array.isArray(u))return u}(u)||function(u,d){var e=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=e){var t,a,n,r,c=[],f=!0,i=!1;try{if(n=(e=e.call(u)).next,0===d){if(Object(e)!==e)return;f=!1}else for(;!(f=(t=n.call(e)).done)&&(c.push(t.value),c.length!==d);f=!0);}catch(u){i=!0,a=u}finally{try{if(!f&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(i)throw a}}return c}}(u,d)||n(u,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(u,d){var e="undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(!e){if(Array.isArray(u)||(e=n(u))||d&&u&&"number"==typeof u.length){e&&(u=e);var t=0,a=function(){};return{s:a,n:function(){return t>=u.length?{done:!0}:{done:!1,value:u[t++]}},e:function(u){throw u},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,c=!0,f=!1;return{s:function(){e=e.call(u)},n:function(){var u=e.next();return c=u.done,u},e:function(u){f=!0,r=u},f:function(){try{c||null==e.return||e.return()}finally{if(f)throw r}}}}function n(u,d){if(u){if("string"==typeof u)return r(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);return"Object"===e&&u.constructor&&(e=u.constructor.name),"Map"===e||"Set"===e?Array.from(u):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?r(u,d):void 0}}function r(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}
|
|
8
8
|
/*!
|
|
9
9
|
* XRegExp 5.1.1
|
|
10
10
|
* <xregexp.com>
|
|
@@ -14,4 +14,4 @@ define("vs/language/kusto/kustoWorker",["exports","./main-cd3cdcac","./schema-67
|
|
|
14
14
|
* XRegExp Unicode Base 5.1.1
|
|
15
15
|
* <xregexp.com>
|
|
16
16
|
* Steven Levithan (c) 2008-present MIT License
|
|
17
|
-
*/(u)||function(u,d){var e=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=e){var t,a,n,r,c=[],f=!0,i=!1;try{if(n=(e=e.call(u)).next,0===d){if(Object(e)!==e)return;f=!1}else for(;!(f=(t=n.call(e)).done)&&(c.push(t.value),c.length!==d);f=!0);}catch(u){i=!0,a=u}finally{try{if(!f&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(i)throw a}}return c}}(u,d)||M(u,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(u,d){if(u){if("string"==typeof u)return $(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);return"Object"===e&&u.constructor&&(e=u.constructor.name),"Map"===e||"Set"===e?Array.from(u):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?$(u,d):void 0}}function $(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function U(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var z=U([{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0-------------------------------------ೳ---------໎------------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--"},{name:"Cf",alias:"Format",bmp:"-----\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"-----------------------------------ೳ---------໎--------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:" - \u2028\u2029 "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" - "}]),W=U([{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\ude80-\udea9\udeab\udeac\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc00-\udc45\udc71-\udc75\udc82-\udcb8\udcc2\udcd0-\udce8\udd00-\udd32\udd44-\udd47\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddce\uddcf\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc5f-\udc61\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udeb8\udf00-\udf1a\udf1d-\udf2a\udf40-\udf46]|\ud806[\udc00-\udc38\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b\udd3c\udd3f-\udd42\udda0-\udda7\uddaa-\uddd7\uddda-\udddf\udde1\udde3\udde4\ude00-\ude32\ude35-\ude3e\ude50-\ude97\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd41\udd43\udd46\udd47\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd96\udd98\udee0-\udef6\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0\udfe1\udfe3\udff0\udff1]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Any",isBmpLast:!0,bmp:"\0-",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"͏ᅟᅠ឴឵᠋-᠏---ㅤ︀-️\ufeffᅠ-",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\udf80\udf83-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point",bmp:"-",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"},{name:"White_Space",bmp:"\t-\r
- \u2028\u2029 "}]),J=U([{name:"Adlam",astral:"\ud83a[\udd00-\udd4b\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf1a\udf1d-\udf2b\udf30-\udf46]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"},{name:"Arabic",bmp:"-؆-؋؍-ؚ-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc75\udc7f]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\ud806[\udeb0-\udebf]"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"},{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\ud803[\udfb0-\udfcb]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·،؛؟ـ।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ ---⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\ufeff!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9c\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\uddea\udee0-\udef3\udf00-\udf56\udf60-\udf78]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83b[\udc71-\udcb4\udd01-\udd3d]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\uddad\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca\udff0-\udff9]|\udb40[\udc01\udc20-\udc7f]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cypro_Minoan",astral:"\ud80b[\udf90-\udff2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\ud806[\udd00-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b-\udd46\udd50-\udd59]"},{name:"Dogra",astral:"\ud806[\udc00-\udc3b]"},{name:"Duployan",astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e\udc30-\udc38]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Elymaic",astral:"\ud803[\udfe0-\udff6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\ud807[\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd98\udda0-\udda9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\ud81b[\udfe2\udfe3\udff0\udff1]|[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\ud803[\udd00-\udd27\udd30-\udd39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\ud82c[\udc01-\udd1f\udd50-\udd52]|🈀"},{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\ud800[\uddfd\udee0]|𑌻|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"},{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc2\udccd]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00\udd20-\udd22\udd64-\udd67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f-\ude48\ude50-\ude58]"},{name:"Khitan_Small_Script",astral:"𖿤|\ud822[\udf00-\udfff]|\ud823[\udc00-\udcd5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud837[\udf00-\udf1e]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Makasar",astral:"\ud807[\udee0-\udef8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Masaram_Gondi",astral:"\ud807[\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd47\udd50-\udd59]"},{name:"Medefaidrin",astral:"\ud81b[\ude40-\ude9a]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f]"},{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"Nandinagari",astral:"\ud806[\udda0-\udda7\uddaa-\uddd7\uddda-\udde4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\ud805[\udc00-\udc5b\udc5d-\udc61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\ud82c[\udd70-\udefb]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\ud838[\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udd4f]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23\udf2d-\udf2f]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_Sogdian",astral:"\ud803[\udf00-\udf27]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"},{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Old_Uyghur",astral:"\ud803[\udf70-\udf89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\ud804[\udd80-\udddf]"},{name:"Shavian",astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\ud804[\udde1-\uddf4]"},{name:"Sogdian",astral:"\ud803[\udf30-\udf59]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Soyombo",astral:"\ud806[\ude50-\udea2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\ud805[\ude80-\udeb9\udec0-\udec9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\ud807[\udfc0-\udff1\udfff]"},{name:"Tangsa",astral:"\ud81a[\ude70-\udebe\udec0-\udec9]"},{name:"Tangut",astral:"𖿠|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udeff]|\ud823[\udd00-\udd08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Toto",astral:"\ud838[\ude90-\udeae]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\ud801[\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]"},{name:"Wancho",astral:"\ud838[\udec0-\udef9\udeff]"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yezidi",astral:"\ud803[\ude80-\udea9\udeab-\udead\udeb0\udeb1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\ud806[\ude00-\ude47]"}]);if(function(u){var d="xregexp",e=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,t=u.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,e],"g",{conjunction:"or"});function a(u){var d=/^(?:\(\?:\))*\^/,e=/\$(?:\(\?:\))*$/;return d.test(u)&&e.test(u)&&e.test(u.replace(/\\[\s\S]/g,""))?u.replace(d,"").replace(e,""):u}function n(e,t){var a=t?"x":"";return u.isRegExp(e)?e[d]&&e[d].captureNames?e:u(e.source,a):u(e,a)}function r(d){return d instanceof RegExp?d:u.escape(d)}function c(u,d,e){return u["subpattern".concat(e)]=d,u}function f(u,d,e){return u+(d<e.length-1?"{{subpattern".concat(d,"}}"):"")}u.tag=function(d){return function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];var i=a.map(r).reduce(c,{}),o=e.raw.map(f).join("");return u.build(o,i,d)}},u.build=function(r,c,f){var i=(f=f||"").includes("x"),o=/^\(\?([\w$]+)\)/.exec(r);o&&(f=u._clipDuplicates(f+o[1]));var s={};for(var l in c)if(c.hasOwnProperty(l)){var D=n(c[l],i);s[l]={pattern:a(D.source),names:D[d].captureNames||[]}}var m,b=n(r,i),C=0,p=0,F=[0],A=b[d].captureNames||[],h=b.source.replace(t,(function(u,d,t,a,n){var r,c,f,i=d||t;if(i){if(!s.hasOwnProperty(i))throw new ReferenceError("Undefined property ".concat(u));d?(r=A[p],F[++p]=++C,c="(?<".concat(r||i,">")):c="(?:",m=C;var o=s[i].pattern.replace(e,(function(u,d,e){if(d){if(r=s[i].names[C-m],++C,r)return"(?<".concat(r,">")}else if(e)return f=+e-1,s[i].names[f]?"\\k<".concat(s[i].names[f],">"):"\\".concat(+e+m);return u}));return"".concat(c).concat(o,")")}if(a){if(r=A[p],F[++p]=++C,r)return"(?<".concat(r,">")}else if(n)return A[f=+n-1]?"\\k<".concat(A[f],">"):"\\".concat(F[+n]);return u}));return u(h,f)}}(G),function(u){function d(u,d,e,t){return{name:u,value:d,start:e,end:t}}u.matchRecursive=function(e,t,a,n,r){r=r||{};var c,f=(n=n||"").includes("g"),i=n.includes("y"),o=n.replace(/y/g,"");t=u(t,o),a=u(a,o);var s=r.escapeChar;if(s){if(s.length>1)throw new Error("Cannot use more than one escape character");s=u.escape(s),c=new RegExp("(?:".concat(s,"[\\S\\s]|(?:(?!").concat(u.union([t,a],"",{conjunction:"or"}).source,")[^").concat(s,"])+)+"),n.replace(u._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}for(var l,D,m,b,C=0,p=0,F=0,A=0,h=r.valueNames,E=[];;){if(s&&(F+=(u.exec(e,c,F,"sticky")||[""])[0].length),m=u.exec(e,t,F),b=u.exec(e,a,F),m&&b&&(m.index<=b.index?b=null:m=null),m||b)F=(p=(m||b).index)+(m||b)[0].length;else if(!C)break;if(i&&!C&&p>A)break;if(m)C||(l=p,D=F),C+=1;else if(b&&C){if(!(C-=1)&&(h?(h[0]&&l>A&&E.push(d(h[0],e.slice(A,l),A,l)),h[1]&&E.push(d(h[1],e.slice(l,D),l,D)),h[2]&&E.push(d(h[2],e.slice(D,p),D,p)),h[3]&&E.push(d(h[3],e.slice(p,F),p,F))):E.push(e.slice(D,p)),A=F,!f))break}else{var g=r.unbalanced||"error";if("skip"!==g&&"skip-lazy"!==g){if("error"===g){var v=b?p:l;throw new Error("Unbalanced ".concat(b?"right":"left"," delimiter found in string at position ").concat(v))}throw new Error("Unsupported value for unbalanced: ".concat(g))}if(b)b=null;else{if("skip"===g)F=l+(u.exec(e,t,l,"sticky")[0].length||1);else F=l+1;C=0}}p===F&&(F+=1)}return f&&E.length>0&&!i&&h&&h[0]&&e.length>A&&E.push(d(h[0],e.slice(A),A,e.length)),E}}(G),function(u){var d={},e={},t=u._dec,a=u._hex,n=u._pad4;function r(u){return u.replace(/[- _]+/g,"").toLowerCase()}function c(u){var d=/^\\[xu](.+)/.exec(u);return d?t(d[1]):u.charCodeAt("\\"===u[0]?1:0)}function f(e){var t,r,f;return d[e]["b!"]||(d[e]["b!"]=(t=d[e].bmp,r="",f=-1,u.forEach(t,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(u){var d=c(u[1]);d>f+1&&(r+="\\u".concat(n(a(f+1))),d>f+2&&(r+="-\\u".concat(n(a(d-1))))),f=c(u[2]||u[1])})),f<65535&&(r+="\\u".concat(n(a(f+1))),f<65534&&(r+="-\\uFFFF")),r))}function i(u,e){var t=e?"a!":"a=";return d[u][t]||(d[u][t]=function(u,e){var t=d[u],a="";return t.bmp&&!t.isBmpLast&&(a="[".concat(t.bmp,"]").concat(t.astral?"|":"")),t.astral&&(a+=t.astral),t.isBmpLast&&t.bmp&&(a+="".concat(t.astral?"|":"","[").concat(t.bmp,"]")),e?"(?:(?!".concat(a,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-]))"):"(?:".concat(a,")")}(u,e))}u.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(function(u,t,a){var n="Unknown Unicode token ",c=j(u,6),o=c[0],s=c[1],l=c[2],D=c[3],m=c[4],b=c[5],C="P"===s||!!l,p=a.includes("A"),F=r(b||m),A=d[F];if("P"===s&&l)throw new SyntaxError("Invalid double negation "+o);if(!d.hasOwnProperty(F))throw new SyntaxError(n+o);if(D&&(!e[D]||!e[D][F]))throw new SyntaxError(n+o);if(A.inverseOf){if(F=r(A.inverseOf),!d.hasOwnProperty(F))throw new ReferenceError("".concat("Unicode token missing data "+o," -> ").concat(A.inverseOf));A=d[F],C=!C}if(!A.bmp&&!p)throw new SyntaxError("Astral mode required for Unicode token "+o);if(p){if("class"===t)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return i(F,C)}return"class"===t?C?f(F):A.bmp:"".concat((C?"[^":"[")+A.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),u.addUnicodeData=function(t,a){a&&(e[a]={});var n,c=function(u,d){var e="undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(!e){if(Array.isArray(u)||(e=M(u))||d&&u&&"number"==typeof u.length){e&&(u=e);var t=0,a=function(){};return{s:a,n:function(){return t>=u.length?{done:!0}:{done:!1,value:u[t++]}},e:function(u){throw u},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r=!0,c=!1;return{s:function(){e=e.call(u)},n:function(){var u=e.next();return r=u.done,u},e:function(u){c=!0,n=u},f:function(){try{r||null==e.return||e.return()}finally{if(c)throw n}}}}(t);try{for(c.s();!(n=c.n()).done;){var f=n.value;if(!f.name)throw new Error("Unicode token requires name");if(!(f.inverseOf||f.bmp||f.astral))throw new Error("Unicode token has no character data "+f.name);var i=r(f.name);if(d[i]=f,a&&(e[a][i]=!0),f.alias){var o=r(f.alias);d[o]=f,a&&(e[a][o]=!0)}}}catch(u){c.e(u)}finally{c.f()}u.cache.flush("patterns")},u._getUnicodeProperty=function(u){var e=r(u);return d[e]}}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");u.addUnicodeData(z)}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var d=W;d.push({name:"Assigned",inverseOf:"Cn"}),u.addUnicodeData(d)}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");u.addUnicodeData(J,"Script")}(G),"undefined"==typeof document){const u=(self.MonacoEnvironment?.baseUrl||"../../../")+"vs/language/kusto/";importScripts(u+"bridge.min.js",u+"kusto.javascript.client.min.js",u+"newtonsoft.json.min.js",u+"Kusto.Language.Bridge.min.js")}var Q,H=["name","columns","entityType","docstring"];function Z(u,d){if(null==u)return{};var e,t,a=function(u,d){if(null==u)return{};var e,t,a={},n=Object.keys(u);for(t=0;t<n.length;t++)e=n[t],d.indexOf(e)>=0||(a[e]=u[e]);return a}(u,d);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(u);for(t=0;t<n.length;t++)e=n[t],d.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(u,e)&&(a[e]=u[e])}return a}function q(u,d){return function(u){if(Array.isArray(u))return u}(u)||function(u,d){var e=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=e){var t,a,n,r,c=[],f=!0,i=!1;try{if(n=(e=e.call(u)).next,0===d){if(Object(e)!==e)return;f=!1}else for(;!(f=(t=n.call(e)).done)&&(c.push(t.value),c.length!==d);f=!0);}catch(u){i=!0,a=u}finally{try{if(!f&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(i)throw a}}return c}}(u,d)||du(u,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(u,d){var e=Object.keys(u);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(u);d&&(t=t.filter((function(d){return Object.getOwnPropertyDescriptor(u,d).enumerable}))),e.push.apply(e,t)}return e}function X(u){for(var d=1;d<arguments.length;d++){var e=null!=arguments[d]?arguments[d]:{};d%2?Y(Object(e),!0).forEach((function(d){tu(u,d,e[d])})):Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(e)):Y(Object(e)).forEach((function(d){Object.defineProperty(u,d,Object.getOwnPropertyDescriptor(e,d))}))}return u}function uu(u){return function(u){if(Array.isArray(u))return eu(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||du(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function du(u,d){if(u){if("string"==typeof u)return eu(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);return"Object"===e&&u.constructor&&(e=u.constructor.name),"Map"===e||"Set"===e?Array.from(u):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?eu(u,d):void 0}}function eu(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function tu(u,d,e){return(d=fu(d))in u?Object.defineProperty(u,d,{value:e,enumerable:!0,configurable:!0,writable:!0}):u[d]=e,u}function au(u){return au="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},au(u)}function nu(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}function ru(u,d){for(var e=0;e<d.length;e++){var t=d[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,fu(t.key),t)}}function cu(u,d,e){return d&&ru(u.prototype,d),e&&ru(u,e),Object.defineProperty(u,"prototype",{writable:!1}),u}function fu(u){var d=function(u,d){if("object"!==au(u)||null===u)return u;var e=u[Symbol.toPrimitive];if(void 0!==e){var t=e.call(u,d||"default");if("object"!==au(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===d?String:Number)(u)}(u,"string");return"symbol"===au(d)?d:String(d)}var iu=Kusto.Data.IntelliSense,ou=Kusto.Language.Parsing,su=Kusto.Language.Editor,lu=Kusto.Language.Symbols,Du=Kusto.Language.GlobalState,mu=System.Collections.Generic.List$1;function bu(u){throw new Error("Unexpected object: "+u)}var Cu=function(){function u(d,e,t,a){nu(this,u),this.version=d,this.uri=e,this.rulesProvider=t,this.parseMode=a}return cu(u,[{key:"isParseNeeded",value:function(u,d,e){return!(u.uri===this.uri&&(!d||d===this.rulesProvider)&&u.version<=this.version&&e&&e<=this.parseMode)}}]),u}(),pu=function(u){return u[u.TableToken=2]="TableToken",u[u.TableColumnToken=4]="TableColumnToken",u[u.OperatorToken=8]="OperatorToken",u[u.SubOperatorToken=16]="SubOperatorToken",u[u.CalculatedColumnToken=32]="CalculatedColumnToken",u[u.StringLiteralToken=64]="StringLiteralToken",u[u.FunctionNameToken=128]="FunctionNameToken",u[u.UnknownToken=256]="UnknownToken",u[u.CommentToken=512]="CommentToken",u[u.PlainTextToken=1024]="PlainTextToken",u[u.DataTypeToken=2048]="DataTypeToken",u[u.ControlCommandToken=4096]="ControlCommandToken",u[u.CommandPartToken=8192]="CommandPartToken",u[u.QueryParametersToken=16384]="QueryParametersToken",u[u.CslCommandToken=32768]="CslCommandToken",u[u.LetVariablesToken=65536]="LetVariablesToken",u[u.PluginToken=131072]="PluginToken",u[u.BracketRangeToken=262144]="BracketRangeToken",u[u.ClientDirectiveToken=524288]="ClientDirectiveToken",u}({});function Fu(u){return u.map((function(u){return{start:u.Start,end:u.End,length:u.Length,kind:u.Kind}}))}var Au=(tu(Q={},lu.SymbolKind.Cluster,"Cluster"),tu(Q,lu.SymbolKind.Column,"Column"),tu(Q,lu.SymbolKind.Command,"Command"),tu(Q,lu.SymbolKind.Database,"Database"),tu(Q,lu.SymbolKind.EntityGroup,"EntityGroup"),tu(Q,lu.SymbolKind.EntityGroupElement,"EntityGroupElement"),tu(Q,lu.SymbolKind.Error,"Error"),tu(Q,lu.SymbolKind.Function,"Function"),tu(Q,lu.SymbolKind.Graph,"Graph"),tu(Q,lu.SymbolKind.Group,"Group"),tu(Q,lu.SymbolKind.MaterializedView,"MaterializedView"),tu(Q,lu.SymbolKind.None,"None"),tu(Q,lu.SymbolKind.Operator,"Operator"),tu(Q,lu.SymbolKind.Option,"Option"),tu(Q,lu.SymbolKind.Parameter,"Parameter"),tu(Q,lu.SymbolKind.Pattern,"Pattern"),tu(Q,lu.SymbolKind.QueryOperatorParameter,"QueryOperatorParameter"),tu(Q,lu.SymbolKind.Primitive,"Primitive"),tu(Q,lu.SymbolKind.Table,"Table"),tu(Q,lu.SymbolKind.Tuple,"Tuple"),tu(Q,lu.SymbolKind.Variable,"Variable"),tu(Q,lu.SymbolKind.Void,"Void"),Q),hu=function(){function u(e,t){var a,n,r,c,f=this;nu(this,u),tu(this,"_toOptionKind",(tu(a={},su.CompletionKind.AggregateFunction,iu.OptionKind.FunctionAggregation),tu(a,su.CompletionKind.BuiltInFunction,iu.OptionKind.FunctionScalar),tu(a,su.CompletionKind.Cluster,iu.OptionKind.Database),tu(a,su.CompletionKind.Column,iu.OptionKind.Column),tu(a,su.CompletionKind.CommandPrefix,iu.OptionKind.Command),tu(a,su.CompletionKind.Database,iu.OptionKind.Database),tu(a,su.CompletionKind.DatabaseFunction,iu.OptionKind.FunctionServerSide),tu(a,su.CompletionKind.Example,iu.OptionKind.Literal),tu(a,su.CompletionKind.Identifier,iu.OptionKind.None),tu(a,su.CompletionKind.Keyword,iu.OptionKind.Option),tu(a,su.CompletionKind.LocalFunction,iu.OptionKind.FunctionLocal),tu(a,su.CompletionKind.MaterialiedView,iu.OptionKind.MaterializedView),tu(a,su.CompletionKind.Parameter,iu.OptionKind.Parameter),tu(a,su.CompletionKind.Punctuation,iu.OptionKind.None),tu(a,su.CompletionKind.QueryPrefix,iu.OptionKind.Operator),tu(a,su.CompletionKind.RenderChart,iu.OptionKind.OptionRender),tu(a,su.CompletionKind.ScalarInfix,iu.OptionKind.None),tu(a,su.CompletionKind.ScalarPrefix,iu.OptionKind.Literal),tu(a,su.CompletionKind.ScalarType,iu.OptionKind.DataType),tu(a,su.CompletionKind.Syntax,iu.OptionKind.None),tu(a,su.CompletionKind.Table,iu.OptionKind.Table),tu(a,su.CompletionKind.TabularPrefix,iu.OptionKind.None),tu(a,su.CompletionKind.TabularSuffix,iu.OptionKind.None),tu(a,su.CompletionKind.Unknown,iu.OptionKind.None),tu(a,su.CompletionKind.Variable,iu.OptionKind.Parameter),tu(a,su.CompletionKind.Option,iu.OptionKind.Option),tu(a,su.CompletionKind.Graph,iu.OptionKind.Graph),tu(a,su.CompletionKind.EntityGroup,iu.OptionKind.EntityGroup),a)),tu(this,"disabledCompletionItemsV2",{ladderchart:su.CompletionKind.RenderChart,pivotchart:su.CompletionKind.RenderChart,timeline:su.CompletionKind.RenderChart,timepivot:su.CompletionKind.RenderChart,"3Dchart":su.CompletionKind.RenderChart,list:su.CompletionKind.RenderChart}),tu(this,"isIntellisenseV2",(function(){return f._languageSettings.useIntellisenseV2&&f._schema&&"Engine"===f._schema.clusterType})),tu(this,"disabledCompletionItemsV1",{capacity:iu.OptionKind.Policy,callout:iu.OptionKind.Policy,encoding:iu.OptionKind.Policy,batching:iu.OptionKind.Policy,querythrottling:iu.OptionKind.Policy,merge:iu.OptionKind.Policy,querylimit:iu.OptionKind.Policy,rowstore:iu.OptionKind.Policy,streamingingestion:iu.OptionKind.Policy,restricted_view_access:iu.OptionKind.Policy,sharding:iu.OptionKind.Policy,"restricted-viewers":iu.OptionKind.Policy,attach:iu.OptionKind.Command,purge:iu.OptionKind.Command}),tu(this,"_kustoKindtolsKind",(tu(n={},iu.OptionKind.None,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.Operator,d.CompletionItemKind.Method),tu(n,iu.OptionKind.Command,d.CompletionItemKind.Method),tu(n,iu.OptionKind.Service,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Policy,d.CompletionItemKind.Reference),tu(n,iu.OptionKind.Database,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Table,d.CompletionItemKind.Class),tu(n,iu.OptionKind.DataType,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Literal,d.CompletionItemKind.Property),tu(n,iu.OptionKind.Parameter,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.IngestionMapping,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.ExpressionFunction,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.Option,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.OptionKind,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.OptionRender,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.Column,d.CompletionItemKind.Function),tu(n,iu.OptionKind.ColumnString,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnNumeric,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnDateTime,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnTimespan,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionServerSide,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionAggregation,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionFilter,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionScalar,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ClientDirective,d.CompletionItemKind.Enum),n)),tu(this,"_kustoKindToLsKindV2",(tu(r={},su.CompletionKind.AggregateFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.BuiltInFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Cluster,d.CompletionItemKind.Class),tu(r,su.CompletionKind.Column,d.CompletionItemKind.Function),tu(r,su.CompletionKind.CommandPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Database,d.CompletionItemKind.Class),tu(r,su.CompletionKind.DatabaseFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Example,d.CompletionItemKind.Text),tu(r,su.CompletionKind.Identifier,d.CompletionItemKind.Method),tu(r,su.CompletionKind.Keyword,d.CompletionItemKind.Method),tu(r,su.CompletionKind.LocalFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.MaterialiedView,d.CompletionItemKind.Class),tu(r,su.CompletionKind.Parameter,d.CompletionItemKind.Variable),tu(r,su.CompletionKind.Punctuation,d.CompletionItemKind.Interface),tu(r,su.CompletionKind.QueryPrefix,d.CompletionItemKind.Function),tu(r,su.CompletionKind.RenderChart,d.CompletionItemKind.Method),tu(r,su.CompletionKind.ScalarInfix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.ScalarPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.ScalarType,d.CompletionItemKind.TypeParameter),tu(r,su.CompletionKind.Syntax,d.CompletionItemKind.Method),tu(r,su.CompletionKind.Table,d.CompletionItemKind.Class),tu(r,su.CompletionKind.TabularPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.TabularSuffix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Unknown,d.CompletionItemKind.Interface),tu(r,su.CompletionKind.Variable,d.CompletionItemKind.Variable),tu(r,su.CompletionKind.Option,d.CompletionItemKind.Text),tu(r,su.CompletionKind.Graph,d.CompletionItemKind.Class),tu(r,su.CompletionKind.EntityGroup,d.CompletionItemKind.Class),r)),tu(this,"_tokenKindToClassificationKind",(tu(c={},pu.TableToken,su.ClassificationKind.Table),tu(c,pu.TableColumnToken,su.ClassificationKind.Column),tu(c,pu.OperatorToken,su.ClassificationKind.QueryOperator),tu(c,pu.SubOperatorToken,su.ClassificationKind.Function),tu(c,pu.CalculatedColumnToken,su.ClassificationKind.Column),tu(c,pu.StringLiteralToken,su.ClassificationKind.Literal),tu(c,pu.FunctionNameToken,su.ClassificationKind.Function),tu(c,pu.UnknownToken,su.ClassificationKind.PlainText),tu(c,pu.CommentToken,su.ClassificationKind.Comment),tu(c,pu.PlainTextToken,su.ClassificationKind.PlainText),tu(c,pu.DataTypeToken,su.ClassificationKind.Type),tu(c,pu.ControlCommandToken,su.ClassificationKind.PlainText),tu(c,pu.CommandPartToken,su.ClassificationKind.PlainText),tu(c,pu.QueryParametersToken,su.ClassificationKind.QueryParameter),tu(c,pu.CslCommandToken,su.ClassificationKind.Keyword),tu(c,pu.LetVariablesToken,su.ClassificationKind.Identifier),tu(c,pu.PluginToken,su.ClassificationKind.Function),tu(c,pu.BracketRangeToken,su.ClassificationKind.Keyword),tu(c,pu.ClientDirectiveToken,su.ClassificationKind.Keyword),c)),this._schemaCache={},this._kustoJsSchema=u.convertToKustoJsSchema(e),this.__kustoJsSchemaV2=this.convertToKustoJsSchemaV2(e),this._schema=e,this._clustersSetInGlobalState=new Set,this._nonEmptyDatabaseSetInGlobalState=new Set,this.configure(t),this._newlineAppendPipePolicy=new Kusto.Data.IntelliSense.ApplyPolicy,this._newlineAppendPipePolicy.Text="\n| "}return cu(u,[{key:"createDatabaseUniqueName",value:function(u,d){return"".concat(u,"_").concat(d)}},{key:"_kustoJsSchemaV2",get:function(){return this.__kustoJsSchemaV2},set:function(u){this.__kustoJsSchemaV2=u,this._clustersSetInGlobalState.clear(),this._nonEmptyDatabaseSetInGlobalState.clear();for(var d=0;d<u.Clusters.Count;d++){var e=this._kustoJsSchemaV2.Clusters.getItem(d);this._clustersSetInGlobalState.add(e.Name);for(var t=0;t<e.Databases.Count;t++){var a=e.Databases.getItem(t);a.Tables.Count>0&&this._nonEmptyDatabaseSetInGlobalState.add(this.createDatabaseUniqueName(e.Name,a.Name))}}}},{key:"configure",value:function(u){this._languageSettings=u,this.createRulesProvider(this._kustoJsSchema,this._schema.clusterType)}},{key:"doComplete",value:function(u,d){return this.isIntellisenseV2()?this.doCompleteV2(u,d):this.doCompleteV1(u,d)}},{key:"debugGlobalState",value:function(u){console.log("globals.Clusters.Count: ".concat(u.Clusters.Count));for(var d=0;d<u.Clusters.Count;d++){var e=u.Clusters.getItem(d);console.log("cluster: ".concat(e.Name)),console.log("cluster.Databases.Count: ".concat(e.Databases.Count));for(var t=0;t<e.Databases.Count;t++){var a=e.Databases.getItem(t);console.log("cluster.database: [".concat(e.Name,"].[").concat(a.Name,"]")),console.log("cluster.Databases.Tables.Count: ".concat(a.Tables.Count));for(var n=0;n<a.Tables.Count;n++){var r=a.Tables.getItem(n);console.log("cluster.database.table: [".concat(e.Name,"].[").concat(a.Name,"].[").concat(r.Name,"]"))}}}}},{key:"formatHelpTopic",value:function(u){return"**".concat(u.Name," [(view online)](").concat(u.Url,")**\n\n").concat(u.LongDescription)}},{key:"doCompleteV2",value:function(u,e){var t=this;if(!u)return Promise.resolve(d.CompletionList.create([]));var a=this.parseDocumentV2(u),n=u.offsetAt(e),r=a.GetBlockAtPosition(n).Service.GetCompletionItems(n),c=this.disabledCompletionItemsV2;this._languageSettings.disabledCompletionItems&&this._languageSettings.disabledCompletionItems.map((function(u){c[u]=su.CompletionKind.Unknown}));var f=this.toArray(r.Items),i=f.filter((function(u){return!(u&&u.MatchText&&void 0!==c[u.MatchText]&&(c[u.MatchText]===su.CompletionKind.Unknown||c[u.MatchText]===u.Kind))})).map((function(e,a){var n=new iu.CompletionOption(t._toOptionKind[e.Kind]||iu.OptionKind.None,e.DisplayText),c=t.getTopic(n),i=e.AfterText&&e.AfterText.length>0?{textToInsert:"".concat(e.EditText.replace("$","\\$"),"$0").concat(e.AfterText),format:d.InsertTextFormat.Snippet}:{textToInsert:e.EditText,format:d.InsertTextFormat.PlainText},o=i.textToInsert,s=i.format,l=d.CompletionItem.create(e.DisplayText),D=l.kind===d.CompletionItemKind.Field?0:f.length;D*=l.label.split("_").filter((function(u){return!!u})).length;var m=u.positionAt(r.EditStart),b=u.positionAt(r.EditStart+r.EditLength);return l.textEdit=d.TextEdit.replace(d.Range.create(m,b),o),l.sortText=t.getSortText(D+a+1),l.filterText=l.label.charAt(0).toLowerCase()+l.label.slice(1),l.kind=t.kustoKindToLsKindV2(e.Kind),l.insertTextFormat=s,l.detail=c?c.ShortDescription:void 0,l.documentation=c?{value:t.formatHelpTopic(c),kind:d.MarkupKind.Markdown}:void 0,l}));return Promise.resolve(d.CompletionList.create(i))}},{key:"getTopic",value:function(u){if(u.Kind==iu.OptionKind.FunctionScalar||u.Kind==iu.OptionKind.FunctionAggregation){var d=u.Value.indexOf("(");d>=0&&(u=new iu.CompletionOption(u.Kind,u.Value.substring(0,d)))}return iu.CslDocumentation.Instance.GetTopic(u)}},{key:"doCompleteV1",value:function(u,e){var t=this,a=u.offsetAt(e);this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var n=this.getCurrentCommand(u,a),r="";if(n){n.AbsoluteStart,this.parseTextV1(n.Text,iu.ParseMode.TokenizeAllText);var c=a-n.AbsoluteStart;r=n.Text.substring(n.CslExpressionStartPosition,c)}var f=this.getCommandWithoutLastWord(r),i=this._rulesProvider.AnalyzeCommand$1(r,n).Context,o={v:null};this._rulesProvider.TryMatchAnyRule(f,o);var s=o.v;if(s){var l=this.toArray(s.GetCompletionOptions(i));this._languageSettings.newlineAfterPipe&&s.DefaultAfterApplyPolicy===Kusto.Data.IntelliSense.ApplyPolicy.AppendPipePolicy&&(s.DefaultAfterApplyPolicy=this._newlineAppendPipePolicy);var D=l.filter((function(u){return!(u&&u.Value&&t.disabledCompletionItemsV1[u.Value]===u.Kind)})).map((function(u,e){var a=t.getTextToInsert(s,u),n=a.insertText,r=a.insertTextFormat,c=iu.CslDocumentation.Instance.GetTopic(u),f=d.CompletionItem.create(u.Value);return f.kind=t.kustoKindToLsKind(u.Kind),f.insertText=n,f.insertTextFormat=r,f.sortText=t.getSortText(e+1),f.detail=c?c.ShortDescription:void 0,f.documentation=c?{value:c.LongDescription,kind:d.MarkupKind.Markdown}:void 0,f}));return Promise.resolve(d.CompletionList.create(D))}return Promise.resolve(d.CompletionList.create([]))}},{key:"doRangeFormat",value:function(u,e){if(!u)return Promise.resolve([]);var t=u.offsetAt(e.start),a=u.offsetAt(e.end),n=this.getFormattedCommandsInDocumentV2(u,t,a);return n.originalRange&&0!==n.formattedCommands.length?Promise.resolve([d.TextEdit.replace(n.originalRange,n.formattedCommands.join(""))]):Promise.resolve([])}},{key:"doDocumentFormat",value:function(u){if(!u)return Promise.resolve([]);var e=u.positionAt(0),t=u.positionAt(u.getText().length),a=d.Range.create(e,t),n=this.getFormattedCommandsInDocumentV2(u).formattedCommands.join("");return Promise.resolve([d.TextEdit.replace(a,n)])}},{key:"doCurrentCommandFormat",value:function(u,d){var e=u.offsetAt(d),t=this.createRange(u,e-1,e+1);return this.doRangeFormat(u,t)}},{key:"doFolding",value:function(u){return u?this.getCommandsInDocument(u).then((function(d){return d.map((function(d){d.text.endsWith("\r\n")?d.absoluteEnd-=2:(d.text.endsWith("\r")||d.text.endsWith("\n"))&&--d.absoluteEnd;var e=u.positionAt(d.absoluteStart),t=u.positionAt(d.absoluteEnd);return{startLine:e.line,startCharacter:e.character,endLine:t.line,endCharacter:t.character}}))})):Promise.resolve([])}},{key:"getClusterReferences",value:function(u,d){var e,t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,d),n=null==a||null===(e=a.Service)||void 0===e?void 0:e.GetClusterReferences();if(!n)return Promise.resolve([]);for(var r=[],c=new Set,f=0;f<n.Count;f++){var i=n.getItem(f),o=Kusto.Language.KustoFacts.GetHostName(i.Cluster);c.has(o)||(c.add(o),this._clustersSetInGlobalState.has(o)||r.push({clusterName:o}))}return Promise.resolve(r)}},{key:"getDatabaseReferences",value:function(u,d){var e,t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,d),n=null==a||null===(e=a.Service)||void 0===e?void 0:e.GetDatabaseReferences();if(!n)return Promise.resolve([]);for(var r=[],c=new Set,f=0;f<n.Count;f++){var i=n.getItem(f),o=Kusto.Language.KustoFacts.GetHostName(i.Cluster),s=this.createDatabaseUniqueName(o,i.Database);if(!c.has(s))c.add(s),this._nonEmptyDatabaseSetInGlobalState.has(s)||r.push({databaseName:i.Database,clusterName:i.Cluster})}return Promise.resolve(r)}},{key:"doValidation",value:function(u,d,e,t){var a=this;if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var n=this.parseDocumentV2(u),r=this.toArray(n.Blocks);d.length>0&&(r=this.getAffectedBlocks(r,d));var c=r.map((function(u){var d=a.toArray(u.Service.GetDiagnostics()),n=null!=e?e:a._languageSettings.enableQueryWarnings,r=null!=t?t:a._languageSettings.enableQuerySuggestions;if(n||r){var c=u.Service.GetAnalyzerDiagnostics(!0),f=a.toArray(c).filter((function(u){var d,e=n&&"Warning"===u.Severity||r&&"Suggestion"===u.Severity,t=!(null!==(d=a._languageSettings.disabledDiagnosticCodes)&&void 0!==d&&d.includes(u.Code));return e&&t}));d=d.concat(f)}return d})).reduce((function(u,d){return u.concat(d)}),[]),f=this.toLsDiagnostics(c,u);return Promise.resolve(f)}},{key:"getApplyCodeActions",value:function(u,d,e){for(var t=this.parseDocumentV2(u),a=this.getAffectedBlocks(this.toArray(t.Blocks),[{start:d,end:e}])[0].Service.GetCodeActions(d,d,0,null,!0,null,new Kusto.Language.Utils.CancellationToken),n=this.toArray(a.Actions),r=[],c=0;c<n.length;c++)r.push.apply(r,uu(this.flattenCodeActions(n[c],null)));return r}},{key:"getResultActions",value:function(u,d,e){var t=this,a=this.parseDocumentV2(u),n=this.getAffectedBlocks(this.toArray(a.Blocks),[{start:d,end:e}])[0],r=this.getApplyCodeActions(u,d,e).map((function(u){var e=[],a=t.toArray(n.Service.ApplyCodeAction(u,d).Actions).find((function(u){return u instanceof Kusto.Language.Editor.ChangeTextAction}));return a&&(e=t.toArray(a.Changes).map((function(u){return{start:u.Start+n.Start,deleteLength:u.DeleteLength,insertText:u.InsertText}}))),{title:u.Title,changes:e,kind:u.Kind}})).filter((function(u){return u.changes.length}));return Promise.resolve(r)}},{key:"transformCodeActionTitle",value:function(u,d){var e=u;switch(e){case"Apply":e="Apply once";break;case"Fix All":e="Apply to all";break;case"Extract Value":e="Extract value"}if(d){var t=d.charAt(0).toUpperCase()+d.slice(1);e="".concat(e," (").concat(t,")")}return e}},{key:"flattenCodeActions",value:function(u,d){var e=[];if(u instanceof su.ApplyAction)u.Title=this.transformCodeActionTitle(u.Title,d),e.push(u);else if(u instanceof su.MenuAction)for(var t=this.toArray(u.Actions),a=0;a<t.length;a++)e.push.apply(e,uu(this.flattenCodeActions(t[a],u.Title)));return e}},{key:"toLsDiagnostics",value:function(u,e){return u.filter((function(u){return u.HasLocation})).map((function(u){var t,a=e.positionAt(u.Start),n=e.positionAt(u.Start+u.Length),r=d.Range.create(a,n);switch(u.Severity){case"Suggestion":t=d.DiagnosticSeverity.Information;break;case"Warning":t=d.DiagnosticSeverity.Warning;break;default:t=d.DiagnosticSeverity.Error}return d.Diagnostic.create(r,u.Message,t,u.Code)}))}},{key:"doColorization",value:function(u,d){var e=this;if(!u||!this._languageSettings.useSemanticColorization)return Promise.resolve([]);if(!this.isIntellisenseV2()){if(d.length>0){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var t=this.toArray(this._parser.Results).filter((function(u){return!!u&&d.some((function(d){var e=d.start,t=d.end;return u.AbsoluteStart>=e&&u.AbsoluteStart<=t||e>=u.AbsoluteStart&&e<=u.AbsoluteEnd+1}))}));if(!t||0===t.length)return Promise.resolve([{classifications:[],absoluteStart:d[0].start,absoluteEnd:d[0].end}]);var a=t.map((function(u){return e.parseTextV1(u.Text,iu.ParseMode.TokenizeAllText),{classifications:Fu(e.getClassificationsFromParseResult(u.AbsoluteStart)),absoluteStart:u.AbsoluteStart,absoluteEnd:u.AbsoluteEnd}}));return Promise.resolve(a)}this.parseDocumentV1(u,iu.ParseMode.TokenizeAllText);var n=this.getClassificationsFromParseResult();return Promise.resolve([{classifications:Fu(n),absoluteStart:0,absoluteEnd:u.getText().length}])}var r=this.parseDocumentV2(u);if(d.length>0){var c=this.toArray(r.Blocks),f=this.getAffectedBlocks(c,d).map((function(u){return{classifications:Fu(e.toArray(u.Service.GetClassifications(u.Start,u.End).Classifications)),absoluteStart:u.Start,absoluteEnd:u.End}}));return Promise.resolve(f)}var i=this.toArray(r.Blocks).map((function(u){return e.toArray(u.Service.GetClassifications(u.Start,u.Length).Classifications)})).reduce((function(u,d){return u.concat(d)}),[]);return Promise.resolve([{classifications:Fu(i),absoluteStart:0,absoluteEnd:u.getText().length}])}},{key:"getAffectedBlocks",value:function(u,d){return u.filter((function(u){return!!u&&d.some((function(d){var e=d.start,t=d.end;return u.Start>=e&&u.Start<=t||e>=u.Start&&e<=u.End+1}))}))}},{key:"addClusterToSchema",value:function(u,d,e){var t=Kusto.Language.KustoFacts.GetHostName(d),a=this._kustoJsSchemaV2.GetCluster$1(t);if(a&&e.filter((function(u){var d=u.name;return!a.GetDatabase(d)})).forEach((function(u){var d=u.name,e=u.alternativeName,t=new lu.DatabaseSymbol.$ctor3(d,e||null,void 0,!1);a=a.AddDatabase(t)})),!a){var n=e.map((function(u){var d=u.name,e=u.alternativeName;return new lu.DatabaseSymbol.$ctor3(d,e||null,void 0,!1)})),r=new(mu(lu.DatabaseSymbol).$ctor1)(n);a=new lu.ClusterSymbol.$ctor1(t,r,!1)}return this._kustoJsSchemaV2=this._kustoJsSchemaV2.AddOrReplaceCluster(a),this._script=su.CodeScript.From$1(u.getText(),this._kustoJsSchemaV2),Promise.resolve()}},{key:"addDatabaseToSchema",value:function(d,e,t){var a=Kusto.Language.KustoFacts.GetHostName(e),n=this._kustoJsSchemaV2.GetCluster$1(a);n||(n=new lu.ClusterSymbol.$ctor1(a,null,!1));var r=u.convertToDatabaseSymbol(t);return n=n.AddOrUpdateDatabase(r),this._kustoJsSchemaV2=this._kustoJsSchemaV2.AddOrReplaceCluster(n),this._script=su.CodeScript.From$1(d.getText(),this._kustoJsSchemaV2),Promise.resolve()}},{key:"setSchema",value:function(d){if(this._schema=d,this._languageSettings.useIntellisenseV2&&d&&"Engine"===d.clusterType){var e=this.convertToKustoJsSchemaV2(d);this._kustoJsSchemaV2=e,this._script=void 0,this._parsePropertiesV2=void 0}var t=d?u.convertToKustoJsSchema(d):void 0;return this._kustoJsSchema=t,this.createRulesProvider(t,d.clusterType),Promise.resolve()}},{key:"setParameters",value:function(d,e){var t;if(!this._languageSettings.useIntellisenseV2||"Engine"!==this._schema.clusterType)throw new Error("setParameters requires intellisense V2 and Engine cluster");this._schema.globalScalarParameters=d,this._schema.globalTabularParameters=e;var a=d.map((function(d){return u.createParameterSymbol(d)})),n=e.map((function(d){return u.createTabularParameterSymbol(d)}));this._kustoJsSchemaV2=this._kustoJsSchemaV2.WithParameters(u.toBridgeList([].concat(uu(a),uu(n)))),this._script=null===(t=this._script)||void 0===t?void 0:t.WithGlobals(this._kustoJsSchemaV2);var r=u.convertToKustoJsSchema(this._schema);return this._kustoJsSchema=r,this.createRulesProvider(r,this._schema.clusterType),Promise.resolve(void 0)}},{key:"setSchemaFromShowSchema",value:function(u,d,e,t,a,n){var r=this._normalizeSchema(u,d,e,n);return this.setSchema(X(X({},r),{},{globalScalarParameters:t,globalTabularParameters:a}))}},{key:"_normalizeSchema",value:function(u,d,e,t){var a=Object.keys(u.Databases).map((function(d){return u.Databases[d]})).map((function(u){var d,e=u.Name,a=u.Tables,n=u.ExternalTables,r=u.MaterializedViews,c=u.Functions,f=u.EntityGroups,i=void 0===f?{}:f,o=u.MinorVersion,s=u.MajorVersion;return{name:e,alternateName:t,minorVersion:o,majorVersion:s,entityGroups:Object.entries(i).map((function(u){var d=q(u,2);return{name:d[0],members:d[1]}})),tables:(d=[]).concat.apply(d,uu([[a,"Table"],[r,"MaterializedView"],[n,"ExternalTable"]].filter((function(u){return q(u,1)[0]})).map((function(u){var d=q(u,2),e=d[0],t=d[1];return Object.values(e).map((function(u){var d=u.Name,e=u.OrderedColumns;return{name:d,docstring:u.DocString,entityType:t,columns:e.map((function(u){var d=u.Name;u.Type;var e=u.DocString;return{name:d,type:u.CslType,docstring:e,examples:u.Examples}}))}}))})))),functions:Object.keys(c).map((function(u){return c[u]})).map((function(u){return{name:u.Name,body:u.Body,docstring:u.DocString,inputParameters:u.InputParameters.map((function(u){return{name:u.Name,type:u.Type,cslType:u.CslType,cslDefaultValue:u.CslDefaultValue,columns:u.Columns?u.Columns.map((function(u){return{name:u.Name,type:u.Type,cslType:u.CslType}})):u.Columns}}))}}))}}));return{clusterType:"Engine",cluster:{connectionString:d,databases:a},database:a.filter((function(u){return u.name===e}))[0]}}},{key:"normalizeSchema",value:function(u,d,e,t){return Promise.resolve(this._normalizeSchema(u,d,e,t))}},{key:"getSchema",value:function(){return Promise.resolve(this._schema)}},{key:"getCommandInContext",value:function(u,d){return this.isIntellisenseV2()?this.getCommandInContextV2(u,d):this.getCommandInContextV1(u,d)}},{key:"getCommandAndLocationInContext",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve(null);var t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,e);if(!a)return Promise.resolve(null);var n=u.positionAt(a.Start),r=u.positionAt(a.End),c=d.Location.create(u.uri,d.Range.create(n,r)),f=a.Text;return Promise.resolve({text:f,location:c})}},{key:"getCommandInContextV1",value:function(u,d){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var e=this.getCurrentCommand(u,d);return e?Promise.resolve(e.Text):Promise.resolve(null)}},{key:"getCommandInContextV2",value:function(u,d){if(!u)return Promise.resolve(null);var e=this.parseDocumentV2(u),t=this.getCurrentCommandV2(e,d);return t?Promise.resolve(t.Text):Promise.resolve(null)}},{key:"getCommandsInDocument",value:function(u){return u?this.isIntellisenseV2()?this.getCommandsInDocumentV2(u):this.getCommandsInDocumentV1(u):Promise.resolve([])}},{key:"getCommandsInDocumentV1",value:function(u){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var d=this.toArray(this._parser.Results);return Promise.resolve(d.map((function(u){return{absoluteStart:u.AbsoluteStart,absoluteEnd:u.AbsoluteEnd,text:u.Text}})))}},{key:"toPlacementStyle",value:function(u){if(u)switch(u){case"None":return su.PlacementStyle.None;case"NewLine":return su.PlacementStyle.NewLine;case"Smart":return su.PlacementStyle.Smart;default:throw new Error("Unknown PlacementStyle")}}},{key:"getFormattedCommandsInDocumentV2",value:function(u,d,e){var t=this,a=this.parseDocumentV2(u),n=this.toArray(a.Blocks).filter((function(u){if(!u.Text||""==u.Text.trim())return!1;if(null==d||null==e)return!0;for(var t=u.End,a=u.Text,n=a.length-1;n>=0&&("\r"==a[n]||"\n"==a[n]);n--)t--;return u.Start>d&&u.Start<e||(t>d&&t<e||(u.Start<=d&&t>=e||void 0))}));return 0===n.length?{formattedCommands:[]}:{formattedCommands:n.map((function(u){var a,n,r=t._languageSettings.formatter,c=Kusto.Language.Editor.FormattingOptions.Default.WithIndentationSize(null!==(a=null==r?void 0:r.indentationSize)&&void 0!==a?a:4).WithInsertMissingTokens(!1).WithPipeOperatorStyle(null!==(n=t.toPlacementStyle(null==r?void 0:r.pipeOperatorStyle))&&void 0!==n?n:su.PlacementStyle.Smart).WithSemicolonStyle(Kusto.Language.Editor.PlacementStyle.None).WithBrackettingStyle(su.BrackettingStyle.Diagonal);return null==d||null==e||d===u.Start&&u.End,u.Service.GetFormattedText(c).Text})),originalRange:this.createRange(u,n[0].Start,n[n.length-1].End)}}},{key:"getCommandsInDocumentV2",value:function(u){var d=this.parseDocumentV2(u),e=this.toArray(d.Blocks).filter((function(u){return""!=u.Text.trim()}));return Promise.resolve(e.map((function(u){return{absoluteStart:u.Start,absoluteEnd:u.End,text:u.Text}})))}},{key:"getClientDirective",value:function(u){var d={v:null},e=iu.CslCommandParser.IsClientDirective(u,d);return Promise.resolve({isClientDirective:e,directiveWithoutLeadingComments:d.v})}},{key:"getAdminCommand",value:function(u){var d={v:null},e=iu.CslCommandParser.IsAdminCommand$1(u,d);return Promise.resolve({isAdminCommand:e,adminCommandWithoutLeadingComments:d.v})}},{key:"findDefinition",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var t=this.parseDocumentV2(u),a=u.offsetAt(e),n=this.getCurrentCommandV2(t,a);if(!n)return Promise.resolve([]);var r=n.Service.GetRelatedElements(u.offsetAt(e)),c=this.toArray(r.Elements)[0];if(!c)return Promise.resolve([]);var f=u.positionAt(c.Start),i=u.positionAt(c.End),o=d.Range.create(f,i),s=d.Location.create(u.uri,o);return Promise.resolve([s])}},{key:"findReferences",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var t=this.parseDocumentV2(u),a=u.offsetAt(e),n=this.getCurrentCommandV2(t,a);if(!n)return Promise.resolve([]);var r=n.Service.GetRelatedElements(u.offsetAt(e)),c=this.toArray(r.Elements);if(!c||0==c.length)return Promise.resolve([]);var f=c.map((function(e){var t=u.positionAt(e.Start),a=u.positionAt(e.End),n=d.Range.create(t,a);return d.Location.create(u.uri,n)}));return Promise.resolve(f)}},{key:"getQueryParams",value:function(u,d){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);this.parseDocumentV2(u);var e=this.parseAndAnalyze(u,d),t=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.QueryParametersStatement));if(!t||0==t.length)return Promise.resolve([]);var a=[];return t.forEach((function(u){u.WalkElements((function(u){return u.ReferencedSymbol&&u.ReferencedSymbol.Type?a.push({name:u.ReferencedSymbol.Name,type:u.ReferencedSymbol.Type.Name}):void 0}))})),Promise.resolve(a)}},{key:"getRenderInfo",value:function(u,d){var e=this,t=this.parseAndAnalyze(u,d);if(!t)return Promise.resolve(void 0);var a=this.toArray(t.Syntax.GetDescendants(Kusto.Language.Syntax.RenderOperator));if(!a||0===a.length)return Promise.resolve(void 0);var n=a[0],r=n.TextStart,c=n.End,f=n.ChartType.ValueText,i=n.WithClause;if(!i){var o={options:{visualization:f},location:{startOffset:r,endOffset:c}};return Promise.resolve(o)}var s={options:X({visualization:f},this.toArray(i.Properties).reduce((function(u,d){var t=d.Element$1.Name.SimpleName;switch(t){case"xcolumn":var a=d.Element$1.Expression.ReferencedSymbol.Name;u[t]=a;break;case"ycolumns":case"anomalycolumns":var n=e.toArray(d.Element$1.Expression.Names).map((function(u){return u.Element$1.SimpleName}));u[t]=n;break;case"ymin":case"ymax":var r=parseFloat(d.Element$1.Expression.ConstantValue);u[t]=r;break;case"title":case"xtitle":case"ytitle":case"visualization":case"series":var c=d.Element$1.Expression.ConstantValue;u[t]=c;break;case"xaxis":case"yaxis":var f=d.Element$1.Expression.ConstantValue;u[t]=f;break;case"legend":var i=d.Element$1.Expression.ConstantValue;u[t]=i;break;case"ysplit":var o=d.Element$1.Expression.ConstantValue;u[t]=o;break;case"accumulate":var s=d.Element$1.Expression.ConstantValue;u[t]=s;break;case"kind":var l=d.Element$1.Expression.ConstantValue;u[t]=l;break;default:bu(t)}return u}),{})),location:{startOffset:r,endOffset:c}};return Promise.resolve(s)}},{key:"getReferencedSymbols",value:function(u,d){var e=this.parseAndAnalyze(u,d);e||Promise.resolve([]);var t=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(u){return null!==u.ReferencedSymbol})).map((function(u){return u.ReferencedSymbol})).map((function(u){var d;return{name:u.Name,kind:null!==(d=Au[u.Kind])&&void 0!==d?d:"".concat(u.Kind),display:"".concat(u.Name," (").concat(u.AlternateName,")")}}));return Promise.resolve(t)}},{key:"getReferencedGlobalParams",value:function(u,d){var e=this.parseAndAnalyze(u,d);e||Promise.resolve([]);var t=this.toArray(this._kustoJsSchemaV2.Parameters),a=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(u){return null!==u.ReferencedSymbol})).map((function(u){return u.ReferencedSymbol})).filter((function(u){return t.filter((function(d){return d===u})).length>0})).map((function(u){return{name:u.Name,type:u.Type.Name}}));return Promise.resolve(a)}},{key:"getGlobalParams",value:function(u){if(!this.isIntellisenseV2())return Promise.resolve([]);var d=this.toArray(this._kustoJsSchemaV2.Parameters).map((function(u){return{name:u.Name,type:u.Type.Name}}));return Promise.resolve(d)}},{key:"doRename",value:function(u,e,t){if(!u||!this.isIntellisenseV2())return Promise.resolve(void 0);var a=this.parseDocumentV2(u),n=u.offsetAt(e),r=this.getCurrentCommandV2(a,n);if(!r)return Promise.resolve(void 0);var c=r.Service.GetRelatedElements(u.offsetAt(e)),f=this.toArray(c.Elements),i=f.filter((function(u){return u.Kind==su.RelatedElementKind.Declaration}));if(!i||0==i.length)return Promise.resolve(void 0);var o=f.map((function(e){var a=u.positionAt(e.Start),n=u.positionAt(e.End),r=d.Range.create(a,n);return d.TextEdit.replace(r,t)})),s={changes:tu({},u.uri,o)};return Promise.resolve(s)}},{key:"doHover",value:function(u,d){if(!u||!this.isIntellisenseV2())return Promise.resolve(void 0);var e=this.parseDocumentV2(u),t=u.offsetAt(d),a=this.getCurrentCommandV2(e,t);if(!a)return Promise.resolve(void 0);if(!a.Service.IsFeatureSupported(su.CodeServiceFeatures.QuickInfo,t))return Promise.resolve(void 0);var n=a.Service.GetQuickInfo(t);if(!n||!n.Items)return Promise.resolve(void 0);var r=this.toArray(n.Items);if(!r)return Promise.resolve(void 0);var c=(r=r.filter((function(u){return u.Kind!==su.QuickInfoKind.Error&&u.Kind!==su.QuickInfoKind.Suggestion&&u.Kind!==su.QuickInfoKind.Warning}))).map((function(u){return u.Text.replace("\n\n","\n* * *\n")})).join("\n* * *\n");return Promise.resolve({contents:c})}},{key:"convertToKustoJsSchemaV2",value:function(d){var e,t,a=this._schemaCache[d.cluster.connectionString];a||(this._schemaCache[d.cluster.connectionString]={},a=this._schemaCache[d.cluster.connectionString]);var n=d.cluster.databases.reduce((function(u,d){return u[d.name]=d}),{});Object.keys(a).map((function(u){n[u]||delete a.dbName}));var r=Du.Default,c=d.database?d.database.name:void 0,f=void 0,i=d.cluster.databases.map((function(d){var e=d.name===c,t=a[d.name];if(!t||t.database.majorVersion<d.majorVersion||e&&!t.includesFunctions){var n=u.convertToDatabaseSymbol(d);a[d.name]={database:d,symbol:n,includesFunctions:e}}var r=a[d.name].symbol;return d.name===c&&(f=r),r})),o=d.cluster.connectionString.match(/(.*\/\/)?([^\/;]*)/)[2].split(".")[0],s=new lu.ClusterSymbol.ctor(o,i);r=r.WithCluster(s),f&&(r=r.WithDatabase(f));var l=(null!==(e=d.globalScalarParameters)&&void 0!==e?e:[]).map((function(d){return u.createParameterSymbol(d)})),D=(null!==(t=d.globalTabularParameters)&&void 0!==t?t:[]).map((function(d){return u.createTabularParameterSymbol(d)}));return(D.length||l.length)&&(r=r.WithParameters(u.toBridgeList([].concat(uu(l),uu(D))))),r}},{key:"getClassificationsFromParseResult",value:function(){var u=this,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.toArray(this._parser.Results).map((function(d){return u.toArray(d.Tokens)})).reduce((function(u,d){return u.concat(d)}),[]).map((function(e){return new su.ClassifiedRange(u.tokenKindToClassificationKind(e.TokenKind),e.AbsoluteStart+d,e.Length)}))}},{key:"getSortText",value:function(u){if(u<=0)throw new RangeError("order should be a number >= 1. instead got ".concat(u));for(var d="",e=Math.floor(u/26),t=0;t<e;++t)d+="z";var a=u%26;return a>0&&(d+=String.fromCharCode(96+a)),d}},{key:"parseTextV1",value:function(u,d){this._parser.Parse("Engine"===this._schema.clusterType?this._rulesProvider:null,u,d)}},{key:"parseDocumentV1",value:function(u,d){this._parsePropertiesV1&&!this._parsePropertiesV1.isParseNeeded(u,this._rulesProvider,d)||(this.parseTextV1(u.getText(),d),this._parsePropertiesV1=new Cu(u.version,u.uri,this._rulesProvider,d))}},{key:"parseDocumentV2",value:function(u){return this._parsePropertiesV2&&!this._parsePropertiesV2.isParseNeeded(u,this._rulesProvider)||(this._script?this._script=this._script.WithText(u.getText()):this._script=su.CodeScript.From$1(u.getText(),this._kustoJsSchemaV2),this._parsePropertiesV2=new Cu(u.version,u.uri)),this._script}},{key:"getCurrentCommand",value:function(u,d){var e=this.toArray(this._parser.Results),t=e.filter((function(u){return u.AbsoluteStart<=d&&u.AbsoluteEnd>=d}))[0];return t||(t=e.filter((function(u){return u.AbsoluteStart<=d&&u.AbsoluteEnd+1>=d}))[0])&&!t.Text.endsWith("\r\n\r\n")?t:null}},{key:"getCurrentCommandV2",value:function(u,d){return u.GetBlockAtPosition(d)}},{key:"getTextToInsert",value:function(u,e){var t=u.GetBeforeApplyInfo(e.Value),a=u.GetAfterApplyInfo(e.Value),n=t.Text||""+e.Value+a.Text||"",r=d.InsertTextFormat.PlainText;if(a.OffsetToken&&a.OffsetPosition){var c=n.indexOf(a.OffsetToken);c>=0&&(n=this.insertToString(n,"$0",c-n.length+a.OffsetPosition),r=d.InsertTextFormat.Snippet)}else a.OffsetPosition&&(n=this.insertToString(n,"$0",a.OffsetPosition),r=d.InsertTextFormat.Snippet);return{insertText:n,insertTextFormat:r}}},{key:"insertToString",value:function(u,d,e){var t=u.length+e;return e>=0||t<0?u:u.substring(0,t)+d+u.substring(t)}},{key:"getCommandWithoutLastWord",value:function(u){var d=G("[\\w_]*$","s");return u.replace(d,"")}},{key:"createRulesProvider",value:function(u,d){var e=new(mu(String)),t=new(mu(String));if(this._parser=new iu.CslCommandParser,"Engine"!=d)if("DataManagement"!==d){var a=u,n=a.accounts,r=a.services,c=a.connectionString;new iu.KustoIntelliSenseAccountEntity,new iu.KustoIntelliSenseServiceEntity,this._rulesProvider=new iu.ClusterManagerIntelliSenseRulesProvider.$ctor1(new Bridge.ArrayEnumerable(n),new Bridge.ArrayEnumerable(r),c)}else this._rulesProvider=new iu.DataManagerIntelliSenseRulesProvider(null);else{var f=u;this._rulesProvider=this._languageSettings&&this._languageSettings.includeControlCommands?new iu.CslIntelliSenseRulesProvider.$ctor1(f.Cluster,f,e,t,null,!0,!0):new iu.CslQueryIntelliSenseRulesProvider.$ctor1(f.Cluster,f,e,t,null,null,null)}}},{key:"kustoKindToLsKind",value:function(u){var e=this._kustoKindtolsKind[u];return e||d.CompletionItemKind.Variable}},{key:"kustoKindToLsKindV2",value:function(u){var e=this._kustoKindToLsKindV2[u];return e||d.CompletionItemKind.Variable}},{key:"createRange",value:function(u,e,t){return d.Range.create(u.positionAt(e),u.positionAt(t))}},{key:"toArray",value:function(u){return Bridge.toArray(u)}},{key:"tokenKindToClassificationKind",value:function(u){return this._tokenKindToClassificationKind[u]||su.ClassificationKind.PlainText}},{key:"parseAndAnalyze",value:function(u,d){if(u&&this.isIntellisenseV2()){var e=this.parseDocumentV2(u),t=e.Text;if(void 0!==d){var a=this.getCurrentCommandV2(e,d);if(!a)return;t=a.Text}return Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2)}}}],[{key:"dummySchema",get:function(){return{clusterType:"Engine",cluster:{connectionString:"",databases:[]},database:void 0}}},{key:"convertToEntityDataType",value:function(u){}},{key:"convertToKustoJsSchema",value:function(u){switch(u.clusterType){case"Engine":var d=u.database?u.database.name:void 0,t=new iu.KustoIntelliSenseClusterEntity,a=void 0;t.ConnectionString=u.cluster.connectionString;var n=[];return u.cluster.databases.forEach((function(u){var t=new iu.KustoIntelliSenseDatabaseEntity;t.Name=u.name;var r=[];u.tables.forEach((function(u){var d=new iu.KustoIntelliSenseTableEntity;d.Name=u.name;var t=[];u.columns.forEach((function(u){var d=new iu.KustoIntelliSenseColumnEntity;d.Name=u.name,d.TypeCode=iu.EntityDataType[e.getEntityDataTypeFromCslType(u.type)],t.push(d)})),d.Columns=new Bridge.ArrayEnumerable(t),r.push(d)}));var c=[];u.functions.forEach((function(u){var d=new iu.KustoIntelliSenseFunctionEntity;d.Name=u.name,d.CallName=e.getCallName(u),d.Expression=e.getExpression(u),c.push(d)})),t.Tables=new Bridge.ArrayEnumerable(r),t.Functions=new Bridge.ArrayEnumerable(c),n.push(t),u.name==d&&(a=t)})),t.Databases=new Bridge.ArrayEnumerable(n),new iu.KustoIntelliSenseQuerySchema(t,a);case"ClusterManager":return{accounts:u.accounts.map((function(u){var d=new iu.KustoIntelliSenseAccountEntity;return d.Name=u,d})),services:u.services.map((function(u){var d=new iu.KustoIntelliSenseServiceEntity;return d.Name=u,d})),connectionString:u.connectionString};case"DataManagement":return;default:return bu(u)}}},{key:"scalarParametersToSignature",value:function(u){var d=u.map((function(u){return"".concat(u.name,": ").concat(u.cslType)})).join(", ");return"(".concat(d,")")}},{key:"inputParameterToSignature",value:function(u){var d=this,e=u.map((function(u){if(u.columns){var e=d.scalarParametersToSignature(u.columns);return"".concat(u.name,": ").concat(e)}return"".concat(u.name,": ").concat(u.cslType)})).join(", ");return"(".concat(e,")")}},{key:"toLetStatement",value:function(u){var d=this.inputParameterToSignature(u.inputParameters);return"let ".concat(u.name," = ").concat(d," ").concat(u.body)}},{key:"createColumnSymbol",value:function(d){return new lu.ColumnSymbol(d.name,lu.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(d.type)),d.docstring,null,null,d.examples?u.toBridgeList(d.examples):null)}},{key:"createParameterSymbol",value:function(u){var d=Kusto.Language.Symbols.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(u.type));return new lu.ParameterSymbol(u.name,d,null)}},{key:"createTabularParameterSymbol",value:function(d){var e=d.columns.map((function(d){return u.createColumnSymbol(d)})),t=new Kusto.Language.Symbols.TableSymbol.$ctor4(d.name,e);return new lu.ParameterSymbol(d.name,t,d.docstring)}},{key:"createParameter",value:function(d){if(!d.columns){var t=Kusto.Language.Symbols.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(d.type)),a=d.cslDefaultValue&&"string"==typeof d.cslDefaultValue?ou.QueryParser.ParseLiteral$1(d.cslDefaultValue):void 0;return new lu.Parameter.$ctor3(d.name,t,null,null,null,!1,null,1,1,a,null)}if(0==d.columns.length)return new lu.Parameter.ctor(d.name,lu.ParameterTypeKind.Tabular,lu.ArgumentKind.Expression,null,null,!1,null,1,1,null,null);var n=new lu.TableSymbol.ctor(d.columns.map((function(d){return u.createColumnSymbol(d)})));return new lu.Parameter.$ctor2(d.name,n)}},{key:"convertToDatabaseSymbol",value:function(u){var d=(u.tables||[]).map(this.createTableSymbol),e=(u.functions||[]).map(this.createFunctionSymbol),t=(u.entityGroups||[]).map(this.createEntityGroupSymbol);return new lu.DatabaseSymbol.$ctor2(u.name,u.alternateName||null,d.concat(e).concat(t))}},{key:"trimTrailingNewlineFromRange",value:function(u,e,t,a){for(var n=u.length-1;"\r"===u[n]||"\n"===u[n];)--n;var r=e+n+1,c=t.positionAt(r);return d.Range.create(a.start,c)}},{key:"toBridgeList",value:function(u){return new(System.Collections.Generic.List$1(System.Object).$ctor1)(u)}},{key:"createFunctionSymbol",value:function(d){var e=d.inputParameters.map((function(d){return u.createParameter(d)}));return new lu.FunctionSymbol.$ctor14(d.name,d.body,u.toBridgeList(e),d.docstring)}},{key:"createTableSymbol",value:function(d){var e,t=d.name,a=d.columns,n=d.entityType,r=d.docstring,c=Z(d,H),f=new Bridge.ArrayEnumerable(a.map((function(d){return u.createColumnSymbol(d)})));switch(n){case"MaterializedViewTable":var i=null!==(e=c.mvQuery)&&void 0!==e?e:null;return new lu.MaterializedViewSymbol.$ctor2(t,f,i,r);case"ExternalTable":return new lu.ExternalTableSymbol.$ctor3(t,f,r);default:return new lu.TableSymbol.$ctor6(t,f,r)}}},{key:"createEntityGroupSymbol",value:function(u){return new lu.EntityGroupSymbol.$ctor3(u.name,u.members.join(),null)}}]),u}(),Eu=new hu(hu.dummySchema,{includeControlCommands:!0,useIntellisenseV2:!0,useSemanticColorization:!0});function gu(u){return gu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},gu(u)}function vu(u,d){var e="undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(!e){if(Array.isArray(u)||(e=function(u,d){if(!u)return;if("string"==typeof u)return yu(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);"Object"===e&&u.constructor&&(e=u.constructor.name);if("Map"===e||"Set"===e)return Array.from(u);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return yu(u,d)}(u))||d&&u&&"number"==typeof u.length){e&&(u=e);var t=0,a=function(){};return{s:a,n:function(){return t>=u.length?{done:!0}:{done:!1,value:u[t++]}},e:function(u){throw u},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r=!0,c=!1;return{s:function(){e=e.call(u)},n:function(){var u=e.next();return r=u.done,u},e:function(u){c=!0,n=u},f:function(){try{r||null==e.return||e.return()}finally{if(c)throw n}}}}function yu(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function Su(u,d){for(var e=0;e<d.length;e++){var t=d[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,(a=t.key,n=void 0,n=function(u,d){if("object"!==gu(u)||null===u)return u;var e=u[Symbol.toPrimitive];if(void 0!==e){var t=e.call(u,d||"default");if("object"!==gu(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===d?String:Number)(u)}(a,"string"),"symbol"===gu(n)?n:String(n)),t)}var a,n}var Bu=function(){function u(d,e){!function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,u),this._ctx=d,this._languageSettings=e.languageSettings,this._languageService=Eu,this._languageService.configure(this._languageSettings)}var e,t,a;return e=u,t=[{key:"setSchema",value:function(u){return this._languageService.setSchema(u)}},{key:"addClusterToSchema",value:function(u,d,e){var t=this._getTextDocument(u);return t?this._languageService.addClusterToSchema(t,d,e):(console.error("addClusterToSchema: document is ".concat(t,". uri is ").concat(u)),Promise.resolve())}},{key:"addDatabaseToSchema",value:function(u,d,e){var t=this._getTextDocument(u);return t?this._languageService.addDatabaseToSchema(t,d,e):(console.error("addDatabaseToSchema: document is ".concat(t,". uri is ").concat(u)),Promise.resolve())}},{key:"setSchemaFromShowSchema",value:function(u,d,e){return this._languageService.setSchemaFromShowSchema(u,d,e)}},{key:"normalizeSchema",value:function(u,d,e){return this._languageService.normalizeSchema(u,d,e)}},{key:"getSchema",value:function(){return this._languageService.getSchema()}},{key:"getCommandInContext",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getCommandInContext: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getCommandInContext(e,d);return void 0===t?null:t}},{key:"getQueryParams",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getQueryParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getQueryParams(e,d);return void 0===t?null:t}},{key:"getGlobalParams",value:function(u){var d=this._getTextDocument(u);if(!d)return console.error("getGLobalParams: document is ".concat(d,". uri is ").concat(u)),null;var e=this._languageService.getGlobalParams(d);return void 0===e?null:e}},{key:"getReferencedSymbols",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getReferencedGlobalParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getReferencedSymbols(e,d);return void 0===t?null:t}},{key:"getReferencedGlobalParams",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getReferencedGlobalParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getReferencedGlobalParams(e,d);return void 0===t?null:t}},{key:"getRenderInfo",value:function(u,d){var e=this._getTextDocument(u);return e||console.error("getRenderInfo: document is ".concat(e,". uri is ").concat(u)),this._languageService.getRenderInfo(e,d).then((function(u){return u||null}))}},{key:"getCommandAndLocationInContext",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getCommandAndLocationInContext(e,d).then((function(u){if(!u)return null;var d=u.text,e=u.location.range,t=e.start,a=e.end;return{range:{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:a.line+1,endColumn:a.character+1},text:d}})):(console.error("getCommandAndLocationInContext: document is ".concat(e,". uri is ").concat(u)),Promise.resolve(null))}},{key:"getCommandsInDocument",value:function(u){var d=this._getTextDocument(u);return d?this._languageService.getCommandsInDocument(d):(console.error("getCommandInDocument: document is ".concat(d,". uri is ").concat(u)),null)}},{key:"doComplete",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.doComplete(e,d):null}},{key:"doValidation",value:function(u,d,e,t){var a=this._getTextDocument(u);return this._languageService.doValidation(a,d,e,t)}},{key:"getResultActions",value:function(u,d,e){var t=this._getTextDocument(u);return this._languageService.getResultActions(t,d,e)}},{key:"doRangeFormat",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doRangeFormat(e,d)}},{key:"doFolding",value:function(u){var d=this._getTextDocument(u);return this._languageService.doFolding(d)}},{key:"doDocumentFormat",value:function(u){var d=this._getTextDocument(u);return this._languageService.doDocumentFormat(d)}},{key:"doCurrentCommandFormat",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doCurrentCommandFormat(e,d)}},{key:"doColorization",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doColorization(e,d)}},{key:"getClientDirective",value:function(u){return this._languageService.getClientDirective(u)}},{key:"getAdminCommand",value:function(u){return this._languageService.getAdminCommand(u)}},{key:"findDefinition",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.findDefinition(e,d)}},{key:"findReferences",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.findReferences(e,d)}},{key:"doRename",value:function(u,d,e){var t=this._getTextDocument(u);return this._languageService.doRename(t,d,e)}},{key:"doHover",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doHover(e,d)}},{key:"setParameters",value:function(u,d){return this._languageService.setParameters(u,d)}},{key:"getClusterReferences",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getClusterReferences(e,d):Promise.resolve(null)}},{key:"getDatabaseReferences",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getDatabaseReferences(e,d):Promise.resolve(null)}},{key:"_getTextDocument",value:function(u){var e,t=vu(this._ctx.getMirrorModels());try{for(t.s();!(e=t.n()).done;){var a=e.value;if(a.uri.toString()===u)return d.TextDocument.create(u,this._languageId,a.version,a.getValue())}}catch(u){t.e(u)}finally{t.f()}return null}}],t&&Su(e.prototype,t),a&&Su(e,a),Object.defineProperty(e,"prototype",{writable:!1}),u}();u.KustoWorkerImpl=Bu,u.create=function(u,d){return new Bu(u,d)}}));
|
|
17
|
+
*/(u)||function(u,d){var e=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=e){var t,a,n,r,c=[],f=!0,i=!1;try{if(n=(e=e.call(u)).next,0===d){if(Object(e)!==e)return;f=!1}else for(;!(f=(t=n.call(e)).done)&&(c.push(t.value),c.length!==d);f=!0);}catch(u){i=!0,a=u}finally{try{if(!f&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(i)throw a}}return c}}(u,d)||M(u,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(u,d){if(u){if("string"==typeof u)return $(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);return"Object"===e&&u.constructor&&(e=u.constructor.name),"Map"===e||"Set"===e?Array.from(u):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?$(u,d):void 0}}function $(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function U(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var z=U([{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0-------------------------------------ೳ---------໎------------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcbd\udcc3-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"},{name:"Cc",alias:"Control",bmp:"\0--"},{name:"Cf",alias:"Format",bmp:"-----\ufeff-",astral:"\ud804[\udcbd\udccd]|\ud80d[\udc30-\udc38]|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"-----------------------------------ೳ---------໎--------------------------------------------------------------------------------------",astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9d-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2c\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd7b\udd8b\udd93\udd96\udda2\uddb2\uddba\uddbd-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udf7f\udf86\udfb1\udfbb-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude36\ude37\ude3b-\ude3e\ude49-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd28-\udd2f\udd3a-\ude5f\ude7f\udeaa\udeae\udeaf\udeb2-\udeff\udf28-\udf2f\udf5a-\udf6f\udf8a-\udfaf\udfcc-\udfdf\udff7-\udfff]|\ud804[\udc4e-\udc51\udc76-\udc7e\udcc3-\udccc\udcce\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd48-\udd4f\udd77-\udd7f\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5c\udc62-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeba-\udebf\udeca-\udeff\udf1b\udf1c\udf2c-\udf2f\udf47-\udfff]|\ud806[\udc3c-\udc9f\udcf3-\udcfe\udd07\udd08\udd0a\udd0b\udd14\udd17\udd36\udd39\udd3a\udd47-\udd4f\udd5a-\udd9f\udda8\udda9\uddd8\uddd9\udde5-\uddff\ude48-\ude4f\udea3-\udeaf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udcff\udd07\udd0a\udd37-\udd39\udd3b\udd3e\udd48-\udd4f\udd5a-\udd5f\udd66\udd69\udd8f\udd92\udd99-\udd9f\uddaa-\udedf\udef9-\udfaf\udfb1-\udfbf\udff2-\udffe]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80e-\ud810\ud812-\ud819\ud824-\ud82a\ud82d\ud82e\ud830-\ud832\ud83f\ud87b-\ud87d\ud87f\ud885-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80b[\udc00-\udf8f\udff3-\udfff]|\ud80d[\udc2f\udc39-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\udebf\udeca-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\ude3f\ude9b-\udeff\udf4b-\udf4e\udf88-\udf8e\udfa0-\udfdf\udfe5-\udfef\udff2-\udfff]|\ud821[\udff8-\udfff]|\ud823[\udcd6-\udcff\udd09-\udfff]|\ud82b[\udc00-\udfef\udff4\udffc\udfff]|\ud82c[\udd23-\udd4f\udd53-\udd63\udd68-\udd6f\udefc-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud833[\udc00-\udeff\udf2e\udf2f\udf47-\udf4f\udfc4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\uddeb-\uddff\ude46-\udedf\udef4-\udeff\udf57-\udf5f\udf79-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud837[\udc00-\udeff\udf1f-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udcff\udd2d-\udd2f\udd3e\udd3f\udd4a-\udd4d\udd50-\ude8f\udeaf-\udebf\udefa-\udefe\udf00-\udfff]|\ud839[\udc00-\udfdf\udfe7\udfec\udfef\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4c-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\udc70\udcb5-\udd00\udd3e-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\uddae-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\ude5f\ude66-\udeff]|\ud83d[\uded8-\udedc\udeed-\udeef\udefd-\udeff\udf74-\udf7f\udfd9-\udfdf\udfec-\udfef\udff1-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae\udcaf\udcb2-\udcff\ude54-\ude5f\ude6e\ude6f\ude75-\ude77\ude7d-\ude7f\ude87-\ude8f\udead-\udeaf\udebb-\udebf\udec6-\udecf\udeda-\udedf\udee8-\udeef\udef7-\udeff\udf93\udfcb-\udfef\udffa-\udfff]|\ud869[\udee0-\udeff]|\ud86d[\udf39-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udeaf]|\ud87a[\udfe1-\udfff]|\ud87e[\ude1e-\udfff]|\ud884[\udf4b-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\ud801[\udc00-\udc4f\udcb0-\udcd3\udcd8-\udcfb\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udc80-\udcb2\udcc0-\udcf2]|\ud806[\udca0-\udcdf]|\ud81b[\ude40-\ude7f]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd00-\udd43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0\udfe1\udfe3]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud838[\udd37-\udd3d]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udd00-\udd23\ude80-\udea9\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc03-\udc37\udc71\udc72\udc75\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd47\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f-\udc61\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a\udf40-\udf46]|\ud806[\udc00-\udc2b\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd2f\udd3f\udd41\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67\udd68\udd6a-\udd89\udd98\udee0-\udef2\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf4a\udf50]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|𝼊|\ud838[\udd00-\udd2c\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc00-\udc02\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc82\udcb0-\udcba\udcc2\udd00-\udd02\udd27-\udd34\udd45\udd46\udd73\udd80-\udd82\uddb3-\uddc0\uddc9-\uddcc\uddce\uddcf\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3b\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udc5e\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud806[\udc2c-\udc3a\udd30-\udd35\udd37\udd38\udd3b-\udd3e\udd40\udd42\udd43\uddd1-\uddd7\uddda-\udde0\udde4\ude01-\ude0a\ude33-\ude39\ude3b-\ude3e\ude47\ude51-\ude5b\ude8a-\ude99]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd8a-\udd8e\udd90\udd91\udd93-\udd97\udef3-\udef6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf51-\udf87\udf8f-\udf92\udfe4\udff0\udff1]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd45\udd46\udd82\uddb3-\uddb5\uddbf\uddc0\uddce\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud806[\udc2c-\udc2e\udc38\udd30-\udd35\udd37\udd38\udd3d\udd40\udd42\uddd1-\uddd3\udddc-\udddf\udde4\ude39\ude57\ude58\ude97]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4\udd8a-\udd8e\udd93\udd94\udd96\udef5\udef6]|\ud81b[\udf51-\udf87\udff0\udff1]|\ud834[\udd65\udd66\udd6d-\udd72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud803[\udd24-\udd27\udeab\udeac\udf46-\udf50\udf82-\udf85]|\ud804[\udc01\udc38-\udc46\udc70\udc73\udc74\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udcc2\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddc9-\uddcc\uddcf\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3b\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udc5e\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud806[\udc2f-\udc37\udc39\udc3a\udd3b\udd3c\udd3e\udd43\uddd4-\uddd7\uddda\udddb\udde0\ude01-\ude0a\ude33-\ude38\ude3b-\ude3e\ude47\ude51-\ude56\ude59-\ude5b\ude8a-\ude96\ude98\ude99]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6\udd31-\udd36\udd3a\udd3c\udd3d\udd3f-\udd45\udd47\udd90\udd91\udd95\udd97\udef3\udef4]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf4f\udf8f-\udf92\udfe4]|\ud82f[\udc9d\udc9e]|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd30-\udd36\udeae\udeec-\udeef]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\udd30-\udd39\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2\udd50-\udd59]|\ud807[\udc50-\udc6c\udd50-\udd59\udda0-\udda9\udfc0-\udfd4]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]|\ud83e[\udff0-\udff9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\ud801[\udca0-\udca9]|\ud803[\udd30-\udd39]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9\udd50-\udd59]|\ud807[\udc50-\udc59\udd50-\udd59\udda0-\udda9]|\ud81a[\ude60-\ude69\udec0-\udec9\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud838[\udd40-\udd49\udef0-\udef9]|\ud83a[\udd50-\udd59]|\ud83e[\udff0-\udff9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude48\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e\udf1d-\udf26\udf51-\udf54\udfc5-\udfcb]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c\udfc0-\udfd4]|\ud81a[\udf5b-\udf61]|\ud81b[\ude80-\ude96]|\ud834[\udee0-\udef3\udf60-\udf78]|\ud83a[\udcc7-\udccf]|\ud83b[\udc71-\udcab\udcad-\udcaf\udcb1-\udcb4\udd01-\udd2d\udd2f-\udd3d]|\ud83c[\udd00-\udd0c]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udead\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|𐕯|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud803[\udf55-\udf59\udf86-\udf89]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc8\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5a\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udeb9\udf3c-\udf3e]|\ud806[\udc3b\udd44-\udd46\udde2\ude3f-\ude46\ude9a-\ude9c\ude9e-\udea2]|\ud807[\udc41-\udc45\udc70\udc71\udef7\udef8\udfff]|\ud809[\udc70-\udc74]|\ud80b[\udff1\udff2]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud81b[\ude97-\ude9a\udfe2]|𛲟|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud838[\udd4f\udeff]|\ud83b[\udcac\udcb0\udd2e\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\ud807[\udfdd-\udfe0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\ud83c[\udffb-\udfff]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9c\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|𑜿|\ud807[\udfd5-\udfdc\udfe1-\udff1]|\ud81a[\udf3c-\udf3f\udf45]|𛲜|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\uddea\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|𞅏|\ud83b[\udcac\udd2e]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd0d-\uddad\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udffa]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca]"},{name:"Z",alias:"Separator",bmp:" - \u2028\u2029 "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" - "}]),W=U([{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\ude00-\udf36\udf40-\udf55\udf60-\udf67\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\ude80-\udea9\udeab\udeac\udeb0\udeb1\udf00-\udf1c\udf27\udf30-\udf45\udf70-\udf81\udfb0-\udfc4\udfe0-\udff6]|\ud804[\udc00-\udc45\udc71-\udc75\udc82-\udcb8\udcc2\udcd0-\udce8\udd00-\udd32\udd44-\udd47\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddce\uddcf\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc5f-\udc61\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udeb8\udf00-\udf1a\udf1d-\udf2a\udf40-\udf46]|\ud806[\udc00-\udc38\udca0-\udcdf\udcff-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b\udd3c\udd3f-\udd42\udda0-\udda7\uddaa-\uddd7\uddda-\udddf\udde1\udde3\udde4\ude00-\ude32\ude35-\ude3e\ude50-\ude97\ude9d\udeb0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd41\udd43\udd46\udd47\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd96\udd98\udee0-\udef6\udfb0]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80b[\udf90-\udff0]|[\ud80c\ud81c-\ud820\ud822\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude70-\udebe\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0\udfe1\udfe3\udff0\udff1]|\ud821[\udc00-\udff7]|\ud823[\udc00-\udcd5\udd00-\udd08]|\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00-\udd22\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud837[\udf00-\udf1e]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a\udd00-\udd2c\udd37-\udd3d\udd4e\ude90-\udead\udec0-\udeeb]|\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Any",isBmpLast:!0,bmp:"\0-",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"͏ᅟᅠ឴឵᠋-᠏---ㅤ︀-️\ufeffᅠ-",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc\udf80\udf83-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud81b[\ude60-\ude7f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud837[\udf00-\udf09\udf0b-\udf1e]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point",bmp:"-",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\ud801[\udc00-\udc27\udcb0-\udcd3\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud81b[\ude40-\ude5f]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"},{name:"White_Space",bmp:"\t-\r
- \u2028\u2029 "}]),J=U([{name:"Adlam",astral:"\ud83a[\udd00-\udd4b\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf1a\udf1d-\udf2b\udf30-\udf46]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"},{name:"Arabic",bmp:"-؆-؋؍-ؚ-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc75\udc7f]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\ud806[\udeb0-\udebf]"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"},{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\ud803[\udfb0-\udfcb]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·،؛؟ـ।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ ---⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\ufeff!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9c\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud833[\udf50-\udfc3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\uddea\udee0-\udef3\udf00-\udf56\udf60-\udf78]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83b[\udc71-\udcb4\udd01-\udd3d]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\uddad\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\ude60-\ude65\udf00-\udfff]|\ud83d[\udc00-\uded7\udedd-\udeec\udef0-\udefc\udf00-\udf73\udf80-\udfd8\udfe0-\udfeb\udff0]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udcb0\udcb1\udd00-\ude53\ude60-\ude6d\ude70-\ude74\ude78-\ude7c\ude80-\ude86\ude90-\udeac\udeb0-\udeba\udec0-\udec5\uded0-\uded9\udee0-\udee7\udef0-\udef6\udf00-\udf92\udf94-\udfca\udff0-\udff9]|\udb40[\udc01\udc20-\udc7f]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cypro_Minoan",astral:"\ud80b[\udf90-\udff2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\ud806[\udd00-\udd06\udd09\udd0c-\udd13\udd15\udd16\udd18-\udd35\udd37\udd38\udd3b-\udd46\udd50-\udd59]"},{name:"Dogra",astral:"\ud806[\udc00-\udc3b]"},{name:"Duployan",astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e\udc30-\udc38]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Elymaic",astral:"\ud803[\udfe0-\udff6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\ud839[\udfe0-\udfe6\udfe8-\udfeb\udfed\udfee\udff0-\udffe]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\ud807[\udd60-\udd65\udd67\udd68\udd6a-\udd8e\udd90\udd91\udd93-\udd98\udda0-\udda9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\ud81b[\udfe2\udfe3\udff0\udff1]|[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872\ud874-\ud879\ud880-\ud883][\udc00-\udfff]|\ud869[\udc00-\udedf\udf00-\udfff]|\ud86d[\udc00-\udf38\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\ud884[\udc00-\udf4a]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\ud803[\udd00-\udd27\udd30-\udd39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\ud82c[\udc01-\udd1f\udd50-\udd52]|🈀"},{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\ud800[\uddfd\udee0]|𑌻|\ud833[\udf00-\udf2d\udf30-\udf46]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"},{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc2\udccd]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\ud82b[\udff0-\udff3\udff5-\udffb\udffd\udffe]|\ud82c[\udc00\udd20-\udd22\udd64-\udd67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f-\ude48\ude50-\ude58]"},{name:"Khitan_Small_Script",astral:"𖿤|\ud822[\udf00-\udfff]|\ud823[\udc00-\udcd5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\ud801[\udf80-\udf85\udf87-\udfb0\udfb2-\udfba]|\ud837[\udf00-\udf1e]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Makasar",astral:"\ud807[\udee0-\udef8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Masaram_Gondi",astral:"\ud807[\udd00-\udd06\udd08\udd09\udd0b-\udd36\udd3a\udd3c\udd3d\udd3f-\udd47\udd50-\udd59]"},{name:"Medefaidrin",astral:"\ud81b[\ude40-\ude9a]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f]"},{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"Nandinagari",astral:"\ud806[\udda0-\udda7\uddaa-\uddd7\uddda-\udde4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\ud805[\udc00-\udc5b\udc5d-\udc61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\ud82c[\udd70-\udefb]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\ud838[\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udd4f]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23\udf2d-\udf2f]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_Sogdian",astral:"\ud803[\udf00-\udf27]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"},{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Old_Uyghur",astral:"\ud803[\udf70-\udf89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\ud804[\udd80-\udddf]"},{name:"Shavian",astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\ud804[\udde1-\uddf4]"},{name:"Sogdian",astral:"\ud803[\udf30-\udf59]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Soyombo",astral:"\ud806[\ude50-\udea2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\ud805[\ude80-\udeb9\udec0-\udec9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\ud807[\udfc0-\udff1\udfff]"},{name:"Tangsa",astral:"\ud81a[\ude70-\udebe\udec0-\udec9]"},{name:"Tangut",astral:"𖿠|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udeff]|\ud823[\udd00-\udd08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Toto",astral:"\ud838[\ude90-\udeae]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\ud801[\udd70-\udd7a\udd7c-\udd8a\udd8c-\udd92\udd94\udd95\udd97-\udda1\udda3-\uddb1\uddb3-\uddb9\uddbb\uddbc]"},{name:"Wancho",astral:"\ud838[\udec0-\udef9\udeff]"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yezidi",astral:"\ud803[\ude80-\udea9\udeab-\udead\udeb0\udeb1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\ud806[\ude00-\ude47]"}]);if(function(u){var d="xregexp",e=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,t=u.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,e],"g",{conjunction:"or"});function a(u){var d=/^(?:\(\?:\))*\^/,e=/\$(?:\(\?:\))*$/;return d.test(u)&&e.test(u)&&e.test(u.replace(/\\[\s\S]/g,""))?u.replace(d,"").replace(e,""):u}function n(e,t){var a=t?"x":"";return u.isRegExp(e)?e[d]&&e[d].captureNames?e:u(e.source,a):u(e,a)}function r(d){return d instanceof RegExp?d:u.escape(d)}function c(u,d,e){return u["subpattern".concat(e)]=d,u}function f(u,d,e){return u+(d<e.length-1?"{{subpattern".concat(d,"}}"):"")}u.tag=function(d){return function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];var i=a.map(r).reduce(c,{}),o=e.raw.map(f).join("");return u.build(o,i,d)}},u.build=function(r,c,f){var i=(f=f||"").includes("x"),o=/^\(\?([\w$]+)\)/.exec(r);o&&(f=u._clipDuplicates(f+o[1]));var s={};for(var l in c)if(c.hasOwnProperty(l)){var D=n(c[l],i);s[l]={pattern:a(D.source),names:D[d].captureNames||[]}}var m,b=n(r,i),C=0,p=0,F=[0],A=b[d].captureNames||[],h=b.source.replace(t,(function(u,d,t,a,n){var r,c,f,i=d||t;if(i){if(!s.hasOwnProperty(i))throw new ReferenceError("Undefined property ".concat(u));d?(r=A[p],F[++p]=++C,c="(?<".concat(r||i,">")):c="(?:",m=C;var o=s[i].pattern.replace(e,(function(u,d,e){if(d){if(r=s[i].names[C-m],++C,r)return"(?<".concat(r,">")}else if(e)return f=+e-1,s[i].names[f]?"\\k<".concat(s[i].names[f],">"):"\\".concat(+e+m);return u}));return"".concat(c).concat(o,")")}if(a){if(r=A[p],F[++p]=++C,r)return"(?<".concat(r,">")}else if(n)return A[f=+n-1]?"\\k<".concat(A[f],">"):"\\".concat(F[+n]);return u}));return u(h,f)}}(G),function(u){function d(u,d,e,t){return{name:u,value:d,start:e,end:t}}u.matchRecursive=function(e,t,a,n,r){r=r||{};var c,f=(n=n||"").includes("g"),i=n.includes("y"),o=n.replace(/y/g,"");t=u(t,o),a=u(a,o);var s=r.escapeChar;if(s){if(s.length>1)throw new Error("Cannot use more than one escape character");s=u.escape(s),c=new RegExp("(?:".concat(s,"[\\S\\s]|(?:(?!").concat(u.union([t,a],"",{conjunction:"or"}).source,")[^").concat(s,"])+)+"),n.replace(u._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}for(var l,D,m,b,C=0,p=0,F=0,A=0,h=r.valueNames,E=[];;){if(s&&(F+=(u.exec(e,c,F,"sticky")||[""])[0].length),m=u.exec(e,t,F),b=u.exec(e,a,F),m&&b&&(m.index<=b.index?b=null:m=null),m||b)F=(p=(m||b).index)+(m||b)[0].length;else if(!C)break;if(i&&!C&&p>A)break;if(m)C||(l=p,D=F),C+=1;else if(b&&C){if(!(C-=1)&&(h?(h[0]&&l>A&&E.push(d(h[0],e.slice(A,l),A,l)),h[1]&&E.push(d(h[1],e.slice(l,D),l,D)),h[2]&&E.push(d(h[2],e.slice(D,p),D,p)),h[3]&&E.push(d(h[3],e.slice(p,F),p,F))):E.push(e.slice(D,p)),A=F,!f))break}else{var g=r.unbalanced||"error";if("skip"!==g&&"skip-lazy"!==g){if("error"===g){var v=b?p:l;throw new Error("Unbalanced ".concat(b?"right":"left"," delimiter found in string at position ").concat(v))}throw new Error("Unsupported value for unbalanced: ".concat(g))}if(b)b=null;else{if("skip"===g)F=l+(u.exec(e,t,l,"sticky")[0].length||1);else F=l+1;C=0}}p===F&&(F+=1)}return f&&E.length>0&&!i&&h&&h[0]&&e.length>A&&E.push(d(h[0],e.slice(A),A,e.length)),E}}(G),function(u){var d={},e={},t=u._dec,a=u._hex,n=u._pad4;function r(u){return u.replace(/[- _]+/g,"").toLowerCase()}function c(u){var d=/^\\[xu](.+)/.exec(u);return d?t(d[1]):u.charCodeAt("\\"===u[0]?1:0)}function f(e){var t,r,f;return d[e]["b!"]||(d[e]["b!"]=(t=d[e].bmp,r="",f=-1,u.forEach(t,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(u){var d=c(u[1]);d>f+1&&(r+="\\u".concat(n(a(f+1))),d>f+2&&(r+="-\\u".concat(n(a(d-1))))),f=c(u[2]||u[1])})),f<65535&&(r+="\\u".concat(n(a(f+1))),f<65534&&(r+="-\\uFFFF")),r))}function i(u,e){var t=e?"a!":"a=";return d[u][t]||(d[u][t]=function(u,e){var t=d[u],a="";return t.bmp&&!t.isBmpLast&&(a="[".concat(t.bmp,"]").concat(t.astral?"|":"")),t.astral&&(a+=t.astral),t.isBmpLast&&t.bmp&&(a+="".concat(t.astral?"|":"","[").concat(t.bmp,"]")),e?"(?:(?!".concat(a,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-]))"):"(?:".concat(a,")")}(u,e))}u.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(function(u,t,a){var n="Unknown Unicode token ",c=j(u,6),o=c[0],s=c[1],l=c[2],D=c[3],m=c[4],b=c[5],C="P"===s||!!l,p=a.includes("A"),F=r(b||m),A=d[F];if("P"===s&&l)throw new SyntaxError("Invalid double negation "+o);if(!d.hasOwnProperty(F))throw new SyntaxError(n+o);if(D&&(!e[D]||!e[D][F]))throw new SyntaxError(n+o);if(A.inverseOf){if(F=r(A.inverseOf),!d.hasOwnProperty(F))throw new ReferenceError("".concat("Unicode token missing data "+o," -> ").concat(A.inverseOf));A=d[F],C=!C}if(!A.bmp&&!p)throw new SyntaxError("Astral mode required for Unicode token "+o);if(p){if("class"===t)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes");return i(F,C)}return"class"===t?C?f(F):A.bmp:"".concat((C?"[^":"[")+A.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"}),u.addUnicodeData=function(t,a){a&&(e[a]={});var n,c=function(u,d){var e="undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(!e){if(Array.isArray(u)||(e=M(u))||d&&u&&"number"==typeof u.length){e&&(u=e);var t=0,a=function(){};return{s:a,n:function(){return t>=u.length?{done:!0}:{done:!1,value:u[t++]}},e:function(u){throw u},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r=!0,c=!1;return{s:function(){e=e.call(u)},n:function(){var u=e.next();return r=u.done,u},e:function(u){c=!0,n=u},f:function(){try{r||null==e.return||e.return()}finally{if(c)throw n}}}}(t);try{for(c.s();!(n=c.n()).done;){var f=n.value;if(!f.name)throw new Error("Unicode token requires name");if(!(f.inverseOf||f.bmp||f.astral))throw new Error("Unicode token has no character data "+f.name);var i=r(f.name);if(d[i]=f,a&&(e[a][i]=!0),f.alias){var o=r(f.alias);d[o]=f,a&&(e[a][o]=!0)}}}catch(u){c.e(u)}finally{c.f()}u.cache.flush("patterns")},u._getUnicodeProperty=function(u){var e=r(u);return d[e]}}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");u.addUnicodeData(z)}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var d=W;d.push({name:"Assigned",inverseOf:"Cn"}),u.addUnicodeData(d)}(G),function(u){if(!u.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");u.addUnicodeData(J,"Script")}(G),"undefined"==typeof document){const u=(self.MonacoEnvironment?.baseUrl||"../../../")+"vs/language/kusto/";importScripts(u+"bridge.min.js",u+"kusto.javascript.client.min.js",u+"newtonsoft.json.min.js",u+"Kusto.Language.Bridge.min.js")}var Q,H=["name","columns","entityType","docstring"];function Z(u,d){if(null==u)return{};var e,t,a=function(u,d){if(null==u)return{};var e,t,a={},n=Object.keys(u);for(t=0;t<n.length;t++)e=n[t],d.indexOf(e)>=0||(a[e]=u[e]);return a}(u,d);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(u);for(t=0;t<n.length;t++)e=n[t],d.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(u,e)&&(a[e]=u[e])}return a}function q(u,d){return function(u){if(Array.isArray(u))return u}(u)||function(u,d){var e=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=e){var t,a,n,r,c=[],f=!0,i=!1;try{if(n=(e=e.call(u)).next,0===d){if(Object(e)!==e)return;f=!1}else for(;!(f=(t=n.call(e)).done)&&(c.push(t.value),c.length!==d);f=!0);}catch(u){i=!0,a=u}finally{try{if(!f&&null!=e.return&&(r=e.return(),Object(r)!==r))return}finally{if(i)throw a}}return c}}(u,d)||du(u,d)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(u,d){var e=Object.keys(u);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(u);d&&(t=t.filter((function(d){return Object.getOwnPropertyDescriptor(u,d).enumerable}))),e.push.apply(e,t)}return e}function X(u){for(var d=1;d<arguments.length;d++){var e=null!=arguments[d]?arguments[d]:{};d%2?Y(Object(e),!0).forEach((function(d){tu(u,d,e[d])})):Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(e)):Y(Object(e)).forEach((function(d){Object.defineProperty(u,d,Object.getOwnPropertyDescriptor(e,d))}))}return u}function uu(u){return function(u){if(Array.isArray(u))return eu(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||du(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function du(u,d){if(u){if("string"==typeof u)return eu(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);return"Object"===e&&u.constructor&&(e=u.constructor.name),"Map"===e||"Set"===e?Array.from(u):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?eu(u,d):void 0}}function eu(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function tu(u,d,e){return(d=fu(d))in u?Object.defineProperty(u,d,{value:e,enumerable:!0,configurable:!0,writable:!0}):u[d]=e,u}function au(u){return au="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},au(u)}function nu(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}function ru(u,d){for(var e=0;e<d.length;e++){var t=d[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,fu(t.key),t)}}function cu(u,d,e){return d&&ru(u.prototype,d),e&&ru(u,e),Object.defineProperty(u,"prototype",{writable:!1}),u}function fu(u){var d=function(u,d){if("object"!==au(u)||null===u)return u;var e=u[Symbol.toPrimitive];if(void 0!==e){var t=e.call(u,d||"default");if("object"!==au(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===d?String:Number)(u)}(u,"string");return"symbol"===au(d)?d:String(d)}var iu=Kusto.Data.IntelliSense,ou=Kusto.Language.Parsing,su=Kusto.Language.Editor,lu=Kusto.Language.Symbols,Du=Kusto.Language.GlobalState,mu=System.Collections.Generic.List$1;function bu(u){throw new Error("Unexpected object: "+u)}var Cu=function(){function u(d,e,t,a){nu(this,u),this.version=d,this.uri=e,this.rulesProvider=t,this.parseMode=a}return cu(u,[{key:"isParseNeeded",value:function(u,d,e){return!(u.uri===this.uri&&(!d||d===this.rulesProvider)&&u.version<=this.version&&e&&e<=this.parseMode)}}]),u}(),pu=function(u){return u[u.TableToken=2]="TableToken",u[u.TableColumnToken=4]="TableColumnToken",u[u.OperatorToken=8]="OperatorToken",u[u.SubOperatorToken=16]="SubOperatorToken",u[u.CalculatedColumnToken=32]="CalculatedColumnToken",u[u.StringLiteralToken=64]="StringLiteralToken",u[u.FunctionNameToken=128]="FunctionNameToken",u[u.UnknownToken=256]="UnknownToken",u[u.CommentToken=512]="CommentToken",u[u.PlainTextToken=1024]="PlainTextToken",u[u.DataTypeToken=2048]="DataTypeToken",u[u.ControlCommandToken=4096]="ControlCommandToken",u[u.CommandPartToken=8192]="CommandPartToken",u[u.QueryParametersToken=16384]="QueryParametersToken",u[u.CslCommandToken=32768]="CslCommandToken",u[u.LetVariablesToken=65536]="LetVariablesToken",u[u.PluginToken=131072]="PluginToken",u[u.BracketRangeToken=262144]="BracketRangeToken",u[u.ClientDirectiveToken=524288]="ClientDirectiveToken",u}({});function Fu(u){return u.map((function(u){return{start:u.Start,end:u.End,length:u.Length,kind:u.Kind}}))}var Au=(tu(Q={},lu.SymbolKind.Cluster,"Cluster"),tu(Q,lu.SymbolKind.Column,"Column"),tu(Q,lu.SymbolKind.Command,"Command"),tu(Q,lu.SymbolKind.Database,"Database"),tu(Q,lu.SymbolKind.EntityGroup,"EntityGroup"),tu(Q,lu.SymbolKind.EntityGroupElement,"EntityGroupElement"),tu(Q,lu.SymbolKind.Error,"Error"),tu(Q,lu.SymbolKind.Function,"Function"),tu(Q,lu.SymbolKind.Graph,"Graph"),tu(Q,lu.SymbolKind.Group,"Group"),tu(Q,lu.SymbolKind.MaterializedView,"MaterializedView"),tu(Q,lu.SymbolKind.None,"None"),tu(Q,lu.SymbolKind.Operator,"Operator"),tu(Q,lu.SymbolKind.Option,"Option"),tu(Q,lu.SymbolKind.Parameter,"Parameter"),tu(Q,lu.SymbolKind.Pattern,"Pattern"),tu(Q,lu.SymbolKind.QueryOperatorParameter,"QueryOperatorParameter"),tu(Q,lu.SymbolKind.Primitive,"Primitive"),tu(Q,lu.SymbolKind.Table,"Table"),tu(Q,lu.SymbolKind.Tuple,"Tuple"),tu(Q,lu.SymbolKind.Variable,"Variable"),tu(Q,lu.SymbolKind.Void,"Void"),Q),hu=function(){function u(e,t){var a,n,r,c,f=this;nu(this,u),tu(this,"_toOptionKind",(tu(a={},su.CompletionKind.AggregateFunction,iu.OptionKind.FunctionAggregation),tu(a,su.CompletionKind.BuiltInFunction,iu.OptionKind.FunctionScalar),tu(a,su.CompletionKind.Cluster,iu.OptionKind.Database),tu(a,su.CompletionKind.Column,iu.OptionKind.Column),tu(a,su.CompletionKind.CommandPrefix,iu.OptionKind.Command),tu(a,su.CompletionKind.Database,iu.OptionKind.Database),tu(a,su.CompletionKind.DatabaseFunction,iu.OptionKind.FunctionServerSide),tu(a,su.CompletionKind.Example,iu.OptionKind.Literal),tu(a,su.CompletionKind.Identifier,iu.OptionKind.None),tu(a,su.CompletionKind.Keyword,iu.OptionKind.Option),tu(a,su.CompletionKind.LocalFunction,iu.OptionKind.FunctionLocal),tu(a,su.CompletionKind.MaterialiedView,iu.OptionKind.MaterializedView),tu(a,su.CompletionKind.Parameter,iu.OptionKind.Parameter),tu(a,su.CompletionKind.Punctuation,iu.OptionKind.None),tu(a,su.CompletionKind.QueryPrefix,iu.OptionKind.Operator),tu(a,su.CompletionKind.RenderChart,iu.OptionKind.OptionRender),tu(a,su.CompletionKind.ScalarInfix,iu.OptionKind.None),tu(a,su.CompletionKind.ScalarPrefix,iu.OptionKind.Literal),tu(a,su.CompletionKind.ScalarType,iu.OptionKind.DataType),tu(a,su.CompletionKind.Syntax,iu.OptionKind.None),tu(a,su.CompletionKind.Table,iu.OptionKind.Table),tu(a,su.CompletionKind.TabularPrefix,iu.OptionKind.None),tu(a,su.CompletionKind.TabularSuffix,iu.OptionKind.None),tu(a,su.CompletionKind.Unknown,iu.OptionKind.None),tu(a,su.CompletionKind.Variable,iu.OptionKind.Parameter),tu(a,su.CompletionKind.Option,iu.OptionKind.Option),tu(a,su.CompletionKind.Graph,iu.OptionKind.Graph),tu(a,su.CompletionKind.EntityGroup,iu.OptionKind.EntityGroup),a)),tu(this,"disabledCompletionItemsV2",{ladderchart:su.CompletionKind.RenderChart,pivotchart:su.CompletionKind.RenderChart,timeline:su.CompletionKind.RenderChart,timepivot:su.CompletionKind.RenderChart,"3Dchart":su.CompletionKind.RenderChart,list:su.CompletionKind.RenderChart}),tu(this,"isIntellisenseV2",(function(){return f._languageSettings.useIntellisenseV2&&f._schema&&"Engine"===f._schema.clusterType})),tu(this,"disabledCompletionItemsV1",{capacity:iu.OptionKind.Policy,callout:iu.OptionKind.Policy,encoding:iu.OptionKind.Policy,batching:iu.OptionKind.Policy,querythrottling:iu.OptionKind.Policy,merge:iu.OptionKind.Policy,querylimit:iu.OptionKind.Policy,rowstore:iu.OptionKind.Policy,streamingingestion:iu.OptionKind.Policy,restricted_view_access:iu.OptionKind.Policy,sharding:iu.OptionKind.Policy,"restricted-viewers":iu.OptionKind.Policy,attach:iu.OptionKind.Command,purge:iu.OptionKind.Command}),tu(this,"_kustoKindtolsKind",(tu(n={},iu.OptionKind.None,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.Operator,d.CompletionItemKind.Method),tu(n,iu.OptionKind.Command,d.CompletionItemKind.Method),tu(n,iu.OptionKind.Service,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Policy,d.CompletionItemKind.Reference),tu(n,iu.OptionKind.Database,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Table,d.CompletionItemKind.Class),tu(n,iu.OptionKind.DataType,d.CompletionItemKind.Class),tu(n,iu.OptionKind.Literal,d.CompletionItemKind.Property),tu(n,iu.OptionKind.Parameter,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.IngestionMapping,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.ExpressionFunction,d.CompletionItemKind.Variable),tu(n,iu.OptionKind.Option,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.OptionKind,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.OptionRender,d.CompletionItemKind.Interface),tu(n,iu.OptionKind.Column,d.CompletionItemKind.Function),tu(n,iu.OptionKind.ColumnString,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnNumeric,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnDateTime,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ColumnTimespan,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionServerSide,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionAggregation,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionFilter,d.CompletionItemKind.Field),tu(n,iu.OptionKind.FunctionScalar,d.CompletionItemKind.Field),tu(n,iu.OptionKind.ClientDirective,d.CompletionItemKind.Enum),n)),tu(this,"_kustoKindToLsKindV2",(tu(r={},su.CompletionKind.AggregateFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.BuiltInFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Cluster,d.CompletionItemKind.Class),tu(r,su.CompletionKind.Column,d.CompletionItemKind.Function),tu(r,su.CompletionKind.CommandPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Database,d.CompletionItemKind.Class),tu(r,su.CompletionKind.DatabaseFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Example,d.CompletionItemKind.Text),tu(r,su.CompletionKind.Identifier,d.CompletionItemKind.Method),tu(r,su.CompletionKind.Keyword,d.CompletionItemKind.Method),tu(r,su.CompletionKind.LocalFunction,d.CompletionItemKind.Field),tu(r,su.CompletionKind.MaterialiedView,d.CompletionItemKind.Class),tu(r,su.CompletionKind.Parameter,d.CompletionItemKind.Variable),tu(r,su.CompletionKind.Punctuation,d.CompletionItemKind.Interface),tu(r,su.CompletionKind.QueryPrefix,d.CompletionItemKind.Function),tu(r,su.CompletionKind.RenderChart,d.CompletionItemKind.Method),tu(r,su.CompletionKind.ScalarInfix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.ScalarPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.ScalarType,d.CompletionItemKind.TypeParameter),tu(r,su.CompletionKind.Syntax,d.CompletionItemKind.Method),tu(r,su.CompletionKind.Table,d.CompletionItemKind.Class),tu(r,su.CompletionKind.TabularPrefix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.TabularSuffix,d.CompletionItemKind.Field),tu(r,su.CompletionKind.Unknown,d.CompletionItemKind.Interface),tu(r,su.CompletionKind.Variable,d.CompletionItemKind.Variable),tu(r,su.CompletionKind.Option,d.CompletionItemKind.Text),tu(r,su.CompletionKind.Graph,d.CompletionItemKind.Class),tu(r,su.CompletionKind.EntityGroup,d.CompletionItemKind.Class),r)),tu(this,"_tokenKindToClassificationKind",(tu(c={},pu.TableToken,su.ClassificationKind.Table),tu(c,pu.TableColumnToken,su.ClassificationKind.Column),tu(c,pu.OperatorToken,su.ClassificationKind.QueryOperator),tu(c,pu.SubOperatorToken,su.ClassificationKind.Function),tu(c,pu.CalculatedColumnToken,su.ClassificationKind.Column),tu(c,pu.StringLiteralToken,su.ClassificationKind.Literal),tu(c,pu.FunctionNameToken,su.ClassificationKind.Function),tu(c,pu.UnknownToken,su.ClassificationKind.PlainText),tu(c,pu.CommentToken,su.ClassificationKind.Comment),tu(c,pu.PlainTextToken,su.ClassificationKind.PlainText),tu(c,pu.DataTypeToken,su.ClassificationKind.Type),tu(c,pu.ControlCommandToken,su.ClassificationKind.PlainText),tu(c,pu.CommandPartToken,su.ClassificationKind.PlainText),tu(c,pu.QueryParametersToken,su.ClassificationKind.QueryParameter),tu(c,pu.CslCommandToken,su.ClassificationKind.Keyword),tu(c,pu.LetVariablesToken,su.ClassificationKind.Identifier),tu(c,pu.PluginToken,su.ClassificationKind.Function),tu(c,pu.BracketRangeToken,su.ClassificationKind.Keyword),tu(c,pu.ClientDirectiveToken,su.ClassificationKind.Keyword),c)),this._schemaCache={},this._kustoJsSchema=u.convertToKustoJsSchema(e),this.__kustoJsSchemaV2=this.convertToKustoJsSchemaV2(e),this._schema=e,this._clustersSetInGlobalState=new Set,this._nonEmptyDatabaseSetInGlobalState=new Set,this.configure(t),this._newlineAppendPipePolicy=new Kusto.Data.IntelliSense.ApplyPolicy,this._newlineAppendPipePolicy.Text="\n| "}return cu(u,[{key:"createDatabaseUniqueName",value:function(u,d){return"".concat(u,"_").concat(d)}},{key:"_kustoJsSchemaV2",get:function(){return this.__kustoJsSchemaV2},set:function(u){this.__kustoJsSchemaV2=u,this._clustersSetInGlobalState.clear(),this._nonEmptyDatabaseSetInGlobalState.clear();for(var d=0;d<u.Clusters.Count;d++){var e=this._kustoJsSchemaV2.Clusters.getItem(d);this._clustersSetInGlobalState.add(e.Name);for(var t=0;t<e.Databases.Count;t++){var a=e.Databases.getItem(t);a.Tables.Count>0&&this._nonEmptyDatabaseSetInGlobalState.add(this.createDatabaseUniqueName(e.Name,a.Name))}}}},{key:"configure",value:function(u){this._languageSettings=u,this.createRulesProvider(this._kustoJsSchema,this._schema.clusterType)}},{key:"doComplete",value:function(u,d){return this.isIntellisenseV2()?this.doCompleteV2(u,d):this.doCompleteV1(u,d)}},{key:"debugGlobalState",value:function(u){console.log("globals.Clusters.Count: ".concat(u.Clusters.Count));for(var d=0;d<u.Clusters.Count;d++){var e=u.Clusters.getItem(d);console.log("cluster: ".concat(e.Name)),console.log("cluster.Databases.Count: ".concat(e.Databases.Count));for(var t=0;t<e.Databases.Count;t++){var a=e.Databases.getItem(t);console.log("cluster.database: [".concat(e.Name,"].[").concat(a.Name,"]")),console.log("cluster.Databases.Tables.Count: ".concat(a.Tables.Count));for(var n=0;n<a.Tables.Count;n++){var r=a.Tables.getItem(n);console.log("cluster.database.table: [".concat(e.Name,"].[").concat(a.Name,"].[").concat(r.Name,"]"))}}}}},{key:"formatHelpTopic",value:function(u){return"**".concat(u.Name," [(view online)](").concat(u.Url,")**\n\n").concat(u.LongDescription)}},{key:"doCompleteV2",value:function(u,e){var t=this;if(!u)return Promise.resolve(d.CompletionList.create([]));var a=this.parseDocumentV2(u),n=u.offsetAt(e),r=a.GetBlockAtPosition(n).Service.GetCompletionItems(n),c=this.disabledCompletionItemsV2;this._languageSettings.disabledCompletionItems&&this._languageSettings.disabledCompletionItems.map((function(u){c[u]=su.CompletionKind.Unknown}));var f=this.toArray(r.Items),i=f.filter((function(u){return!(u&&u.MatchText&&void 0!==c[u.MatchText]&&(c[u.MatchText]===su.CompletionKind.Unknown||c[u.MatchText]===u.Kind))})).map((function(e,a){var n=new iu.CompletionOption(t._toOptionKind[e.Kind]||iu.OptionKind.None,e.DisplayText),c=t.getTopic(n),i=e.AfterText&&e.AfterText.length>0?{textToInsert:"".concat(e.EditText.replace("$","\\$"),"$0").concat(e.AfterText),format:d.InsertTextFormat.Snippet}:{textToInsert:e.EditText,format:d.InsertTextFormat.PlainText},o=i.textToInsert,s=i.format,l=d.CompletionItem.create(e.DisplayText),D=l.kind===d.CompletionItemKind.Field?0:f.length;D*=l.label.split("_").filter((function(u){return!!u})).length;var m=u.positionAt(r.EditStart),b=u.positionAt(r.EditStart+r.EditLength);return l.textEdit=d.TextEdit.replace(d.Range.create(m,b),o),l.sortText=t.getSortText(D+a+1),l.filterText=l.label.charAt(0).toLowerCase()+l.label.slice(1),l.kind=t.kustoKindToLsKindV2(e.Kind),l.insertTextFormat=s,l.detail=c?c.ShortDescription:void 0,l.documentation=c?{value:t.formatHelpTopic(c),kind:d.MarkupKind.Markdown}:void 0,l}));return Promise.resolve(d.CompletionList.create(i))}},{key:"getTopic",value:function(u){if(u.Kind==iu.OptionKind.FunctionScalar||u.Kind==iu.OptionKind.FunctionAggregation){var d=u.Value.indexOf("(");d>=0&&(u=new iu.CompletionOption(u.Kind,u.Value.substring(0,d)))}return iu.CslDocumentation.Instance.GetTopic(u)}},{key:"doCompleteV1",value:function(u,e){var t=this,a=u.offsetAt(e);this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var n=this.getCurrentCommand(u,a),r="";if(n){n.AbsoluteStart,this.parseTextV1(n.Text,iu.ParseMode.TokenizeAllText);var c=a-n.AbsoluteStart;r=n.Text.substring(n.CslExpressionStartPosition,c)}var f=this.getCommandWithoutLastWord(r),i=this._rulesProvider.AnalyzeCommand$1(r,n).Context,o={v:null};this._rulesProvider.TryMatchAnyRule(f,o);var s=o.v;if(s){var l=this.toArray(s.GetCompletionOptions(i));this._languageSettings.newlineAfterPipe&&s.DefaultAfterApplyPolicy===Kusto.Data.IntelliSense.ApplyPolicy.AppendPipePolicy&&(s.DefaultAfterApplyPolicy=this._newlineAppendPipePolicy);var D=l.filter((function(u){return!(u&&u.Value&&t.disabledCompletionItemsV1[u.Value]===u.Kind)})).map((function(u,e){var a=t.getTextToInsert(s,u),n=a.insertText,r=a.insertTextFormat,c=iu.CslDocumentation.Instance.GetTopic(u),f=d.CompletionItem.create(u.Value);return f.kind=t.kustoKindToLsKind(u.Kind),f.insertText=n,f.insertTextFormat=r,f.sortText=t.getSortText(e+1),f.detail=c?c.ShortDescription:void 0,f.documentation=c?{value:c.LongDescription,kind:d.MarkupKind.Markdown}:void 0,f}));return Promise.resolve(d.CompletionList.create(D))}return Promise.resolve(d.CompletionList.create([]))}},{key:"doRangeFormat",value:function(u,e){if(!u)return Promise.resolve([]);var t=u.offsetAt(e.start),a=u.offsetAt(e.end),n=this.getFormattedCommandsInDocumentV2(u,t,a);return n.originalRange&&0!==n.formattedCommands.length?Promise.resolve([d.TextEdit.replace(n.originalRange,n.formattedCommands.join(""))]):Promise.resolve([])}},{key:"doDocumentFormat",value:function(u){if(!u)return Promise.resolve([]);var e=u.positionAt(0),t=u.positionAt(u.getText().length),a=d.Range.create(e,t),n=this.getFormattedCommandsInDocumentV2(u).formattedCommands.join("");return Promise.resolve([d.TextEdit.replace(a,n)])}},{key:"doCurrentCommandFormat",value:function(u,d){var e=u.offsetAt(d),t=this.createRange(u,e-1,e+1);return this.doRangeFormat(u,t)}},{key:"doFolding",value:function(u){return u?this.getCommandsInDocument(u).then((function(d){return d.map((function(d){d.text.endsWith("\r\n")?d.absoluteEnd-=2:(d.text.endsWith("\r")||d.text.endsWith("\n"))&&--d.absoluteEnd;var e=u.positionAt(d.absoluteStart),t=u.positionAt(d.absoluteEnd);return{startLine:e.line,startCharacter:e.character,endLine:t.line,endCharacter:t.character}}))})):Promise.resolve([])}},{key:"getClusterReferences",value:function(u,d){var e,t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,d),n=null==a||null===(e=a.Service)||void 0===e?void 0:e.GetClusterReferences();if(!n)return Promise.resolve([]);for(var r=[],c=new Set,f=0;f<n.Count;f++){var i=n.getItem(f),o=Kusto.Language.KustoFacts.GetHostName(i.Cluster);c.has(o)||(c.add(o),this._clustersSetInGlobalState.has(o)||r.push({clusterName:o}))}return Promise.resolve(r)}},{key:"getDatabaseReferences",value:function(u,d){var e,t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,d),n=null==a||null===(e=a.Service)||void 0===e?void 0:e.GetDatabaseReferences();if(!n)return Promise.resolve([]);for(var r=[],c=new Set,f=0;f<n.Count;f++){var i=n.getItem(f),o=Kusto.Language.KustoFacts.GetHostName(i.Cluster),s=this.createDatabaseUniqueName(o,i.Database);if(!c.has(s))c.add(s),this._nonEmptyDatabaseSetInGlobalState.has(s)||r.push({databaseName:i.Database,clusterName:i.Cluster})}return Promise.resolve(r)}},{key:"doValidation",value:function(u,d,e,t){var a=this;if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var n=this.parseDocumentV2(u),r=this.toArray(n.Blocks);d.length>0&&(r=this.getAffectedBlocks(r,d));var c=r.map((function(u){var d=a.toArray(u.Service.GetDiagnostics()),n=null!=e?e:a._languageSettings.enableQueryWarnings,r=null!=t?t:a._languageSettings.enableQuerySuggestions;if(n||r){var c=u.Service.GetAnalyzerDiagnostics(!0),f=a.toArray(c).filter((function(u){var d,e=n&&"Warning"===u.Severity||r&&"Suggestion"===u.Severity,t=!(null!==(d=a._languageSettings.disabledDiagnosticCodes)&&void 0!==d&&d.includes(u.Code));return e&&t}));d=d.concat(f)}return d})).reduce((function(u,d){return u.concat(d)}),[]),f=this.toLsDiagnostics(c,u);return Promise.resolve(f)}},{key:"getApplyCodeActions",value:function(u,d,e){for(var t=this.parseDocumentV2(u),a=this.getAffectedBlocks(this.toArray(t.Blocks),[{start:d,end:e}])[0].Service.GetCodeActions(d,d,0,null,!0,null,new Kusto.Language.Utils.CancellationToken),n=this.toArray(a.Actions),r=[],c=0;c<n.length;c++)r.push.apply(r,uu(this.flattenCodeActions(n[c],null)));return r}},{key:"getResultActions",value:function(u,d,e){var t=this,a=this.parseDocumentV2(u),n=this.getAffectedBlocks(this.toArray(a.Blocks),[{start:d,end:e}])[0],r=this.getApplyCodeActions(u,d,e).map((function(u){var e=[],a=t.toArray(n.Service.ApplyCodeAction(u,d).Actions).find((function(u){return u instanceof Kusto.Language.Editor.ChangeTextAction}));return a&&(e=t.toArray(a.Changes).map((function(u){return{start:u.Start+n.Start,deleteLength:u.DeleteLength,insertText:u.InsertText}}))),{title:u.Title,changes:e,kind:u.Kind}})).filter((function(u){return u.changes.length}));return Promise.resolve(r)}},{key:"transformCodeActionTitle",value:function(u,d){var e=u;switch(e){case"Apply":e="Apply once";break;case"Fix All":e="Apply to all";break;case"Extract Value":e="Extract value"}if(d){var t=d.charAt(0).toUpperCase()+d.slice(1);e="".concat(e," (").concat(t,")")}return e}},{key:"flattenCodeActions",value:function(u,d){var e=[];if(u instanceof su.ApplyAction)u.Title=this.transformCodeActionTitle(u.Title,d),e.push(u);else if(u instanceof su.MenuAction)for(var t=this.toArray(u.Actions),a=0;a<t.length;a++)e.push.apply(e,uu(this.flattenCodeActions(t[a],u.Title)));return e}},{key:"toLsDiagnostics",value:function(u,e){return u.filter((function(u){return u.HasLocation})).map((function(u){var t,a=e.positionAt(u.Start),n=e.positionAt(u.Start+u.Length),r=d.Range.create(a,n);switch(u.Severity){case"Suggestion":t=d.DiagnosticSeverity.Information;break;case"Warning":t=d.DiagnosticSeverity.Warning;break;default:t=d.DiagnosticSeverity.Error}return d.Diagnostic.create(r,u.Message,t,u.Code)}))}},{key:"doColorization",value:function(u,d){var e=this;if(!u||!this._languageSettings.useSemanticColorization)return Promise.resolve([]);if(!this.isIntellisenseV2()){if(d.length>0){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var t=this.toArray(this._parser.Results).filter((function(u){return!!u&&d.some((function(d){var e=d.start,t=d.end;return u.AbsoluteStart>=e&&u.AbsoluteStart<=t||e>=u.AbsoluteStart&&e<=u.AbsoluteEnd+1}))}));if(!t||0===t.length)return Promise.resolve([{classifications:[],absoluteStart:d[0].start,absoluteEnd:d[0].end}]);var a=t.map((function(u){return e.parseTextV1(u.Text,iu.ParseMode.TokenizeAllText),{classifications:Fu(e.getClassificationsFromParseResult(u.AbsoluteStart)),absoluteStart:u.AbsoluteStart,absoluteEnd:u.AbsoluteEnd}}));return Promise.resolve(a)}this.parseDocumentV1(u,iu.ParseMode.TokenizeAllText);var n=this.getClassificationsFromParseResult();return Promise.resolve([{classifications:Fu(n),absoluteStart:0,absoluteEnd:u.getText().length}])}var r=this.parseDocumentV2(u);if(d.length>0){var c=this.toArray(r.Blocks),f=this.getAffectedBlocks(c,d).map((function(u){return{classifications:Fu(e.toArray(u.Service.GetClassifications(u.Start,u.End).Classifications)),absoluteStart:u.Start,absoluteEnd:u.End}}));return Promise.resolve(f)}var i=this.toArray(r.Blocks).map((function(u){return e.toArray(u.Service.GetClassifications(u.Start,u.Length).Classifications)})).reduce((function(u,d){return u.concat(d)}),[]);return Promise.resolve([{classifications:Fu(i),absoluteStart:0,absoluteEnd:u.getText().length}])}},{key:"getAffectedBlocks",value:function(u,d){return u.filter((function(u){return!!u&&d.some((function(d){var e=d.start,t=d.end;return u.Start>=e&&u.Start<=t||e>=u.Start&&e<=u.End+1}))}))}},{key:"addClusterToSchema",value:function(u,d,e){var t=Kusto.Language.KustoFacts.GetHostName(d),a=this._kustoJsSchemaV2.GetCluster$1(t);if(a&&e.filter((function(u){var d=u.name;return!a.GetDatabase(d)})).forEach((function(u){var d=u.name,e=u.alternativeName,t=new lu.DatabaseSymbol.$ctor3(d,e||null,void 0,!1);a=a.AddDatabase(t)})),!a){var n=e.map((function(u){var d=u.name,e=u.alternativeName;return new lu.DatabaseSymbol.$ctor3(d,e||null,void 0,!1)})),r=new(mu(lu.DatabaseSymbol).$ctor1)(n);a=new lu.ClusterSymbol.$ctor1(t,r,!1)}return this._kustoJsSchemaV2=this._kustoJsSchemaV2.AddOrReplaceCluster(a),this._script=su.CodeScript.From$1(u.getText(),this._kustoJsSchemaV2),Promise.resolve()}},{key:"addDatabaseToSchema",value:function(d,e,t){var a=Kusto.Language.KustoFacts.GetHostName(e),n=this._kustoJsSchemaV2.GetCluster$1(a);n||(n=new lu.ClusterSymbol.$ctor1(a,null,!1));var r=u.convertToDatabaseSymbol(t);return n=n.AddOrUpdateDatabase(r),this._kustoJsSchemaV2=this._kustoJsSchemaV2.AddOrReplaceCluster(n),this._script=su.CodeScript.From$1(d.getText(),this._kustoJsSchemaV2),Promise.resolve()}},{key:"setSchema",value:function(d){if(this._schema=d,this._languageSettings.useIntellisenseV2&&d&&"Engine"===d.clusterType){var e=this.convertToKustoJsSchemaV2(d);this._kustoJsSchemaV2=e,this._script=void 0,this._parsePropertiesV2=void 0}var t=d?u.convertToKustoJsSchema(d):void 0;return this._kustoJsSchema=t,this.createRulesProvider(t,d.clusterType),Promise.resolve()}},{key:"setParameters",value:function(d,e){var t;if(!this._languageSettings.useIntellisenseV2||"Engine"!==this._schema.clusterType)throw new Error("setParameters requires intellisense V2 and Engine cluster");this._schema.globalScalarParameters=d,this._schema.globalTabularParameters=e;var a=d.map((function(d){return u.createParameterSymbol(d)})),n=e.map((function(d){return u.createTabularParameterSymbol(d)}));this._kustoJsSchemaV2=this._kustoJsSchemaV2.WithParameters(u.toBridgeList([].concat(uu(a),uu(n)))),this._script=null===(t=this._script)||void 0===t?void 0:t.WithGlobals(this._kustoJsSchemaV2);var r=u.convertToKustoJsSchema(this._schema);return this._kustoJsSchema=r,this.createRulesProvider(r,this._schema.clusterType),Promise.resolve(void 0)}},{key:"setSchemaFromShowSchema",value:function(u,d,e,t,a,n){var r=this._normalizeSchema(u,d,e,n);return this.setSchema(X(X({},r),{},{globalScalarParameters:t,globalTabularParameters:a}))}},{key:"_normalizeSchema",value:function(u,d,e,t){var a=Object.keys(u.Databases).map((function(d){return u.Databases[d]})).map((function(u){var d,e=u.Name,a=u.Tables,n=u.ExternalTables,r=u.MaterializedViews,c=u.Functions,f=u.EntityGroups,i=void 0===f?{}:f,o=u.MinorVersion,s=u.MajorVersion;return{name:e,alternateName:t,minorVersion:o,majorVersion:s,entityGroups:Object.entries(i).map((function(u){var d=q(u,2);return{name:d[0],members:d[1]}})),tables:(d=[]).concat.apply(d,uu([[a,"Table"],[r,"MaterializedView"],[n,"ExternalTable"]].filter((function(u){return q(u,1)[0]})).map((function(u){var d=q(u,2),e=d[0],t=d[1];return Object.values(e).map((function(u){var d=u.Name,e=u.OrderedColumns;return{name:d,docstring:u.DocString,entityType:t,columns:e.map((function(u){var d=u.Name;u.Type;var e=u.DocString;return{name:d,type:u.CslType,docstring:e,examples:u.Examples}}))}}))})))),functions:Object.keys(c).map((function(u){return c[u]})).map((function(u){return{name:u.Name,body:u.Body,docstring:u.DocString,inputParameters:u.InputParameters.map((function(u){return{name:u.Name,type:u.Type,cslType:u.CslType,cslDefaultValue:u.CslDefaultValue,columns:u.Columns?u.Columns.map((function(u){return{name:u.Name,type:u.Type,cslType:u.CslType}})):u.Columns}}))}}))}}));return{clusterType:"Engine",cluster:{connectionString:d,databases:a},database:a.filter((function(u){return u.name===e}))[0]}}},{key:"normalizeSchema",value:function(u,d,e,t){return Promise.resolve(this._normalizeSchema(u,d,e,t))}},{key:"getSchema",value:function(){return Promise.resolve(this._schema)}},{key:"getCommandInContext",value:function(u,d){return this.isIntellisenseV2()?this.getCommandInContextV2(u,d):this.getCommandInContextV1(u,d)}},{key:"getCommandAndLocationInContext",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve(null);var t=this.parseDocumentV2(u),a=this.getCurrentCommandV2(t,e);if(!a)return Promise.resolve(null);var n=u.positionAt(a.Start),r=u.positionAt(a.End),c=d.Location.create(u.uri,d.Range.create(n,r)),f=a.Text;return Promise.resolve({text:f,location:c})}},{key:"getCommandInContextV1",value:function(u,d){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var e=this.getCurrentCommand(u,d);return e?Promise.resolve(e.Text):Promise.resolve(null)}},{key:"getCommandInContextV2",value:function(u,d){if(!u)return Promise.resolve(null);var e=this.parseDocumentV2(u),t=this.getCurrentCommandV2(e,d);return t?Promise.resolve(t.Text):Promise.resolve(null)}},{key:"getCommandsInDocument",value:function(u){return u?this.isIntellisenseV2()?this.getCommandsInDocumentV2(u):this.getCommandsInDocumentV1(u):Promise.resolve([])}},{key:"getCommandsInDocumentV1",value:function(u){this.parseDocumentV1(u,iu.ParseMode.CommandTokensOnly);var d=this.toArray(this._parser.Results);return Promise.resolve(d.map((function(u){return{absoluteStart:u.AbsoluteStart,absoluteEnd:u.AbsoluteEnd,text:u.Text}})))}},{key:"toPlacementStyle",value:function(u){if(u)switch(u){case"None":return su.PlacementStyle.None;case"NewLine":return su.PlacementStyle.NewLine;case"Smart":return su.PlacementStyle.Smart;default:throw new Error("Unknown PlacementStyle")}}},{key:"getFormattedCommandsInDocumentV2",value:function(u,d,e){var t=this,a=this.parseDocumentV2(u),n=this.toArray(a.Blocks).filter((function(u){if(!u.Text||""==u.Text.trim())return!1;if(null==d||null==e)return!0;for(var t=u.End,a=u.Text,n=a.length-1;n>=0&&("\r"==a[n]||"\n"==a[n]);n--)t--;return u.Start>d&&u.Start<e||(t>d&&t<e||(u.Start<=d&&t>=e||void 0))}));return 0===n.length?{formattedCommands:[]}:{formattedCommands:n.map((function(u){var a,n,r=t._languageSettings.formatter,c=Kusto.Language.Editor.FormattingOptions.Default.WithIndentationSize(null!==(a=null==r?void 0:r.indentationSize)&&void 0!==a?a:4).WithInsertMissingTokens(!1).WithPipeOperatorStyle(null!==(n=t.toPlacementStyle(null==r?void 0:r.pipeOperatorStyle))&&void 0!==n?n:su.PlacementStyle.Smart).WithSemicolonStyle(Kusto.Language.Editor.PlacementStyle.None).WithBrackettingStyle(su.BrackettingStyle.Diagonal);return null==d||null==e||d===u.Start&&u.End,u.Service.GetFormattedText(c).Text})),originalRange:this.createRange(u,n[0].Start,n[n.length-1].End)}}},{key:"getCommandsInDocumentV2",value:function(u){var d=this.parseDocumentV2(u),e=this.toArray(d.Blocks).filter((function(u){return""!=u.Text.trim()}));return Promise.resolve(e.map((function(u){return{absoluteStart:u.Start,absoluteEnd:u.End,text:u.Text}})))}},{key:"getClientDirective",value:function(u){var d={v:null},e=iu.CslCommandParser.IsClientDirective(u,d);return Promise.resolve({isClientDirective:e,directiveWithoutLeadingComments:d.v})}},{key:"getAdminCommand",value:function(u){var d={v:null},e=iu.CslCommandParser.IsAdminCommand$1(u,d);return Promise.resolve({isAdminCommand:e,adminCommandWithoutLeadingComments:d.v})}},{key:"findDefinition",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var t=this.parseDocumentV2(u),a=u.offsetAt(e),n=this.getCurrentCommandV2(t,a);if(!n)return Promise.resolve([]);var r=n.Service.GetRelatedElements(u.offsetAt(e)),c=this.toArray(r.Elements)[0];if(!c)return Promise.resolve([]);var f=u.positionAt(c.Start),i=u.positionAt(c.End),o=d.Range.create(f,i),s=d.Location.create(u.uri,o);return Promise.resolve([s])}},{key:"findReferences",value:function(u,e){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);var t=this.parseDocumentV2(u),a=u.offsetAt(e),n=this.getCurrentCommandV2(t,a);if(!n)return Promise.resolve([]);var r=n.Service.GetRelatedElements(u.offsetAt(e)),c=this.toArray(r.Elements);if(!c||0==c.length)return Promise.resolve([]);var f=c.map((function(e){var t=u.positionAt(e.Start),a=u.positionAt(e.End),n=d.Range.create(t,a);return d.Location.create(u.uri,n)}));return Promise.resolve(f)}},{key:"getQueryParams",value:function(u,d){if(!u||!this.isIntellisenseV2())return Promise.resolve([]);this.parseDocumentV2(u);var e=this.parseAndAnalyze(u,d),t=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.QueryParametersStatement));if(!t||0==t.length)return Promise.resolve([]);var a=[];return t.forEach((function(u){u.WalkElements((function(u){return u.ReferencedSymbol&&u.ReferencedSymbol.Type?a.push({name:u.ReferencedSymbol.Name,type:u.ReferencedSymbol.Type.Name}):void 0}))})),Promise.resolve(a)}},{key:"getRenderInfo",value:function(u,d){var e=this,t=this.parseAndAnalyze(u,d);if(!t)return Promise.resolve(void 0);var a=this.toArray(t.Syntax.GetDescendants(Kusto.Language.Syntax.RenderOperator));if(!a||0===a.length)return Promise.resolve(void 0);var n=a[0],r=n.TextStart,c=n.End,f=n.ChartType.ValueText,i=n.WithClause;if(!i){var o={options:{visualization:f},location:{startOffset:r,endOffset:c}};return Promise.resolve(o)}var s={options:X({visualization:f},this.toArray(i.Properties).reduce((function(u,d){var t=d.Element$1.Name.SimpleName;switch(t){case"xcolumn":var a=d.Element$1.Expression.ReferencedSymbol.Name;u[t]=a;break;case"ycolumns":case"anomalycolumns":var n=e.toArray(d.Element$1.Expression.Names).map((function(u){return u.Element$1.SimpleName}));u[t]=n;break;case"ymin":case"ymax":var r=parseFloat(d.Element$1.Expression.ConstantValue);u[t]=r;break;case"title":case"xtitle":case"ytitle":case"visualization":case"series":var c=d.Element$1.Expression.ConstantValue;u[t]=c;break;case"xaxis":case"yaxis":var f=d.Element$1.Expression.ConstantValue;u[t]=f;break;case"legend":var i=d.Element$1.Expression.ConstantValue;u[t]=i;break;case"ysplit":var o=d.Element$1.Expression.ConstantValue;u[t]=o;break;case"accumulate":var s=d.Element$1.Expression.ConstantValue;u[t]=s;break;case"kind":var l=d.Element$1.Expression.ConstantValue;u[t]=l;break;default:bu(t)}return u}),{})),location:{startOffset:r,endOffset:c}};return Promise.resolve(s)}},{key:"getReferencedSymbols",value:function(u,d){var e=this.parseAndAnalyze(u,d);e||Promise.resolve([]);var t=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(u){return null!==u.ReferencedSymbol})).map((function(u){return u.ReferencedSymbol})).map((function(u){var d;return{name:u.Name,kind:null!==(d=Au[u.Kind])&&void 0!==d?d:"".concat(u.Kind),display:"".concat(u.Name," (").concat(u.AlternateName,")")}}));return Promise.resolve(t)}},{key:"getReferencedGlobalParams",value:function(u,d){var e=this.parseAndAnalyze(u,d);e||Promise.resolve([]);var t=this.toArray(this._kustoJsSchemaV2.Parameters),a=this.toArray(e.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(u){return null!==u.ReferencedSymbol})).map((function(u){return u.ReferencedSymbol})).filter((function(u){return t.filter((function(d){return d===u})).length>0})).map((function(u){return{name:u.Name,type:u.Type.Name}}));return Promise.resolve(a)}},{key:"getGlobalParams",value:function(u){if(!this.isIntellisenseV2())return Promise.resolve([]);var d=this.toArray(this._kustoJsSchemaV2.Parameters).map((function(u){return{name:u.Name,type:u.Type.Name}}));return Promise.resolve(d)}},{key:"doRename",value:function(u,e,t){if(!u||!this.isIntellisenseV2())return Promise.resolve(void 0);var a=this.parseDocumentV2(u),n=u.offsetAt(e),r=this.getCurrentCommandV2(a,n);if(!r)return Promise.resolve(void 0);var c=r.Service.GetRelatedElements(u.offsetAt(e)),f=this.toArray(c.Elements),i=f.filter((function(u){return u.Kind==su.RelatedElementKind.Declaration}));if(!i||0==i.length)return Promise.resolve(void 0);var o=f.map((function(e){var a=u.positionAt(e.Start),n=u.positionAt(e.End),r=d.Range.create(a,n);return d.TextEdit.replace(r,t)})),s={changes:tu({},u.uri,o)};return Promise.resolve(s)}},{key:"doHover",value:function(u,d){if(!u||!this.isIntellisenseV2())return Promise.resolve(void 0);var e=this.parseDocumentV2(u),t=u.offsetAt(d),a=this.getCurrentCommandV2(e,t);if(!a)return Promise.resolve(void 0);if(!a.Service.IsFeatureSupported(su.CodeServiceFeatures.QuickInfo,t))return Promise.resolve(void 0);var n=a.Service.GetQuickInfo(t);if(!n||!n.Items)return Promise.resolve(void 0);var r=this.toArray(n.Items);if(!r)return Promise.resolve(void 0);var c=(r=r.filter((function(u){return u.Kind!==su.QuickInfoKind.Error&&u.Kind!==su.QuickInfoKind.Suggestion&&u.Kind!==su.QuickInfoKind.Warning}))).map((function(u){return u.Text.replace("\n\n","\n* * *\n")})).join("\n* * *\n");return Promise.resolve({contents:c})}},{key:"convertToKustoJsSchemaV2",value:function(d){var e,t,a=this._schemaCache[d.cluster.connectionString];a||(this._schemaCache[d.cluster.connectionString]={},a=this._schemaCache[d.cluster.connectionString]);var n=d.cluster.databases.reduce((function(u,d){return u[d.name]=d}),{});Object.keys(a).map((function(u){n[u]||delete a.dbName}));var r=Du.Default,c=d.database?d.database.name:void 0,f=void 0,i=d.cluster.databases.map((function(d){var e=d.name===c,t=a[d.name];if(!t||t.database.majorVersion<d.majorVersion||e&&!t.includesFunctions){var n=u.convertToDatabaseSymbol(d);a[d.name]={database:d,symbol:n,includesFunctions:e}}var r=a[d.name].symbol;return d.name===c&&(f=r),r})),o=d.cluster.connectionString.match(/(.*\/\/)?([^\/;]*)/)[2],s=o.split(o.includes(".kusto")?".kusto":".")[0],l=new lu.ClusterSymbol.ctor(s,i);r=r.WithCluster(l),f&&(r=r.WithDatabase(f));var D=(null!==(e=d.globalScalarParameters)&&void 0!==e?e:[]).map((function(d){return u.createParameterSymbol(d)})),m=(null!==(t=d.globalTabularParameters)&&void 0!==t?t:[]).map((function(d){return u.createTabularParameterSymbol(d)}));return(m.length||D.length)&&(r=r.WithParameters(u.toBridgeList([].concat(uu(D),uu(m))))),r}},{key:"getClassificationsFromParseResult",value:function(){var u=this,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.toArray(this._parser.Results).map((function(d){return u.toArray(d.Tokens)})).reduce((function(u,d){return u.concat(d)}),[]).map((function(e){return new su.ClassifiedRange(u.tokenKindToClassificationKind(e.TokenKind),e.AbsoluteStart+d,e.Length)}))}},{key:"getSortText",value:function(u){if(u<=0)throw new RangeError("order should be a number >= 1. instead got ".concat(u));for(var d="",e=Math.floor(u/26),t=0;t<e;++t)d+="z";var a=u%26;return a>0&&(d+=String.fromCharCode(96+a)),d}},{key:"parseTextV1",value:function(u,d){this._parser.Parse("Engine"===this._schema.clusterType?this._rulesProvider:null,u,d)}},{key:"parseDocumentV1",value:function(u,d){this._parsePropertiesV1&&!this._parsePropertiesV1.isParseNeeded(u,this._rulesProvider,d)||(this.parseTextV1(u.getText(),d),this._parsePropertiesV1=new Cu(u.version,u.uri,this._rulesProvider,d))}},{key:"parseDocumentV2",value:function(u){return this._parsePropertiesV2&&!this._parsePropertiesV2.isParseNeeded(u,this._rulesProvider)||(this._script?this._script=this._script.WithText(u.getText()):this._script=su.CodeScript.From$1(u.getText(),this._kustoJsSchemaV2),this._parsePropertiesV2=new Cu(u.version,u.uri)),this._script}},{key:"getCurrentCommand",value:function(u,d){var e=this.toArray(this._parser.Results),t=e.filter((function(u){return u.AbsoluteStart<=d&&u.AbsoluteEnd>=d}))[0];return t||(t=e.filter((function(u){return u.AbsoluteStart<=d&&u.AbsoluteEnd+1>=d}))[0])&&!t.Text.endsWith("\r\n\r\n")?t:null}},{key:"getCurrentCommandV2",value:function(u,d){return u.GetBlockAtPosition(d)}},{key:"getTextToInsert",value:function(u,e){var t=u.GetBeforeApplyInfo(e.Value),a=u.GetAfterApplyInfo(e.Value),n=t.Text||""+e.Value+a.Text||"",r=d.InsertTextFormat.PlainText;if(a.OffsetToken&&a.OffsetPosition){var c=n.indexOf(a.OffsetToken);c>=0&&(n=this.insertToString(n,"$0",c-n.length+a.OffsetPosition),r=d.InsertTextFormat.Snippet)}else a.OffsetPosition&&(n=this.insertToString(n,"$0",a.OffsetPosition),r=d.InsertTextFormat.Snippet);return{insertText:n,insertTextFormat:r}}},{key:"insertToString",value:function(u,d,e){var t=u.length+e;return e>=0||t<0?u:u.substring(0,t)+d+u.substring(t)}},{key:"getCommandWithoutLastWord",value:function(u){var d=G("[\\w_]*$","s");return u.replace(d,"")}},{key:"createRulesProvider",value:function(u,d){var e=new(mu(String)),t=new(mu(String));if(this._parser=new iu.CslCommandParser,"Engine"!=d)if("DataManagement"!==d){var a=u,n=a.accounts,r=a.services,c=a.connectionString;new iu.KustoIntelliSenseAccountEntity,new iu.KustoIntelliSenseServiceEntity,this._rulesProvider=new iu.ClusterManagerIntelliSenseRulesProvider.$ctor1(new Bridge.ArrayEnumerable(n),new Bridge.ArrayEnumerable(r),c)}else this._rulesProvider=new iu.DataManagerIntelliSenseRulesProvider(null);else{var f=u;this._rulesProvider=this._languageSettings&&this._languageSettings.includeControlCommands?new iu.CslIntelliSenseRulesProvider.$ctor1(f.Cluster,f,e,t,null,!0,!0):new iu.CslQueryIntelliSenseRulesProvider.$ctor1(f.Cluster,f,e,t,null,null,null)}}},{key:"kustoKindToLsKind",value:function(u){var e=this._kustoKindtolsKind[u];return e||d.CompletionItemKind.Variable}},{key:"kustoKindToLsKindV2",value:function(u){var e=this._kustoKindToLsKindV2[u];return e||d.CompletionItemKind.Variable}},{key:"createRange",value:function(u,e,t){return d.Range.create(u.positionAt(e),u.positionAt(t))}},{key:"toArray",value:function(u){return Bridge.toArray(u)}},{key:"tokenKindToClassificationKind",value:function(u){return this._tokenKindToClassificationKind[u]||su.ClassificationKind.PlainText}},{key:"parseAndAnalyze",value:function(u,d){if(u&&this.isIntellisenseV2()){var e=this.parseDocumentV2(u),t=e.Text;if(void 0!==d){var a=this.getCurrentCommandV2(e,d);if(!a)return;t=a.Text}return Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2)}}}],[{key:"dummySchema",get:function(){return{clusterType:"Engine",cluster:{connectionString:"",databases:[]},database:void 0}}},{key:"convertToEntityDataType",value:function(u){}},{key:"convertToKustoJsSchema",value:function(u){switch(u.clusterType){case"Engine":var d=u.database?u.database.name:void 0,t=new iu.KustoIntelliSenseClusterEntity,a=void 0;t.ConnectionString=u.cluster.connectionString;var n=[];return u.cluster.databases.forEach((function(u){var t=new iu.KustoIntelliSenseDatabaseEntity;t.Name=u.name;var r=[];u.tables.forEach((function(u){var d=new iu.KustoIntelliSenseTableEntity;d.Name=u.name;var t=[];u.columns.forEach((function(u){var d=new iu.KustoIntelliSenseColumnEntity;d.Name=u.name,d.TypeCode=iu.EntityDataType[e.getEntityDataTypeFromCslType(u.type)],t.push(d)})),d.Columns=new Bridge.ArrayEnumerable(t),r.push(d)}));var c=[];u.functions.forEach((function(u){var d=new iu.KustoIntelliSenseFunctionEntity;d.Name=u.name,d.CallName=e.getCallName(u),d.Expression=e.getExpression(u),c.push(d)})),t.Tables=new Bridge.ArrayEnumerable(r),t.Functions=new Bridge.ArrayEnumerable(c),n.push(t),u.name==d&&(a=t)})),t.Databases=new Bridge.ArrayEnumerable(n),new iu.KustoIntelliSenseQuerySchema(t,a);case"ClusterManager":return{accounts:u.accounts.map((function(u){var d=new iu.KustoIntelliSenseAccountEntity;return d.Name=u,d})),services:u.services.map((function(u){var d=new iu.KustoIntelliSenseServiceEntity;return d.Name=u,d})),connectionString:u.connectionString};case"DataManagement":return;default:return bu(u)}}},{key:"scalarParametersToSignature",value:function(u){var d=u.map((function(u){return"".concat(u.name,": ").concat(u.cslType)})).join(", ");return"(".concat(d,")")}},{key:"inputParameterToSignature",value:function(u){var d=this,e=u.map((function(u){if(u.columns){var e=d.scalarParametersToSignature(u.columns);return"".concat(u.name,": ").concat(e)}return"".concat(u.name,": ").concat(u.cslType)})).join(", ");return"(".concat(e,")")}},{key:"toLetStatement",value:function(u){var d=this.inputParameterToSignature(u.inputParameters);return"let ".concat(u.name," = ").concat(d," ").concat(u.body)}},{key:"createColumnSymbol",value:function(d){return new lu.ColumnSymbol(d.name,lu.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(d.type)),d.docstring,null,null,d.examples?u.toBridgeList(d.examples):null)}},{key:"createParameterSymbol",value:function(u){var d=Kusto.Language.Symbols.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(u.type));return new lu.ParameterSymbol(u.name,d,null)}},{key:"createTabularParameterSymbol",value:function(d){var e=d.columns.map((function(d){return u.createColumnSymbol(d)})),t=new Kusto.Language.Symbols.TableSymbol.$ctor4(d.name,e);return new lu.ParameterSymbol(d.name,t,d.docstring)}},{key:"createParameter",value:function(d){if(!d.columns){var t=Kusto.Language.Symbols.ScalarTypes.GetSymbol(e.getCslTypeNameFromClrType(d.type)),a=d.cslDefaultValue&&"string"==typeof d.cslDefaultValue?ou.QueryParser.ParseLiteral$1(d.cslDefaultValue):void 0;return new lu.Parameter.$ctor3(d.name,t,null,null,null,!1,null,1,1,a,null)}if(0==d.columns.length)return new lu.Parameter.ctor(d.name,lu.ParameterTypeKind.Tabular,lu.ArgumentKind.Expression,null,null,!1,null,1,1,null,null);var n=new lu.TableSymbol.ctor(d.columns.map((function(d){return u.createColumnSymbol(d)})));return new lu.Parameter.$ctor2(d.name,n)}},{key:"convertToDatabaseSymbol",value:function(u){var d=(u.tables||[]).map(this.createTableSymbol),e=(u.functions||[]).map(this.createFunctionSymbol),t=(u.entityGroups||[]).map(this.createEntityGroupSymbol);return new lu.DatabaseSymbol.$ctor2(u.name,u.alternateName||null,d.concat(e).concat(t))}},{key:"trimTrailingNewlineFromRange",value:function(u,e,t,a){for(var n=u.length-1;"\r"===u[n]||"\n"===u[n];)--n;var r=e+n+1,c=t.positionAt(r);return d.Range.create(a.start,c)}},{key:"toBridgeList",value:function(u){return new(System.Collections.Generic.List$1(System.Object).$ctor1)(u)}},{key:"createFunctionSymbol",value:function(d){var e=d.inputParameters.map((function(d){return u.createParameter(d)}));return new lu.FunctionSymbol.$ctor14(d.name,d.body,u.toBridgeList(e),d.docstring)}},{key:"createTableSymbol",value:function(d){var e,t=d.name,a=d.columns,n=d.entityType,r=d.docstring,c=Z(d,H),f=new Bridge.ArrayEnumerable(a.map((function(d){return u.createColumnSymbol(d)})));switch(n){case"MaterializedViewTable":var i=null!==(e=c.mvQuery)&&void 0!==e?e:null;return new lu.MaterializedViewSymbol.$ctor2(t,f,i,r);case"ExternalTable":return new lu.ExternalTableSymbol.$ctor3(t,f,r);default:return new lu.TableSymbol.$ctor6(t,f,r)}}},{key:"createEntityGroupSymbol",value:function(u){return new lu.EntityGroupSymbol.$ctor3(u.name,u.members.join(),null)}}]),u}(),Eu=new hu(hu.dummySchema,{includeControlCommands:!0,useIntellisenseV2:!0,useSemanticColorization:!0});function gu(u){return gu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},gu(u)}function vu(u,d){var e="undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(!e){if(Array.isArray(u)||(e=function(u,d){if(!u)return;if("string"==typeof u)return yu(u,d);var e=Object.prototype.toString.call(u).slice(8,-1);"Object"===e&&u.constructor&&(e=u.constructor.name);if("Map"===e||"Set"===e)return Array.from(u);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return yu(u,d)}(u))||d&&u&&"number"==typeof u.length){e&&(u=e);var t=0,a=function(){};return{s:a,n:function(){return t>=u.length?{done:!0}:{done:!1,value:u[t++]}},e:function(u){throw u},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r=!0,c=!1;return{s:function(){e=e.call(u)},n:function(){var u=e.next();return r=u.done,u},e:function(u){c=!0,n=u},f:function(){try{r||null==e.return||e.return()}finally{if(c)throw n}}}}function yu(u,d){(null==d||d>u.length)&&(d=u.length);for(var e=0,t=new Array(d);e<d;e++)t[e]=u[e];return t}function Su(u,d){for(var e=0;e<d.length;e++){var t=d[e];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(u,(a=t.key,n=void 0,n=function(u,d){if("object"!==gu(u)||null===u)return u;var e=u[Symbol.toPrimitive];if(void 0!==e){var t=e.call(u,d||"default");if("object"!==gu(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===d?String:Number)(u)}(a,"string"),"symbol"===gu(n)?n:String(n)),t)}var a,n}var Bu=function(){function u(d,e){!function(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}(this,u),this._ctx=d,this._languageSettings=e.languageSettings,this._languageService=Eu,this._languageService.configure(this._languageSettings)}var e,t,a;return e=u,t=[{key:"setSchema",value:function(u){return this._languageService.setSchema(u)}},{key:"addClusterToSchema",value:function(u,d,e){var t=this._getTextDocument(u);return t?this._languageService.addClusterToSchema(t,d,e):(console.error("addClusterToSchema: document is ".concat(t,". uri is ").concat(u)),Promise.resolve())}},{key:"addDatabaseToSchema",value:function(u,d,e){var t=this._getTextDocument(u);return t?this._languageService.addDatabaseToSchema(t,d,e):(console.error("addDatabaseToSchema: document is ".concat(t,". uri is ").concat(u)),Promise.resolve())}},{key:"setSchemaFromShowSchema",value:function(u,d,e){return this._languageService.setSchemaFromShowSchema(u,d,e)}},{key:"normalizeSchema",value:function(u,d,e){return this._languageService.normalizeSchema(u,d,e)}},{key:"getSchema",value:function(){return this._languageService.getSchema()}},{key:"getCommandInContext",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getCommandInContext: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getCommandInContext(e,d);return void 0===t?null:t}},{key:"getQueryParams",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getQueryParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getQueryParams(e,d);return void 0===t?null:t}},{key:"getGlobalParams",value:function(u){var d=this._getTextDocument(u);if(!d)return console.error("getGLobalParams: document is ".concat(d,". uri is ").concat(u)),null;var e=this._languageService.getGlobalParams(d);return void 0===e?null:e}},{key:"getReferencedSymbols",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getReferencedGlobalParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getReferencedSymbols(e,d);return void 0===t?null:t}},{key:"getReferencedGlobalParams",value:function(u,d){var e=this._getTextDocument(u);if(!e)return console.error("getReferencedGlobalParams: document is ".concat(e,". uri is ").concat(u)),null;var t=this._languageService.getReferencedGlobalParams(e,d);return void 0===t?null:t}},{key:"getRenderInfo",value:function(u,d){var e=this._getTextDocument(u);return e||console.error("getRenderInfo: document is ".concat(e,". uri is ").concat(u)),this._languageService.getRenderInfo(e,d).then((function(u){return u||null}))}},{key:"getCommandAndLocationInContext",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getCommandAndLocationInContext(e,d).then((function(u){if(!u)return null;var d=u.text,e=u.location.range,t=e.start,a=e.end;return{range:{startLineNumber:t.line+1,startColumn:t.character+1,endLineNumber:a.line+1,endColumn:a.character+1},text:d}})):(console.error("getCommandAndLocationInContext: document is ".concat(e,". uri is ").concat(u)),Promise.resolve(null))}},{key:"getCommandsInDocument",value:function(u){var d=this._getTextDocument(u);return d?this._languageService.getCommandsInDocument(d):(console.error("getCommandInDocument: document is ".concat(d,". uri is ").concat(u)),null)}},{key:"doComplete",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.doComplete(e,d):null}},{key:"doValidation",value:function(u,d,e,t){var a=this._getTextDocument(u);return this._languageService.doValidation(a,d,e,t)}},{key:"getResultActions",value:function(u,d,e){var t=this._getTextDocument(u);return this._languageService.getResultActions(t,d,e)}},{key:"doRangeFormat",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doRangeFormat(e,d)}},{key:"doFolding",value:function(u){var d=this._getTextDocument(u);return this._languageService.doFolding(d)}},{key:"doDocumentFormat",value:function(u){var d=this._getTextDocument(u);return this._languageService.doDocumentFormat(d)}},{key:"doCurrentCommandFormat",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doCurrentCommandFormat(e,d)}},{key:"doColorization",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doColorization(e,d)}},{key:"getClientDirective",value:function(u){return this._languageService.getClientDirective(u)}},{key:"getAdminCommand",value:function(u){return this._languageService.getAdminCommand(u)}},{key:"findDefinition",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.findDefinition(e,d)}},{key:"findReferences",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.findReferences(e,d)}},{key:"doRename",value:function(u,d,e){var t=this._getTextDocument(u);return this._languageService.doRename(t,d,e)}},{key:"doHover",value:function(u,d){var e=this._getTextDocument(u);return this._languageService.doHover(e,d)}},{key:"setParameters",value:function(u,d){return this._languageService.setParameters(u,d)}},{key:"getClusterReferences",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getClusterReferences(e,d):Promise.resolve(null)}},{key:"getDatabaseReferences",value:function(u,d){var e=this._getTextDocument(u);return e?this._languageService.getDatabaseReferences(e,d):Promise.resolve(null)}},{key:"_getTextDocument",value:function(u){var e,t=vu(this._ctx.getMirrorModels());try{for(t.s();!(e=t.n()).done;){var a=e.value;if(a.uri.toString()===u)return d.TextDocument.create(u,this._languageId,a.version,a.getValue())}}catch(u){t.e(u)}finally{t.f()}return null}}],t&&Su(e.prototype,t),a&&Su(e,a),Object.defineProperty(e,"prototype",{writable:!1}),u}();u.KustoWorkerImpl=Bu,u.create=function(u,d){return new Bu(u,d)}}));
|