@sarj/eslint-plugin 19.0.0 → 19.0.2

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/dist/regexp.js ADDED
@@ -0,0 +1,38 @@
1
+ import {createRequire as sarjCreateRequire} from "node:module";const require=sarjCreateRequire(import.meta.url);
2
+ var wo=Object.create;var h8=Object.defineProperty;var Eo=Object.getOwnPropertyDescriptor;var bo=Object.getOwnPropertyNames;var ko=Object.getPrototypeOf,To=Object.prototype.hasOwnProperty;var Wi=(e,n)=>()=>{try{return n||e((n={exports:{}}).exports,n),n.exports}catch(a){throw n=0,a}};var Ao=(e,n,a,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let m of bo(n))!To.call(e,m)&&m!==a&&h8(e,m,{get:()=>n[m],enumerable:!(i=Eo(n,m))||i.enumerable});return e};var lt=(e,n,a)=>(a=e!=null?wo(ko(e)):{},Ao(n||!e||!e.__esModule?h8(a,"default",{value:e,enumerable:!0}):a,e));var Rt=Wi(C1=>{"use strict";Object.defineProperty(C1,"__esModule",{value:!0});var Io=Object.freeze({__proto__:null}),S8=2025,Qi,zi;function Po(e){return e<65?!1:e<91?!0:e<97?!1:e<123?!0:E8(e)}function w8(e){return e<48?!1:e<58?!0:e<65?!1:e<91||e===95?!0:e<97?!1:e<123?!0:E8(e)||Oo(e)}function E8(e){return b8(e,Qi??(Qi=Ro()))}function Oo(e){return b8(e,zi??(zi=Lo()))}function Ro(){return k8("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 6 n 2 6 h 15 1n 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 2 1 3 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 v 2 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 h e i f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 7 1j t e 1 b 17 r z 16 2 b z 3 a 6 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 6c 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t h3g 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 29 l g 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f d a 2 e 2 6 2 1 2 a 2 e 2 6 2 1 4 1f d 8m a l b 7 p 5 2 15 2 8 1y 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 7 p 13 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 13 r a m 6z 15 7 1 h 5 1l s b 0 9 l 17 h 1b k s m d 1g 1m 1 3 0 e 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o k 1 1s 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 v 9 2 0 3 0 2 11 2 0 q 0 2 0 19 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 12 6 56 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 j 20 5k w w 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 o 17 79 i g 0 2 c 2 x 3h 0 28 pl 2v 32 i 5f 219 2o g tr i 5 q 32y 6 g6 5a2 t 1cz fs 8 u i 26 i t j 1b h 3 w k 6 i c1 18 5w 1r x o 3 o 19 22 6 0 1v c 1t 1 2 0 f 4 a 5p1 16 v 2q 36 6pq 3 2 6 2 1 2 82 g 0 u 2 3 0 f 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1f9 u 7 5 7a 1p 43 18 b 6 h 0 8y t j 17 dh r 6d t 3 0 5s u 2 2 2 1 2 6 3 4 a 1 69 6 2 3 2 1 2 e 2 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyn x 3dp 3 4gd 3 5rk g h9 1wj f1 15v 3t6 6 6jt")}function Lo(){return k8("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 1o 8 17 n 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1k 0 2 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 4 0 d 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 6 2 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 3 t 2 u 1 v 1 1t v a 0 3 9 y 2 2 a 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 u 3 b l 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1r el 1 1e 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 2p 0 n51 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 12 0 ig 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 7 9 w 4 8u 1 26 5 1z a 1e 3 3f 2 1i e w a 3 1 b 3 1a a 8 0 1a 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 3 0 4e b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 1w 8 2 0 3 0 2 3 2 4 2 0 f 1 2b h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 7 j 1m e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f 5j 7 3t 9 1i 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 1j 9 7e 3 a 1 2 0 1d 6 4 4 e a 44m 0 7 e 8uh r 1t3 9 2f 9 13 4 1o 6 q 9 ev 9 d2 0 2 1i 8 3 2a 0 c 1 f58 1 382 9 ef 19 3 m f3 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 2t 0 4h 6 a 9 9x 0 1q d dv d 6t 1 2 9 6h 0 3 0 8 1 6 0 d7 6 32 6 6 9 3o7 9 gvt3 6n")}function b8(e,n){let a=0,i=n.length/2|0,m=0,t=0,r=0;for(;a<i;)if(m=(a+i)/2|0,t=n[2*m],r=n[2*m+1],e<t)i=m;else if(e>r)a=m+1;else return!0;return!1}function k8(e){let n=0;return e.split(" ").map(a=>n+=parseInt(a,36)|0)}var Ve=class{constructor(n,a,i,m,t,r,s,o,x){this._raw2018=n,this._raw2019=a,this._raw2020=i,this._raw2021=m,this._raw2022=t,this._raw2023=r,this._raw2024=s,this._raw2025=o,this._raw2026=x}get es2018(){var n;return(n=this._set2018)!==null&&n!==void 0?n:this._set2018=new Set(this._raw2018.split(" "))}get es2019(){var n;return(n=this._set2019)!==null&&n!==void 0?n:this._set2019=new Set(this._raw2019.split(" "))}get es2020(){var n;return(n=this._set2020)!==null&&n!==void 0?n:this._set2020=new Set(this._raw2020.split(" "))}get es2021(){var n;return(n=this._set2021)!==null&&n!==void 0?n:this._set2021=new Set(this._raw2021.split(" "))}get es2022(){var n;return(n=this._set2022)!==null&&n!==void 0?n:this._set2022=new Set(this._raw2022.split(" "))}get es2023(){var n;return(n=this._set2023)!==null&&n!==void 0?n:this._set2023=new Set(this._raw2023.split(" "))}get es2024(){var n;return(n=this._set2024)!==null&&n!==void 0?n:this._set2024=new Set(this._raw2024.split(" "))}get es2025(){var n;return(n=this._set2025)!==null&&n!==void 0?n:this._set2025=new Set(this._raw2025.split(" "))}get es2026(){var n;return(n=this._set2026)!==null&&n!==void 0?n:this._set2026=new Set(this._raw2026.split(" "))}},No=new Set(["General_Category","gc"]),Mo=new Set(["Script","Script_Extensions","sc","scx"]),Jo=new Ve("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct","","","","","","","",""),De=new Ve("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy","Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo","Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho","Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi","Cpmn Cypro_Minoan Old_Uyghur Ougr Tangsa Tnsa Toto Vith Vithkuqi","Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz","","",""),ht=new Ve("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space","Extended_Pictographic","","EBase EComp EMod EPres ExtPict","","","","",""),Fo=new Ve("","","","","","","Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji RGI_Emoji_Flag_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence","","");function f8(e,n,a){return No.has(n)?e>=2018&&Jo.es2018.has(a):Mo.has(n)?e>=2018&&De.es2018.has(a)||e>=2019&&De.es2019.has(a)||e>=2020&&De.es2020.has(a)||e>=2021&&De.es2021.has(a)||e>=2022&&De.es2022.has(a)||e>=2023&&De.es2023.has(a):!1}function jo(e,n){return e>=2018&&ht.es2018.has(n)||e>=2019&&ht.es2019.has(n)||e>=2021&&ht.es2021.has(n)}function Uo(e,n){return e>=2024&&Fo.es2024.has(n)}var d8=8,Do=9,T8=10,Go=11,Bo=12,A8=13,Yi=33,I8=35,$e=36,P8=37,ee=38,ae=40,ie=41,Oa=42,Xi=43,kt=44,Tn=45,Zi=46,Pa=47,N1=48,Vo=49,$o=55,n2=57,e2=58,O8=59,Ra=60,La=61,Tt=62,Vn=63,R8=64,a2=65,Wo=66,Qo=68,L8=70,zo=80,qo=83,Ho=87,Ko=90,At=95,i2=97,pt=98,Ge=99,Ct=100,It=102,N8=103,Pt=105,g8=107,Ot=109,Yo=110,Xo=112,Zo=113,nx=114,m2=115,ex=116,Hi=117,vt=118,ax=119,ix=120,M8=121,mx=122,me=91,nn=92,y1=93,Be=94,J8=96,te=123,Na=124,re=125,F8=126,tx=8204,rx=8205,sx=8232,ox=8233,xx=0,cx=1114111;function j8(e){return e>=a2&&e<=Ko||e>=i2&&e<=mx}function Ki(e){return e>=N1&&e<=n2}function lx(e){return e>=N1&&e<=$o}function y8(e){return e>=N1&&e<=n2||e>=a2&&e<=L8||e>=i2&&e<=It}function ux(e){return e===T8||e===A8||e===sx||e===ox}function hx(e){return e>=xx&&e<=cx}function ft(e){return e>=i2&&e<=It?e-i2+10:e>=a2&&e<=L8?e-a2+10:e-N1}function dt(e){return e>=55296&&e<=56319}function gt(e){return e>=56320&&e<=57343}function yt(e,n){return(e-55296)*1024+(n-56320)+65536}var _t=class{constructor(){this.groupName=new Set}clear(){this.groupName.clear()}isEmpty(){return!this.groupName.size}hasInPattern(n){return this.groupName.has(n)}hasInScope(n){return this.hasInPattern(n)}addToScope(n){this.groupName.add(n)}enterDisjunction(){}enterAlternative(){}leaveDisjunction(){}},t2=class e{constructor(n,a){this.parent=n,this.base=a??this}separatedFrom(n){var a,i;return this.base===n.base&&this!==n||n.parent&&this.separatedFrom(n.parent)?!0:(i=(a=this.parent)===null||a===void 0?void 0:a.separatedFrom(n))!==null&&i!==void 0?i:!1}child(){return new e(this,null)}sibling(){return new e(this.parent,this.base)}},St=class{constructor(){this.branchID=new t2(null,null),this.groupNames=new Map}clear(){this.branchID=new t2(null,null),this.groupNames.clear()}isEmpty(){return!this.groupNames.size}enterDisjunction(){this.branchID=this.branchID.child()}enterAlternative(n){n!==0&&(this.branchID=this.branchID.sibling())}leaveDisjunction(){this.branchID=this.branchID.parent}hasInPattern(n){return this.groupNames.has(n)}hasInScope(n){let a=this.groupNames.get(n);if(!a)return!1;for(let i of a)if(!i.separatedFrom(this.branchID))return!0;return!1}addToScope(n){let a=this.groupNames.get(n);if(a){a.push(this.branchID);return}this.groupNames.set(n,[this.branchID])}},C8={at(e,n,a){return a<n?e.charCodeAt(a):-1},width(e){return 1}},px={at(e,n,a){return a<n?e.codePointAt(a):-1},width(e){return e>65535?2:1}},wt=class{constructor(){this._impl=C8,this._s="",this._i=0,this._end=0,this._cp1=-1,this._w1=1,this._cp2=-1,this._w2=1,this._cp3=-1,this._w3=1,this._cp4=-1}get source(){return this._s}get index(){return this._i}get currentCodePoint(){return this._cp1}get nextCodePoint(){return this._cp2}get nextCodePoint2(){return this._cp3}get nextCodePoint3(){return this._cp4}reset(n,a,i,m){this._impl=m?px:C8,this._s=n,this._end=i,this.rewind(a)}rewind(n){let a=this._impl;this._i=n,this._cp1=a.at(this._s,this._end,n),this._w1=a.width(this._cp1),this._cp2=a.at(this._s,this._end,n+this._w1),this._w2=a.width(this._cp2),this._cp3=a.at(this._s,this._end,n+this._w1+this._w2),this._w3=a.width(this._cp3),this._cp4=a.at(this._s,this._end,n+this._w1+this._w2+this._w3)}advance(){if(this._cp1!==-1){let n=this._impl;this._i+=this._w1,this._cp1=this._cp2,this._w1=this._w2,this._cp2=this._cp3,this._w2=n.width(this._cp2),this._cp3=this._cp4,this._w3=n.width(this._cp3),this._cp4=n.at(this._s,this._end,this._i+this._w1+this._w2+this._w3)}}eat(n){return this._cp1===n?(this.advance(),!0):!1}eat2(n,a){return this._cp1===n&&this._cp2===a?(this.advance(),this.advance(),!0):!1}eat3(n,a,i){return this._cp1===n&&this._cp2===a&&this._cp3===i?(this.advance(),this.advance(),this.advance(),!0):!1}},r2=class extends SyntaxError{constructor(n,a){super(n),this.index=a}};function fx(e,n,a,i){let m="";if(e.kind==="literal"){let t=e.source.slice(e.start,e.end);t&&(m=`: ${t}`)}else if(e.kind==="pattern"){let t=e.source.slice(e.start,e.end),r=`${n.unicode?"u":""}${n.unicodeSets?"v":""}`;m=`: /${t}/${r}`}return new r2(`Invalid regular expression${m}: ${i}`,a)}var dx=new Set([Be,$e,nn,Zi,Oa,Xi,Vn,ae,ie,me,y1,te,re,Na]),gx=new Set([ee,Yi,I8,$e,P8,Oa,Xi,kt,Zi,e2,O8,Ra,La,Tt,Vn,R8,Be,J8,F8]),yx=new Set([ae,ie,me,y1,te,re,Pa,Tn,nn,Na]),Cx=new Set([ee,Tn,Yi,I8,P8,kt,e2,O8,Ra,La,Tt,R8,J8,F8]),U8={global:N8,ignoreCase:Pt,multiline:Ot,unicode:Hi,sticky:M8,dotAll:m2,hasIndices:Ct,unicodeSets:vt},vx=Object.fromEntries(Object.entries(U8).map(([e,n])=>[n,e]));function v8(e){return dx.has(e)}function _8(e){return gx.has(e)}function _x(e){return yx.has(e)}function Sx(e){return Cx.has(e)}function wx(e){return Po(e)||e===$e||e===At}function Ex(e){return w8(e)||e===$e||e===tx||e===rx}function D8(e){return j8(e)||e===At}function bx(e){return D8(e)||Ki(e)}function kx(e){return e===Pt||e===Ot||e===m2}var Ma=class{constructor(n){this._reader=new wt,this._unicodeMode=!1,this._unicodeSetsMode=!1,this._nFlag=!1,this._lastIntValue=0,this._lastRange={min:0,max:Number.POSITIVE_INFINITY},this._lastStrValue="",this._lastAssertionIsQuantifiable=!1,this._numCapturingParens=0,this._backreferenceNames=new Set,this._srcCtx=null,this._options=n??{},this._groupSpecifiers=this.ecmaVersion>=2025?new St:new _t}validateLiteral(n,a=0,i=n.length){if(this._srcCtx={source:n,start:a,end:i,kind:"literal"},this._unicodeSetsMode=this._unicodeMode=this._nFlag=!1,this.reset(n,a,i),this.onLiteralEnter(a),this.eat(Pa)&&this.eatRegExpBody()&&this.eat(Pa)){let m=this.index,t=n.includes("u",m),r=n.includes("v",m);this.validateFlagsInternal(n,m,i),this.validatePatternInternal(n,a+1,m-1,{unicode:t,unicodeSets:r})}else if(a>=i)this.raise("Empty");else{let m=String.fromCodePoint(this.currentCodePoint);this.raise(`Unexpected character '${m}'`)}this.onLiteralLeave(a,i)}validateFlags(n,a=0,i=n.length){this._srcCtx={source:n,start:a,end:i,kind:"flags"},this.validateFlagsInternal(n,a,i)}validatePattern(n,a=0,i=n.length,m=void 0){this._srcCtx={source:n,start:a,end:i,kind:"pattern"},this.validatePatternInternal(n,a,i,m)}validatePatternInternal(n,a=0,i=n.length,m=void 0){let t=this._parseFlagsOptionToMode(m,i);this._unicodeMode=t.unicodeMode,this._nFlag=t.nFlag,this._unicodeSetsMode=t.unicodeSetsMode,this.reset(n,a,i),this.consumePattern(),!this._nFlag&&this.ecmaVersion>=2018&&!this._groupSpecifiers.isEmpty()&&(this._nFlag=!0,this.rewind(a),this.consumePattern())}validateFlagsInternal(n,a,i){let m=this.parseFlags(n,a,i);this.onRegExpFlags(a,i,m)}_parseFlagsOptionToMode(n,a){let i=!1,m=!1;n&&this.ecmaVersion>=2015&&(typeof n=="object"?(i=!!n.unicode,this.ecmaVersion>=2024&&(m=!!n.unicodeSets)):i=n),i&&m&&this.raise("Invalid regular expression flags",{index:a+1,unicode:i,unicodeSets:m});let t=i||m,r=i&&this.ecmaVersion>=2018||m||!!(this._options.strict&&this.ecmaVersion>=2023);return{unicodeMode:t,nFlag:r,unicodeSetsMode:m}}get strict(){return!!this._options.strict||this._unicodeMode}get ecmaVersion(){var n;return(n=this._options.ecmaVersion)!==null&&n!==void 0?n:S8}onLiteralEnter(n){this._options.onLiteralEnter&&this._options.onLiteralEnter(n)}onLiteralLeave(n,a){this._options.onLiteralLeave&&this._options.onLiteralLeave(n,a)}onRegExpFlags(n,a,i){this._options.onRegExpFlags&&this._options.onRegExpFlags(n,a,i),this._options.onFlags&&this._options.onFlags(n,a,i.global,i.ignoreCase,i.multiline,i.unicode,i.sticky,i.dotAll,i.hasIndices)}onPatternEnter(n){this._options.onPatternEnter&&this._options.onPatternEnter(n)}onPatternLeave(n,a){this._options.onPatternLeave&&this._options.onPatternLeave(n,a)}onDisjunctionEnter(n){this._options.onDisjunctionEnter&&this._options.onDisjunctionEnter(n)}onDisjunctionLeave(n,a){this._options.onDisjunctionLeave&&this._options.onDisjunctionLeave(n,a)}onAlternativeEnter(n,a){this._options.onAlternativeEnter&&this._options.onAlternativeEnter(n,a)}onAlternativeLeave(n,a,i){this._options.onAlternativeLeave&&this._options.onAlternativeLeave(n,a,i)}onGroupEnter(n){this._options.onGroupEnter&&this._options.onGroupEnter(n)}onGroupLeave(n,a){this._options.onGroupLeave&&this._options.onGroupLeave(n,a)}onModifiersEnter(n){this._options.onModifiersEnter&&this._options.onModifiersEnter(n)}onModifiersLeave(n,a){this._options.onModifiersLeave&&this._options.onModifiersLeave(n,a)}onAddModifiers(n,a,i){this._options.onAddModifiers&&this._options.onAddModifiers(n,a,i)}onRemoveModifiers(n,a,i){this._options.onRemoveModifiers&&this._options.onRemoveModifiers(n,a,i)}onCapturingGroupEnter(n,a){this._options.onCapturingGroupEnter&&this._options.onCapturingGroupEnter(n,a)}onCapturingGroupLeave(n,a,i){this._options.onCapturingGroupLeave&&this._options.onCapturingGroupLeave(n,a,i)}onQuantifier(n,a,i,m,t){this._options.onQuantifier&&this._options.onQuantifier(n,a,i,m,t)}onLookaroundAssertionEnter(n,a,i){this._options.onLookaroundAssertionEnter&&this._options.onLookaroundAssertionEnter(n,a,i)}onLookaroundAssertionLeave(n,a,i,m){this._options.onLookaroundAssertionLeave&&this._options.onLookaroundAssertionLeave(n,a,i,m)}onEdgeAssertion(n,a,i){this._options.onEdgeAssertion&&this._options.onEdgeAssertion(n,a,i)}onWordBoundaryAssertion(n,a,i,m){this._options.onWordBoundaryAssertion&&this._options.onWordBoundaryAssertion(n,a,i,m)}onAnyCharacterSet(n,a,i){this._options.onAnyCharacterSet&&this._options.onAnyCharacterSet(n,a,i)}onEscapeCharacterSet(n,a,i,m){this._options.onEscapeCharacterSet&&this._options.onEscapeCharacterSet(n,a,i,m)}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){this._options.onUnicodePropertyCharacterSet&&this._options.onUnicodePropertyCharacterSet(n,a,i,m,t,r,s)}onCharacter(n,a,i){this._options.onCharacter&&this._options.onCharacter(n,a,i)}onBackreference(n,a,i){this._options.onBackreference&&this._options.onBackreference(n,a,i)}onCharacterClassEnter(n,a,i){this._options.onCharacterClassEnter&&this._options.onCharacterClassEnter(n,a,i)}onCharacterClassLeave(n,a,i){this._options.onCharacterClassLeave&&this._options.onCharacterClassLeave(n,a,i)}onCharacterClassRange(n,a,i,m){this._options.onCharacterClassRange&&this._options.onCharacterClassRange(n,a,i,m)}onClassIntersection(n,a){this._options.onClassIntersection&&this._options.onClassIntersection(n,a)}onClassSubtraction(n,a){this._options.onClassSubtraction&&this._options.onClassSubtraction(n,a)}onClassStringDisjunctionEnter(n){this._options.onClassStringDisjunctionEnter&&this._options.onClassStringDisjunctionEnter(n)}onClassStringDisjunctionLeave(n,a){this._options.onClassStringDisjunctionLeave&&this._options.onClassStringDisjunctionLeave(n,a)}onStringAlternativeEnter(n,a){this._options.onStringAlternativeEnter&&this._options.onStringAlternativeEnter(n,a)}onStringAlternativeLeave(n,a,i){this._options.onStringAlternativeLeave&&this._options.onStringAlternativeLeave(n,a,i)}get index(){return this._reader.index}get currentCodePoint(){return this._reader.currentCodePoint}get nextCodePoint(){return this._reader.nextCodePoint}get nextCodePoint2(){return this._reader.nextCodePoint2}get nextCodePoint3(){return this._reader.nextCodePoint3}reset(n,a,i){this._reader.reset(n,a,i,this._unicodeMode)}rewind(n){this._reader.rewind(n)}advance(){this._reader.advance()}eat(n){return this._reader.eat(n)}eat2(n,a){return this._reader.eat2(n,a)}eat3(n,a,i){return this._reader.eat3(n,a,i)}raise(n,a){var i,m,t;throw fx(this._srcCtx,{unicode:(i=a?.unicode)!==null&&i!==void 0?i:this._unicodeMode&&!this._unicodeSetsMode,unicodeSets:(m=a?.unicodeSets)!==null&&m!==void 0?m:this._unicodeSetsMode},(t=a?.index)!==null&&t!==void 0?t:this.index,n)}eatRegExpBody(){let n=this.index,a=!1,i=!1;for(;;){let m=this.currentCodePoint;if(m===-1||ux(m)){let t=a?"character class":"regular expression";this.raise(`Unterminated ${t}`)}if(i)i=!1;else if(m===nn)i=!0;else if(m===me)a=!0;else if(m===y1)a=!1;else if(m===Pa&&!a||m===Oa&&this.index===n)break;this.advance()}return this.index!==n}consumePattern(){let n=this.index;this._numCapturingParens=this.countCapturingParens(),this._groupSpecifiers.clear(),this._backreferenceNames.clear(),this.onPatternEnter(n),this.consumeDisjunction();let a=this.currentCodePoint;if(this.currentCodePoint!==-1){a===ie&&this.raise("Unmatched ')'"),a===nn&&this.raise("\\ at end of pattern"),(a===y1||a===re)&&this.raise("Lone quantifier brackets");let i=String.fromCodePoint(a);this.raise(`Unexpected character '${i}'`)}for(let i of this._backreferenceNames)this._groupSpecifiers.hasInPattern(i)||this.raise("Invalid named capture referenced");this.onPatternLeave(n,this.index)}countCapturingParens(){let n=this.index,a=!1,i=!1,m=0,t=0;for(;(t=this.currentCodePoint)!==-1;)i?i=!1:t===nn?i=!0:t===me?a=!0:t===y1?a=!1:t===ae&&!a&&(this.nextCodePoint!==Vn||this.nextCodePoint2===Ra&&this.nextCodePoint3!==La&&this.nextCodePoint3!==Yi)&&(m+=1),this.advance();return this.rewind(n),m}consumeDisjunction(){let n=this.index,a=0;this._groupSpecifiers.enterDisjunction(),this.onDisjunctionEnter(n);do this.consumeAlternative(a++);while(this.eat(Na));this.consumeQuantifier(!0)&&this.raise("Nothing to repeat"),this.eat(te)&&this.raise("Lone quantifier brackets"),this.onDisjunctionLeave(n,this.index),this._groupSpecifiers.leaveDisjunction()}consumeAlternative(n){let a=this.index;for(this._groupSpecifiers.enterAlternative(n),this.onAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeTerm(););this.onAlternativeLeave(a,this.index,n)}consumeTerm(){return this._unicodeMode||this.strict?this.consumeAssertion()||this.consumeAtom()&&this.consumeOptionalQuantifier():this.consumeAssertion()&&(!this._lastAssertionIsQuantifiable||this.consumeOptionalQuantifier())||this.consumeExtendedAtom()&&this.consumeOptionalQuantifier()}consumeOptionalQuantifier(){return this.consumeQuantifier(),!0}consumeAssertion(){let n=this.index;if(this._lastAssertionIsQuantifiable=!1,this.eat(Be))return this.onEdgeAssertion(n,this.index,"start"),!0;if(this.eat($e))return this.onEdgeAssertion(n,this.index,"end"),!0;if(this.eat2(nn,Wo))return this.onWordBoundaryAssertion(n,this.index,"word",!0),!0;if(this.eat2(nn,pt))return this.onWordBoundaryAssertion(n,this.index,"word",!1),!0;if(this.eat2(ae,Vn)){let a=this.ecmaVersion>=2018&&this.eat(Ra),i=!1;if(this.eat(La)||(i=this.eat(Yi))){let m=a?"lookbehind":"lookahead";return this.onLookaroundAssertionEnter(n,m,i),this.consumeDisjunction(),this.eat(ie)||this.raise("Unterminated group"),this._lastAssertionIsQuantifiable=!a&&!this.strict,this.onLookaroundAssertionLeave(n,this.index,m,i),!0}this.rewind(n)}return!1}consumeQuantifier(n=!1){let a=this.index,i=0,m=0,t=!1;if(this.eat(Oa))i=0,m=Number.POSITIVE_INFINITY;else if(this.eat(Xi))i=1,m=Number.POSITIVE_INFINITY;else if(this.eat(Vn))i=0,m=1;else if(this.eatBracedQuantifier(n))({min:i,max:m}=this._lastRange);else return!1;return t=!this.eat(Vn),n||this.onQuantifier(a,this.index,i,m,t),!0}eatBracedQuantifier(n){let a=this.index;if(this.eat(te)){if(this.eatDecimalDigits()){let i=this._lastIntValue,m=i;if(this.eat(kt)&&(m=this.eatDecimalDigits()?this._lastIntValue:Number.POSITIVE_INFINITY),this.eat(re))return!n&&m<i&&this.raise("numbers out of order in {} quantifier"),this._lastRange={min:i,max:m},!0}!n&&(this._unicodeMode||this.strict)&&this.raise("Incomplete quantifier"),this.rewind(a)}return!1}consumeAtom(){return this.consumePatternCharacter()||this.consumeDot()||this.consumeReverseSolidusAtomEscape()||!!this.consumeCharacterClass()||this.consumeCapturingGroup()||this.consumeUncapturingGroup()}consumeDot(){return this.eat(Zi)?(this.onAnyCharacterSet(this.index-1,this.index,"any"),!0):!1}consumeReverseSolidusAtomEscape(){let n=this.index;if(this.eat(nn)){if(this.consumeAtomEscape())return!0;this.rewind(n)}return!1}consumeUncapturingGroup(){let n=this.index;return this.eat2(ae,Vn)?(this.onGroupEnter(n),this.ecmaVersion>=2025&&this.consumeModifiers(),this.eat(e2)||(this.rewind(n+1),this.raise("Invalid group")),this.consumeDisjunction(),this.eat(ie)||this.raise("Unterminated group"),this.onGroupLeave(n,this.index),!0):!1}consumeModifiers(){let n=this.index,a=this.eatModifiers(),i=this.index,m=this.eat(Tn);if(!a&&!m)return!1;this.onModifiersEnter(n);let t=this.parseModifiers(n,i);if(this.onAddModifiers(n,i,t),m){let r=this.index;!this.eatModifiers()&&!a&&this.currentCodePoint===e2&&this.raise("Invalid empty flags");let s=this.parseModifiers(r,this.index);for(let[o]of Object.entries(s).filter(([,x])=>x))t[o]&&this.raise(`Duplicated flag '${String.fromCodePoint(U8[o])}'`);this.onRemoveModifiers(r,this.index,s)}return this.onModifiersLeave(n,this.index),!0}consumeCapturingGroup(){let n=this.index;if(this.eat(ae)){let a=null;if(this.ecmaVersion>=2018){if(this.consumeGroupSpecifier())a=this._lastStrValue;else if(this.currentCodePoint===Vn)return this.rewind(n),!1}else if(this.currentCodePoint===Vn)return this.rewind(n),!1;return this.onCapturingGroupEnter(n,a),this.consumeDisjunction(),this.eat(ie)||this.raise("Unterminated group"),this.onCapturingGroupLeave(n,this.index,a),!0}return!1}consumeExtendedAtom(){return this.consumeDot()||this.consumeReverseSolidusAtomEscape()||this.consumeReverseSolidusFollowedByC()||!!this.consumeCharacterClass()||this.consumeCapturingGroup()||this.consumeUncapturingGroup()||this.consumeInvalidBracedQuantifier()||this.consumeExtendedPatternCharacter()}consumeReverseSolidusFollowedByC(){let n=this.index;return this.currentCodePoint===nn&&this.nextCodePoint===Ge?(this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,nn),!0):!1}consumeInvalidBracedQuantifier(){return this.eatBracedQuantifier(!0)&&this.raise("Nothing to repeat"),!1}consumePatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&!v8(a)?(this.advance(),this.onCharacter(n,this.index,a),!0):!1}consumeExtendedPatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&a!==Be&&a!==$e&&a!==nn&&a!==Zi&&a!==Oa&&a!==Xi&&a!==Vn&&a!==ae&&a!==ie&&a!==me&&a!==Na?(this.advance(),this.onCharacter(n,this.index,a),!0):!1}consumeGroupSpecifier(){let n=this.index;if(this.eat(Vn)){if(this.eatGroupName()){if(!this._groupSpecifiers.hasInScope(this._lastStrValue))return this._groupSpecifiers.addToScope(this._lastStrValue),!0;this.raise("Duplicate capture group name")}this.rewind(n)}return!1}consumeAtomEscape(){return this.consumeBackreference()||this.consumeCharacterClassEscape()||this.consumeCharacterEscape()||this._nFlag&&this.consumeKGroupName()?!0:((this.strict||this._unicodeMode)&&this.raise("Invalid escape"),!1)}consumeBackreference(){let n=this.index;if(this.eatDecimalEscape()){let a=this._lastIntValue;if(a<=this._numCapturingParens)return this.onBackreference(n-1,this.index,a),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeCharacterClassEscape(){var n;let a=this.index;if(this.eat(Ct))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!1),{};if(this.eat(Qo))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!0),{};if(this.eat(m2))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!1),{};if(this.eat(qo))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!0),{};if(this.eat(ax))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!1),{};if(this.eat(Ho))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!0),{};let i=!1;if(this._unicodeMode&&this.ecmaVersion>=2018&&(this.eat(Xo)||(i=this.eat(zo)))){this._lastIntValue=-1;let m=null;if(this.eat(te)&&(m=this.eatUnicodePropertyValueExpression())&&this.eat(re))return i&&m.strings&&this.raise("Invalid property name"),this.onUnicodePropertyCharacterSet(a-1,this.index,"property",m.key,m.value,i,(n=m.strings)!==null&&n!==void 0?n:!1),{mayContainStrings:m.strings};this.raise("Invalid property name")}return null}consumeCharacterEscape(){let n=this.index;return this.eatControlEscape()||this.eatCControlLetter()||this.eatZero()||this.eatHexEscapeSequence()||this.eatRegExpUnicodeEscapeSequence()||!this.strict&&!this._unicodeMode&&this.eatLegacyOctalEscapeSequence()||this.eatIdentityEscape()?(this.onCharacter(n-1,this.index,this._lastIntValue),!0):!1}consumeKGroupName(){let n=this.index;if(this.eat(g8)){if(this.eatGroupName()){let a=this._lastStrValue;return this._backreferenceNames.add(a),this.onBackreference(n-1,this.index,a),!0}this.raise("Invalid named reference")}return!1}consumeCharacterClass(){let n=this.index;if(this.eat(me)){let a=this.eat(Be);this.onCharacterClassEnter(n,a,this._unicodeSetsMode);let i=this.consumeClassContents();return this.eat(y1)||(this.currentCodePoint===-1&&this.raise("Unterminated character class"),this.raise("Invalid character in character class")),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}return null}consumeClassContents(){if(this._unicodeSetsMode)return this.currentCodePoint===y1?{}:this.consumeClassSetExpression();let n=this.strict||this._unicodeMode;for(;;){let a=this.index;if(!this.consumeClassAtom())break;let i=this._lastIntValue;if(!this.eat(Tn))continue;if(this.onCharacter(this.index-1,this.index,Tn),!this.consumeClassAtom())break;let m=this._lastIntValue;if(i===-1||m===-1){n&&this.raise("Invalid character class");continue}i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(a,this.index,i,m)}return{}}consumeClassAtom(){let n=this.index,a=this.currentCodePoint;if(a!==-1&&a!==nn&&a!==y1)return this.advance(),this._lastIntValue=a,this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(nn)){if(this.consumeClassEscape())return!0;if(!this.strict&&this.currentCodePoint===Ge)return this._lastIntValue=nn,this.onCharacter(n,this.index,this._lastIntValue),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeClassEscape(){let n=this.index;if(this.eat(pt))return this._lastIntValue=d8,this.onCharacter(n-1,this.index,this._lastIntValue),!0;if(this._unicodeMode&&this.eat(Tn))return this._lastIntValue=Tn,this.onCharacter(n-1,this.index,this._lastIntValue),!0;let a=0;return!this.strict&&!this._unicodeMode&&this.currentCodePoint===Ge&&(Ki(a=this.nextCodePoint)||a===At)?(this.advance(),this.advance(),this._lastIntValue=a%32,this.onCharacter(n-1,this.index,this._lastIntValue),!0):!!this.consumeCharacterClassEscape()||this.consumeCharacterEscape()}consumeClassSetExpression(){let n=this.index,a=!1,i=null;if(this.consumeClassSetCharacter()){if(this.consumeClassSetRangeFromOperator(n))return this.consumeClassUnionRight({}),{};a=!1}else if(i=this.consumeClassSetOperand())a=i.mayContainStrings;else{let m=this.currentCodePoint;m===nn&&(this.advance(),this.raise("Invalid escape")),m===this.nextCodePoint&&_8(m)&&this.raise("Invalid set operation in character class"),this.raise("Invalid character in character class")}if(this.eat2(ee,ee)){for(;this.currentCodePoint!==ee&&(i=this.consumeClassSetOperand());)if(this.onClassIntersection(n,this.index),i.mayContainStrings||(a=!1),!this.eat2(ee,ee))return{mayContainStrings:a};this.raise("Invalid character in character class")}if(this.eat2(Tn,Tn)){for(;this.consumeClassSetOperand();)if(this.onClassSubtraction(n,this.index),!this.eat2(Tn,Tn))return{mayContainStrings:a};this.raise("Invalid character in character class")}return this.consumeClassUnionRight({mayContainStrings:a})}consumeClassUnionRight(n){let a=n.mayContainStrings;for(;;){let i=this.index;if(this.consumeClassSetCharacter()){this.consumeClassSetRangeFromOperator(i);continue}let m=this.consumeClassSetOperand();if(m){m.mayContainStrings&&(a=!0);continue}break}return{mayContainStrings:a}}consumeClassSetRangeFromOperator(n){let a=this.index,i=this._lastIntValue;if(this.eat(Tn)){if(this.consumeClassSetCharacter()){let m=this._lastIntValue;return(i===-1||m===-1)&&this.raise("Invalid character class"),i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(n,this.index,i,m),!0}this.rewind(a)}return!1}consumeClassSetOperand(){let n=null;return(n=this.consumeNestedClass())||(n=this.consumeClassStringDisjunction())?n:this.consumeClassSetCharacter()?{}:null}consumeNestedClass(){let n=this.index;if(this.eat(me)){let a=this.eat(Be);this.onCharacterClassEnter(n,a,!0);let i=this.consumeClassContents();return this.eat(y1)||this.raise("Unterminated character class"),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}if(this.eat(nn)){let a=this.consumeCharacterClassEscape();if(a)return a;this.rewind(n)}return null}consumeClassStringDisjunction(){let n=this.index;if(this.eat3(nn,Zo,te)){this.onClassStringDisjunctionEnter(n);let a=0,i=!1;do this.consumeClassString(a++).mayContainStrings&&(i=!0);while(this.eat(Na));if(this.eat(re))return this.onClassStringDisjunctionLeave(n,this.index),{mayContainStrings:i};this.raise("Unterminated class string disjunction")}return null}consumeClassString(n){let a=this.index,i=0;for(this.onStringAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeClassSetCharacter();)i++;return this.onStringAlternativeLeave(a,this.index,n),{mayContainStrings:i!==1}}consumeClassSetCharacter(){let n=this.index,a=this.currentCodePoint;if((a!==this.nextCodePoint||!_8(a))&&a!==-1&&!_x(a))return this._lastIntValue=a,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(nn)){if(this.consumeCharacterEscape())return!0;if(Sx(this.currentCodePoint))return this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(pt))return this._lastIntValue=d8,this.onCharacter(n,this.index,this._lastIntValue),!0;this.rewind(n)}return!1}eatGroupName(){if(this.eat(Ra)){if(this.eatRegExpIdentifierName()&&this.eat(Tt))return!0;this.raise("Invalid capture group name")}return!1}eatRegExpIdentifierName(){if(this.eatRegExpIdentifierStart()){for(this._lastStrValue=String.fromCodePoint(this._lastIntValue);this.eatRegExpIdentifierPart();)this._lastStrValue+=String.fromCodePoint(this._lastIntValue);return!0}return!1}eatRegExpIdentifierStart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===nn&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&dt(i)&&gt(this.currentCodePoint)&&(i=yt(i,this.currentCodePoint),this.advance()),wx(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatRegExpIdentifierPart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===nn&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&dt(i)&&gt(this.currentCodePoint)&&(i=yt(i,this.currentCodePoint),this.advance()),Ex(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatCControlLetter(){let n=this.index;if(this.eat(Ge)){if(this.eatControlLetter())return!0;this.rewind(n)}return!1}eatZero(){return this.currentCodePoint===N1&&!Ki(this.nextCodePoint)?(this._lastIntValue=0,this.advance(),!0):!1}eatControlEscape(){return this.eat(It)?(this._lastIntValue=Bo,!0):this.eat(Yo)?(this._lastIntValue=T8,!0):this.eat(nx)?(this._lastIntValue=A8,!0):this.eat(ex)?(this._lastIntValue=Do,!0):this.eat(vt)?(this._lastIntValue=Go,!0):!1}eatControlLetter(){let n=this.currentCodePoint;return j8(n)?(this.advance(),this._lastIntValue=n%32,!0):!1}eatRegExpUnicodeEscapeSequence(n=!1){let a=this.index,i=n||this._unicodeMode;if(this.eat(Hi)){if(i&&this.eatRegExpUnicodeSurrogatePairEscape()||this.eatFixedHexDigits(4)||i&&this.eatRegExpUnicodeCodePointEscape())return!0;(this.strict||i)&&this.raise("Invalid unicode escape"),this.rewind(a)}return!1}eatRegExpUnicodeSurrogatePairEscape(){let n=this.index;if(this.eatFixedHexDigits(4)){let a=this._lastIntValue;if(dt(a)&&this.eat(nn)&&this.eat(Hi)&&this.eatFixedHexDigits(4)){let i=this._lastIntValue;if(gt(i))return this._lastIntValue=yt(a,i),!0}this.rewind(n)}return!1}eatRegExpUnicodeCodePointEscape(){let n=this.index;return this.eat(te)&&this.eatHexDigits()&&this.eat(re)&&hx(this._lastIntValue)?!0:(this.rewind(n),!1)}eatIdentityEscape(){let n=this.currentCodePoint;return this.isValidIdentityEscape(n)?(this._lastIntValue=n,this.advance(),!0):!1}isValidIdentityEscape(n){return n===-1?!1:this._unicodeMode?v8(n)||n===Pa:this.strict?!w8(n):this._nFlag?!(n===Ge||n===g8):n!==Ge}eatDecimalEscape(){this._lastIntValue=0;let n=this.currentCodePoint;if(n>=Vo&&n<=n2){do this._lastIntValue=10*this._lastIntValue+(n-N1),this.advance();while((n=this.currentCodePoint)>=N1&&n<=n2);return!0}return!1}eatUnicodePropertyValueExpression(){let n=this.index;if(this.eatUnicodePropertyName()&&this.eat(La)){let a=this._lastStrValue;if(this.eatUnicodePropertyValue()){let i=this._lastStrValue;if(f8(this.ecmaVersion,a,i))return{key:a,value:i||null};this.raise("Invalid property name")}}if(this.rewind(n),this.eatLoneUnicodePropertyNameOrValue()){let a=this._lastStrValue;if(f8(this.ecmaVersion,"General_Category",a))return{key:"General_Category",value:a||null};if(jo(this.ecmaVersion,a))return{key:a,value:null};if(this._unicodeSetsMode&&Uo(this.ecmaVersion,a))return{key:a,value:null,strings:!0};this.raise("Invalid property name")}return null}eatUnicodePropertyName(){for(this._lastStrValue="";D8(this.currentCodePoint);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();return this._lastStrValue!==""}eatUnicodePropertyValue(){for(this._lastStrValue="";bx(this.currentCodePoint);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();return this._lastStrValue!==""}eatLoneUnicodePropertyNameOrValue(){return this.eatUnicodePropertyValue()}eatHexEscapeSequence(){let n=this.index;if(this.eat(ix)){if(this.eatFixedHexDigits(2))return!0;(this._unicodeMode||this.strict)&&this.raise("Invalid escape"),this.rewind(n)}return!1}eatDecimalDigits(){let n=this.index;for(this._lastIntValue=0;Ki(this.currentCodePoint);)this._lastIntValue=10*this._lastIntValue+ft(this.currentCodePoint),this.advance();return this.index!==n}eatHexDigits(){let n=this.index;for(this._lastIntValue=0;y8(this.currentCodePoint);)this._lastIntValue=16*this._lastIntValue+ft(this.currentCodePoint),this.advance();return this.index!==n}eatLegacyOctalEscapeSequence(){if(this.eatOctalDigit()){let n=this._lastIntValue;if(this.eatOctalDigit()){let a=this._lastIntValue;n<=3&&this.eatOctalDigit()?this._lastIntValue=n*64+a*8+this._lastIntValue:this._lastIntValue=n*8+a}else this._lastIntValue=n;return!0}return!1}eatOctalDigit(){let n=this.currentCodePoint;return lx(n)?(this.advance(),this._lastIntValue=n-N1,!0):(this._lastIntValue=0,!1)}eatFixedHexDigits(n){let a=this.index;this._lastIntValue=0;for(let i=0;i<n;++i){let m=this.currentCodePoint;if(!y8(m))return this.rewind(a),!1;this._lastIntValue=16*this._lastIntValue+ft(m),this.advance()}return!0}eatModifiers(){let n=!1;for(;kx(this.currentCodePoint);)this.advance(),n=!0;return n}parseModifiers(n,a){let{ignoreCase:i,multiline:m,dotAll:t}=this.parseFlags(this._reader.source,n,a);return{ignoreCase:i,multiline:m,dotAll:t}}parseFlags(n,a,i){let m={global:!1,ignoreCase:!1,multiline:!1,unicode:!1,sticky:!1,dotAll:!1,hasIndices:!1,unicodeSets:!1},t=new Set;t.add(N8),t.add(Pt),t.add(Ot),this.ecmaVersion>=2015&&(t.add(Hi),t.add(M8),this.ecmaVersion>=2018&&(t.add(m2),this.ecmaVersion>=2022&&(t.add(Ct),this.ecmaVersion>=2024&&t.add(vt))));for(let r=a;r<i;++r){let s=n.charCodeAt(r);if(t.has(s)){let o=vx[s];m[o]&&this.raise(`Duplicated flag '${n[r]}'`,{index:a}),m[o]=!0}else this.raise(`Invalid flag '${n[r]}'`,{index:a})}return m}},Tx={},Ax={},Ix={};function qi(e){return e.type==="Character"||e.type==="CharacterSet"||e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"||e.type==="ClassStringDisjunction"}var Et=class{constructor(n){var a;this._node=Tx,this._expressionBufferMap=new Map,this._flags=Ax,this._backreferences=[],this._capturingGroups=[],this.source="",this.strict=!!n?.strict,this.ecmaVersion=(a=n?.ecmaVersion)!==null&&a!==void 0?a:S8}get pattern(){if(this._node.type!=="Pattern")throw new Error("UnknownError");return this._node}get flags(){if(this._flags.type!=="Flags")throw new Error("UnknownError");return this._flags}onRegExpFlags(n,a,{global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}){this._flags={type:"Flags",parent:null,start:n,end:a,raw:this.source.slice(n,a),global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}}onPatternEnter(n){this._node={type:"Pattern",parent:null,start:n,end:n,raw:"",alternatives:[]},this._backreferences.length=0,this._capturingGroups.length=0}onPatternLeave(n,a){this._node.end=a,this._node.raw=this.source.slice(n,a);for(let i of this._backreferences){let m=i.ref,t=typeof m=="number"?[this._capturingGroups[m-1]]:this._capturingGroups.filter(r=>r.name===m);if(t.length===1){let r=t[0];i.ambiguous=!1,i.resolved=r}else i.ambiguous=!0,i.resolved=t;for(let r of t)r.references.push(i)}}onAlternativeEnter(n){let a=this._node;if(a.type!=="Assertion"&&a.type!=="CapturingGroup"&&a.type!=="Group"&&a.type!=="Pattern")throw new Error("UnknownError");this._node={type:"Alternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onAlternativeLeave(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onGroupEnter(n){let a=this._node;if(a.type!=="Alternative")throw new Error("UnknownError");let i={type:"Group",parent:a,start:n,end:n,raw:"",modifiers:null,alternatives:[]};this._node=i,a.elements.push(this._node)}onGroupLeave(n,a){let i=this._node;if(i.type!=="Group"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onModifiersEnter(n){let a=this._node;if(a.type!=="Group")throw new Error("UnknownError");this._node={type:"Modifiers",parent:a,start:n,end:n,raw:"",add:null,remove:null},a.modifiers=this._node}onModifiersLeave(n,a){let i=this._node;if(i.type!=="Modifiers"||i.parent.type!=="Group")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onAddModifiers(n,a,{ignoreCase:i,multiline:m,dotAll:t}){let r=this._node;if(r.type!=="Modifiers")throw new Error("UnknownError");r.add={type:"ModifierFlags",parent:r,start:n,end:a,raw:this.source.slice(n,a),ignoreCase:i,multiline:m,dotAll:t}}onRemoveModifiers(n,a,{ignoreCase:i,multiline:m,dotAll:t}){let r=this._node;if(r.type!=="Modifiers")throw new Error("UnknownError");r.remove={type:"ModifierFlags",parent:r,start:n,end:a,raw:this.source.slice(n,a),ignoreCase:i,multiline:m,dotAll:t}}onCapturingGroupEnter(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");this._node={type:"CapturingGroup",parent:i,start:n,end:n,raw:"",name:a,alternatives:[],references:[]},i.elements.push(this._node),this._capturingGroups.push(this._node)}onCapturingGroupLeave(n,a){let i=this._node;if(i.type!=="CapturingGroup"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onQuantifier(n,a,i,m,t){let r=this._node;if(r.type!=="Alternative")throw new Error("UnknownError");let s=r.elements.pop();if(s==null||s.type==="Quantifier"||s.type==="Assertion"&&s.kind!=="lookahead")throw new Error("UnknownError");let o={type:"Quantifier",parent:r,start:s.start,end:a,raw:this.source.slice(s.start,a),min:i,max:m,greedy:t,element:s};r.elements.push(o),s.parent=o}onLookaroundAssertionEnter(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t=this._node={type:"Assertion",parent:m,start:n,end:n,raw:"",kind:a,negate:i,alternatives:[]};m.elements.push(t)}onLookaroundAssertionLeave(n,a){let i=this._node;if(i.type!=="Assertion"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onEdgeAssertion(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"Assertion",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onWordBoundaryAssertion(n,a,i,m){let t=this._node;if(t.type!=="Alternative")throw new Error("UnknownError");t.elements.push({type:"Assertion",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onAnyCharacterSet(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"CharacterSet",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onEscapeCharacterSet(n,a,i,m){let t=this._node;if(t.type!=="Alternative"&&t.type!=="CharacterClass")throw new Error("UnknownError");t.elements.push({type:"CharacterSet",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){let o=this._node;if(o.type!=="Alternative"&&o.type!=="CharacterClass")throw new Error("UnknownError");let x={type:"CharacterSet",parent:null,start:n,end:a,raw:this.source.slice(n,a),kind:i,strings:null,key:m};if(s){if(o.type==="CharacterClass"&&!o.unicodeSets||r||t!==null)throw new Error("UnknownError");o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}else o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}onCharacter(n,a,i){let m=this._node;if(m.type!=="Alternative"&&m.type!=="CharacterClass"&&m.type!=="StringAlternative")throw new Error("UnknownError");m.elements.push({type:"Character",parent:m,start:n,end:a,raw:this.source.slice(n,a),value:i})}onBackreference(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t={type:"Backreference",parent:m,start:n,end:a,raw:this.source.slice(n,a),ref:i,ambiguous:!1,resolved:Ix};m.elements.push(t),this._backreferences.push(t)}onCharacterClassEnter(n,a,i){let m=this._node,t={type:"CharacterClass",parent:m,start:n,end:n,raw:"",unicodeSets:i,negate:a,elements:[]};if(m.type==="Alternative"){let r=Object.assign(Object.assign({},t),{parent:m});this._node=r,m.elements.push(r)}else if(m.type==="CharacterClass"&&m.unicodeSets&&i){let r=Object.assign(Object.assign({},t),{parent:m,unicodeSets:i});this._node=r,m.elements.push(r)}else throw new Error("UnknownError")}onCharacterClassLeave(n,a){let i=this._node;if(i.type!=="CharacterClass"||i.parent.type!=="Alternative"&&i.parent.type!=="CharacterClass")throw new Error("UnknownError");let m=i.parent;i.end=a,i.raw=this.source.slice(n,a),this._node=m;let t=this._expressionBufferMap.get(i);if(!t)return;if(i.elements.length>0)throw new Error("UnknownError");this._expressionBufferMap.delete(i);let r={type:"ExpressionCharacterClass",parent:m,start:i.start,end:i.end,raw:i.raw,negate:i.negate,expression:t};if(t.parent=r,i!==m.elements.pop())throw new Error("UnknownError");m.elements.push(r)}onCharacterClassRange(n,a){let i=this._node;if(i.type!=="CharacterClass")throw new Error("UnknownError");let m=i.elements,t=m.pop();if(!t||t.type!=="Character")throw new Error("UnknownError");if(!i.unicodeSets){let o=m.pop();if(!o||o.type!=="Character"||o.value!==Tn)throw new Error("UnknownError")}let r=m.pop();if(!r||r.type!=="Character")throw new Error("UnknownError");let s={type:"CharacterClassRange",parent:i,start:n,end:a,raw:this.source.slice(n,a),min:r,max:t};r.parent=s,t.parent=s,m.push(s)}onClassIntersection(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBufferMap.get(m))!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassSubtraction"||r.type!=="ClassIntersection"&&!qi(r)||!qi(t))throw new Error("UnknownError");let s={type:"ClassIntersection",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBufferMap.set(m,s)}onClassSubtraction(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBufferMap.get(m))!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassIntersection"||r.type!=="ClassSubtraction"&&!qi(r)||!qi(t))throw new Error("UnknownError");let s={type:"ClassSubtraction",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBufferMap.set(m,s)}onClassStringDisjunctionEnter(n){let a=this._node;if(a.type!=="CharacterClass"||!a.unicodeSets)throw new Error("UnknownError");this._node={type:"ClassStringDisjunction",parent:a,start:n,end:n,raw:"",alternatives:[]},a.elements.push(this._node)}onClassStringDisjunctionLeave(n,a){let i=this._node;if(i.type!=="ClassStringDisjunction"||i.parent.type!=="CharacterClass")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onStringAlternativeEnter(n){let a=this._node;if(a.type!=="ClassStringDisjunction")throw new Error("UnknownError");this._node={type:"StringAlternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onStringAlternativeLeave(n,a){let i=this._node;if(i.type!=="StringAlternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}},s2=class{constructor(n){this._state=new Et(n),this._validator=new Ma(this._state)}parseLiteral(n,a=0,i=n.length){this._state.source=n,this._validator.validateLiteral(n,a,i);let m=this._state.pattern,t=this._state.flags,r={type:"RegExpLiteral",parent:null,start:a,end:i,raw:n,pattern:m,flags:t};return m.parent=r,t.parent=r,r}parseFlags(n,a=0,i=n.length){return this._state.source=n,this._validator.validateFlags(n,a,i),this._state.flags}parsePattern(n,a=0,i=n.length,m=void 0){return this._state.source=n,this._validator.validatePattern(n,a,i,m),this._state.pattern}},bt=class{constructor(n){this._handlers=n}visit(n){switch(n.type){case"Alternative":this.visitAlternative(n);break;case"Assertion":this.visitAssertion(n);break;case"Backreference":this.visitBackreference(n);break;case"CapturingGroup":this.visitCapturingGroup(n);break;case"Character":this.visitCharacter(n);break;case"CharacterClass":this.visitCharacterClass(n);break;case"CharacterClassRange":this.visitCharacterClassRange(n);break;case"CharacterSet":this.visitCharacterSet(n);break;case"ClassIntersection":this.visitClassIntersection(n);break;case"ClassStringDisjunction":this.visitClassStringDisjunction(n);break;case"ClassSubtraction":this.visitClassSubtraction(n);break;case"ExpressionCharacterClass":this.visitExpressionCharacterClass(n);break;case"Flags":this.visitFlags(n);break;case"Group":this.visitGroup(n);break;case"Modifiers":this.visitModifiers(n);break;case"ModifierFlags":this.visitModifierFlags(n);break;case"Pattern":this.visitPattern(n);break;case"Quantifier":this.visitQuantifier(n);break;case"RegExpLiteral":this.visitRegExpLiteral(n);break;case"StringAlternative":this.visitStringAlternative(n);break;default:throw new Error(`Unknown type: ${n.type}`)}}visitAlternative(n){this._handlers.onAlternativeEnter&&this._handlers.onAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onAlternativeLeave&&this._handlers.onAlternativeLeave(n)}visitAssertion(n){this._handlers.onAssertionEnter&&this._handlers.onAssertionEnter(n),(n.kind==="lookahead"||n.kind==="lookbehind")&&n.alternatives.forEach(this.visit,this),this._handlers.onAssertionLeave&&this._handlers.onAssertionLeave(n)}visitBackreference(n){this._handlers.onBackreferenceEnter&&this._handlers.onBackreferenceEnter(n),this._handlers.onBackreferenceLeave&&this._handlers.onBackreferenceLeave(n)}visitCapturingGroup(n){this._handlers.onCapturingGroupEnter&&this._handlers.onCapturingGroupEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onCapturingGroupLeave&&this._handlers.onCapturingGroupLeave(n)}visitCharacter(n){this._handlers.onCharacterEnter&&this._handlers.onCharacterEnter(n),this._handlers.onCharacterLeave&&this._handlers.onCharacterLeave(n)}visitCharacterClass(n){this._handlers.onCharacterClassEnter&&this._handlers.onCharacterClassEnter(n),n.elements.forEach(this.visit,this),this._handlers.onCharacterClassLeave&&this._handlers.onCharacterClassLeave(n)}visitCharacterClassRange(n){this._handlers.onCharacterClassRangeEnter&&this._handlers.onCharacterClassRangeEnter(n),this.visitCharacter(n.min),this.visitCharacter(n.max),this._handlers.onCharacterClassRangeLeave&&this._handlers.onCharacterClassRangeLeave(n)}visitCharacterSet(n){this._handlers.onCharacterSetEnter&&this._handlers.onCharacterSetEnter(n),this._handlers.onCharacterSetLeave&&this._handlers.onCharacterSetLeave(n)}visitClassIntersection(n){this._handlers.onClassIntersectionEnter&&this._handlers.onClassIntersectionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassIntersectionLeave&&this._handlers.onClassIntersectionLeave(n)}visitClassStringDisjunction(n){this._handlers.onClassStringDisjunctionEnter&&this._handlers.onClassStringDisjunctionEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onClassStringDisjunctionLeave&&this._handlers.onClassStringDisjunctionLeave(n)}visitClassSubtraction(n){this._handlers.onClassSubtractionEnter&&this._handlers.onClassSubtractionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassSubtractionLeave&&this._handlers.onClassSubtractionLeave(n)}visitExpressionCharacterClass(n){this._handlers.onExpressionCharacterClassEnter&&this._handlers.onExpressionCharacterClassEnter(n),this.visit(n.expression),this._handlers.onExpressionCharacterClassLeave&&this._handlers.onExpressionCharacterClassLeave(n)}visitFlags(n){this._handlers.onFlagsEnter&&this._handlers.onFlagsEnter(n),this._handlers.onFlagsLeave&&this._handlers.onFlagsLeave(n)}visitGroup(n){this._handlers.onGroupEnter&&this._handlers.onGroupEnter(n),n.modifiers&&this.visit(n.modifiers),n.alternatives.forEach(this.visit,this),this._handlers.onGroupLeave&&this._handlers.onGroupLeave(n)}visitModifiers(n){this._handlers.onModifiersEnter&&this._handlers.onModifiersEnter(n),n.add&&this.visit(n.add),n.remove&&this.visit(n.remove),this._handlers.onModifiersLeave&&this._handlers.onModifiersLeave(n)}visitModifierFlags(n){this._handlers.onModifierFlagsEnter&&this._handlers.onModifierFlagsEnter(n),this._handlers.onModifierFlagsLeave&&this._handlers.onModifierFlagsLeave(n)}visitPattern(n){this._handlers.onPatternEnter&&this._handlers.onPatternEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onPatternLeave&&this._handlers.onPatternLeave(n)}visitQuantifier(n){this._handlers.onQuantifierEnter&&this._handlers.onQuantifierEnter(n),this.visit(n.element),this._handlers.onQuantifierLeave&&this._handlers.onQuantifierLeave(n)}visitRegExpLiteral(n){this._handlers.onRegExpLiteralEnter&&this._handlers.onRegExpLiteralEnter(n),this.visitPattern(n.pattern),this.visitFlags(n.flags),this._handlers.onRegExpLiteralLeave&&this._handlers.onRegExpLiteralLeave(n)}visitStringAlternative(n){this._handlers.onStringAlternativeEnter&&this._handlers.onStringAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onStringAlternativeLeave&&this._handlers.onStringAlternativeLeave(n)}};function Px(e,n){return new s2(n).parseLiteral(String(e))}function Ox(e,n){new Ma(n).validateLiteral(e)}function Rx(e,n){new bt(n).visit(e)}C1.AST=Io;C1.RegExpParser=s2;C1.RegExpSyntaxError=r2;C1.RegExpValidator=Ma;C1.parseRegExpLiteral=Px;C1.validateRegExpLiteral=Ox;C1.visitRegExpAST=Rx});var $2=Wi(H=>{"use strict";function jn(e){function n(a){let i=n.cache.get(a);return i===void 0&&n.cache.set(a,i=e(a)),i}return n.cache=new Map,n}Object.defineProperty(H,"__esModule",{value:!0});var Lx=Array.isArray;function gn(e,n){let a=0;for(let i=0;i<e.length;i++){let m=e[i];n(m,e[i-a-1])?e[i-a]=m:a++}e.splice(e.length-a,a)}function a4(e,n){n===e.length-1?e.pop():e[n]=e.pop()}function i4(e,n){let a,i=1/0;for(let m of e){let t=n(m);t<i&&(a=m,i=t)}return a}function ma(e){return Array.isArray(e)?e:[...e]}function Nx(e){return e instanceof Set?e:new Set(e)}function se(e){for(let n of e)return n}function g2(e,n){let a=new Set,i=[{element:e,nextIndex:-1}];for(;i.length>0;){let m=i[i.length-1];m.nextIndex===-1&&(a.add(m.element),m.nextElements=ma(n(m.element)));let t=m.nextElements;if(!t)throw new Error("This should not happen.");if(m.nextIndex++,m.nextIndex>=t.length){i.pop();continue}let r=t[m.nextIndex];a.has(r)||i.push({element:r,nextIndex:-1})}}function*m4(e,n){let a=new Set,i=[...e],m=[];for(;i.length>0;){for(let t of i)a.has(t)||(a.add(t),yield t,m.push(...n(t)));[i,m]=[m,i],m.length=0}}function sn(e,n){let a=new Set,i=[e],m;for(;i.length;)m=i.pop(),a.has(m)||(a.add(m),n(m,i))}function A9(e,n){let a=new Set,i=[...e],m;for(;i.length;)m=i.pop(),a.has(m)||(a.add(m),n(m,i))}function j(e,n){let a=new Error(n);throw a.data=e,a}function*G8(e){for(let n of e)yield*n}function*B8(e){for(let n of s4(e)){let a=[];for(let i of n)a.push(...i);yield a}}function*t4(e){for(let n of s4(e))yield[...n]}var S2=class{constructor(n){this._cache=[],this._fullyCached=!1,this._iterator=n[Symbol.iterator]()}[Symbol.iterator](){return this._fullyCached?this._cache[Symbol.iterator]():(function*(n){let{_cache:a,_iterator:i}=n,m=0;for(;!n._fullyCached;)if(m<a.length)yield a[m],m++;else{let t=i.next();if(t.done)n._fullyCached=!0;else{let{value:r}=t;a.push(r),yield r,m++}}for(;m<a.length;m++)yield a[m]})(this)}};function r4(e){return Array.isArray(e)||e instanceof Set||e instanceof S2?e:new S2(e)}function*s4(e){let n=ma(e).map(r4),a=n.map((m=>m[Symbol.iterator]())),i=[];for(let m of a){let t=m.next();if(t.done)return;i.push(t.value)}if(yield i,a.length!==0)for(;;){for(let m=a.length-1;m>=0;m--){let t=a[m].next();if(!t.done){i[m]=t.value;break}if(m===0)return;{a[m]=n[m][Symbol.iterator]();let r=a[m].next();if(r.done)throw new Error;i[m]=r.value}}yield i}}function o4(e,n){y2(e,n)}function y2(e,n){switch(e.type){case"Concatenation":if(n===null)throw new Error("The parent of a concatenation cannot be null.");switch(n.type){case"Alternation":case"Assertion":case"Expression":case"Quantifier":e.parent=n;break;case"Concatenation":throw new Error("A concatenation cannot be parent of a concatenation.");default:throw j(n)}e.elements.forEach((a=>y2(a,e)));break;case"Alternation":case"Assertion":case"CharacterClass":case"Quantifier":case"Unknown":if(n===null)throw new Error(`The parent of a(n) ${e.type} cannot be null.`);if(n.type!=="Concatenation")throw new Error(`A(n) ${n.type} cannot be parent of a(n) ${e.type}.`);e.parent=n,e.type!=="CharacterClass"&&e.type!=="Unknown"&&e.alternatives.forEach((a=>y2(a,e)));break;case"Expression":if(n!==null)throw new Error(`The parent of an expression has to be null and cannot be a(n) ${n.type}.`);e.parent=null,e.alternatives.forEach((a=>y2(a,e)));break;default:throw j(e)}}function x4(e,n,a){if(typeof n!="function"){let{start:i,end:m}=n;n=()=>({start:i,end:m})}Yt(e,n,a)}function Yt(e,n,a){if(a||!e.source)e.source=n();else{let{start:i,end:m}=e.source;n=()=>({start:i,end:m})}switch(e.type){case"Concatenation":e.elements.forEach((i=>Yt(i,n,a)));break;case"Alternation":case"Assertion":case"Expression":case"Quantifier":e.alternatives.forEach((i=>Yt(i,n,a)));break;case"CharacterClass":case"Unknown":break;default:throw j(e)}}function o1(e,n){let a=n[`on${e.type}Enter`];switch(a&&a(e),e.type){case"Alternation":case"Assertion":case"Expression":case"Quantifier":for(let m of e.alternatives)o1(m,n);break;case"Concatenation":for(let m of e.elements)o1(m,n)}let i=n[`on${e.type}Leave`];i&&i(e)}var x1=class e{constructor(n){this.name="CombinedTransformer";let a=[];for(let i of n)i instanceof e?a.push(...i.transformers):a.push(i);this.transformers=a}onAlternation(n,a){for(let i of this.transformers)i.onAlternation&&i.onAlternation(n,a)}onAssertion(n,a){for(let i of this.transformers)i.onAssertion&&i.onAssertion(n,a)}onCharacterClass(n,a){for(let i of this.transformers)i.onCharacterClass&&i.onCharacterClass(n,a)}onConcatenation(n,a){for(let i of this.transformers)i.onConcatenation&&i.onConcatenation(n,a)}onExpression(n,a){for(let i of this.transformers)i.onExpression&&i.onExpression(n,a)}onQuantifier(n,a){for(let i of this.transformers)i.onQuantifier&&i.onQuantifier(n,a)}onUnknown(n,a){for(let i of this.transformers)i.onUnknown&&i.onUnknown(n,a)}};function c4(e,n,a){var i;let{maxPasses:m=10,events:t}=a??{},r={transformer:e,ast:n,maxCharacter:Mx(n),events:t};for(let s=1;s<=m&&((i=t?.onPassStart)===null||i===void 0||i.call(t,n,s),Jx(r));s++);return n}function Mx(e){try{return o1(e,{onCharacterClassEnter(n){throw n.characters.maximum}}),0}catch(n){if(typeof n=="number")return n;throw n}}function Jx({transformer:e,ast:n,maxCharacter:a,events:i}){let m,t=!1,r=e instanceof x1?e.transformers:[e],s={onAlternation:r.filter((o=>o.onAlternation)),onAssertion:r.filter((o=>o.onAssertion)),onCharacterClass:r.filter((o=>o.onCharacterClass)),onConcatenation:r.filter((o=>o.onConcatenation)),onExpression:r.filter((o=>o.onExpression)),onQuantifier:r.filter((o=>o.onQuantifier)),onUnknown:r.filter((o=>o.onUnknown))};if(i?.onChange){let o=!1,x={maxCharacter:a,signalMutation(){t=o=!0}};m=c=>{let l=`on${c.type}`;for(let u of s[l])o=!1,u[l](c,x),o&&i.onChange(n,c,u)}}else{let o={maxCharacter:a,signalMutation(){t=!0}};m=x=>{let c=`on${x.type}`;for(let l of s[c])l[c](x,o)}}return o1(n,{onAlternationLeave:m,onAssertionLeave:m,onCharacterClassLeave:m,onConcatenationLeave:m,onExpressionLeave:m,onQuantifierLeave:m,onUnknownLeave:m}),t}var V8=new Map,$8=new Map,P=class e{get isEmpty(){return this.ranges.length===0}get isAll(){return this.ranges.length===1&&this.ranges[0].min===0&&this.ranges[0].max===this.maximum}get size(){let n=0;for(let a=0,i=this.ranges.length;a<i;a++){let{min:m,max:t}=this.ranges[a];n+=t-m+1}return n}constructor(n,a){this.maximum=n,this.ranges=a}characters(){return(function(n){let a=(function(i,m){if(i.length>m)return;let t=[];for(let{min:r,max:s}of i){if(t.length+s-r>=m)return;for(let o=r;o<=s;o++)t.push(o)}return t})(n,8);return a||{[Symbol.iterator](){let i=0,m=n[0].min-1;function t(){i>=n.length||(m++,m>n[i].max&&(i++,i<n.length&&(m=n[i].min)))}return{next:()=>(t(),i>=n.length?{done:!0,value:void 0}:{done:!1,value:m})}}}})(this.ranges)}toString(){return`CharSet (${this.maximum}) [${this.toRangesString()}]`}toRangesString(){let n="";for(let{min:a,max:i}of this.ranges)n!==""&&(n+=", "),n+=a===i?a.toString(16):a.toString(16)+".."+i.toString(16);return n}toUnicodeString(){if(this.isEmpty)return"empty";if(this.isAll)return"all";let n=q8(this.ranges);if(n.includes("U+")){let a=q8(this.negate().ranges),i=H8(a,"U+");if(i===0||i<=H8(n,"U+")/2)return"not "+a}return n}static empty(n){let a=V8.get(n);return a===void 0&&(a=new e(n,[]),V8.set(n,a)),a}static all(n){let a=$8.get(n);return a===void 0&&(a=new e(n,[{min:0,max:n}]),$8.set(n,a)),a}static fromCharacters(n,a){let i=(function(t){let r=[],s,o=0;for(let x of t)if(s===void 0)s=x,o=1;else{let c=s+o;if(x===c)o++;else if(x>c)r.push({min:s,max:c-1}),s=x,o=1;else if(x!==c-1)throw new RangeError("The character iterable has to be sorted.")}return s!==void 0&&r.push({min:s,max:s+o-1}),r})(a);if(i.length===0)return e.empty(n);let m=i[i.length-1];if(m.max>n)throw new RangeError(`The character iterable contained the char ${m.max} but all chars have to be <= maximum=${n}.`);return i.length===1&&m.min===0&&m.max===n?e.all(n):new e(n,i)}static fromRange(n,a){if(a.max>n)throw new RangeError(`The range [min=${a.min}, max=${a.max}] contains characters greater than the maximum=${n}.`);return new e(n,[a])}static fromCharacter(n,a){if(a>n)throw new RangeError(`The character ${a} is greater than the maximum=${n}.`);return new e(n,[{min:a,max:a}])}equals(n){if(!(n instanceof e))return this.ranges.length===1&&this.ranges[0].min===n.min&&this.ranges[0].max===n.max;if(n===this)return!0;if(this.maximum!==n.maximum||this.ranges.length!==n.ranges.length)return!1;for(let a=0,i=this.ranges.length;a<i;a++){let m=this.ranges[a],t=n.ranges[a];if(m.min!==t.min||m.max!==t.max)return!1}return!0}compare(n){if(n===this)return 0;if(this.maximum!==n.maximum)return this.maximum-n.maximum;if(this.isEmpty)return n.isEmpty?0:-1;if(n.isEmpty)return 1;if(this.ranges[0].min!==n.ranges[0].min)return this.ranges[0].min-n.ranges[0].min;if(this.ranges.length!==n.ranges.length)return this.ranges.length-n.ranges.length;for(let a=0,i=this.ranges.length;a<i;a++){let m=this.ranges[a],t=n.ranges[a];if(m.min!==t.min)return m.min-t.min;if(m.max!==t.max)return m.max-t.max}return 0}resize(n){if(this.ranges.length===0)return e.empty(n);if(n===this.maximum)return this;if(n>this.maximum)return new e(n,this.ranges);if(this.ranges[this.ranges.length-1].max<=n)return new e(n,this.ranges);{let a=Lt(this.ranges,[{min:0,max:n}]);return a.length===0?e.empty(n):new e(n,a)}}negate(){return new e(this.maximum,(function(n,a){if(n.length===0)return[{min:0,max:a}];{let i=[],m=n[0],t=n[n.length-1];m.min>0&&i.push({min:0,max:m.min-1});for(let r=1;r<n.length;r++)i.push({min:n[r-1].max+1,max:n[r].min-1});return t.max<a&&i.push({min:t.max+1,max:a}),i}})(this.ranges,this.maximum))}union(...n){let a=n[0];if(n.length===1&&a instanceof e)return o2(this,a),a.ranges.length===0?this:new e(this.maximum,(function(t,r){let s=[],o=0,x=0,c=t[o],l=r[x];for(;c&&l;)c.min<=l.min?(s.push(c),c=t[++o]):(s.push(l),l=r[++x]);for(;c;c=t[++o])s.push(c);for(;l;l=r[++x])s.push(l);return z8(s),s})(this.ranges,a.ranges));let i=this.ranges.slice();for(let t of n)if(t instanceof e)o2(this,t),i.push(...t.ranges);else for(let r of t){if(r.max>this.maximum)throw new RangeError(`max=${r.max} has to be <= maximum=${this.maximum}.`);i.push(r)}var m;return(m=i).sort(((t,r)=>t.min-r.min)),z8(m),new e(this.maximum,i)}intersect(n){let a;return n instanceof e?(o2(this,n),a=Lt(this.ranges,n.ranges)):a=Lt(this.ranges,[n]),a.length===0?e.empty(this.maximum):new e(this.maximum,a)}without(n){let a;return n instanceof e?(o2(this,n),a=Q8(this.ranges,n.ranges)):a=Q8(this.ranges,[n]),a.length===0?e.empty(this.maximum):new e(this.maximum,a)}has(n){return W8(this.ranges,n,n)}isSupersetOf(n){if(!(n instanceof e))return W8(this.ranges,n.min,n.max);let a=this.ranges,i=n.ranges,m=0,t=0,r=a[m],s=i[t];for(;r&&s;)if(r.min<=s.min&&r.max>=s.max)s=i[++t];else{if(!(r.max<s.min))return!1;r=a[++m]}return!s}isSubsetOf(n){return n instanceof e?n.isSupersetOf(this):!!this.isEmpty||n.min<=this.ranges[0].min&&this.ranges[this.ranges.length-1].max<=n.max}isProperSupersetOf(n){return this.isSupersetOf(n)&&!this.equals(n)}isProperSubsetOf(n){return this.isSubsetOf(n)&&!this.equals(n)}isDisjointWith(n){return this.commonCharacter(n)===void 0}commonCharacter(n){if(!(n instanceof e))return(function(o,x,c){let l=o.length;if(l==0||c<o[0].min||x>o[l-1].max)return;let u=0,p=l;for(;u<p;){let f=u+(p-u>>1),d=o[f],g=d.min;if(g==x)return x;if(g<x){if(x<=d.max)return x;u=f+1}else{if(g<=c)return g;p=f}}})(this.ranges,n.min,n.max);let a=this.ranges,i=n.ranges,m=0,t=0,r=a[m],s=i[t];for(;r&&s;)if(s.max<r.min)s=i[++t];else{if(!(r.max<s.min))return Math.max(r.min,s.min);r=a[++m]}}};function o2(e,n){if(n.maximum!==e.maximum)throw new RangeError(`The maximum of the other set (${n.maximum}) has to be equal the maximum of this set (${e.maximum}).`)}function W8(e,n,a){let i=e.length;if(i==0||n<e[0].min||a>e[i-1].max)return!1;if(i==1)return!0;let m=0,t=i;for(;m<t;){let r=m+(t-m>>1),s=e[r],o=s.min;if(o==n)return a<=s.max;if(o<n){if(a<=s.max)return!0;m=r+1}else t=r}return!1}function Lt(e,n){let a=[],i=0,m=0,t=e[i],r=n[m];for(;t&&r;)t.max<r.min?t=e[++i]:r.max<t.min?r=n[++m]:(a.push({min:Math.max(t.min,r.min),max:Math.min(t.max,r.max)}),t.max<r.max?t=e[++i]:(r.max<t.max||(t=e[++i]),r=n[++m]));return a}function Q8(e,n){let a=[],i=0,m=0,t=e[i],r=n[m];for(;t&&r;)t.max<r.min?(a.push(t),t=e[++i]):r.max<t.min?r=n[++m]:t.min<r.min?(a.push({min:t.min,max:r.min-1}),r.max<t.max?(t={min:r.max+1,max:t.max},r=n[++m]):t=e[++i]):t.max>r.max?(t={min:r.max+1,max:t.max},r=n[++m]):t=e[++i];for(;t;t=e[++i])a.push(t);return a}function z8(e){let n=0;for(let a=0,i=e.length-1;a<i;a++){let m=e[a-n],t=e[a+1];m.max>=t.max?n++:t.min<=m.max+1?(e[a-n]={min:m.min,max:t.max},n++):e[a-n+1]=t}n&&(e.length=e.length-n)}function Xt(e){return"U+"+e.toString(16).toUpperCase()}var Fx=[{min:48,max:57},{min:65,max:90},{min:97,max:122}];function jx(e,n){for(let a of Fx)if(a.min<=e&&n<=a.max)return!0;return!1}var Ux=/^[\p{L}\p{Number}]$/u,Dx=/^[\p{P}\p{Math}]$/u;function Nt(e){let n=String.fromCodePoint(e);return Ux.test(n)?n:Dx.test(n)?"'"+n+"'":Xt(e)}function q8(e){let n="";for(let{min:a,max:i}of e)n!==""&&(n+=" "),a===i?n+=Nt(a):a+1===i?n+=Nt(a)+" "+Nt(i):jx(a,i)?n+=String.fromCodePoint(a)+"-"+String.fromCodePoint(i):n+=Xt(a)+"-"+Xt(i);return n}function H8(e,n){let a=0;for(let i=0;;){let m=e.indexOf(n,i);if(m===-1)break;a++,i=m+n.length}return a}var Ba=class{constructor(n){this.sets=(function(a){let i=[...Nx(a)].filter((l=>!l.isEmpty)).sort(((l,u)=>l.compare(u))).filter(((l,u,p)=>u===0||!l.equals(p[u-1])));if(i.length===0||i.length===1)return i;let m=i[0].maximum,t=[];for(let l of i){if(l.maximum!==m)throw new RangeError("The maximum of all given sets has to be the same.");t.push(...l.ranges)}let r=P.empty(m).union(t),s=new Set;for(let l=0,u=t.length;l<u;l++){let{min:p,max:f}=t[l];s.add(p),s.add(f+1)}let o=[...s].sort(((l,u)=>l-u)),x=new Map;for(let l=1,u=o.length;l<u;l++){let p=o[l-1];if(r.has(p)){let f="";for(let h=0;h<i.length;h++)i[h].has(p)&&(f+=h+" ");let d=x.get(f),g={min:p,max:o[l]-1};d?d.push(g):x.set(f,[g])}}let c=[];for(let l of x.values())c.push(P.empty(m).union(l));return c})(n)}split(n){let a=[];for(let i=0,m=this.sets.length;i<m;i++)n.has(this.sets[i].ranges[0].min)&&a.push(i);return a}},Ze=class e{constructor(){this._array=[]}get isEmpty(){return this._array.length===0}get size(){let n=0;for(let{range:a}of this._array)n+=a.max-a.min+1;return n}get entryCount(){return this._array.length}_indexOf(n){let a=0,i=this._array.length;for(;a<i;){let m=a+(i-a>>2),t=this._array[m].range;if(n<t.min)i=m;else{if(!(n>t.max))return m;a=m+1}}}_indexOfOrLeft(n){let a=0,i=this._array.length;for(;a<i;){let m=a+(i-a>>2),t=this._array[m].range;if(n<t.min)i=m;else{if(!(n>t.max)||m+1===this._array.length||n<this._array[m+1].range.min)return m;a=m+1}}}_indexOfOrRight(n){if(this._array.length===0)return;let a=this._indexOfOrLeft(n);return a===void 0?this._array.length===0?void 0:0:n>this._array[a].range.max?a+1<this._array.length?a+1:void 0:a}_indexInRange(n){let a=this._indexOfOrRight(n.min);if(a===void 0)return;let i=this._indexOfOrLeft(n.max);return i===void 0||i<a?void 0:{start:a,stop:i}}_insert(n,a){if(this._array.length===0||this._array[this._array.length-1].range.max+1<n.min)return void this._array.push({range:n,value:a});let i=this._indexOfOrLeft(n.min);if(i===void 0){let s=this._array[0];return void(s.range.min===n.max+1&&s.value===a?s.range={min:n.min,max:s.range.max}:this._array.unshift({range:n,value:a}))}let m=i+1;if(m===this._array.length){let s=this._array[i];return void(s.range.max===n.min-1&&s.value===a?s.range={min:s.range.min,max:n.max}:this._array.push({range:n,value:a}))}let t=this._array[i],r=this._array[m];r.range.min===n.max+1&&r.value===a?t.range.max===n.min-1&&t.value===a?(t.range={min:t.range.min,max:r.range.max},this._array.splice(m,1)):r.range={min:n.min,max:r.range.max}:t.range.max===n.min-1&&t.value===a?t.range={min:t.range.min,max:n.max}:this._array.splice(m,0,{range:n,value:a})}has(n){return this._indexOf(n)!==void 0}hasEvery(n){let a=this._indexInRange(n);if(!a)return!1;for(let i=a.start;i<a.stop;i++)if(this._array[i].range.max+1!==this._array[i+1].range.min)return!1;return!0}hasSome(n){return this._indexInRange(n)!==void 0}get(n){let a=this._indexOf(n);return a!==void 0?this._array[a].value:void 0}set(n,a){this.delete(n),this._insert({min:n,max:n},a)}setRange(n,a){this.deleteRange(n),this._insert(n,a)}setCharSet(n,a){if(this._array.length>0)for(let i of n.ranges)this.deleteRange(i);if(this._array.length===0)for(let i of n.ranges)this._array.push({range:i,value:a});else for(let i of n.ranges)this._insert(i,a)}delete(n){let a=this._indexOf(n);if(a===void 0)return!1;{let i=this._array[a];return i.range.min===i.range.max?this._array.splice(a,1):i.range.min===n?i.range={min:i.range.min+1,max:i.range.max}:i.range.max===n?i.range={min:i.range.min,max:i.range.max-1}:this._array.splice(a,1,{range:{min:i.range.min,max:n-1},value:i.value},{range:{min:n+1,max:i.range.max},value:i.value}),!0}}deleteRange(n){let a=this._indexInRange(n);if(a)if(a.start===a.stop){let i=this._array[a.start];n.min<=i.range.min&&i.range.max<=n.max?this._array.splice(a.start,1):i.range.min<n.min&&n.max<i.range.max?(this._array.splice(a.start+1,0,{range:{min:n.max+1,max:i.range.max},value:i.value}),i.range={min:i.range.min,max:n.min+1}):n.max<i.range.max?i.range={min:n.max+1,max:i.range.max}:i.range={min:i.range.min,max:n.min-1}}else{let i=this._array[a.start];i.range.min<n.min&&(i.range={min:i.range.min,max:n.min-1},a.start++);let m=this._array[a.stop];m.range.max>n.max&&(m.range={min:n.max+1,max:m.range.max},a.stop--),this._array.splice(a.start,a.stop-a.start+1)}}clear(){this._array=[]}copy(n){if(!n){let i=new e;return i._array=this._array.map((m=>({range:m.range,value:m.value}))),i}let a=new e;return a._array=this._array.map((i=>({range:i.range,value:n(i.value)}))),gn(a._array,((i,m)=>!m||m.range.max+1!==i.range.min||m.value!==i.value||(m.range={min:m.range.min,max:i.range.max},!1))),a}map(n){for(let a of this._array)a.value=n(a.value,a.range,this);gn(this._array,((a,i)=>!i||i.range.max+1!==a.range.min||i.value!==a.value||(i.range={min:i.range.min,max:a.range.max},!1)))}mapRange(n,a){let i=[];function m(r,s){if(s===void 0)return;let o=i[i.length-1];o&&o.range.max+1===r.min&&o.value===s?o.range={min:o.range.min,max:r.max}:i.push({range:r,value:s})}let t=this._array.length;if(t===0)m(n,a(void 0,n,this));else{let r=this._array[0],s=r.range.min,o=this._array[t-1].range.max;if(!(n.min<=s&&o<=n.max))throw new Error("Partial range maps aren't supported yet");if(n.min<s){let x={min:n.min,max:s-1};m(x,a(void 0,x,this))}m(r.range,a(r.value,r.range,this));for(let x=1;x<t;x++){let c=this._array[x-1],l=this._array[x],u={min:c.range.max+1,max:l.range.min-1};u.min<=u.max&&m(u,a(void 0,u,this)),m(l.range,a(l.value,l.range,this))}if(o<n.max){let x={min:o+1,max:n.max};m(x,a(void 0,x,this))}}this._array=i}filter(n){gn(this._array,(a=>n(a.value,a.range,this)))}invert(n){let a=new Map;for(let{range:m,value:t}of this._array){let r=a.get(t);r===void 0&&a.set(t,r=[]),r.push(m)}let i=new Map;for(let[m,t]of a)i.set(m,P.empty(n).union(t));return i}forEach(n){for(let a of this._array)n(a.value,a.range,this)}*keys(){for(let{range:n}of this._array)yield n}*values(){for(let{value:n}of this._array)yield n}*entries(){for(let{range:n,value:a}of this._array)yield[n,a]}[Symbol.iterator](){return this.entries()}};function M2(e,n,a,i){let m=jn((t=>P.fromCharacters(i,[t])));for(let t of a){let r=e.initial;for(let s of t){if(s>i)throw new Error(`The character (${s}) has to be <= maxCharacter (${i}).`);let o=n(r,s);o===void 0&&(o=e.createNode(),e.linkNodes(r,o,m(s))),r=o}e.makeFinal(r)}return{initial:e.initial,stableOut:!0,getOut:t=>t,isFinal:t=>e.isFinal(t)}}function J2(e,n,a){let i=new Zt(e.initial);for(let m of n){let t=new Set([i]);for(let r of m){if(r.maximum!==a)throw new Error(`The maximum (${r.maximum}) of the char set has to be == maxCharacter (${a}).`);let s=new Set;for(let o of t)for(let x of o.getNext(r,e))s.add(x);t=s}for(let r of t)r.isFinal=!0}return sn(i,((m,t)=>{m.isFinal&&e.makeFinal(m.builderNode);for(let{to:r,via:s}of m.out)t.push(r),e.linkNodes(m.builderNode,r.builderNode,s)})),{initial:e.initial,stableOut:!0,getOut:m=>m,isFinal:m=>e.isFinal(m)}}var Ga=class{constructor(n,a){this.to=n,this.via=a}},Zt=class e{constructor(n){this.out=[],this.isFinal=!1,this.builderNode=n}copy(n){let a=new e(n.createNode());a.isFinal=this.isFinal;for(let{to:i,via:m}of this.out)a.out.push(new Ga(i.copy(n),m));return a}getNext(n,a){let i=[],m=[];for(let r=0,s=this.out.length;r<s;r++){let o=this.out[r];if(!o.via.isDisjointWith(n))if(o.via.isSubsetOf(n))m.push(o.via),i.push(o.to);else{let x=new Ga(o.to.copy(a),o.via.intersect(n));this.out.push(x),o.via=o.via.without(n),m.push(x.via),i.push(x.to)}}let t=m.length===0?n:n.without(P.empty(n.maximum).union(...m));if(!t.isEmpty){let r=new Ga(new e(a.createNode()),t);this.out.push(r),i.push(r.to)}return i}};function Xa(e,n,a=!1){return{initial:e.initial,getOut:n,stableOut:a,isFinal:e.isFinal}}function Mt(e,n){return{initial:e.initial,getOut:e.getOut,stableOut:e.stableOut,isFinal:n}}function j1(e,n){let a=e.getOut;return Xa(e,(i=>n(a(i))))}function I9(e,n){let a=e.getOut;return Xa(e,(function*(i){for(let m of a(i))yield n(m)}))}function l4(e,n){let a=e.getOut;return Xa(e,(function*(i){for(let m of a(i))n(m)&&(yield m)}))}function Va(e,n){sn(e.initial,n?(a,i)=>{n(a),i.push(...e.getOut(a))}:(a,i)=>{i.push(...e.getOut(a))})}function c1(e){return e.stableOut?e:(function(n){let a=new Map,i=n.getOut;return Xa(n,(m=>{let t=a.get(m);return t===void 0&&(t=i(m),a.set(m,t)),t}),!0)})(e)}function U1(e){let{initial:n,getOut:a}=e;return m4([n],a)}function u4(e){let{isFinal:n}=e;for(let a of U1(e))if(n(a))return!0;return!1}function h4(e){let{initial:n,getOut:a}=e,i=new Set,m=new Set([n]),t=[{element:n,nextIndex:-1}];for(;t.length>0;){let r=t[t.length-1];r.nextIndex===-1&&(m.add(r.element),i.add(r.element),r.nextElements=ma(a(r.element)));let s=r.nextElements;if(r.nextIndex++,r.nextIndex>=s.length){m.delete(r.element),t.pop();continue}let o=s[r.nextIndex];if(m.has(o))return!0;i.has(o)||t.push({element:o,nextIndex:-1})}return!1}function F2(e){let n=[...U1(e=c1(j1(e,ma)))],a=n.filter(e.isFinal),i=(function(t,r){let s=new Map;for(let o of t)s.set(o,new Set);for(let o of t)for(let x of r(o))s.get(x).add(o);return s})(n,e.getOut),m=new Set(m4(a,(t=>i.get(t))));return!h4(l4(e,(t=>m.has(t))))}function K8(e,n){let{initial:a,getOut:i,isFinal:m}=e;if(m(a))return[];let t=new Map;function r(o){let x=[];for(;;){let c=t.get(o);if(c===null)return x.reverse();x.push(c.item),o=c.from}}t.set(e.initial,null);let s=[e.initial];for(;s.length>0;){let o=[];for(let x of s)for(let c of i(x)){let l=n(c);if(!t.has(l)){if(t.set(l,{item:c,from:x}),m(l))return r(l);o.push(l)}}s=o}}function $a(e,n,a){n=c1(n),a=c1(a);let i=Y8(),m=Y8();n.isFinal(n.initial)&&a.isFinal(a.initial)&&e.makeFinal(e.initial);let t=new Map;t.set(e.initial,[n.initial,a.initial]);let r={[`${i(n.initial)};${m(a.initial)}`]:e.initial};function s(c,l){let u=i(c)+";"+m(l),p=r[u];return p===void 0&&(p=e.createNode(),r[u]=p,t.set(p,[c,l]),n.isFinal(c)&&a.isFinal(l)&&e.makeFinal(p)),p}let o=(function(){let c={},l=new Map;function u(f){let d=l.get(f);if(d===void 0){let g=(function(h){let y=65535&h.maximum;return h.ranges.forEach((({min:C,max:v})=>{y=65535&(31*y+C^31*v)})),y})(f);for(;;){let h=c[g];if(h===void 0){c[g]=f,d=l.size;break}if(h.equals(f)){d=l.get(h);break}g=g+1&65535}l.set(f,d)}return d}let p={};return(f,d)=>{let g=u(f),h=u(d);if(g==h)return f;let y;y=g<h?g+";"+h:h+";"+g;let C=p[y];return C===void 0&&(C=f.intersect(d),C.isEmpty&&(C=null),p[y]=C),C}})();function x(c){let l=(function(f){let d=t.get(f);if(d===void 0)throw new Error("All created nodes have to be indexed.");return d})(c),u=n.getOut(l[0]),p=a.getOut(l[1]);for(let[f,d]of u)for(let[g,h]of p){let y=o(d,h);y&&e.linkNodes(c,s(f,g),y)}}return{initial:e.initial,getOut:c=>(x(c),c),isFinal:c=>e.isFinal(c)}}function Y8(){let e=new Map;return n=>{let a=e.get(n);return a===void 0&&(a=e.size,e.set(n,a)),a}}function p4(e,n){n=c1(n);let{charSets:a,ids:i}=(function(x){let c=new Set,l=new Map,u=0;return sn(x.initial,((p,f)=>{l.set(p,u),u++;for(let[d,g]of x.getOut(p))c.add(g),f.push(d)})),{charSets:c,ids:l}})(n),m=new Ba(a),t=new Map,r=new Map;function s(x){let c="";for(let l=0,u=x.length;l<u;l++)c+=","+i.get(x[l]);return c}function o(x,c){let l=[];for(let u of x)for(let[p,f]of n.getOut(u))f.has(c)&&l.push(p);return l.length===0?void 0:(function(u){u.sort(((d,g)=>i.get(d)-i.get(g))),gn(u,((d,g)=>d!==g));let p=s(u),f=t.get(p);return f===void 0&&(f=e.createNode(),u.some((d=>n.isFinal(d)))&&e.makeFinal(f),t.set(p,f),r.set(f,u)),f})(l)}return t.set(s([n.initial]),e.initial),r.set(e.initial,[n.initial]),n.isFinal(n.initial)&&e.makeFinal(e.initial),{initial:e.initial,getOut:x=>{let c=(l=x,r.get(l));var l;for(let u of m.sets){let p=o(c,u.ranges[0].min);p!==void 0&&e.linkNodes(x,p,u)}return x},isFinal:x=>e.isFinal(x)}}var cn=class e extends Error{static assert(n,a,i){let m=n,t=a;if(typeof m!="number"&&(m=m.maxCharacter),typeof t!="number"&&(t=t.maxCharacter),m!==t)throw new e(i!==void 0?`The two ${i} do not have the same max character. ${m} != ${t}`:`Different max character. ${m} != ${t}`)}},S1=class e extends Error{static assert(n,a,i){if(n>a)throw new e(`The ${i} is not allowed to create more than ${a} nodes.`)}},Wa=class{constructor(n=1/0){this._counter=0,this.initial=new Map,this.finals=new Set,this._limit=n}makeFinal(n){this.finals.add(n)}isFinal(n){return this.finals.has(n)}createNode(){return S1.assert(++this._counter,this._limit,"MapFABuilder"),new Map}linkNodes(n,a,i){let m=n.get(a);m===void 0?n.set(a,i):n.set(a,m.union(i))}};function n9(e,n){let{initial:a,getOut:i,isFinal:m}=c1(e),t=new Map;function r(s){let o=t.get(s);if(o!==void 0)return o;if(m(s))return t.set(s,!0),!0;let x=new Map,c=new Set([s]),l=[s];for(;l.length>0;){let u=[];for(let p=0,f=l.length;p<f;p++){let d=l[p];for(let g of i(d)){let h=n(g),y=x.get(h);if(y===void 0&&(y=[],x.set(h,y)),y.push(d),c.has(h))continue;c.add(h);let C=t.get(h);if(C===!0||m(h))return Gx(t,h,x),!0;C!==!1&&u.push(h)}}l=u}return c.forEach((u=>t.set(u,!1))),!1}return{initial:a,getOut:function(s){let o=[];for(let x of i(s))r(n(x))&&o.push(x);return o},isFinal:m}}function Gx(e,n,a){var i;e.set(n,!0);let m=[n];for(;m.length>0;){let t=[];for(let r=0,s=m.length;r<s;r++){let o=m[r];(i=a.get(o))===null||i===void 0||i.forEach((x=>{e.has(x)||(e.set(x,!0),t.push(x))}))}m=t}}function f4(e){let n=c1(j1(e,ma)),a=[...U1(I9(n,(([m])=>m)))],i=new Map(a.map(((m,t)=>[m,t])));return{stableIter:n,states:a,info:{isInitial:m=>m===n.initial,isFinal:n.isFinal,getId:m=>i.get(m),getNumberOfOutgoingEdges:m=>n.getOut(m).length}}}function j2(e,n){let{getEdgeAttributes:a,getGraphAttributes:i=Vx,getNodeAttributes:m=Bx}="transitionToString"in n?(function({transitionToString:f,ordered:d=!1}){return{getEdgeAttributes(g,h,y,C,v){let S={label:f(g)};return d&&v.getNumberOfOutgoingEdges(y)>1&&(S.taillabel=String(h+1)),S}}})(n):n,{stableIter:t,states:r,info:s}=f4(e),o="";function x(f){if(/^[a-zA-Z_]\w*$/.test(f))o+=f;else{let d=f.replace(/[\\"]/g,(g=>"\\"+g));d[d.length-1]==="\\"&&(d+=" "),o+='"'+d+'"'}}function c(f){if(typeof f=="number"){let d=String(f);/^-?(?:\.\d+|\d+(?:\.\d*)?)$/.test(d)?o+=d:x(d)}else x(f)}function l(f){o+="[";let d=!0;for(let g in f)if(Object.prototype.hasOwnProperty.call(f,g)){let h=f[g];if(h===void 0)continue;d?d=!1:o+=", ",x(g),o+="=",c(h)}o+="]"}function u(f){o+="n"+f}o+="digraph ",o+=`{
3
+ `,o+=` // graph attributes
4
+ `;let p=i();for(let f in p)if(Object.prototype.hasOwnProperty.call(p,f)){let d=p[f];if(d===void 0)continue;o+=" ",x(f),o+="=",c(d),o+=`;
5
+ `}return o+=`
6
+ // nodes
7
+ `,o+=` null [shape=point];
8
+ `,r.forEach(((f,d)=>{o+=" ",u(d),o+=" ",l(m(f,s)),o+=`;
9
+ `})),o+=`
10
+ // edges
11
+ `,o+=` null -> n0;
12
+ `,r.forEach(((f,d)=>{t.getOut(f).forEach((([g,h],y)=>{o+=" ",u(d),o+=" -> ",(function(C){o+="n"+s.getId(C)})(g),o+=" ",l(a(h,y,f,g,s)),o+=`;
13
+ `}))})),o+="}",o}var Bx=(e,n)=>({label:String(n.getId(e)),shape:n.isFinal(e)?"doublecircle":"circle"}),Vx=()=>({rankdir:"LR"});function U2(e,n){let{getEdgeAttributes:a,getNodeAttributes:i=$x}="transitionToString"in n?(function({transitionToString:c,ordered:l=!1}){return{getEdgeAttributes(u,p,f,d,g){let h=c(u),y=1;return l&&g.getNumberOfOutgoingEdges(f)>1&&(h=`(${p+1}) ${h}`,y=p+1),{label:h,length:y}}}})(n):n,{stableIter:m,states:t,info:r}=f4(e),s="";function o(c){c.length===0?s+=" ":/^\w+$/.test(c)?s+=c:s+='"'+c.replace(/"/g,"&quot")+'"'}function x(c){s+="n"+c}return s+=`flowchart LR
14
+ `,s+=`%% nodes
15
+ `,s+=` null(( ))
16
+ `,t.forEach(((c,l)=>{s+=" ",x(l),(function(u){s+=u.shape[0],o(u.label),s+=u.shape[1]})(i(c,r)),s+=`
17
+ `})),s+=`
18
+ %% edges
19
+ `,s+=` null -.-> n0
20
+ `,t.forEach(((c,l)=>{m.getOut(c).forEach((([u,p],f)=>{var d,g;s+=" ",x(l),s+=" ",d=a(p,f,c,u,r),s+="-".repeat(((g=d.length)!==null&&g!==void 0?g:1)+1)+">",d.label!==void 0&&(s+="|",o(d.label),s+="|"),s+=" ",(function(h){s+="n"+r.getId(h)})(u),s+=`
21
+ `}))})),s.trim()}var $x=(e,n)=>({label:String(n.getId(e)),shape:n.isFinal(e)?["(((",")))"]:["((","))"]});function Qn(e){if(Array.isArray(e))return e.every(Qn);switch(e.type){case"Alternation":case"Expression":return Qn(e.alternatives);case"Assertion":return!0;case"CharacterClass":case"Unknown":return!1;case"Concatenation":return e.elements.every(Qn);case"Quantifier":return e.max===0||Qn(e.alternatives);default:j(e)}}function ja(e){if(Array.isArray(e))return e.length>=1&&e.every(ja);switch(e.type){case"Alternation":case"Expression":return ja(e.alternatives);case"Assertion":return w2(e);case"CharacterClass":case"Unknown":return!1;case"Concatenation":return e.elements.every(ja);case"Quantifier":return e.max===0||ja(e.alternatives);default:j(e)}}function s1(e){if(Array.isArray(e))return e.some(s1);switch(e.type){case"Alternation":case"Expression":return s1(e.alternatives);case"Assertion":return w2(e);case"CharacterClass":case"Unknown":return!1;case"Concatenation":return e.elements.every(s1);case"Quantifier":return e.min===0||s1(e.alternatives);default:j(e)}}function J1(e){if(Array.isArray(e))return e.every(J1);switch(e.type){case"Alternation":case"Expression":return J1(e.alternatives);case"Assertion":case"Unknown":return!1;case"CharacterClass":return!0;case"Concatenation":return e.elements.some(J1);case"Quantifier":return e.min>0&&J1(e.alternatives);default:j(e)}}function w2(e){return e.negate?e.alternatives.length===0:s1(e.alternatives)}function Qa(e,n,a){if(n(e))return!0;if(a&&!a(e))return!1;switch(e.type){case"Alternation":case"Expression":case"Assertion":case"Quantifier":return e.alternatives.some((i=>Qa(i,n,a)));case"Concatenation":return e.elements.some((i=>Qa(i,n,a)))}return!1}function D2(e,n){return new e9([...e,n])}var e9=class{constructor(n){if(this.stack=n,n[0].type!=="Expression")throw new Error("Invalid stack")}get node(){return this.stack[this.stack.length-1]}toParentPath(){return this.stack.pop(),this.stack.length===0?null:this}toChildPath(n){return this.stack.push(n),this}},x2={min:0,max:0},Wx={min:1,max:1};function _1(e){if(Array.isArray(e)){let n=1/0,a=0;for(let i of e){let m=_1(i);m&&(n=Math.min(n,m.min),a=Math.max(a,m.max))}return n>a?void 0:{min:n,max:a}}switch(e.type){case"Alternation":case"Expression":return _1(e.alternatives);case"Assertion":return x2;case"CharacterClass":return e.characters.isEmpty?void 0:Wx;case"Concatenation":{let n=0,a=0;for(let i of e.elements){let m=_1(i);if(!m)return;n+=m.min,a+=m.max}return{min:n,max:a}}case"Quantifier":{if(e.max===0)return x2;let n=_1(e.alternatives);return n?n.max===0?x2:{min:n.min*e.min,max:n.max*e.max}:e.min===0?x2:void 0}case"Unknown":return;default:throw j(e)}}var c2={min:0,max:0,assertMax:0},Qx={min:1,max:1,assertMax:1};function ze(e,n){if(Array.isArray(e)){let a=1/0,i=0,m=0;for(let t of e){let r=ze(t,n);r&&(a=Math.min(a,r.min),i=Math.max(i,r.max),m=Math.max(m,r.assertMax))}return a>i?void 0:{min:a,max:i,assertMax:m}}switch(e.type){case"Alternation":case"Expression":return ze(e.alternatives,n);case"Assertion":return e.kind===n?ze(e.alternatives,n):c2;case"CharacterClass":return e.characters.isEmpty?void 0:Qx;case"Concatenation":{let a=0,i=0,m=0;for(let t of e.elements){let r=ze(t,n);if(!r)return;m=Math.max(m,i+r.assertMax),a+=r.min,i+=r.max}return{min:a,max:i,assertMax:m}}case"Quantifier":{if(e.max===0)return c2;let a=ze(e.alternatives,n);if(!a)return e.min===0?c2:void 0;if(a.max===0)return c2;let i=a.max*e.max;return{min:a.min*e.min,max:i,assertMax:i+a.assertMax===1/0?1/0:i+a.assertMax-a.max}}case"Unknown":return;default:throw j(e)}}function mn(e){return e==="ltr"||e==="ahead"?"ltr":"rtl"}function D1(e){return e==="ltr"||e==="ahead"?"rtl":"ltr"}function rn(e,n,a){if(Array.isArray(e))return a9(e.map((t=>rn(t,n,a))),a);switch(e.type){case"Alternation":case"Expression":return rn(e.alternatives,n,a);case"Assertion":if(mn(e.kind)===n){if(e.negate){if(Qa(e,(s=>s!==e&&s.type==="Assertion")))return i();let t=rn(e.alternatives,n,a),r=_1(e.alternatives);return t.empty||!r?{char:P.empty(a),empty:!1,exact:!0}:t.exact&&r.max===1?m({char:t.char.negate(),edge:!0,exact:!0}):i()}return m(ea(rn(e.alternatives,n,a)))}return i();case"CharacterClass":return{char:e.characters,empty:!1,exact:!0};case"Concatenation":{let t=e.elements;return n==="rtl"&&(t=[...t],t.reverse()),y4((function*(){for(let r of t)yield rn(r,n,a)})(),a)}case"Quantifier":{if(e.max===0)return m();let t=rn(e.alternatives,n,a);return e.min===0?a9([m(),t],a):t}case"Unknown":return{char:P.all(a),empty:!1,exact:!1};default:throw j(e)}function i(){return m({char:P.all(a),edge:!0,exact:!1})}function m(t){return g4(a,t)}}function d4(e){return{char:P.all(e),edge:!0,exact:!0}}function g4(e,n){return{char:P.empty(e),empty:!0,exact:!0,look:n??d4(e)}}var na=class{constructor(n){this.char=P.empty(n),this.exact=!0}add(n,a){!this.exact||a||this.char.isSupersetOf(n)?!this.exact&&a&&n.isSupersetOf(this.char)&&(this.exact=!0):this.exact=!1,this.char=this.char.union(n)}};function a9(e,n){let a=new na(n),i=[];for(let m of e)a.add(m.char,m.exact),m.empty&&i.push(m.look);if(i.length>0){let m=new na(n),t=!1;for(let r of i)m.add(r.char,r.exact),t=t||r.edge;return{char:a.char,exact:a.exact,empty:!0,look:{char:m.char,exact:m.exact,edge:t}}}return{char:a.char,exact:a.exact,empty:!1}}function y4(e,n){let a=new na(n),i=d4(n);for(let m of e){if(a.add(m.char.intersect(i.char),i.exact&&m.exact),!m.empty)return{char:a.char,exact:a.exact,empty:!1};{let t=i.char.intersect(m.look.char);i={char:t,exact:i.exact&&m.look.exact||t.isEmpty,edge:i.edge&&m.look.edge}}}return{char:a.char,exact:a.exact,empty:!0,look:i}}function ea(e){if(e.empty){let n=new na(e.char.maximum);return n.add(e.char,e.exact),n.add(e.look.char,e.look.exact),{char:n.char,exact:n.exact,edge:e.look.edge}}return{char:e.char,exact:e.exact,edge:!1}}function C4(e,n,a,i,m){function t(s,o,x){var c,l,u,p,f,d,g,h,y,C;let v=o=(l=(c=i.enter)===null||c===void 0?void 0:c.call(i,s,o,x))!==null&&l!==void 0?l:o;if((p=(u=i.continueInto)===null||u===void 0?void 0:u.call(i,s,o,x))===null||p===void 0||p)switch(s.type){case"Alternation":o=i.join(s.alternatives.map((S=>r(S,i.fork(o,x),x))),x);break;case"Assertion":{let S=mn(s.kind),w=i.join(s.alternatives.map((E=>r(E,i.fork(o,x),S))),S);o=(d=(f=i.endPath)===null||f===void 0?void 0:f.call(i,o,S,"assertion"))!==null&&d!==void 0?d:o,o=(h=(g=i.assert)===null||g===void 0?void 0:g.call(i,o,x,w,S))!==null&&h!==void 0?h:o;break}case"Quantifier":if(s.max!==0){let S=s.alternatives.map((w=>r(w,i.fork(o,x),x)));s.min===0&&S.push(o),o=i.join(S,x)}}return o=(C=(y=i.leave)===null||y===void 0?void 0:y.call(i,s,o,v,x))!==null&&C!==void 0?C:o}function r(s,o,x){var c,l;let u=x==="ltr"?0:s.elements.length-1,p=x==="ltr"?1:-1;for(;0<=u&&u<s.elements.length;u+=p){let f=s.elements[u];if(o=t(f,o,x),!((l=(c=i.continueAfter)===null||c===void 0?void 0:c.call(i,f,o,x))===null||l===void 0||l))break}return o}return n==="enter"&&(a=t(e.node,a,m)),(function(s,o,x){var c,l;function u(p){var f,d;let g=p.node;if(!((d=(f=i.continueAfter)===null||f===void 0?void 0:f.call(i,g,o,x))===null||d===void 0||d))return!1;let h=p.toParentPath(),y=h.node,C=y.elements.indexOf(g)+(x==="ltr"?1:-1),v=y.elements[C];if(v)return h.toChildPath(v);{let S=h.toParentPath(),w=S.node;if(w.type==="Expression")return"expression";if(w.type==="Assertion")return"assertion";if(w.type==="Alternation")return u(S);if(w.type==="Quantifier")return w.max<=1?u(S):[w,u(S)];throw j(w)}}for(;;){let p=u(s);for(;Array.isArray(p);){let[f,d]=p;o=i.join([o,t(f,i.fork(o,x),x)],x),p=d}if(p===!1)return o;if(p==="assertion"||p==="expression")return o=(l=(c=i.endPath)===null||c===void 0?void 0:c.call(i,o,x,p))!==null&&l!==void 0?l:o;o=t(p.node,o,x),s=p}})(e,a,m)}function P9(e,n,a){let i=(function(m,t,r){return C4(m,"next",g4(r),{fork:s=>s,join:s=>a9(s,r),enter:(s,o,x)=>y4([o,rn(s,x,r)],r),continueInto:()=>!1,continueAfter:(s,o)=>o.empty},t)})(e,n,a);return ea(i)}function hn(e,n){if(Array.isArray(e))return!!Array.isArray(n)&&He(e,n);if(Array.isArray(n)||e.type!==n.type)return!1;switch(e.type){case"Alternation":case"Expression":{let a=n;return He(e.alternatives,a.alternatives)}case"Assertion":{let a=n;return e.kind===a.kind&&e.negate===a.negate&&He(e.alternatives,a.alternatives)}case"CharacterClass":{let a=n;return e.characters.equals(a.characters)}case"Concatenation":{let a=n,i=e.elements.length;if(i!==a.elements.length)return!1;for(let m=0;m<i;m++)if(!hn(e.elements[m],a.elements[m]))return!1;return!0}case"Quantifier":{let a=n;return e.min===a.min&&e.max===a.max&&e.lazy===a.lazy&&He(e.alternatives,a.alternatives)}case"Unknown":{let a=n;return e.id===a.id}default:throw j(e)}}function He(e,n){let a=e.length;if(a!==n.length)return!1;for(let i=0;i<a;i++)if(!hn(e[i],n[i]))return!1;return!0}function v4(e,n){if(Array.isArray(n))return He(e.alternatives,n);if(n.type==="Alternation")return He(e.alternatives,n.alternatives);if(n.type==="Concatenation")return n.elements.length===1?v4(e,n.elements[0]):e.alternatives.length===1&&hn(e.alternatives[0],n);if(e.alternatives.length===1){let a=e.alternatives[0];return a.elements.length===1&&hn(a.elements[0],n)}return!1}function _4(e){if(Lx(e))return e;switch(e.type){case"Expression":return e.alternatives;case"Concatenation":return[e];default:return[{type:"Concatenation",elements:[e],source:e.source}]}}function F(e){return e?{start:e.start,end:e.end}:void 0}function tn(e){return(function(n){let a=n;switch(a.type){case"Alternation":return{type:"Alternation",source:F(a.source),alternatives:a.alternatives.map((i=>tn(i)))};case"Assertion":return{type:"Assertion",kind:a.kind,negate:a.negate,source:F(a.source),alternatives:a.alternatives.map((i=>tn(i)))};case"CharacterClass":return{type:"CharacterClass",source:F(a.source),characters:a.characters};case"Concatenation":return{type:"Concatenation",source:F(a.source),elements:a.elements.map((i=>tn(i)))};case"Expression":return{type:"Expression",source:F(a.source),alternatives:a.alternatives.map((i=>tn(i)))};case"Quantifier":return{type:"Quantifier",lazy:a.lazy,min:a.min,max:a.max,source:F(a.source),alternatives:a.alternatives.map((i=>tn(i)))};case"Unknown":return{type:"Unknown",id:a.id,source:F(a.source)};default:j(a)}})(e)}function i9(e){switch(e.type){case"CharacterClass":case"Unknown":return 1;case"Alternation":case"Assertion":case"Expression":case"Quantifier":return e.alternatives.reduce(((n,a)=>n+i9(a)),1);case"Concatenation":return e.elements.reduce(((n,a)=>n+i9(a)),1);default:return j(e)}}function m9(e){switch(e.type){case"CharacterClass":case"Unknown":return 1;case"Alternation":case"Assertion":case"Expression":case"Quantifier":return e.alternatives.reduce(((n,a)=>Math.max(n,m9(a))),0)+1;case"Concatenation":return e.elements.reduce(((n,a)=>Math.max(n,m9(a))),0)+1;default:return j(e)}}function G1(e,n){return n<0&&(n+=e.length),e[n]}function X(e,n){return n<0&&(n+=e.length),e[n]}function O9(e,n,a){n<0&&(n+=e.length),e[n]=a}function ln(e,n){return n<e.length&&-n<=e.length}function yn(e){return e==="ltr"?0:-1}function qn(e){return e==="ltr"?1:-1}function Pn(e){return e.alternatives.length===1&&e.alternatives[0].elements.length===1&&e.alternatives[0].elements[0].type==="CharacterClass"}function za(e,n){let a=!1;for(let i of e)zx(i,n)&&(a=!0);return a}function zx({elements:e},n){if(e.length===0)return!1;let a=n==="behind"?1:-1,i=n==="behind"?0:-1,m,t=NaN;for(let r=i;ln(e,r);r+=a){let s=X(e,r);if(s.type==="Assertion"&&!s.negate&&s.kind===n){m=s,t=r;break}if(!Qn(s))break}if(m){e.splice(t,1),za(m.alternatives,n);let r=m.alternatives.length===1?m.alternatives[0].elements:[{type:"Alternation",alternatives:m.alternatives,source:m.source}];return n==="behind"?e.unshift(...r):e.push(...r),!0}{let r=G1(e,i);return!(!r||r.type!=="Alternation"&&(r.type!=="Quantifier"||r.max!==1))&&za(r.alternatives,n)}}function Ye(e,n,a,i,m){let t=!1;function r(s){switch(s.type){case"Assertion":if(!a||!s.negate){let o=s.negate?1:0,x=s.negate?0:1;if(s.alternatives.length===0)return o;if(s1(s.alternatives))return x;if(mn(s.kind)===i){if(Ye(s,n,a,i,m)&&(t=!0,s.alternatives.length===0))return o;let c=rn(s.alternatives,i,m);if(c.empty)return 2;if(n.isDisjointWith(c.char))return o;if(!Qa(s,(l=>l!==s&&l.type==="Assertion"))){let l=_1(s.alternatives);if(l&&l.max===1&&c.exact&&n.isSubsetOf(c.char))return x}}}return 2;case"Alternation":return Ye(s,n,a,i,m)&&(t=!0),s.alternatives.length===0?0:2;case"CharacterClass":return s.characters.isDisjointWith(n)?0:2;case"Quantifier":if(s.max===0)return 1;if(s.max===1)return Ye(s,n,a,i,m)&&(t=!0),s.alternatives.length===0?s.min===0?1:0:2;{let o=rn(s.alternatives,i,m);return!o.empty&&o.char.isDisjointWith(n)?s.min===0?1:0:2}case"Unknown":return 2;default:j(s)}}return gn(e.alternatives,(s=>{let o=i==="ltr"?1:-1;for(let x=i==="ltr"?0:-1;ln(s.elements,x);x+=o){let c=X(s.elements,x),l=r(c);if(l===1)t=!0,s.elements.splice(x,1),x-=o;else{if(l===0)return t=!0,!1;if(c.type!=="Assertion"){if(c.type!=="Alternation"&&(c.type!=="Quantifier"||c.min!==1||c.max!==1)||c.alternatives.length!==1)return!0;t=!0,s.elements.splice(x,1,...c.alternatives[0].elements),x-=o}}}return!0})),t}function $n(e,n){return e==="rtl"&&n.reverse(),n}function S4(e,n,a){e==="ltr"?n.push(a):n.unshift(a)}function R9(e,n,a){e==="ltr"?n.unshift(a):n.push(a)}function qx(e,n,a){let i=mn(e.kind);if(Ye(e,n.characters,!1,i,a.maxCharacter)&&a.signalMutation(),e.negate){let m=new Set;for(let t of e.alternatives)if(t.elements.length===1){let r=t.elements[0];r.type==="CharacterClass"&&(n.characters=n.characters.without(r.characters),a.signalMutation(),m.add(t))}if(m.size>0)return e.alternatives=e.alternatives.filter((t=>!m.has(t))),a.signalMutation(),$n(mn(e.kind),[e,n]);for(let t of e.alternatives){let{elements:r}=t,s=yn(i),o=G1(r,s);if(o&&aa(o)){let x=E2(o).characters;a.signalMutation(),o.type==="CharacterClass"?r.splice(s,1):(o.min--,o.max--);let c=e.alternatives.length===1?[]:[{type:"Assertion",negate:e.negate,kind:e.kind,alternatives:e.alternatives.filter((l=>l!==t)).map(tn),source:F(e.source)}];if(x.isSupersetOf(n.characters))return $n(i,[...c,n,e]);{let l=x.intersect(n.characters);if(l.isEmpty)throw new Error("Rejecting branch wasn't removed properly.");return a.signalMutation(),n.characters=n.characters.without(x),$n(i,[...c,{type:"Alternation",alternatives:[{type:"Concatenation",elements:[n]},{type:"Concatenation",elements:$n(i,[{type:"CharacterClass",characters:l},e])}]}])}}}}else if(e.alternatives.length===1){let{elements:m}=e.alternatives[0],t=yn(i),r=G1(m,t);if(r&&aa(r)){let s=E2(r).characters;a.signalMutation(),r.type==="CharacterClass"?m.splice(t,1):(r.min--,r.max--);let o=s.intersect(n.characters);if(o.isEmpty)throw new Error("Rejecting branch wasn't removed properly.");return a.signalMutation(),n.characters=o,$n(mn(e.kind),[n,e])}return}}function aa(e){return e.type==="CharacterClass"||e.type==="Quantifier"&&e.min>=1&&Pn(e)}function Hx(e,n,a){for(let i=n;ln(e,i);i+=a){let m=X(e,i);if(aa(m))return m;if(!Qn(m))break}}function E2(e){if(e.type==="CharacterClass")return e;{let n=e.alternatives[0].elements[0];return{type:"CharacterClass",characters:n.characters,source:F(n.source)}}}function Kx(e){if(e.negate&&!Pn(e))return;let n=yn(mn(e.kind)),a=G1(e.alternatives[0].elements,n);a!==void 0&&aa(a);let i=E2(a);return e.negate?i.characters.negate():i.characters}function X8(e,n,a){if(e.length<2)return;let i=mn(n),m=yn(i),t=qn(i);for(let r=m;ln(e,r);r+=t){let s=X(e,r);if(s.type!=="Assertion"||s.kind!==n)continue;let o=Hx(e,r+t,t);if(o===void 0)continue;let x=qx(s,E2(o),a);x===void 0?w2(s)&&(a.signalMutation(),e.splice(r,1),r-=t):(a.signalMutation(),e.splice(r,1),r-=t,x=x.filter((c=>c.type!=="Assertion"||!w2(c))),o.type==="Quantifier"&&(o.min--,o.max--,S4(i,x,o)),e.splice(e.indexOf(o),1,...x))}}function Z8(e,n,a){let{elements:i}=e;if(i.length<2)return;let m=mn(n),t=yn(m),r=qn(m);function s(o){for(let x=o;ln(i,x);x+=r){let c=X(i,x);if(!Qn(c)){if(c.type==="Quantifier"||c.type==="Alternation")return c;break}}}for(let o=t;ln(i,o);o+=r){let x=X(i,o);if(x.type!=="Assertion"||x.kind!==n||x.negate&&!Pn(x))continue;let c=s(o+r);if(c===void 0)continue;let l=rn(x.alternatives,m,a.maxCharacter);if(l.empty)continue;let u=x.negate?l.char.negate():l.char,p=x.negate;if(c.type==="Quantifier"&&c.min===0&&c.max>=1){let f=rn(c.alternatives,m,a.maxCharacter);if(!f.empty){if(f.char.isDisjointWith(u)){a.signalMutation(),i.splice(i.indexOf(c),1);continue}let d=P9(D2([{type:"Expression",alternatives:[e]},e],c),m,a.maxCharacter);if(d.char.isDisjointWith(u)&&!(d.edge&&p)){a.signalMutation(),c.min=1;continue}}}(c.type==="Alternation"||c.type==="Quantifier"&&c.max===1)&&Ye(c,u,p,m,a.maxCharacter)&&a.signalMutation()}}function n0(e,n,a){if(e.length<2)return;let i=mn(n),m=yn(i),t=qn(i);for(let r=m+t;ln(e,r);r+=t){let s=r-t,o=X(e,s);if(o.type!=="Assertion"||o.kind!==n||!Pn(o))continue;let x=r,c=X(e,x);if(c.type!=="Quantifier"||!(c.min===0&&c.max>0)||!J1(c.alternatives))continue;a.signalMutation(),c.min++;let l={type:"Alternation",alternatives:[{type:"Concatenation",elements:$n(i,[tn(o),c])},{type:"Concatenation",elements:[o]}]};c.lazy&&l.alternatives.reverse(),O9(e,s,l),e.splice(x,1)}}function w4(e){e.min===0&&e.max;let n={type:"Alternation",alternatives:e.alternatives,source:F(e.source)},a={type:"Concatenation",elements:[],source:F(e.source)};return e.lazy?n.alternatives.unshift(a):n.alternatives.push(a),n}function e0(e,n,a){var i;if(e.length<2)return;let m=mn(n),t=yn(m),r=qn(m),s=x=>{let c=(function(u){return u==="ltr"?-1:0})(m),l=G1(x.elements,c);return l!==void 0&&l.type==="Assertion"&&l.kind===n&&(function(u){if(u.alternatives.length!==1)return!1;let p=u.alternatives[0],f=yn(mn(u.kind)),d=G1(p.elements,f);return d!==void 0&&aa(d)})(l)?l:void 0};for(let x=t+r;ln(e,x);x+=r){let c=x,l=X(e,c),u;if(!aa(l))continue;u=l;let p=x-r,f=X(e,p),d;if(f.type==="Alternation")d=f;else{if(f.type!=="Quantifier"||f.min!==0||f.max!==1||!f.alternatives.some(s))continue;d=w4(f),a.signalMutation(),O9(e,p,d)}let g=(o=u).type==="CharacterClass"?o.characters:o.alternatives[0].elements[0].characters,h=new Map;if(gn(d.alternatives,(y=>{let C=s(y);if(C!==void 0){let v=Kx(C);if(v!==void 0){if(v.isDisjointWith(g))return a.signalMutation(),!1;if(Pn(C))return g.isSubsetOf(v)?(a.signalMutation(),y.elements.splice(y.elements.indexOf(C),1),!0):(a.signalMutation(),y.elements.splice(y.elements.indexOf(C),1),h.set(y,v.intersect(g)),!0)}return h.set(y,g),!0}return!0})),h.size>0){a.signalMutation();for(let y of d.alternatives)S4(m,y.elements,{type:"CharacterClass",characters:(i=h.get(y))!==null&&i!==void 0?i:g});u.type==="CharacterClass"?e.splice(c,1):(u.min--,u.max--)}}var o}function a0(e,n,a){if(e.length<2)return;let i=mn(n),m=yn(i),t=qn(i);for(let r=m+t;ln(e,r);r+=t){let s=r-t,o=X(e,s);if(o.type!=="Assertion"||o.kind!==n)continue;let x=r,c=X(e,x),l,u;if(c.type!=="Alternation"||Qn(c))if(c.type==="Quantifier"&&c.min>=1&&J1(c)&&!Pn(c)){let f=c;f.min--,f.max--,l={type:"Alternation",alternatives:tn(f).alternatives,source:F(f.source)};let d=[l,f];i==="rtl"&&d.reverse(),a.signalMutation(),e.splice(e.indexOf(c),1,...d),a.signalMutation(),e.splice(e.indexOf(o),1)}else{if(c.type!=="Quantifier"||c.min!==0||c.max!==1||Pn(c))continue;l=w4(c),O9(e,x,l),a.signalMutation(),e.splice(s,1)}else l=c,a.signalMutation(),e.splice(s,1);let p=!1;if(Pn(o)){let f=o.alternatives[0].elements[0].characters;u=o.negate?f.negate():f,p=!0}else if(!o.negate){let f=ea(rn(o.alternatives,i,a.maxCharacter));f.edge||(u=f.char,p=!0)}gn(l.alternatives,(f=>{if(u){let d=rn(f,i,a.maxCharacter);if(!d.empty){if(d.char.isDisjointWith(u))return!1;if(p&&d.char.isSubsetOf(u))return!0}}return R9(i,f.elements,tn(o)),!0}))}}function i0(e,n,a){let i=mn(n),m=t=>{let r=qn(D1(i));for(let s=yn(D1(i));ln(t.elements,s);s+=r){let o=X(t.elements,s);if(o.type==="Assertion"&&o.kind===n&&Pn(o))return o;if(!Qn(o))break}};for(let t=0;t<e.length;t++){let r=e[t];if(r.type!=="Quantifier"||r.alternatives.length!==1||r.max<2||!J1(r.alternatives))continue;let s=r.alternatives[0],o=m(s);if(!o)continue;let x=o.alternatives[0].elements[0].characters;x=o.negate?x.negate():x;let c=rn(s,i,a.maxCharacter),l=!c.empty&&c.char.isSubsetOf(x),u=r.min,p;if(r.min===0&&(r.min=1),a.signalMutation(),s.elements.splice(s.elements.indexOf(o),1),l)p=$n(i,[r,o]);else{let f=tn(s).elements,d=tn(o);R9(i,s.elements,d),r.min--,r.max--,p=i==="ltr"?[...f,r,o]:[o,r,...f]}u===0&&(p=[{type:"Quantifier",min:0,max:1,lazy:r.lazy,alternatives:[{type:"Concatenation",elements:p,source:F(r.source)}],source:F(r.source)}]),e.splice(t,1,...p)}}function m0(e,n,a){let i=mn(n),m=p=>{let f=qn(D1(i));for(let g=yn(D1(i));ln(p.elements,g);g+=f){let h=X(p.elements,g);if(h.type==="Assertion"&&h.kind===n&&(Pn(h)||(d=h).alternatives.length===1&&d.alternatives[0].elements.length>=2&&d.alternatives[0].elements.every((y=>y.type==="CharacterClass"))))return h;if(!Qn(h))break}var d},t=p=>p.elements.length===1?p.elements[0]:{type:"Alternation",alternatives:[p],source:F(p.source)},r=jn((p=>{let f=[];for(let d of p.elements){if(d.type!=="CharacterClass")break;f.push(d.characters)}return f.length>0&&(p={type:"Concatenation",elements:p.elements.slice(f.length)}),{chars:f,after:ea(rn(p,"ltr",a.maxCharacter))}})),s=jn((p=>{let f=[];for(let d=0;d<p.elements.length;d++){let g=p.elements[p.elements.length-d-1];if(g.type!=="CharacterClass")break;f.push(g.characters)}return f.length>0&&(p={type:"Concatenation",elements:p.elements.slice(0,p.elements.length-f.length)}),{chars:f,after:ea(rn(p,"rtl",a.maxCharacter))}})),o=(p,f)=>{let d=Math.min(p.chars.length,f.chars.length);for(let y=0;y<d;y++)if(p.chars[y].isDisjointWith(f.chars[y]))return!0;let g,h;return g=d<p.chars.length?{char:p.chars[d],edge:!1,exact:!0}:p.after,h=d<f.chars.length?{char:f.chars[d],edge:!1,exact:!0}:f.after,x(g,h)},x=(p,f)=>!(p.edge&&f.edge)&&p.char.isDisjointWith(f.char),c=(p,f)=>{let d=_1(p);return f.every((g=>{if(d&&d.min===d.max){let h=_1(g);if(h&&h.min===h.max&&d.min===h.min)return!0}return o(r(p),r(g))&&o(s(p),s(g))}))};for(let p=0;p<e.length;p++){let f=e[p];if(f.type!=="Quantifier"||f.alternatives.length<2||f.max!==1/0||!J1(f.alternatives)||m9(f)>20||i9(f)>100)continue;let d=f.alternatives[0],g=!0,h=m(d);if(h||(d=f.alternatives[f.alternatives.length-1],g=!1,h=m(d)),!h)for(let $=1;$<f.alternatives.length-1;$++){let Mn=f.alternatives[$],kn=m(Mn);if(kn){if(c(Mn,f.alternatives.slice(0,$))){d=Mn,g=!0,h=kn;break}if(c(Mn,f.alternatives.slice($+1))){d=Mn,g=!1,h=kn;break}}}if(!h)continue;a.signalMutation();let y=[];if(f.min>0){let $=tn(f);$.max=$.min,$.lazy=!1,y.push($),f.min=0}let C=f.alternatives.filter(($=>$!==d)),v=d;v.elements.splice(v.elements.indexOf(h),1);let S={type:"Concatenation",elements:$n(i,[tn(h),(l=C.map(tn),u=F(f.source),l.length===1&&l[0].elements.length===1?l[0].elements[0]:{type:"Alternation",alternatives:l,source:u})]),source:F(f.source)},w=tn(v);R9(i,w.elements,tn(h));let E={type:"Quantifier",min:0,max:1/0,lazy:f.lazy,alternatives:[tn(w)],source:F(f.source)},k={type:"Concatenation",elements:$n(i,[tn(t(v)),tn(E),t(S)]),source:F(f.source)},I={type:"Quantifier",min:0,max:1/0,lazy:f.lazy,alternatives:g?[k,...C]:[...C,k],source:F(f.source)},M={type:"Quantifier",min:0,max:1,lazy:f.lazy,alternatives:[{type:"Concatenation",elements:$n(i,[t(v),E,h]),source:F(f.source)}],source:F(f.source)};e.splice(p,1,...$n(i,[...y,I,M]))}var l,u}function t0(e){return{name:"applyAssertions",onConcatenation(n,a){let i=n.elements;n0(i,"ahead",a),n0(i,"behind",a),i0(i,"ahead",a),i0(i,"behind",a),m0(i,"ahead",a),m0(i,"behind",a),a0(i,"ahead",a),a0(i,"behind",a),X8(i,"ahead",a),X8(i,"behind",a),Z8(n,"ahead",a),Z8(n,"behind",a),e0(i,"ahead",a),e0(i,"behind",a)}}}function r0(e,n,a){if(e.elements.length===0)return;let i=n==="ltr"?0:e.elements.length-1,m=e.elements[i];if(m.type==="CharacterClass")return{char:m.characters,constant:1,star:!1};if(m.type==="Quantifier"&&m.alternatives.length===1&&m.alternatives[0].elements.length===1){let t=m.alternatives[0].elements[0];if(t.type==="CharacterClass")return{char:t.characters,constant:m.min,star:!(m.lazy&&a)&&m.max===1/0}}}function Yx(e,n){if(e!==void 0&&n!==void 0&&e.char.equals(n.char)){let a=Math.min(e.constant,n.constant),i=e.star&&n.star;if(i||a>0)return{char:e.char,constant:a,star:i}}}function Xx(e,n,a){let i=a==="ltr"?0:e.elements.length-1,m=e.elements[i];if(m.type==="CharacterClass"){if(n.star||n.constant!==1)throw Error("Invalid prefix");e.elements.splice(i,1)}else if(m.type==="Quantifier"){if(n.constant>m.min||n.star&&m.max!==1/0)throw Error("Invalid prefix");m.min-=n.constant,n.star?m.max=m.min:m.max-=n.constant,m.max===0?e.elements.splice(i,1):m.min===1&&m.max===1&&(e.elements[i]=m.alternatives[0].elements[0])}}function s0(e,n,a){let i=(function(m,t,r){if(m.length===0)return;let s=r0(m[0],t,r);for(let o=1;o<m.length&&s!==void 0;o++)s=Yx(s,r0(m[o],t,r));return s})(e.alternatives,n,a);if(i&&(i.constant>0||i.star)){let m;(function(s,o,x){for(let c of s)Xx(c,o,x)})(e.alternatives,i,n),m=i.star||i.constant!==1?{type:"Quantifier",lazy:!1,min:i.constant,max:i.star?1/0:i.constant,alternatives:[{type:"Concatenation",elements:[{type:"CharacterClass",characters:i.char}]}]}:{type:"CharacterClass",characters:i.char};let t={type:"Alternation",alternatives:e.alternatives},r=n==="ltr"?[m,t]:[t,m];return e.alternatives=[{type:"Concatenation",source:F(e.source),elements:r}],!0}return!1}function o0(e,n,{signalMutation:a}){if(e.alternatives.length<2)return;let i=yn(n);for(let m=0;m<e.alternatives.length;m++){let t=e.alternatives[m],r=G1(t.elements,i);if(!r||r.type!=="Assertion")continue;let s=0;for(let o=m+1;o<e.alternatives.length;o++){let x=e.alternatives[o];if(!(x.elements.length>0&&hn(r,X(x.elements,i))))break;s++}if(s>0){a();for(let c=0;c<=s;c++)e.alternatives[m+c].elements.splice(i,1);let o={type:"Concatenation",elements:[r],source:F(t.source)},x={type:"Alternation",alternatives:e.alternatives.splice(m,s+1,o),source:F(t.source)};n==="ltr"?o.elements.push(x):o.elements.unshift(x)}}}function b2(e){let{ignoreOrder:n=!1}=e??{};function a(i,m){let{signalMutation:t}=m;if(i.alternatives.length<2)return;let{prefix:r,suffix:s}=(function(x){let c=0,l=0,u=i4(x.alternatives,(p=>p.elements.length)).elements;for(let p=0;p<u.length;p++){let f=u[p];if(!x.alternatives.every((d=>hn(f,d.elements[p]))))break;c++}for(let p=0;p<u.length-c;p++){let f=u[u.length-1-p];if(!x.alternatives.every((d=>hn(f,d.elements[d.elements.length-1-p]))))break;l++}return{prefix:u.slice(0,c),suffix:u.slice(u.length-l,u.length)}})(i);if(r.length>0||s.length>0){t();let x=i.alternatives;for(let c of x)c.elements.splice(0,r.length),c.elements.splice(c.elements.length-s.length,s.length);return void(i.alternatives=[{type:"Concatenation",elements:[...r,{type:"Alternation",alternatives:x,source:F(i.source)},...s],source:F(i.source)}])}let o=!n;s0(i,"ltr",o)&&t(),s0(i,"rtl",o)&&t(),(function(x,c,l){function u(p){let f=yn(p);for(let d=0;d<x.alternatives.length;d++){let g=x.alternatives[d];if(g.elements.length<2)continue;let h=X(g.elements,f);if(h.type!=="Alternation"||h.alternatives.length<2||x.alternatives.length<h.alternatives.length+1)continue;let y=new Set,C=!1;if(l)for(let S of h.alternatives){let w=x.alternatives.find((E=>hn(S,E)));if(!w)break;y.add(w)}else{if(h.alternatives.length<=d){C=!0;for(let S=0;S<h.alternatives.length;S++){let w=x.alternatives[d-h.alternatives.length+S];if(!hn(h.alternatives[S],w))break;y.add(w)}}if(d+h.alternatives.length<x.alternatives.length&&y.size!==h.alternatives.length){C=!1,y.clear();for(let S=0;S<h.alternatives.length;S++){let w=x.alternatives[d+1+S];if(!hn(h.alternatives[S],w))break;y.add(w)}}}if(y.size!==h.alternatives.length)continue;y.has(g),c.signalMutation(),gn(x.alternatives,(S=>!y.has(S)));let v={type:"Quantifier",lazy:C,min:0,max:1,alternatives:[{type:"Concatenation",elements:g.elements.filter((S=>S!==h)),source:F(g.source)}],source:F(g.source)};gn(g.elements,(S=>S===h)),p==="ltr"?g.elements.push(v):g.elements.unshift(v)}}x.alternatives.length<3||(u("ltr"),u("rtl"))})(i,m,n),o0(i,"ltr",m),o0(i,"rtl",m)}return{name:"factorOut",onAlternation:a,onAssertion:a,onExpression:a,onQuantifier:a}}function Zx(e,{signalMutation:n}){for(let a=0;a<e.elements.length;a++){let i=e.elements[a];i.type==="Alternation"?i.alternatives.length===1&&(e.elements.splice(a,1,...i.alternatives[0].elements),n(),a--):i.type==="Quantifier"&&(i.max===0?(e.elements.splice(a,1),n(),a--):i.min===1&&i.max===1&&(i.alternatives.length===1?(e.elements.splice(a,1,...i.alternatives[0].elements),n(),a--):(e.elements[a]={type:"Alternation",alternatives:i.alternatives,source:i.source},n())))}}function C2(e,{signalMutation:n}){for(let a=0;a<e.alternatives.length;a++){let{elements:i}=e.alternatives[a];if(i.length===1){let m=i[0];m.type==="Alternation"&&(e.alternatives.splice(a,1,...m.alternatives),n(),a--)}}}function nc(e,n){if(C2(e,n),e.alternatives.length===1&&e.alternatives[0].elements.length===1){let a=e.alternatives[0].elements[0];if(a.type==="Assertion")return e.kind=a.kind,e.negate=e.negate!==a.negate,e.alternatives=a.alternatives,void n.signalMutation()}za(e.alternatives,e.kind)&&n.signalMutation()}function k2(e){return{name:"inline",onConcatenation:Zx,onAssertion:nc,onAlternation:C2,onExpression:C2,onQuantifier:C2}}function x0(e){let{ignoreOrder:n=!1}=e??{};return n?{name:"makeGreedy",onQuantifier(a,{signalMutation:i}){a.lazy&&(i(),a.lazy=!1)}}:{name:"makeGreedy",onQuantifier(a,{signalMutation:i}){a.lazy&&a.min===a.max&&(i(),a.lazy=!1)},onExpression(a,i){let m=[];function t(s){m.push(s)}function r(){m.pop()}o1(a,{onAlternationEnter:t,onAssertionEnter:t,onConcatenationEnter:t,onExpressionEnter:t,onQuantifierEnter:t,onAlternationLeave:r,onAssertionLeave:r,onConcatenationLeave:r,onExpressionLeave:r,onQuantifierLeave(s){r(),(function(o,x,c){if(!o.lazy)return;let l="ltr";for(let p=x.length-1;p>=0;p--){let f=x[p];if(f.type==="Assertion"){l=mn(f.kind);break}}let u=rn(o.alternatives,l,c.maxCharacter);u.empty||P9(D2(x,o),l,c.maxCharacter).char.isDisjointWith(u.char)&&(c.signalMutation(),o.lazy=!1)})(s,m,i)}})}}}function E4(e,n,a,i){let{signalMutation:m}=i;if(e.max===1/0&&(n.type==="Alternation"||n.type==="Quantifier"&&n.max===1))for(let t of n.alternatives){let r=a==="ltr"?0:t.elements.length-1,s=t.elements[r];s&&(s.type==="Quantifier"&&s.max!==s.min&&hn(e.alternatives,s.alternatives)?(s.max=s.min,s.max===0&&t.elements.splice(r,1),m()):(s.type==="Alternation"||s.type==="Quantifier"&&s.max===1)&&E4(e,s,a,i))}}function T2(e){let{ignoreAmbiguity:n=!1,ignoreOrder:a=!1}=e??{};function i(m,t,r){t==="rtl"&&m.reverse(),gn(m,((s,o)=>!o||o.type!=="Quantifier"||!v4(o,s)||(o.min++,o.max++,r.signalMutation(),!1)));for(let s=0;s<m.length;s++){let o=m[s];if(o.type==="Quantifier"&&o.alternatives.length===1){let x=o.alternatives[0];x.elements.length>=2&&s+1+x.elements.length<=m.length&&x.elements.every(((c,l)=>(t==="rtl"&&(l=x.elements.length-1-l),hn(c,m[s+1+l]))))&&(r.signalMutation(),o.min++,o.max++,m.splice(s+1,x.elements.length),s--)}}if(n)for(let s=1;s<m.length;s++){let o=m[s-1],x=m[s];o.type==="Quantifier"&&(a||!o.lazy&&o.max===1/0)&&E4(o,x,t,r)}t==="rtl"&&m.reverse()}return{name:"mergeWithQuantifier",onConcatenation(m,t){let r=m.elements,{signalMutation:s}=t;i(r,"ltr",t),i(r,"rtl",t),gn(r,((o,x)=>{if(x&&x.type==="Quantifier"&&o.type==="Quantifier"){let c=x.min===x.max,l=o.min===o.max;if(!n&&!c&&!l||!a&&!(c||l||x.lazy===o.lazy||!x.lazy&&x.max===1/0||!o.lazy&&o.max===1/0))return!0;if(hn(x.alternatives,o.alternatives))return x.min+=o.min,x.max+=o.max,s(),!1}return!0}))}}}function ec(e,{signalMutation:n}){if(e.alternatives.length<2)return;let a=!1,i=!0;gn(e.alternatives,(m=>{if(ja(m))return n(),a=!0,!1;if(m.elements.length===1){let t=m.elements[0];if(t.type==="Quantifier"&&t.min===0&&t.max>0)return n(),a=!0,t.min=1,t.max===1&&t.alternatives.length===1&&(m.elements=t.alternatives[0].elements),!0}return s1(m)&&(i=!1),!0})),a&&i&&(function(m,t){if(m.length===0)return void m.push({type:"Concatenation",elements:[],source:F(t)});if(m.length===1&&m[0].elements.length===1){let s=m[0].elements[0];if(s.type==="Quantifier"&&s.min===1)return void(s.min=0)}let r=[...m];m.length=0,m.push({type:"Concatenation",elements:[{type:"Quantifier",lazy:!1,min:0,max:1,alternatives:r,source:F(t)}],source:F(t)})})(e.alternatives,e.source)}function ac(e,{signalMutation:n}){if(!(e.alternatives.length<2)){if(e.alternatives[0].elements.length===0){let a={type:"Quantifier",lazy:!0,min:0,max:1,alternatives:e.alternatives.slice(1),source:F(e.source)};return e.alternatives=[{type:"Concatenation",elements:[a],source:F(e.source)}],void n()}if(e.alternatives[e.alternatives.length-1].elements.length===0){let a={type:"Quantifier",lazy:!1,min:0,max:1,alternatives:e.alternatives.slice(0,-1),source:F(e.source)};return e.alternatives=[{type:"Concatenation",elements:[a],source:F(e.source)}],void n()}}}function A2(e){let n;return n=e?.ignoreOrder&&e.ignoreAmbiguity?ec:ac,{name:"moveUpEmpty",onAlternation:n,onAssertion:n,onExpression:n,onQuantifier:n}}function ic(e,n,a){e.max!==0&&n.max!==0&&(n.min===0&&e.min===0&&(a(),n.min=1),n.max>1&&e.max===1/0&&n.min<=1&&(a(),n.max=1))}function I2(e){if(!e?.ignoreAmbiguity)return{name:"nestedQuantifiers",onQuantifier(a,{signalMutation:i}){if(a.alternatives.length===1&&a.alternatives[0].elements.length===1){let m=a.alternatives[0].elements[0];m.type==="Quantifier"&&a.lazy===m.lazy&&a.min===0&&a.max===1&&m.min===1&&(i(),a.max=m.max,a.alternatives=m.alternatives)}}};let{ignoreOrder:n}=e;return{name:"nestedQuantifiers",onQuantifier(a,{signalMutation:i}){if(a.max!==0){if(a.alternatives.length===1){let m=a.alternatives[0];if(m.elements.length===1){let t=m.elements[0];t.type==="Quantifier"&&(n||a.lazy===t.lazy)&&(function(r,s,o){if(r.max===0||s.max===0)return;let x=s.min,c=s.max,l=r.min,u=r.max;(c===1/0&&l===0?x<=1:l===u||c*l+1>=x*(l+1))&&(o(),r.min=x*l,r.max=c*u,r.alternatives=s.alternatives)})(a,t,i)}}else if(n){for(let m of a.alternatives)if(m.elements.length===1){let t=m.elements[0];t.type==="Quantifier"&&ic(a,t,i)}}}}}}function mc(e){let{kind:n}=e.node,a=!0,i=!1;return C4(e,"next",0,{fork:m=>m,join(m){let t=1/0;for(let r of m){if(r===a)return a;r===i||(t=Math.min(t,r))}return t===1/0?i:t},enter(m,t){var r;if(t===a||t===i)return t;if(m.type==="CharacterClass")return m.characters.isEmpty?i:t+1;if(m.type==="Assertion"&&m.kind===n){let s=ze(m.alternatives,n);if(((r=s?.assertMax)!==null&&r!==void 0?r:0)>t)return a}return t},leave(m,t,r){if(m.type==="Quantifier"&&m.min>1){if(t===a||t===i)return t;if(r===a||r===i||r>t)throw Error();return r+(t-r)*m.min}return t},continueAfter:(m,t)=>t!==a&&t!==i,continueInto:(m,t)=>t!==a&&t!==i&&m.type!=="Assertion"},D1(n))===a}function t9(e,n,a,i){let m=!1;for(let t of e)n.push(t),tc(t,n,a,i)&&(m=!0),n.pop();return m}function tc({elements:e},n,a,i){if(e.length===0)return!1;let m=!1,t=a==="behind"?1:-1,r=a==="behind"?0:-1;for(let o=r;ln(e,o);o+=t){let x=X(e,o);if(x.type==="Assertion"&&x.kind===a){if(i&&mc(D2(n,x)))return!1;m=!0,e.splice(o,1),o-=t}else if(!Qn(x))break}let s=G1(e,r);return s&&(s.type==="Alternation"||s.type==="Quantifier"&&s.max===1)&&(n.push(s),t9(s.alternatives,n,a,i)&&(m=!0),n.pop()),m}function Xe(e){switch(e.type){case"Alternation":case"Expression":return e.alternatives.every((n=>Xe(n)));case"Assertion":case"Unknown":return!1;case"CharacterClass":return e.characters.isEmpty;case"Concatenation":return e.elements.length===1&&Xe(e.elements[0]);case"Quantifier":return e.min>0&&e.alternatives.every((n=>Xe(n)));default:j(e)}}function rc(e,{signalMutation:n}){let a=null;for(let i=0;i<e.elements.length&&!a;i++){let m=e.elements[i];m.type==="Quantifier"?m.alternatives.every((t=>Xe(t)))&&(m.min===0?(e.elements.splice(i,1),n(),i--):a=m):Xe(m)&&(a=m)}a&&e.elements.length>1&&(e.elements=[a],n())}function l2(e,{signalMutation:n}){for(let a=0;a<e.alternatives.length;a++)Xe(e.alternatives[a])&&(e.alternatives.splice(a,1),n(),a--)}function c0(e){return{name:"removeDeadBranches",onConcatenation:rc,onAlternation:l2,onAssertion:l2,onExpression:l2,onQuantifier:l2}}function b4(e){let n=e.negate?1:0,a=e.negate?0:1;return e.alternatives.length===0?a:s1(e.alternatives)?n:2}function l0(e,n,a){let i=e.negate?1:0,m=e.negate?0:1,t=mn(e.kind);if(Ye(e,n.char,n.edge,t,a.maxCharacter)&&(a.signalMutation(),e.alternatives.length===0))return m;if(n.edge)return 2;let r=rn(e.alternatives,t,a.maxCharacter);if(r.empty)return 2;if(n.char.isDisjointWith(r.char))return m;if(!Qa(e,(s=>s!==e&&s.type==="Assertion"))){let s=_1(e.alternatives);if(s&&s.max===1&&r.exact&&n.char.isSubsetOf(r.char))return i}return 2}function sc(e,n,a){let i=b4(n);if(i!==2||(function(r,s,o){let x=r[r.length-1];if(x.type!=="Concatenation")throw new Error("Assertion is not a child of a concatenation");let c=mn(s.kind),l=x.elements.indexOf(s),u=qn(D1(c));for(let p=l+u;p>=0&&p<x.elements.length;p+=u){let f=x.elements[p];if(f.type!=="Assertion")break;if(f.kind!==s.kind||f.negate)continue;let d=l0(s,ea(rn(f.alternatives,c,o.maxCharacter)),o);if(d!==2)return d}return 2})(e,n,a)!==2)return i;let t=mn(n.kind);return l0(n,P9(D2(e,n),t,a.maxCharacter),a)}function u0(e,n,{signalMutation:a}){for(let i=0;i<e.elements.length;i++){let m=e.elements[i];if(m.type==="Assertion"){let t=n(m);if(t===0)a(),e.elements.splice(i,1),i--;else if(t===1){a(),e.elements=[{type:"Alternation",alternatives:[]}];break}}}}function Jt(e){return e.negate&&Pn(e)}function h0(e,n,a){if(e.length<2)return;function i(s,o,x){let c=yn(o),l=qn(o);for(let{elements:u}of s.alternatives)for(let p=c;ln(u,p);p+=l){let f=X(u,p);if(f.type!=="Assertion"){if(f.type==="Alternation"||f.type==="Quantifier"&&f.max===1){i(f,o,x);break}break}f.kind===n&&Jt(f)&&f.alternatives[0].elements[0].characters.isSubsetOf(x)&&(a.signalMutation(),u.splice(p,1),p-=l)}}let m=mn(n),t=yn(m),r=qn(m);for(let s=t;ln(e,s);s+=r){let o=X(e,s);if(o.type!=="Assertion"||o.kind!==n||!Jt(o))continue;let x=o.alternatives[0].elements[0].characters,c=!1;for(let l=s+r;ln(e,l);l+=r){let u=X(e,l);if(u.type!=="Assertion")break;if(u.kind===n&&Jt(u)){let p=u.alternatives[0].elements[0].characters;if(p.isSubsetOf(x))a.signalMutation(),e.splice(l,1),l-=r;else if(p.isSupersetOf(x)){a.signalMutation(),c=!0,e.splice(s,1),s-=r;break}}}if(!c){for(let l=s+r;ln(e,l);l+=r){let u=X(e,l);if(u.type!=="Assertion"){if(u.type==="Alternation"||u.type==="Quantifier"&&u.max===1){i(u,m,x);break}break}}for(let l=s-r;ln(e,l);l-=r){let u=X(e,l);if(u.type!=="Assertion"){if(u.type==="Alternation"||u.type==="Quantifier"&&u.max===1){i(u,D1(m),x);break}break}}}}}function p0(e){return{name:"removeUnnecessaryAssertions",onAssertion(n,a){(function(i,m){let t=D1(i.kind),r=yn(t),s=qn(t),o=x=>{let{elements:c}=x;for(let l=r;ln(c,l);l+=s){let u=X(c,l);if(!s1(u)){u.type==="Quantifier"&&u.min!==u.max&&(m.signalMutation(),u.max=u.min,u.lazy=!1),u.type==="Alternation"&&u.alternatives.forEach(o);break}m.signalMutation(),c.splice(l,1),l-=s}};i.alternatives.forEach(o)})(n,a),(function(i,m){if(i.alternatives.length!==2)return;let t=i.alternatives.findIndex((o=>o.elements.length===1&&o.elements[0].type==="CharacterClass")),r=i.alternatives.findIndex((o=>{if(o.elements.length!==1)return!1;let x=o.elements[0];return x.type==="Assertion"&&x.kind===i.kind&&x.negate&&Pn(x)&&x.alternatives[0].elements[0].characters.isAll}));if(t===-1||r===-1)return;m.signalMutation(),i.alternatives.splice(r,1),Pn(i);let s=i.alternatives[0].elements[0];s.characters=s.characters.negate(),i.negate=!i.negate})(n,a)},onConcatenation(n,a){u0(n,b4,a),h0(n.elements,"ahead",a),h0(n.elements,"behind",a)},onExpression(n,a){let i=[];function m(r){i.push(r)}function t(){i.pop()}o1(n,{onAlternationEnter:m,onAssertionEnter:m,onConcatenationEnter:m,onExpressionEnter:m,onQuantifierEnter:m,onAlternationLeave:t,onAssertionLeave:t,onConcatenationLeave(r){u0(r,(s=>sc(i,s,a)),a),t()},onExpressionLeave:t,onQuantifierLeave:t})}}}function Ft(e,n){gn(e.alternatives,(a=>!a.elements.some((i=>i.type==="Assertion"))||(n.signalMutation(),!1)))}function oc(e,n){return e.kind!==n.kind?e.kind==="ahead"?1:-1:0}function f0(e){return{name:"sortAssertions",onConcatenation(n,{signalMutation:a}){let i=0,m=0;function t(){let r=n.elements.slice(i,i+m);(function(s,o){let x=s.length,c=!1;for(let l=0;l<x-1;l++){let u=l;for(let p=l+1;p<x;p++)o(s[p],s[u])<0&&(u=p);u!==l&&(c=!0,[s[u],s[l]]=[s[l],s[u]])}return c})(r,oc)&&(n.elements.splice(i,m,...r),a())}for(let r=0;r<n.elements.length;r++)n.elements[r].type==="Assertion"?(m===0&&(i=r),m++):(m>1&&t(),m=0);m>1&&t()}}}function P2(e){let n=!e?.ignoreOrder,a=!e?.ignoreAmbiguity;function i(m,{signalMutation:t}){let{alternatives:r}=m;if(r.length<2)return;let s,o=!0;gn(r,(x=>{if((c=x).elements.length===1&&c.elements[0].type==="CharacterClass"){let l=x.elements[0];if(s===void 0||!o&&n)return s=l,!0;if(a){let u=s.characters.intersect(l.characters);return!!l.characters.equals(u)||(t(),s.characters=s.characters.union(l.characters),!u.isEmpty&&(l.characters=u,!0))}return t(),s.characters=s.characters.union(l.characters),!1}return o=!1,!0;var c}))}return{name:"unionCharacters",onAlternation:i,onAssertion:i,onExpression:i,onQuantifier:i}}var xc=Object.freeze({__proto__:null,applyAssertions:t0,factorOut:b2,inline:k2,makeGreedy:x0,mergeWithQuantifier:T2,moveUpEmpty:A2,nestedQuantifiers:I2,patternEdgeAssertions:function(e){var n,a;let i=(n=e?.inline)===null||n===void 0||n,m=(a=e?.remove)!==null&&a!==void 0&&a;return i||m?{name:"patternEdgeAssertions",onExpression(t,r){i&&(za(t.alternatives,"ahead")||za(t.alternatives,"behind"))&&r.signalMutation(),m&&(t9(t.alternatives,[t],"ahead",i)||t9(t.alternatives,[t],"behind",i))&&r.signalMutation()}}:{name:"patternEdgeAssertions"}},removeDeadBranches:c0,removeUnnecessaryAssertions:p0,replaceAssertions:function(e){var n;return((n=e?.replacement)!==null&&n!==void 0?n:"empty-set")==="empty-word"?{name:"replaceAssertions",onConcatenation(a,{signalMutation:i}){gn(a.elements,(m=>m.type!=="Assertion"||(i(),!1)))}}:{name:"replaceAssertions",onAlternation:Ft,onExpression:Ft,onQuantifier:Ft}},sortAssertions:f0,unionCharacters:P2,simplify:function(e){return new x1([p0(),t0(),f0(),b2(e),x0(e),T2(e),A2(e),I2(e),k2(),c0(),P2(e)])}}),r1={ignoreAmbiguity:!0,ignoreOrder:!0},cc=new x1([T2(r1)]),lc=new x1([P2(r1),b2(r1),A2(r1),k2()]),d0=new x1([I2(r1)]),uc=new x1([k2(),P2(r1),b2(r1),A2(r1),I2(r1),T2(r1)]),r9=class{constructor(){this.initial=this.createNode(),this.finals=new Set}createNode(){return{in:new Map,out:new Map}}linkNodes(n,a,i){if(n.out.has(a))throw new Error("The two nodes are already linked");n.out.set(a,i),a.in.set(n,i)}unlinkNodes(n,a){let i=n.out.get(a);return i!==void 0&&(n.out.delete(a),a.in.delete(n)),i}relinkNodes(n,a,i){if(!n.out.has(a))throw new Error("The two nodes are not linked");n.out.set(a,i),a.in.set(n,i)}},s9=class{constructor(n){this.max=n,this._counter=0}_incrementCounter(){S1.assert(++this._counter,this.max,"toRegex operation")}concat(n){return this._incrementCounter(),{type:"Concatenation",elements:n}}emptyConcat(){return this._incrementCounter(),{type:"Concatenation",elements:[]}}alter(n){return this._incrementCounter(),{type:"Alternation",alternatives:n}}emptyAlter(){return this._incrementCounter(),{type:"Alternation",alternatives:[]}}expression(n){return this._incrementCounter(),{type:"Expression",alternatives:n}}emptyExpression(){return this._incrementCounter(),{type:"Expression",alternatives:[]}}char(n){return this._incrementCounter(),{type:"CharacterClass",characters:n}}quant(n,a,i){return this._incrementCounter(),{type:"Quantifier",alternatives:n,lazy:!1,min:a,max:i}}quantStar(n){return this._incrementCounter(),{type:"Quantifier",alternatives:n,lazy:!1,min:0,max:1/0}}quantPlus(n){return this._incrementCounter(),{type:"Quantifier",alternatives:n,lazy:!1,min:1,max:1/0}}copy(n){switch(n.type){case"Alternation":return this.alter(n.alternatives.map((a=>this.copy(a))));case"Concatenation":return this.concat(n.elements.map((a=>this.copy(a))));case"CharacterClass":return this.char(n.characters);case"Quantifier":return this.quant(n.alternatives.map((a=>this.copy(a))),n.min,n.max);case"Assertion":throw new Error("Assertions should not have been part of the created regex.");case"Unknown":throw new Error("Unknowns should not have been part of the created regex.");default:throw j(n)}}};function hc(e,n,a){let i=e.initial,m=se(e.finals),t=new Set;g2(i,(h=>(h!==i&&h!==m&&t.add(h),h.out.keys())));let r={maxCharacter:a,signalMutation:()=>{}};function s(h,y,C){let v=e.unlinkNodes(h,y);v&&(C=(function(S,w){if(S.type==="CharacterClass"&&w.type==="CharacterClass")return S.characters=S.characters.union(w.characters),S;let E;if(S.type==="Alternation"){if(S.alternatives.length===0)return w;if(w.type==="Alternation"){if(w.alternatives.length===0)return S;S.alternatives.push(...w.alternatives)}else S.alternatives.push(c(w));E=S}else if(w.type==="Alternation"){if(w.alternatives.length===0)return S;w.alternatives.push(c(S)),E=w}else E=n.alter([c(S),c(w)]);return lc.onAlternation(E,r),o(E)})(v,C)),e.linkNodes(h,y,C)}function o(h){return h.type==="Concatenation"?h.elements.length===1?o(h.elements[0]):h:h.type==="Alternation"&&h.alternatives.length===1?o(h.alternatives[0]):h}function x(h,y){let C;if(h.type==="Concatenation"){if(h.elements.length===0)return y;y.type==="Concatenation"?h.elements.push(...y.elements):h.elements.push(y),C=h}else if(y.type==="Concatenation"){if(y.elements.length===0)return h;y.elements.unshift(h),C=y}else C=n.concat([h,y]);return cc.onConcatenation(C,r),o(C)}function c(h){return h.type==="Concatenation"?h:h.type==="Alternation"&&h.alternatives.length===1?h.alternatives[0]:n.concat([h])}function l(h){let y;switch(h.type){case"Quantifier":if(h.max===0)return n.emptyConcat();if(h.min===0||h.min===1)return h.min=0,h.max=1/0,h;y=n.quantStar([c(h)]);break;case"Alternation":y=n.quantStar(h.alternatives);break;case"Concatenation":if(h.elements.length===0)return h;y=n.quantStar([h]);break;default:y=n.quantStar([c(h)])}return d0.onQuantifier(y,r),o(y)}function u(h){let y;switch(h.type){case"Quantifier":if(h.max===0)return n.emptyConcat();if(h.min===0||h.min===1)return h.max=1/0,h;y=n.quantPlus([c(h)]);break;case"Alternation":y=n.quantPlus(h.alternatives);break;case"Concatenation":if(h.elements.length===0)return h;y=n.quantPlus([h]);break;default:y=n.quantPlus([c(h)])}return d0.onQuantifier(y,r),o(y)}function p(h){if(h.out.has(h)){if(h.in.size===2&&h.out.size===2){let y=e.unlinkNodes(h,h),[C,v]=se(h.out),[S,w]=se(h.in);hn(w,y)?e.relinkNodes(S,h,u(y)):hn(y,v)?e.relinkNodes(h,C,u(y)):e.relinkNodes(h,C,x(l(y),v))}else if(h.out.size===2){let y=e.unlinkNodes(h,h),[C,v]=se(h.out);hn(y,v)?e.relinkNodes(h,C,u(y)):e.relinkNodes(h,C,x(l(y),v))}else if(h.in.size===2){let y=e.unlinkNodes(h,h),[C,v]=se(h.in);hn(v,y)?e.relinkNodes(C,h,u(y)):e.relinkNodes(C,h,x(v,l(y)))}}}function f(h){if(h.in.size===1&&h.out.size===1){let[y,C]=se(h.in),[v,S]=se(h.out);return e.unlinkNodes(y,h),e.unlinkNodes(h,v),s(y,v,x(C,S)),t.delete(h),[y,v]}return null}function d(h){for(;h.size>0;){let y=new Set;h.forEach((C=>{if(!t.has(C))return;p(C);let v=f(C);v&&v.forEach((S=>y.add(S)))})),h=y}}function g(h){let y=new Set([...h.in.keys(),...h.out.keys()]);y.delete(h);let C=e.unlinkNodes(h,h);if(C){let v=l(C);h.in.forEach(((S,w)=>{h.out.forEach(((E,k)=>{s(w,k,x(n.copy(S),x(n.copy(v),n.copy(E))))}))}))}else h.in.forEach(((v,S)=>{h.out.forEach(((w,E)=>{s(S,E,x(n.copy(v),n.copy(w)))}))}));return h.in.forEach(((v,S)=>{e.unlinkNodes(S,h)})),h.out.forEach(((v,S)=>{e.unlinkNodes(h,S)})),t.delete(h),y}for(d(t);t.size>0;)d(g(i4(t,(h=>h.out.has(h)?(h.in.size-1)*(h.out.size-1)*3:h.in.size*h.out.size*2))))}function pc(e,n){let a=new s9(n),i=(function(o,x){let c=new r9,l=c.createNode();c.linkNodes(c.initial,l,x.emptyConcat());let u=jn((()=>c.createNode())),p;if(u.cache.set(o.initial,l),g2(o.initial,(h=>{o.isFinal(h)&&c.finals.add(u(h));let y=[...o.getOut(h)].sort((([,C],[,v])=>{if(C===null)return v===null?0:-1;if(v===null)return 1;let S=Number(C.isEmpty)-Number(v.isEmpty);if(S!==0)return S;for(let w=0,E=Math.min(C.ranges.length,v.ranges.length);w<E;w++){let k=C.ranges[w],I=v.ranges[w];if(k.min!==I.min)return k.min-I.min;if(k.max!==I.max)return k.max-I.max}return C.ranges.length-v.ranges.length}));return y.forEach((([C,v])=>{if(v===null)c.linkNodes(u(h),u(C),x.emptyConcat());else{if(p===void 0)p=v.maximum;else if(v.maximum!==p)throw new Error("All character sets have to have to same maximum.");c.linkNodes(u(h),u(C),x.char(v))}})),y.map((C=>C[0]))})),c.finals.size===0)return null;let f=c.createNode();c.finals.forEach((h=>{c.linkNodes(h,f,x.emptyConcat())})),c.finals.clear(),c.finals.add(f);let d=new Set;g2(f,(h=>(d.add(h),h.in.keys())));let g=new Set;return g2(c.initial,(h=>(d.has(h)||g.add(h),h.out.keys()))),g.forEach((h=>{h.out.forEach(((y,C)=>{c.unlinkNodes(h,C)})),h.in.forEach(((y,C)=>{c.unlinkNodes(C,h)}))})),{nodeList:c,maxCharacter:p??0}})(e,a);if(i==null)return a.emptyExpression();let{nodeList:m,maxCharacter:t}=i;hc(m,a,t);let[r]=[...m.finals];if(r.in.size!==1||!r.in.has(m.initial))throw new Error("State elimination failed.");let s=r.in.get(m.initial);switch(s.type){case"Alternation":return a.expression(s.alternatives);case"Concatenation":return a.expression([s]);default:return a.expression([a.concat([s])])}}function G2(e,n){var a;let i=pc(e,(a=n?.maxNodes)!==null&&a!==void 0?a:1e4);return c4(uc,i,{maxPasses:n?.maxOptimizationPasses})}function B2(e,n=String,a=!1){let i=c1(j1(e,(o=>{let x=ma(o).map((([c,l])=>[c,n(l)]));return a||x.sort((([,c],[,l])=>c.localeCompare(l))),x}))),m=[...U1(I9(i,(([o])=>o)))],t=new Map(m.map(((o,x)=>[o,x]))),r=o=>t.get(o),s=o=>{let x=r(o);return i.isFinal(o)?`[${x}]`:`(${x})`};return m.map((o=>{let x=s(o),c=i.getOut(o);if(a||c.sort((([l],[u])=>r(l)-r(u))),c.length===0)return`${x} -> none`;{let l=" ".repeat(x.length);return c.map((([u,p],f)=>`${f?l:x} -> ${s(u)} : ${p}`)).join(`
22
+ `)}})).join(`
23
+
24
+ `)}function fc(e){let n=[];for(;e.value;)n.push(e.value),e=e.parent;return n.reverse()}function*Za(e){let{initial:n,getOut:a,isFinal:i}=c1(n9(e,(t=>t[0]))),m=[{state:n,parent:null,value:null}];for(;m.length>0;){let t=[];for(let r of m){i(r.state)&&(yield fc(r));for(let[s,o]of a(r.state))t.push({state:s,parent:r,value:o})}m=t}}function dc(e,n){if(e.length===0)return n;{let i=(a=e).length===1?a[0]:a[0].union(...a.slice(1));return i.isAll?void 0:n.without(i)}var a}var gc=Object.freeze({__proto__:null,fromWords:M2,fromWordSets:J2,intersection:$a,withInitial:function(e,n){return{initial:n,getOut:e.getOut,stableOut:e.stableOut,isFinal:e.isFinal}},withGetOut:Xa,withIsFinal:Mt,mapOut:j1,mapOutIter:I9,filterOutIter:l4,forEach:Va,count:function(e){let n=0;return Va(e,(()=>n++)),n},ensureStableOut:c1,iterateStates:U1,canReachFinal:u4,hasCycle:h4,languageIsFinite:F2,makeInitialFinal:function(e){let{initial:n,isFinal:a}=e;return Mt(e,(i=>i===n||a(i)))},makeInitialNonFinal:function(e){let{initial:n,isFinal:a}=e;return Mt(e,(i=>i!==n&&a(i)))},shortestAcceptingPath:K8,makeDeterministic:p4,MapFABuilder:Wa,removeDeadStates:n9,toDot:j2,toMermaid:U2,toRegex:G2,toString:B2,iterateWordSets:Za,shortestWordSet:function(e){let n=K8(e,(a=>a[0]));return n===void 0?void 0:n.map((a=>a[1]))},approximateRejectingWordSet:function(e,n){if(n.isEmpty)return;let{initial:a,getOut:i,isFinal:m}=c1(n9(e,(x=>x[0]))),t=[],r=[a],s=new Map,o=new Set;for(let x=0;x<=s.size;x++){if(!r.some((d=>m(d))))return t;let c=new Set,l=[];for(let d of r)for(let[g,h]of i(d))c.add(g),l.push(h);let u=dc(l,n);if(u!==void 0)return t.push(u),t;t.push(n);let p=[...c],f=p.map((d=>{let g=s.get(d);return g===void 0&&(g=s.size,s.set(d,g)),g})).sort(((d,g)=>d-g)).join(" ");if(o.has(f))return;o.add(f),r=p}}}),yc=[{min:65,max:90},{min:97,max:122},{min:48,max:57},{min:45,max:45},{min:95,max:95},{min:32,max:32},{min:32,max:126},{min:9,max:9},{min:10,max:10},{min:13,max:13}];function g0(e){if(e.ranges.length!==0){if(e.ranges.length===1){let{min:n,max:a}=e.ranges[0];if(n===a)return n}for(let n of yc){let a=e.commonCharacter(n);if(a!==void 0)return a}return e.ranges[0].min}}function L9(e){if(e.length===0)return[[]];if(e.length===1)return(function*(a){for(let i of a.characters())yield[i]})(e[0]);let n=[];for(let a=e.length-1;a>=0;a--){let i=e[a].ranges;if(i.length!==1||i[0].min!==i[0].max)break;n.push(i[0].min)}return n.length>0?(n.reverse(),n.length===e.length?[n]:(e=e.slice(0,e.length-n.length),(function*(){for(let a of L9(e))a.push(...n),yield a})())):t4(e.map((a=>a.characters())))}function*ni(e){for(let n of e)yield*L9(n)}var o9,Cc=Object.freeze({__proto__:null,fromUTF16ToString:function(e){return String.fromCharCode(...e)},fromUnicodeToString:function(e){return String.fromCodePoint(...e)},fromStringToUTF16:function(e){let n=[];for(let a=0,i=e.length;a<i;a++)n.push(e.charCodeAt(a));return n},fromStringToUnicode:function(e){let n=[];for(let a=0,i=e.length;a<i;a++){let m=e.charCodeAt(a);if(m>=55296&&m<56320&&a+1<i){let t=e.charCodeAt(a+1);if(t>=56320&&t<57344){n.push(65536+(m-55296<<10)+(t-56320)),a++;continue}}n.push(m)}return n},pickMostReadableCharacter:g0,pickMostReadableWord:function(e){let n=[];for(let a of e){let i=g0(a);if(i===void 0)throw new Error("Word sets are not allowed to contain empty character sets.");n.push(i)}return n},wordSetsToWords:ni,wordSetToWords:function(e){return L9(e)}}),he=class e{constructor(n,a,i){this.finals=new Set,this.initial=n,this.finals=a,this.maxCharacter=i}get isEmpty(){return this.finals.size===0}get isFinite(){return F2(this.stateIterator())}stateIterator(){let n=this.finals;return{initial:this.initial,getOut:a=>{let i=new Set;return a.out.forEach((m=>i.add(m))),i},isFinal:a=>n.has(a)}}transitionIterator(){let n=this.finals,a=this.maxCharacter;return{initial:this.initial,getOut:i=>i.out.invert(a),isFinal:i=>n.has(i)}}*nodes(){let n=new Set,a=[this.initial];for(;a.length>0;){let i=[];for(let m of a)n.has(m)||(n.add(m),yield m,m.out.forEach((t=>i.push(t))));a=i}}countNodes(){let n=0;return sn(this.initial,((a,i)=>{n++,i.push(...a.out.values())})),n}test(n){let a=this.initial;for(let i of n){let m=a.out.get(i);if(m===void 0)return!1;a=m}return this.finals.has(a)}wordSets(){return this.isEmpty?[]:Za(this.transitionIterator())}words(){return ni(this.wordSets())}toString(){return B2(this.transitionIterator(),(n=>n.toUnicodeString()))}toRegex(n){return G2(this.transitionIterator(),n)}toDot(n){return j2(this.transitionIterator(),{transitionToString:n||(a=>a.toUnicodeString())})}toMermaid(n){return U2(this.transitionIterator(),{transitionToString:n||(a=>a.toUnicodeString())})}copy(n=new e.LimitedNodeFactory){let{initial:a,finals:i}=y0(this,n);return new e(a,i,this.maxCharacter)}structurallyEqual(n){if(this===n)return!0;if(this.finals.size!==n.finals.size)return!1;let a=new Set,i=this.finals,m=n.finals,t=(r,s)=>{if(a.has(r))return!0;if(a.add(r),i.has(r)!==m.has(s))return!1;let o=[...r.out],x=[...s.out];if(o.length!==x.length)return!1;for(let u=0;u<o.length;u++){let[p,f]=o[u],[d,g]=x[u];if(l=d,(c=p).min!==l.min||c.max!==l.max||!t(f,g))return!1}var c,l;return!0};return t(this.initial,n.initial)}removeUnreachable(){if(this.finals.size===0)return void this.initial.out.clear();let n=jn((()=>new Set)),a=[];sn(this.initial,((t,r)=>{a.push(t),n(t),t.out.forEach((s=>{r.push(s),n(s).add(t)}))})),n.cache.has(this.initial);let i=[];for(let t of this.finals)n.cache.has(t)||i.push(t);if(i.forEach((t=>this.finals.delete(t))),this.finals.size===0)return void this.initial.out.clear();let m=new Set;if(A9(this.finals,((t,r)=>{m.add(t),r.push(...n(t))})),m.size<a.length)for(let t of a)t.out.filter((r=>m.has(r)))}minimize(){if(this.removeUnreachable(),this.initial.out.isEmpty)return;let n=(function(r,s){if(r.finals.size===0)throw new Error("Cannot find equivalence classes for a DFA without final states.");let o=[],x=new Set,c=new Map,l=[];sn(r.initial,((C,v)=>{c.set(C,c.size),o.push(C);let S=C.out.invert(s);l.push(S),S.forEach((w=>x.add(w))),v.push(...S.keys())}));let u=new Ba(x),p=[],f=[],d=[];for(let C=0;C<o.length;C++)l[C].forEach(((v,S)=>{let w=c.get(S);for(let E of u.split(v))p.push(C),f.push(E),d.push(w)}));let g=[];for(let C of r.finals)g.push(c.get(C));let h=new c9(o.length,g,p,f,d).getBlockPartition(),y=[];for(let C=0;C<h.setCount;C++)y.push([]);for(let C=0;C<o.length;C++)y[h.setIndex[C]].push(o[C]);return y})(this,this.maxCharacter),a=new Map,i=[];for(let r of n){let s=r[0];i.push(s);for(let o=1;o<r.length;o++){let x=r[o];if(a.has(x))throw new Error("Duplicate mapping");a.set(x,s)}}if(a.size===0)return;let m=r=>{var s;return(s=a.get(r))!==null&&s!==void 0?s:r};for(let r of i)r.out.map(m);let t=[...this.finals].map(m);this.finals.clear(),t.forEach((r=>this.finals.add(r)))}complement(n=e.nodeFactory){let a={min:0,max:this.maxCharacter},i=n.createNode();i.link(i,P.all(this.maxCharacter)),sn(this.initial,((t,r)=>{r.push(...t.out.values()),t.out.mapRange(a,(s=>s??i))}));let m=(function(t,r){let s=new Set;for(let o of t)r.has(o)||s.add(o);return s})(this.nodes(),this.finals);this.finals.clear(),m.forEach((t=>this.finals.add(t))),this.removeUnreachable()}prefixes(){if(this.removeUnreachable(),!this.isEmpty)for(let n of this.nodes())this.finals.add(n)}static empty(n,a=e.nodeFactory){return new e(a.createNode(),new Set,n.maxCharacter)}static emptyWord(n,a=e.nodeFactory){let i=a.createNode();return new e(i,new Set([i]),n.maxCharacter)}static all(n,a=e.nodeFactory){let i=a.createNode();return i.link(i,P.all(n.maxCharacter)),new e(i,new Set([i]),n.maxCharacter)}static fromCharSet(n,a=e.nodeFactory){let i=a.createNode();if(n.isEmpty)return new e(i,new Set,n.maximum);let m=a.createNode();return i.link(m,n),new e(i,new Set([m]),n.maximum)}static fromIntersection(n,a,i=new e.LimitedNodeFactory){if(cn.assert(n,a,"TransitionIterable"),n instanceof e&&a instanceof e){let m=new e.Builder(i);return Va(j1($a(m,n.transitionIterator(),a.transitionIterator()),(t=>t.out.values()))),e.fromBuilder(m,n)}{let m=$a(new Wa,n.transitionIterator(),a.transitionIterator());return e.fromTransitionIterator(m,{maxCharacter:n.maxCharacter},i)}}static fromWords(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return M2(t,((r,s)=>r.out.get(s)),n,m),e.fromBuilder(t,a)}static fromWordSets(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return J2(t,n,m),e.fromBuilder(t,a)}static fromFA(n,a=new e.LimitedNodeFactory){if(n instanceof e){let{initial:i,finals:m}=y0(n,a);return new e(i,m,n.maxCharacter)}return e.fromTransitionIterator(n.transitionIterator(),n,a)}static fromTransitionIterator(n,a,i=new e.LimitedNodeFactory){let m=new e.Builder(i);return Va(j1(p4(m,n),(t=>t.out.values()))),e.fromBuilder(m,a)}static fromBuilder(n,a){return new e(n.initial,n.finals,a.maxCharacter)}};function y0(e,n){let a=n.createNode(),i=new Set,m=jn((()=>n.createNode()));return m.cache.set(e.initial,a),sn(e.initial,((t,r)=>{let s=m(t);t.out.forEach(((o,x)=>{r.push(o),s.out.setRange(x,m(o))}))})),e.finals.forEach((t=>i.add(m(t)))),{initial:a,finals:i}}(function(e){class n{constructor(){this.out=new Ze}link(i,m){this.out.setCharSet(m,i)}unlink(i){this.out.filter((m=>m!==i))}unlinkAll(){this.out.clear()}}e.Node=n,e.nodeFactory={createNode:()=>new n},e.LimitedNodeFactory=class{constructor(a=1e4){this._counter=0,this.limit=a}createNode(){return S1.assert(++this._counter,this.limit,"DFA"),new n}},e.Builder=class{constructor(a){this.finals=new Set,this.factory=a,this.initial=a.createNode()}makeFinal(a){this.finals.add(a)}isFinal(a){return this.finals.has(a)}linkNodes(a,i,m){a.link(i,m)}createNode(){return this.factory.createNode()}}})(he||(he={}));var x9=class{constructor(){this.marked=[],this.touched=[]}},O2=class{constructor(n,a){this.elements=[],this.location=[],this.first=[],this.past=[],this.setCount=1,this.setIndex=new Array(n).fill(0),this.workSet=a;for(let i=0;i<n;i++)this.elements.push(i),this.location.push(i);this.first.push(0),this.past.push(n)}mark(n){let a=this.setIndex[n],i=this.location[n],m=this.first[a]+this.workSet.marked[a];this.elements[i]=this.elements[m],this.location[this.elements[i]]=i,this.elements[m]=n,this.location[n]=m,this.workSet.marked[a]++||this.workSet.touched.push(a)}split(){let n;for(;(n=this.workSet.touched.pop())!==void 0;){let a=this.first[n]+this.workSet.marked[n];if(a!==this.past[n]){this.workSet.marked[n]<=this.past[n]-a?(this.first[this.setCount]=this.first[n],this.past[this.setCount]=a,this.first[n]=a):(this.past[this.setCount]=this.past[n],this.first[this.setCount]=a,this.past[n]=a);for(let i=this.first[this.setCount];i<this.past[this.setCount];i++)this.setIndex[this.elements[i]]=this.setCount;this.workSet.marked[n]=0,this.workSet.marked[this.setCount++]=0}else this.workSet.marked[n]=0}}},c9=class{constructor(n,a,i,m,t){a.length,i.length===m.length&&(m.length,t.length),i.length,this.stateCount=n,this.transitionCount=i.length,this.finals=a,this.tails=i,this.chars=m,this.heads=t,this._adjacent=new Array(this.transitionCount),this._offset=new Array(n+1).fill(0)}_makeAdjacent(n){for(let a=0;a<this.transitionCount;a++)this._offset[n[a]]++;for(let a=0;a<this.stateCount;a++)this._offset[a+1]+=this._offset[a];for(let a=this.transitionCount;a--;)this._adjacent[--this._offset[n[a]]]=a}getBlockPartition(){let n=new x9,a=new O2(this.stateCount,n),i=new O2(this.transitionCount,n),m=0;for(let r of this.finals){let s=a.location[r];s>=m&&(a.elements[s]=a.elements[m],a.location[a.elements[s]]=s,a.elements[m]=r,a.location[r]=m++)}n.marked[0]=this.finals.length,n.touched.push(0),a.split(),i.elements.sort(((r,s)=>this.chars[r]-this.chars[s])),i.setCount=n.marked[0]=0;let t=this.chars[i.elements[0]];for(let r=0;r<this.transitionCount;r++){let s=i.elements[r];this.chars[s]!==t&&(t=this.chars[s],i.past[i.setCount++]=r,i.first[i.setCount]=r,n.marked[i.setCount]=0),i.setIndex[s]=i.setCount,i.location[s]=r}i.past[i.setCount++]=this.transitionCount,this._makeAdjacent(this.heads);for(let r=1,s=0;s<i.setCount;s++){for(let o=i.first[s];o<i.past[s];o++)a.mark(this.tails[i.elements[o]]);for(a.split();r<a.setCount;r++){for(let o=a.first[r];o<a.past[r];o++){let x=a.elements[o];for(let c=this._offset[x];c<this._offset[x+1];c++)i.mark(this._adjacent[c])}i.split()}}return a}},ia=class e{constructor(n,a,i){this.initial=n,this.final=a,this.maxCharacter=i}get isEmpty(){return this.initial!==this.final&&this.initial.out.size===0}get isFinite(){return this.isEmpty||F2(this.stateIterator(!0))}get isNormalized(){return this.initial.in.size===0&&this.final.out.size===0&&this.initial!==this.final}normalize(n=e.nodeFactory){N9(n,this)}stateIterator(n){if(n){let a=this.initial,i=this.final.reachableViaEpsilon("in");return{initial:a,getOut:m=>{let t=new Set;return m.resolveEpsilon("out",((r,s)=>t.add(s))),t},isFinal:m=>i.has(m)}}{let a=this.initial,i=this.final;return{initial:a,getOut:m=>m.out.keys(),stableOut:!0,isFinal:m=>m===i}}}transitionIterator(){let n=this.initial,a=this.final.reachableViaEpsilon("in");return{initial:n,getOut:i=>{let m=new Map;return i.resolveEpsilon("out",((t,r)=>{let s=m.get(r);s=s===void 0?t:s.union(t),m.set(r,s)})),m},isFinal:i=>a.has(i)}}nodes(){return U1({initial:this.initial,getOut:n=>n.out.keys(),isFinal:n=>this.final===n})}countNodes(){let n=0;return sn(this.initial,((a,i)=>{n++,i.push(...a.out.keys())})),n}copy(n=e.nodeFactory){let{initial:a,final:i}=ue(n,this);return new e(a,i,this.maxCharacter)}test(n){let a=[this.initial],i=new Set;for(let t of n){let r=[];i.clear(),A9(a,((s,o)=>{s.out.forEach(((x,c)=>{x===null?o.push(c):x.has(t)&&!i.has(c)&&(r.push(c),i.add(c))}))})),a=r}if(i.has(this.final))return!0;let m=this.final.reachableViaEpsilon("in");return a.some((t=>m.has(t)))}wordSets(){return Za(this.transitionIterator())}words(){return ni(this.wordSets())}toString(){return B2({initial:this.initial,getOut:n=>n.out,stableOut:!0,isFinal:n=>n===this.final},(n=>n===null?"\u03B5":n.toUnicodeString()),!0)}toRegex(n){return G2({initial:this.initial,getOut:a=>a.out,stableOut:!0,isFinal:a=>a===this.final},n)}_getSimpleOptions(n){return[{initial:this.initial,getOut:a=>a.out,stableOut:!0,isFinal:a=>a===this.final},{transitionToString:n?a=>a===null?"":n(a):a=>a===null?"":a.toUnicodeString(),ordered:!0}]}toDot(n){return j2(...this._getSimpleOptions(n))}toMermaid(n){return U2(...this._getSimpleOptions(n))}append(n,a=new e.LimitedNodeFactory){cn.assert(this,n),this.normalize(a),C0(this,u2(a,n))}appendInto(n,a=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot append an ENFA into itself.");E0(n)||(this.normalize(a),n.normalize(a),C0(this,n))}prepend(n,a=new e.LimitedNodeFactory){cn.assert(this,n),this.normalize(a),h2(this,u2(a,n))}prependInto(n,a=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot prepend an ENFA into itself.");E0(n)||(this.normalize(a),n.normalize(a),h2(this,n))}union(n,a="right",i=new e.LimitedNodeFactory){cn.assert(this,n),this.normalize(i),a==="left"?S0(i,this,u2(i,n)):w0(this,u2(i,n))}unionInto(n,a="right",i=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot union an ENFA into itself.");n.isEmpty||(this.normalize(i),n.normalize(i),a==="left"?S0(i,this,n):w0(this,n))}quantify(n,a,i=!1,m=new e.LimitedNodeFactory){if(!Number.isInteger(n)||!Number.isInteger(a)&&a!==1/0||n<0||n>a)throw new RangeError("min and max both have to be non-negative integers with min <= max.");this.normalize(m),(function(t,r,s,o,x){if(o===1/0)if(s>1){let c=ue(t,r);jt(t,c,s-1),v0(t,r,x),h2(r,c)}else s===1?v0(t,r,x):A4(t,r,x);else if(s===o)jt(t,r,s);else if(s===0)_0(t,r,o,x);else{let c=ue(t,r);jt(t,c,s),_0(t,r,o-s,x),h2(r,c)}})(m,this,n,a,i)}withoutEmptyWord(n=new e.LimitedNodeFactory){this.normalize(n);let a=this.initial.reachableViaEpsilon("out");if(!a.has(this.final))return;if(a.size===2)return void this.initial.unlink(this.final);let i=[];this.initial.resolveEpsilon("out",((m,t)=>i.push([m,t]))),this.initial.unlinkAllOut();for(let[m,t]of i)if(this.initial.out.has(t)){let r=n.createNode();this.initial.link(r,m),r.link(t,null)}else this.initial.link(t,m);this.removeUnreachable()}removeUnreachable(){(function(n){if(n.final.in.size===0||n.initial.out.size===0)return void qa(n);let a=new Set;sn(n.initial,((m,t)=>{a.add(m),t.push(...m.out.keys())}));let i=new Set;if(sn(n.final,((m,t)=>{a.has(m)&&(i.add(m),t.push(...m.in.keys()))})),i.size===0||!i.has(n.initial))return void qa(n);for(let m of i)m.out.forEach(((t,r)=>{i.has(r)||r.unlinkAll()})),m.in.forEach(((t,r)=>{i.has(r)||r.unlinkAll()}))})(this)}prefixes(n=new e.LimitedNodeFactory){if(this.removeUnreachable(),!this.isEmpty){this.normalize();for(let a of this.nodes())k4(n,this,a)}}suffixes(n=new e.LimitedNodeFactory){if(this.removeUnreachable(),!this.isEmpty){this.normalize();for(let a of this.nodes())vc(n,this,a)}}static empty(n,a=e.nodeFactory){return new e(a.createNode(),a.createNode(),n.maxCharacter)}static emptyWord(n,a=e.nodeFactory){let i=a.createNode();return new e(i,i,n.maxCharacter)}static all(n,a=e.nodeFactory){let i=a.createNode();return i.link(i,P.all(n.maxCharacter)),new e(i,i,n.maxCharacter)}static fromCharSet(n,a=e.nodeFactory){let i=a.createNode(),m=a.createNode();return n.isEmpty||i.link(m,n),new e(i,m,n.maximum)}static fromRegex(n,a,i={},m=new e.LimitedNodeFactory){let{initial:t,final:r}=(function(s,o,x,c){var l,u,p;return o9.create(c,s,{maxCharacter:o.maxCharacter,assertions:(l=x.assertions)!==null&&l!==void 0?l:"throw",unknowns:(u=x.unknowns)!==null&&u!==void 0?u:"throw",infinityThreshold:(p=x.infinityThreshold)!==null&&p!==void 0?p:1/0})})(_4(n),a,i,m);return new e(t,r,a.maxCharacter)}static fromWords(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return M2(t,((r,s)=>{for(let[o,x]of r.out)if(x!==null&&x.has(s))return o}),n,m),e.fromBuilder(t,a)}static fromWordSets(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return J2(t,n,m),e.fromBuilder(t,a)}static fromFA(n,a){return e.fromTransitionIterator(n.transitionIterator(),n,a)}static fromTransitionIterator(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i),r=i.createNode();t.initial.link(r,null);let s=jn((()=>i.createNode()));return s.cache.set(n.initial,r),sn(n.initial,((o,x)=>{let c=s(o);n.isFinal(o)&&t.makeFinal(c),n.getOut(o).forEach(((l,u)=>{if(l.maximum!==m)throw new Error("Some character sets do not conform to the given maximum.");x.push(u),c.link(s(u),l)}))})),e.fromBuilder(t,a)}static fromBuilder(n,a){return new e(n.initial,n.final,a.maxCharacter)}};function k4(e,n,a){if(a===n.final)return;let i=a.out.get(n.final);if(i===void 0)a.link(n.final,null);else{if(i===null)return;{for(let[t,r]of a.out)if(r===null&&t.out.get(n.final)===null)return;let m=e.createNode();a.link(m,null),m.link(n.final,null)}}}function vc(e,n,a){if(a===n.initial)return;let i=n.initial.out.get(a);if(i===void 0)n.initial.link(a,null);else{if(i===null)return;{let m=e.createNode();n.initial.link(m,null),m.link(a,null)}}}function u2(e,n){return n instanceof ia?ue(e,n):(function(a,i){let m=a.createNode(),t=a.createNode(),r=jn((()=>a.createNode()));r.cache.set(i.initial,m),sn(i.initial,((o,x)=>{let c=r(o);i.isFinal(o)&&c.link(t,null),i.getOut(o).forEach(((l,u)=>{x.push(u),c.link(r(u),l)}))}));let s={initial:m,final:t};return N9(a,s),s})(e,n.transitionIterator())}function ue(e,n){let a=e.createNode(),i=e.createNode(),m=jn((()=>e.createNode()));m.cache.set(n.initial,a),m.cache.set(n.final,i),sn(n.initial,((r,s)=>{let o=m(r);r.out.forEach(((x,c)=>{s.push(c),o.link(m(c),x)}))}));let t={initial:a,final:i};return N9(e,t),t}function qa(e){e.initial.in.clear(),e.initial.out.clear(),e.final.in.clear(),e.final.out.clear()}function T4(e){qa(e),e.initial.link(e.final,null)}function N9(e,n){if(n.initial.in.size>0){let a=e.createNode();a.link(n.initial,null),n.initial=a}if(n.final.out.size>0){let a=e.createNode();n.final.link(a,null),n.final=a}if(n.initial===n.final){let a=e.createNode();n.final.link(a,null),n.final=a}}function C0(e,n){e.initial.out.size!==0&&e.final.in.size!==0&&n.initial.out.size!==0&&n.final.in.size!==0?(e.final.link(n.initial,null),e.final=n.final):qa(e)}function h2(e,n){e.initial.out.size!==0&&e.final.in.size!==0&&n.initial.out.size!==0&&n.final.in.size!==0?(n.final.link(e.initial,null),e.initial=n.initial):qa(e)}function jt(e,n,a){if(a===0)return void T4(n);if(a===1||n.initial.out.size===0||n.final.in.size===0)return;let i=ue(e,n),m=n.final;for(let t=2;t<a;t++){let r=ue(e,i);m.link(r.initial,null),m=r.final}m.link(i.initial,null),n.final=i.final}function v0(e,n,a){let i=e.createNode();a?(n.final.link(i,null),n.final.link(n.initial,null)):(n.final.link(n.initial,null),n.final.link(i,null)),n.final=i}function A4(e,n,a){let i=e.createNode(),m=e.createNode();a?(i.link(m,null),i.link(n.initial,null),n.final.link(m,null),n.final.link(n.initial,null)):(i.link(n.initial,null),i.link(m,null),n.final.link(n.initial,null),n.final.link(m,null)),n.initial=i,n.final=m}function _0(e,n,a,i){if(a===1/0)A4(e,n,i);else if(a===0)T4(n);else if(a===1){let m=e.createNode();i?(m.link(n.final,null),m.link(n.initial,null)):(m.link(n.initial,null),m.link(n.final,null)),n.initial=m}else{let m=[n];for(let s=1;s<a;s++)m.push(ue(e,n));let t=e.createNode(),r=m[m.length-1].final;i?(t.link(r,null),t.link(m[0].initial,null)):(t.link(m[0].initial,null),t.link(r,null));for(let s=1;s<a;s++){let o=m[s-1],x=m[s];i?(o.final.link(r,null),o.final.link(x.initial,null)):(o.final.link(x.initial,null),o.final.link(r,null))}n.initial=t,n.final=r}}function S0(e,n,a){let i=e.createNode(),m=e.createNode();i.link(a.initial,null),i.link(n.initial,null),a.final.link(m,null),n.final.link(m,null),n.initial=i,n.final=m}function w0(e,n){e.initial.link(n.initial,null),n.final.link(e.final,null)}function E0(e){return e.initial===e.final&&e.initial.out.size===0}function l9(e,n,a=1e4){return cn.assert(e,n,"TransitionIterable"),$a(new Wa(a),e.transitionIterator(),n.transitionIterator())}function b0(e,n,a=1e4){return Za(l9(e,n,a))}(function(e){class n{constructor(){this.out=new Map,this.in=new Map}link(i,m){if(this.out.has(i))throw new Error("Cannot link nodes that are already linked.");if(m&&m.isEmpty)throw new Error("You can't link nodes with the empty character set.");this.out.set(i,m),i.in.set(this,m)}unlink(i){this.out.delete(i),i.in.delete(this)}unlinkAll(){this.unlinkAllIn(),this.unlinkAllOut()}unlinkAllOut(){this.out.forEach(((i,m)=>{m.in.delete(this)})),this.out.clear()}unlinkAllIn(){this.in.forEach(((i,m)=>{m.out.delete(this)})),this.in.clear()}resolveEpsilon(i,m){let t=[...this[i]].reverse(),r=new Set([this]);for(let s;s=t.pop();){let[o,x]=s;if(x===null){if(r.has(o))continue;r.add(o),t.push(...[...o[i]].reverse())}else m(x,o)}}reachableViaEpsilon(i){let m=new Set;return sn(this,((t,r)=>{m.add(t),t[i].forEach(((s,o)=>{s===null&&r.push(o)}))})),m}}e.Node=n,e.nodeFactory={createNode:()=>new n},e.LimitedNodeFactory=class{constructor(a=1e4){this._counter=0,this.limit=a}createNode(){return S1.assert(++this._counter,this.limit,"ENFA"),new n}},e.Builder=class{constructor(a){this.factory=a,this.initial=a.createNode(),this.final=a.createNode()}makeFinal(a){k4(this.factory,this,a)}isFinal(a){return a===this.final}linkNodes(a,i,m){a.link(i,m)}createNode(){return this.factory.createNode()}}})(ia||(ia={})),(function(e){function n(t,r,s,o){switch(r.type){case"Alternation":return a(t,r.alternatives,s,o);case"Assertion":return(function(x,c,l){switch(l.assertions){case"disable":return x.createNode();case"ignore":return m(x,c,c);case"throw":throw new Error("Assertions are not supported yet.");default:throw j(l.assertions)}})(t,s,o);case"CharacterClass":return(function(x,c,l,u){if(c.maximum!==u.maxCharacter)throw new Error(`Expected a max character of ${u.maxCharacter} but found ${c.maximum}.`);let p=x.createNode();return c.isEmpty||l.link(p,c),p})(t,r.characters,s,o);case"Quantifier":return(function(x,c,l,u){let p=l,{min:f,max:d}=c;if(!(f<=d&&f>=0))throw new Error(`Expected 0 <= min <= max but found min=${f} max=${d}.`);if(d>u.infinityThreshold&&(d=1/0),f>1&&(l=(function(g,h,y,C,v){let S=C;for(let w=0;w<y;w++)S=a(g,h,S,v);return m(g,C,S)})(x,c.alternatives,f-1,l,u),d-=f-1,f=1),f===1){if(d===1/0)return(function(g,h,y,C,v){let S=g.createNode(),w=g.createNode();C.link(w,null);let E=a(g,h,w,v);return y?(E.link(S,null),E.link(w,null)):(E.link(w,null),E.link(S,null)),S})(x,c.alternatives,c.lazy,l,u);d--,f--,l=a(x,c.alternatives,l,u)}if(d===0)return m(x,p,l);if(d===1/0)return(function(g,h,y,C,v){let S=g.createNode();y&&C.link(S,null);let w=g.createNode();C.link(w,null);let E=a(g,h,w,v);return y?(E.link(S,null),E.link(w,null)):(E.link(w,null),E.link(S,null)),y||C.link(S,null),S})(x,c.alternatives,c.lazy,l,u);{let g=x.createNode();for(let h=0;h<d;h++){c.lazy&&l.link(g,null);let y=a(x,c.alternatives,l,u);c.lazy||l.link(g,null),l=y}return l.link(g,null),g}})(t,r,s,o);case"Unknown":return(function(x,c){switch(c.unknowns){case"disable":return x.createNode();case"throw":throw new Error("Assertions are not supported yet.");default:throw j(c.unknowns)}})(t,o);default:j(r)}}function a(t,r,s,o){if(r.length===1)return i(t,r[0].elements,s,o);{let x=t.createNode();for(let{elements:c}of r)i(t,c,s,o).link(x,null);return x}}function i(t,r,s,o){let x=s;for(let c of r){let l=n(t,c,x,o);l.out.size,x=l}return m(t,s,x)}function m(t,r,s){return s===r&&(s=t.createNode(),r.link(s,null)),s}e.create=function(t,r,s){let o=t.createNode();return{initial:o,final:a(t,r,o,s)}}})(o9||(o9={}));var Ha=class e{constructor(n,a,i){this.initial=n,this.finals=a,this.maxCharacter=i}get isEmpty(){return this.finals.size===0}get isFinite(){return this.isEmpty||F2(this.stateIterator())}get isNormalized(){return this.initial.in.size===0}normalize(n=e.nodeFactory){h9(n,this)}stateIterator(){let n=this.initial,a=this.finals;return{initial:n,getOut:i=>i.out.keys(),stableOut:!0,isFinal:i=>a.has(i)}}transitionIterator(){let n=this.initial,a=this.finals;return{initial:n,getOut:i=>i.out,stableOut:!0,isFinal:i=>a.has(i)}}nodes(){return U1({initial:this.initial,getOut:n=>n.out.keys(),isFinal:n=>this.finals.has(n)})}countNodes(){let n=0;return sn(this.initial,((a,i)=>{n++,i.push(...a.out.keys())})),n}copy(n=new e.LimitedNodeFactory){let a=Ua(n,this.transitionIterator());return new e(a.initial,a.finals,this.maxCharacter)}test(n){let a=[this.initial],i=new Set;for(let m of n){let t=[];i.clear();for(let r of a)r.out.forEach(((s,o)=>{s.has(m)&&!i.has(o)&&(t.push(o),i.add(o))}));a=t}return a.some((m=>this.finals.has(m)))}wordSets(){return Za(this.transitionIterator())}words(){return ni(this.wordSets())}toString(){return B2(this.transitionIterator(),(n=>n.toUnicodeString()))}toRegex(n){return G2(this.transitionIterator(),n)}toDot(n){return j2(this.transitionIterator(),{transitionToString:n||(a=>a.toUnicodeString())})}toMermaid(n){return U2(this.transitionIterator(),{transitionToString:n||(a=>a.toUnicodeString())})}union(n,a=new e.LimitedNodeFactory){cn.assert(this,n),this===n||(this.normalize(a),Ut(this,Ua(a,n.transitionIterator())))}unionInto(n,a=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot union an NFA into itself.");this.normalize(a),n.normalize(a),Ut(this,n),Wn(n)}append(n,a=new e.LimitedNodeFactory){cn.assert(this,n),this===n?this.quantify(2,2,a):(this.normalize(a),zn(this,Ua(a,n.transitionIterator())))}appendInto(n,a=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot append an NFA into itself.");this.normalize(a),n.normalize(a),zn(this,n),Wn(n)}prepend(n,a=new e.LimitedNodeFactory){cn.assert(this,n),this===n?this.quantify(2,2,a):(this.normalize(a),k0(this,Ua(a,n.transitionIterator())))}prependInto(n,a=e.nodeFactory){if(cn.assert(this,n),this===n)throw new Error("Cannot prepend an NFA into itself.");this.normalize(a),n.normalize(a),k0(this,n),Wn(n)}quantify(n,a,i=new e.LimitedNodeFactory){if(!Number.isInteger(n)||!Number.isInteger(a)&&a!==1/0||n<0||n>a)throw new RangeError("min and max both have to be non-negative integers with min <= max.");this.normalize(i),A0(i,this,n,a)}withoutEmptyWord(){this.normalize(),this.finals.delete(this.initial)}removeUnreachable(){I0(this)}prefixes(){if(this.removeUnreachable(),!this.isEmpty)for(let n of this.nodes())this.finals.add(n)}suffixes(){if(this.removeUnreachable(),this.normalize(),!this.isEmpty){for(let n of this.nodes())if(n!==this.initial){let a;n.in.forEach((i=>{a=a===void 0?i:a.union(i)})),this.initial.link(n,a)}this.finals.add(this.initial)}}reverse(){this.removeUnreachable(),this.normalize(),(function(n,a){let{initial:i,finals:m}=a;if(m.size===0||m.size===1&&m.has(i))return;let t=[...U1({initial:a.initial,getOut:o=>o.out.keys(),isFinal:o=>a.finals.has(o)})];for(let o of t){let x=o,c=x.out;x.out=x.in,x.in=c}let r=n.createNode();i.in.forEach(((o,x)=>{x.unlink(i),x.link(r,o)}));let s=new Set([r]);m.has(i)&&(m.delete(i),s.add(i));for(let o of m)o.out.forEach(((x,c)=>{i.link(c,x)})),o.in.size===0&&o.out.forEach(((x,c)=>{o.unlink(c)}));m.clear(),s.forEach((o=>m.add(o)))})(e.nodeFactory,this)}static empty(n,a=e.nodeFactory){return new e(a.createNode(),new Set,n.maxCharacter)}static emptyWord(n,a=e.nodeFactory){let i=a.createNode();return new e(i,new Set([i]),n.maxCharacter)}static all(n,a=e.nodeFactory){let i=a.createNode();return i.link(i,P.all(n.maxCharacter)),new e(i,new Set([i]),n.maxCharacter)}static fromCharSet(n,a=e.nodeFactory){let i=a.createNode();if(n.isEmpty)return new e(i,new Set,n.maximum);let m=a.createNode();return i.link(m,n),new e(i,new Set([m]),n.maximum)}static fromIntersection(n,a,i=new e.LimitedNodeFactory){cn.assert(n,a,"TransitionIterable");let m=new e.Builder(i);return Va(j1($a(m,n.transitionIterator(),a.transitionIterator()),(t=>t.out.keys()))),I0(m),h9(i,m),v2(m),e.fromBuilder(m,n)}static fromRegex(n,a,i={},m=new e.LimitedNodeFactory){let{initial:t,finals:r}=(function(s,o,x,c){var l,u,p;let f=(l=x.infinityThreshold)!==null&&l!==void 0?l:1/0,d=(u=x.assertions)!==null&&u!==void 0?u:"throw",g=(p=x.unknowns)!==null&&p!==void 0?p:"throw";return h(s);function h(E){if(E.length===0)return{initial:c.createNode(),finals:new Set};let k=y(E[0]);for(let I=1,M=E.length;I<M;I++)Ut(k,y(E[I]));return k}function y(E){let k=E.elements;if(k.length===0){let M={initial:c.createNode(),finals:new Set};return M.finals.add(M.initial),M}let I=S(k[0]);if(I===null)return{initial:c.createNode(),finals:new Set};for(let M=1,$=k.length;M<$&&I.finals.size!==0;M++)v(k[M],I);return I}function C(E){let k=h(E.alternatives),I=E.max;return I>=f&&(I=1/0),A0(c,k,E.min,I),k}function v(E,k){switch(E.type){case"CharacterClass":{let I=E.characters;if(w(I),I.isEmpty)Wn(k);else{let M=c.createNode();k.finals.forEach(($=>$.link(M,I))),k.finals.clear(),k.finals.add(M)}break}case"Quantifier":E.max>0&&zn(k,C(E));break;default:{let I=S(E);I===null?Wn(k):zn(k,I)}}}function S(E){switch(E.type){case"Alternation":return h(E.alternatives);case"Assertion":switch(d){case"disable":return null;case"ignore":{let k={initial:c.createNode(),finals:new Set};return k.finals.add(k.initial),k}case"throw":throw new Error("Assertions are not supported yet.");default:throw j(d)}case"CharacterClass":{let k=E.characters;if(w(k),k.isEmpty)return null;{let I=c.createNode(),M=c.createNode();return I.link(M,k),{initial:I,finals:new Set([M])}}}case"Quantifier":return C(E);case"Unknown":switch(g){case"disable":return null;case"throw":throw new Error("Unknowns are not supported.");default:throw j(g)}default:throw j(E)}}function w(E){if(E.maximum!==o.maxCharacter)throw new Error(`The maximum of all character sets has to be ${o.maxCharacter}.`)}})(_4(n),a,i,m);return new e(t,r,a.maxCharacter)}static fromWords(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return M2(t,((r,s)=>{for(let[o,x]of r.out)if(x.has(s))return o}),n,m),v2(t),u9(t),e.fromBuilder(t,a)}static fromWordSets(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=new e.Builder(i);return J2(t,n,m),v2(t),u9(t),e.fromBuilder(t,a)}static fromFA(n,a){return e.fromTransitionIterator(n.transitionIterator(),n,a)}static fromTransitionIterator(n,a,i=new e.LimitedNodeFactory){let{maxCharacter:m}=a,t=i.createNode(),r=new Set,s=jn((()=>i.createNode()));return s.cache.set(n.initial,t),sn(n.initial,((o,x)=>{let c=s(o);n.isFinal(o)&&r.add(c),n.getOut(o).forEach(((l,u)=>{if(l.maximum!==m)throw new Error("Some character sets do not conform to the given maximum.");x.push(u),c.link(s(u),l)}))})),new e(t,r,m)}static fromBuilder(n,a){return new e(n.initial,n.finals,a.maxCharacter)}};function ce(e,n){return Ua(e,{initial:n.initial,getOut:a=>a.out,isFinal:a=>n.finals.has(a)})}function Ua(e,n){let a=e.createNode(),i=new Set,m=jn((()=>e.createNode()));m.cache.set(n.initial,a),sn(n.initial,((r,s)=>{let o=m(r);n.isFinal(r)&&i.add(o);let x=n.getOut(r);for(let[c,l]of x)s.push(c),o.link(m(c),l)}));let t={initial:a,finals:i};return h9(e,t),t}function zn(e,n){if(e.finals.size===0)return;if(n.finals.size===0)return void Wn(e);let a=[...n.initial.out];for(let i of e.finals)for(let[m,t]of a)i.link(m,t);for(let[i]of a)n.initial.unlink(i);n.finals.has(n.initial)||e.finals.clear(),n.finals.forEach((i=>{i!==n.initial&&e.finals.add(i)}))}function k0(e,n){if(e.finals.size===0)return;if(n.finals.size===0)return void Wn(e);let a=[...e.initial.out];for(let i of n.finals)for(let[m,t]of a)i.link(m,t);for(let[i]of a)e.initial.unlink(i);for(let[i,m]of n.initial.out)e.initial.link(i,m),n.initial.unlink(i);e.finals.has(e.initial)&&(e.finals.delete(e.initial),n.finals.forEach((i=>{i===n.initial?e.finals.add(e.initial):e.finals.add(i)})))}function Ut(e,n){n.finals.forEach((a=>{e.finals.add(a===n.initial?e.initial:a)})),n.initial.out.forEach(((a,i)=>{e.initial.link(i,a)})),n.initial.unlinkAllOut(),v2(e),(function(a){let i=[a.initial];for(;i.length>0;){let m=i.pop();if(m.out.size<2)continue;let t=[];for(let r of m.out.keys())r.in.size===1&&t.push(r);for(;t.length>=2;){let r=t.pop(),s=m.out.get(r);for(let o=0,x=t.length;o<x;o++){let c=t[o],l=a.finals.has(c),u=m.out.get(c);if(s.equals(u)&&l==a.finals.has(r)){for(let[p,f]of c.out)r.link(p,f),c.unlink(p);m.unlink(c),l&&a.finals.delete(c),a4(t,o),i.push(r);break}}}}})(e),u9(e)}function v2(e){if(e.finals.size<2)return;let n=[];for(let a of e.finals)a!==e.initial&&a.out.size===0&&n.push(a);if(n.length>1){let a=n.pop();for(let i of n)e.finals.delete(i),i.in.forEach(((m,t)=>{t.out.delete(i),t.link(a,m)}))}}function u9(e){let n=[];for(let a of e.finals)a.out.size===0&&n.push(a);for(;n.length>0;){let a=n.pop();if(a.in.size<2)continue;let i=[];for(let m of a.in.keys())m.out.size===1&&i.push(m);for(;i.length>=2;){let m=i.pop(),t=a.in.get(m);for(let r=0,s=i.length;r<s;r++){let o=i[r],x=e.finals.has(o),c=a.in.get(o);if(t.equals(c)&&x==e.finals.has(m)){for(let[l,u]of o.in)l.link(m,u),l.unlink(o);o.unlink(a),x&&e.finals.delete(o),a4(i,r),n.push(m);break}}}}}function Ja(e,n,a){if(a===0)return Wn(n),void n.finals.add(n.initial);if(a!==1&&(n.finals.size!==1||!n.finals.has(n.initial))&&n.finals.size!==0)if(n.finals.has(n.initial)){let i=new Set(n.finals);n.finals.delete(n.initial);let m=ce(e,n);for(let t=a;t>2;t--)zn(n,ce(e,m)),n.finals.forEach((r=>i.add(r)));zn(n,m),n.finals.forEach((t=>i.add(t))),n.finals.clear(),i.forEach((t=>n.finals.add(t)))}else{let i=ce(e,n);for(let m=a;m>2;m--)zn(n,ce(e,i));zn(n,i)}}function T0(e){for(let n of e.finals)n!==e.initial&&e.initial.out.forEach(((a,i)=>{n.link(i,a)}))}function A0(e,n,a,i){if(i===0)return Wn(n),void n.finals.add(n.initial);if(n.finals.has(n.initial)?a=0:a===0&&n.finals.add(n.initial),i!==1){if((function(m){let t=m.initial.out;for(let r of m.finals)if(r!==m.initial){if(r.out.size!==t.size)return!1;for(let s of r.out.keys())if(!t.has(s))return!1}return!0})(n)){if(a<=1)return;let m=ce(e,n);for(let t of n.finals)for(let r of t.out.keys())t.unlink(r);return Ja(e,n,a-1),void zn(n,m)}if(a===i)Ja(e,n,a);else if(i<1/0){let m=ce(e,n);m.finals.add(m.initial),Ja(e,m,i-a),Ja(e,n,a),zn(n,m)}else if(a>1){let m=ce(e,n);T0(m),Ja(e,n,a-1),zn(n,m)}else T0(n)}}function Wn(e){e.initial.unlinkAll(),e.finals.clear()}function h9(e,n){if(n.initial.in.size===0)return;let a=e.createNode();n.initial.out.forEach(((i,m)=>{a.link(m===n.initial?a:m,i)})),n.initial.in.forEach(((i,m)=>{m.link(a,i)})),n.initial.unlinkAllIn(),n.finals.has(n.initial)&&n.finals.add(a)}function I0(e){if(e.finals.size===0)return void Wn(e);let n=new Set;sn(e.initial,((i,m)=>{n.add(i),m.push(...i.out.keys())}));let a=new Set;if(A9(e.finals,((i,m)=>{n.has(i)&&(a.add(i),m.push(...i.in.keys()))})),a.size!==0&&a.has(e.initial)){for(let i of a)i.out.forEach(((m,t)=>{a.has(t)||t.unlinkAll()})),i.in.forEach(((m,t)=>{a.has(t)||t.unlinkAll()}));for(let i of[...e.finals])a.has(i)||e.finals.delete(i)}else Wn(e)}(function(e){class n{constructor(){this.out=new Map,this.in=new Map}link(i,m){if(m.isEmpty)throw new Error("You can't link nodes with the empty character set.");this._linkNodesAddImpl(this.out,i,m),this._linkNodesAddImpl(i.in,this,m)}_linkNodesAddImpl(i,m,t){let r=i.get(m);r===void 0?i.set(m,t):i.set(m,r.union(t))}unlink(i){this.out.delete(i),i.in.delete(this)}unlinkAll(){this.unlinkAllIn(),this.unlinkAllOut()}unlinkAllOut(){this.out.forEach(((i,m)=>{m.in.delete(this)})),this.out.clear()}unlinkAllIn(){this.in.forEach(((i,m)=>{m.out.delete(this)})),this.in.clear()}}e.Node=n,e.nodeFactory={createNode:()=>new n},e.LimitedNodeFactory=class{constructor(a=1e4){this._counter=0,this.limit=a}createNode(){return S1.assert(++this._counter,this.limit,"NFA"),new n}},e.Builder=class{constructor(a){this.finals=new Set,this.factory=a,this.initial=a.createNode()}makeFinal(a){this.finals.add(a)}isFinal(a){return this.finals.has(a)}linkNodes(a,i,m){a.link(i,m)}createNode(){return this.factory.createNode()}}})(Ha||(Ha={}));var P0={General_Category:"General_Category",gc:"General_Category",Script:"Script",sc:"Script",Script_Extensions:"Script_Extensions",scx:"Script_Extensions"},O0={ASCII:"ASCII",ASCII_Hex_Digit:"ASCII_Hex_Digit",AHex:"ASCII_Hex_Digit",Alphabetic:"Alphabetic",Alpha:"Alphabetic",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_Control",Bidi_C:"Bidi_Control",Bidi_Mirrored:"Bidi_Mirrored",Bidi_M:"Bidi_Mirrored",Case_Ignorable:"Case_Ignorable",CI:"Case_Ignorable",Cased:"Cased",Changes_When_Casefolded:"Changes_When_Casefolded",CWCF:"Changes_When_Casefolded",Changes_When_Casemapped:"Changes_When_Casemapped",CWCM:"Changes_When_Casemapped",Changes_When_Lowercased:"Changes_When_Lowercased",CWL:"Changes_When_Lowercased",Changes_When_NFKC_Casefolded:"Changes_When_NFKC_Casefolded",CWKCF:"Changes_When_NFKC_Casefolded",Changes_When_Titlecased:"Changes_When_Titlecased",CWT:"Changes_When_Titlecased",Changes_When_Uppercased:"Changes_When_Uppercased",CWU:"Changes_When_Uppercased",Dash:"Dash",Default_Ignorable_Code_Point:"Default_Ignorable_Code_Point",DI:"Default_Ignorable_Code_Point",Deprecated:"Deprecated",Dep:"Deprecated",Diacritic:"Diacritic",Dia:"Diacritic",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Extender",Ext:"Extender",Grapheme_Base:"Grapheme_Base",Gr_Base:"Grapheme_Base",Grapheme_Extend:"Grapheme_Extend",Gr_Ext:"Grapheme_Extend",Hex_Digit:"Hex_Digit",Hex:"Hex_Digit",IDS_Binary_Operator:"IDS_Binary_Operator",IDSB:"IDS_Binary_Operator",IDS_Trinary_Operator:"IDS_Trinary_Operator",IDST:"IDS_Trinary_Operator",ID_Continue:"ID_Continue",IDC:"ID_Continue",ID_Start:"ID_Start",IDS:"ID_Start",Ideographic:"Ideographic",Ideo:"Ideographic",Join_Control:"Join_Control",Join_C:"Join_Control",Logical_Order_Exception:"Logical_Order_Exception",LOE:"Logical_Order_Exception",Lowercase:"Lowercase",Lower:"Lowercase",Math:"Math",Noncharacter_Code_Point:"Noncharacter_Code_Point",NChar:"Noncharacter_Code_Point",Pattern_Syntax:"Pattern_Syntax",Pat_Syn:"Pattern_Syntax",Pattern_White_Space:"Pattern_White_Space",Pat_WS:"Pattern_White_Space",Quotation_Mark:"Quotation_Mark",QMark:"Quotation_Mark",Radical:"Radical",Regional_Indicator:"Regional_Indicator",RI:"Regional_Indicator",Sentence_Terminal:"Sentence_Terminal",STerm:"Sentence_Terminal",Soft_Dotted:"Soft_Dotted",SD:"Soft_Dotted",Terminal_Punctuation:"Terminal_Punctuation",Term:"Terminal_Punctuation",Unified_Ideograph:"Unified_Ideograph",UIdeo:"Unified_Ideograph",Uppercase:"Uppercase",Upper:"Uppercase",Variation_Selector:"Variation_Selector",VS:"Variation_Selector",White_Space:"White_Space",space:"White_Space",XID_Continue:"XID_Continue",XIDC:"XID_Continue",XID_Start:"XID_Start",XIDS:"XID_Start"},R0={Basic_Emoji:"Basic_Emoji",Emoji_Keycap_Sequence:"Emoji_Keycap_Sequence",RGI_Emoji_Modifier_Sequence:"RGI_Emoji_Modifier_Sequence",RGI_Emoji_Flag_Sequence:"RGI_Emoji_Flag_Sequence",RGI_Emoji_Tag_Sequence:"RGI_Emoji_Tag_Sequence",RGI_Emoji_ZWJ_Sequence:"RGI_Emoji_ZWJ_Sequence",RGI_Emoji:"RGI_Emoji"},Dt={Cased_Letter:"Cased_Letter",LC:"Cased_Letter",Close_Punctuation:"Close_Punctuation",Pe:"Close_Punctuation",Connector_Punctuation:"Connector_Punctuation",Pc:"Connector_Punctuation",Control:"Control",Cc:"Control",cntrl:"Control",Currency_Symbol:"Currency_Symbol",Sc:"Currency_Symbol",Dash_Punctuation:"Dash_Punctuation",Pd:"Dash_Punctuation",Decimal_Number:"Decimal_Number",Nd:"Decimal_Number",digit:"Decimal_Number",Enclosing_Mark:"Enclosing_Mark",Me:"Enclosing_Mark",Final_Punctuation:"Final_Punctuation",Pf:"Final_Punctuation",Format:"Format",Cf:"Format",Initial_Punctuation:"Initial_Punctuation",Pi:"Initial_Punctuation",Letter:"Letter",L:"Letter",Letter_Number:"Letter_Number",Nl:"Letter_Number",Line_Separator:"Line_Separator",Zl:"Line_Separator",Lowercase_Letter:"Lowercase_Letter",Ll:"Lowercase_Letter",Mark:"Mark",M:"Mark",Combining_Mark:"Mark",Math_Symbol:"Math_Symbol",Sm:"Math_Symbol",Modifier_Letter:"Modifier_Letter",Lm:"Modifier_Letter",Modifier_Symbol:"Modifier_Symbol",Sk:"Modifier_Symbol",Nonspacing_Mark:"Nonspacing_Mark",Mn:"Nonspacing_Mark",Number:"Number",N:"Number",Open_Punctuation:"Open_Punctuation",Ps:"Open_Punctuation",Other:"Other",C:"Other",Other_Letter:"Other_Letter",Lo:"Other_Letter",Other_Number:"Other_Number",No:"Other_Number",Other_Punctuation:"Other_Punctuation",Po:"Other_Punctuation",Other_Symbol:"Other_Symbol",So:"Other_Symbol",Paragraph_Separator:"Paragraph_Separator",Zp:"Paragraph_Separator",Private_Use:"Private_Use",Co:"Private_Use",Punctuation:"Punctuation",P:"Punctuation",punct:"Punctuation",Separator:"Separator",Z:"Separator",Space_Separator:"Space_Separator",Zs:"Space_Separator",Spacing_Mark:"Spacing_Mark",Mc:"Spacing_Mark",Surrogate:"Surrogate",Cs:"Surrogate",Symbol:"Symbol",S:"Symbol",Titlecase_Letter:"Titlecase_Letter",Lt:"Titlecase_Letter",Unassigned:"Unassigned",Cn:"Unassigned",Uppercase_Letter:"Uppercase_Letter",Lu:"Uppercase_Letter"},L0={Adlam:"Adlam",Adlm:"Adlam",Ahom:"Ahom",Anatolian_Hieroglyphs:"Anatolian_Hieroglyphs",Hluw:"Anatolian_Hieroglyphs",Arabic:"Arabic",Arab:"Arabic",Armenian:"Armenian",Armn:"Armenian",Avestan:"Avestan",Avst:"Avestan",Balinese:"Balinese",Bali:"Balinese",Bamum:"Bamum",Bamu:"Bamum",Bassa_Vah:"Bassa_Vah",Bass:"Bassa_Vah",Batak:"Batak",Batk:"Batak",Bengali:"Bengali",Beng:"Bengali",Bhaiksuki:"Bhaiksuki",Bhks:"Bhaiksuki",Bopomofo:"Bopomofo",Bopo:"Bopomofo",Brahmi:"Brahmi",Brah:"Brahmi",Braille:"Braille",Brai:"Braille",Buginese:"Buginese",Bugi:"Buginese",Buhid:"Buhid",Buhd:"Buhid",Canadian_Aboriginal:"Canadian_Aboriginal",Cans:"Canadian_Aboriginal",Carian:"Carian",Cari:"Carian",Caucasian_Albanian:"Caucasian_Albanian",Aghb:"Caucasian_Albanian",Chakma:"Chakma",Cakm:"Chakma",Cham:"Cham",Cherokee:"Cherokee",Cher:"Cherokee",Common:"Common",Zyyy:"Common",Coptic:"Coptic",Copt:"Coptic",Qaac:"Coptic",Cuneiform:"Cuneiform",Xsux:"Cuneiform",Cypriot:"Cypriot",Cprt:"Cypriot",Cyrillic:"Cyrillic",Cyrl:"Cyrillic",Deseret:"Deseret",Dsrt:"Deseret",Devanagari:"Devanagari",Deva:"Devanagari",Dogra:"Dogra",Dogr:"Dogra",Duployan:"Duployan",Dupl:"Duployan",Egyptian_Hieroglyphs:"Egyptian_Hieroglyphs",Egyp:"Egyptian_Hieroglyphs",Elbasan:"Elbasan",Elba:"Elbasan",Elymaic:"Elymaic",Elym:"Elymaic",Ethiopic:"Ethiopic",Ethi:"Ethiopic",Georgian:"Georgian",Geor:"Georgian",Glagolitic:"Glagolitic",Glag:"Glagolitic",Gothic:"Gothic",Goth:"Gothic",Grantha:"Grantha",Gran:"Grantha",Greek:"Greek",Grek:"Greek",Gujarati:"Gujarati",Gujr:"Gujarati",Gunjala_Gondi:"Gunjala_Gondi",Gong:"Gunjala_Gondi",Gurmukhi:"Gurmukhi",Guru:"Gurmukhi",Han:"Han",Hani:"Han",Hangul:"Hangul",Hang:"Hangul",Hanifi_Rohingya:"Hanifi_Rohingya",Rohg:"Hanifi_Rohingya",Hanunoo:"Hanunoo",Hano:"Hanunoo",Hatran:"Hatran",Hatr:"Hatran",Hebrew:"Hebrew",Hebr:"Hebrew",Hiragana:"Hiragana",Hira:"Hiragana",Imperial_Aramaic:"Imperial_Aramaic",Armi:"Imperial_Aramaic",Inherited:"Inherited",Zinh:"Inherited",Qaai:"Inherited",Inscriptional_Pahlavi:"Inscriptional_Pahlavi",Phli:"Inscriptional_Pahlavi",Inscriptional_Parthian:"Inscriptional_Parthian",Prti:"Inscriptional_Parthian",Javanese:"Javanese",Java:"Javanese",Kaithi:"Kaithi",Kthi:"Kaithi",Kannada:"Kannada",Knda:"Kannada",Katakana:"Katakana",Kana:"Katakana",Kayah_Li:"Kayah_Li",Kali:"Kayah_Li",Kharoshthi:"Kharoshthi",Khar:"Kharoshthi",Khmer:"Khmer",Khmr:"Khmer",Khojki:"Khojki",Khoj:"Khojki",Khudawadi:"Khudawadi",Sind:"Khudawadi",Lao:"Lao",Laoo:"Lao",Latin:"Latin",Latn:"Latin",Lepcha:"Lepcha",Lepc:"Lepcha",Limbu:"Limbu",Limb:"Limbu",Linear_A:"Linear_A",Lina:"Linear_A",Linear_B:"Linear_B",Linb:"Linear_B",Lisu:"Lisu",Lycian:"Lycian",Lyci:"Lycian",Lydian:"Lydian",Lydi:"Lydian",Mahajani:"Mahajani",Mahj:"Mahajani",Makasar:"Makasar",Maka:"Makasar",Malayalam:"Malayalam",Mlym:"Malayalam",Mandaic:"Mandaic",Mand:"Mandaic",Manichaean:"Manichaean",Mani:"Manichaean",Marchen:"Marchen",Marc:"Marchen",Medefaidrin:"Medefaidrin",Medf:"Medefaidrin",Masaram_Gondi:"Masaram_Gondi",Gonm:"Masaram_Gondi",Meetei_Mayek:"Meetei_Mayek",Mtei:"Meetei_Mayek",Mende_Kikakui:"Mende_Kikakui",Mend:"Mende_Kikakui",Meroitic_Cursive:"Meroitic_Cursive",Merc:"Meroitic_Cursive",Meroitic_Hieroglyphs:"Meroitic_Hieroglyphs",Mero:"Meroitic_Hieroglyphs",Miao:"Miao",Plrd:"Miao",Modi:"Modi",Mongolian:"Mongolian",Mong:"Mongolian",Mro:"Mro",Mroo:"Mro",Multani:"Multani",Mult:"Multani",Myanmar:"Myanmar",Mymr:"Myanmar",Nabataean:"Nabataean",Nbat:"Nabataean",Nandinagari:"Nandinagari",Nand:"Nandinagari",New_Tai_Lue:"New_Tai_Lue",Talu:"New_Tai_Lue",Newa:"Newa",Nko:"Nko",Nkoo:"Nko",Nushu:"Nushu",Nshu:"Nushu",Nyiakeng_Puachue_Hmong:"Nyiakeng_Puachue_Hmong",Hmnp:"Nyiakeng_Puachue_Hmong",Ogham:"Ogham",Ogam:"Ogham",Ol_Chiki:"Ol_Chiki",Olck:"Ol_Chiki",Old_Hungarian:"Old_Hungarian",Hung:"Old_Hungarian",Old_Italic:"Old_Italic",Ital:"Old_Italic",Old_North_Arabian:"Old_North_Arabian",Narb:"Old_North_Arabian",Old_Permic:"Old_Permic",Perm:"Old_Permic",Old_Persian:"Old_Persian",Xpeo:"Old_Persian",Old_Sogdian:"Old_Sogdian",Sogo:"Old_Sogdian",Old_South_Arabian:"Old_South_Arabian",Sarb:"Old_South_Arabian",Old_Turkic:"Old_Turkic",Orkh:"Old_Turkic",Oriya:"Oriya",Orya:"Oriya",Osage:"Osage",Osge:"Osage",Osmanya:"Osmanya",Osma:"Osmanya",Pahawh_Hmong:"Pahawh_Hmong",Hmng:"Pahawh_Hmong",Palmyrene:"Palmyrene",Palm:"Palmyrene",Pau_Cin_Hau:"Pau_Cin_Hau",Pauc:"Pau_Cin_Hau",Phags_Pa:"Phags_Pa",Phag:"Phags_Pa",Phoenician:"Phoenician",Phnx:"Phoenician",Psalter_Pahlavi:"Psalter_Pahlavi",Phlp:"Psalter_Pahlavi",Rejang:"Rejang",Rjng:"Rejang",Runic:"Runic",Runr:"Runic",Samaritan:"Samaritan",Samr:"Samaritan",Saurashtra:"Saurashtra",Saur:"Saurashtra",Sharada:"Sharada",Shrd:"Sharada",Shavian:"Shavian",Shaw:"Shavian",Siddham:"Siddham",Sidd:"Siddham",SignWriting:"SignWriting",Sgnw:"SignWriting",Sinhala:"Sinhala",Sinh:"Sinhala",Sogdian:"Sogdian",Sogd:"Sogdian",Sora_Sompeng:"Sora_Sompeng",Sora:"Sora_Sompeng",Soyombo:"Soyombo",Soyo:"Soyombo",Sundanese:"Sundanese",Sund:"Sundanese",Syloti_Nagri:"Syloti_Nagri",Sylo:"Syloti_Nagri",Syriac:"Syriac",Syrc:"Syriac",Tagalog:"Tagalog",Tglg:"Tagalog",Tagbanwa:"Tagbanwa",Tagb:"Tagbanwa",Tai_Le:"Tai_Le",Tale:"Tai_Le",Tai_Tham:"Tai_Tham",Lana:"Tai_Tham",Tai_Viet:"Tai_Viet",Tavt:"Tai_Viet",Takri:"Takri",Takr:"Takri",Tamil:"Tamil",Taml:"Tamil",Tangut:"Tangut",Tang:"Tangut",Telugu:"Telugu",Telu:"Telugu",Thaana:"Thaana",Thaa:"Thaana",Thai:"Thai",Tibetan:"Tibetan",Tibt:"Tibetan",Tifinagh:"Tifinagh",Tfng:"Tifinagh",Tirhuta:"Tirhuta",Tirh:"Tirhuta",Ugaritic:"Ugaritic",Ugar:"Ugaritic",Vai:"Vai",Vaii:"Vai",Wancho:"Wancho",Wcho:"Wancho",Warang_Citi:"Warang_Citi",Wara:"Warang_Citi",Yi:"Yi",Yiii:"Yi",Zanabazar_Square:"Zanabazar_Square",Zanb:"Zanabazar_Square"},_c=JSON.parse('[{"min":0,"max":127}]'),Sc=JSON.parse('[{"min":48,"max":57},{"min":65,"max":70},{"min":97,"max":102}]'),wc=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":837,"max":837},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1456,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1623},{"min":1625,"max":1631},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1761,"max":1768},{"min":1773,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1855},{"min":1869,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2071},{"min":2074,"max":2092},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2260,"max":2271},{"min":2275,"max":2281},{"min":2288,"max":2363},{"min":2365,"max":2380},{"min":2382,"max":2384},{"min":2389,"max":2403},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2510,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2636},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2672,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2764},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2809,"max":2812},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2902,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3148},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3276},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3406,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3654},{"min":3661,"max":3661},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3769},{"min":3771,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3789,"max":3789},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3971},{"min":3976,"max":3991},{"min":3993,"max":4028},{"min":4096,"max":4150},{"min":4152,"max":4152},{"min":4155,"max":4159},{"min":4176,"max":4239},{"min":4250,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5907},{"min":5919,"max":5939},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6067},{"min":6070,"max":6088},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6456},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6753,"max":6772},{"min":6823,"max":6823},{"min":6847,"max":6848},{"min":6860,"max":6862},{"min":6912,"max":6963},{"min":6965,"max":6979},{"min":6981,"max":6988},{"min":7040,"max":7081},{"min":7084,"max":7087},{"min":7098,"max":7141},{"min":7143,"max":7153},{"min":7168,"max":7222},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7655,"max":7668},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":9398,"max":9449},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":11823,"max":11823},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42612,"max":42619},{"min":42623,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43013},{"min":43015,"max":43047},{"min":43072,"max":43123},{"min":43136,"max":43203},{"min":43205,"max":43205},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43263},{"min":43274,"max":43306},{"min":43312,"max":43346},{"min":43360,"max":43388},{"min":43392,"max":43442},{"min":43444,"max":43455},{"min":43471,"max":43471},{"min":43488,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43616,"max":43638},{"min":43642,"max":43710},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43765},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69701},{"min":69745,"max":69749},{"min":69760,"max":69816},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69888,"max":69938},{"min":69956,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70016,"max":70079},{"min":70081,"max":70084},{"min":70094,"max":70095},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70196},{"min":70199,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70376},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70476},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70656,"max":70721},{"min":70723,"max":70725},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70849},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71093},{"min":71096,"max":71102},{"min":71128,"max":71133},{"min":71168,"max":71230},{"min":71232,"max":71232},{"min":71236,"max":71236},{"min":71296,"max":71349},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71453,"max":71466},{"min":71488,"max":71494},{"min":71680,"max":71736},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":71996},{"min":71999,"max":72002},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72159},{"min":72161,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72242},{"min":72245,"max":72254},{"min":72272,"max":72343},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72766},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73025},{"min":73027,"max":73027},{"min":73030,"max":73031},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73110},{"min":73112,"max":73112},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73536},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113822,"max":113822},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125255,"max":125255},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),Ec=JSON.parse('[{"min":0,"max":1114111}]'),bc=JSON.parse('[{"min":0,"max":887},{"min":890,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":1536,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2042},{"min":2045,"max":2093},{"min":2096,"max":2110},{"min":2112,"max":2139},{"min":2142,"max":2142},{"min":2144,"max":2154},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":3585,"max":3642},{"min":3647,"max":3675},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4058},{"min":4096,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5120,"max":5788},{"min":5792,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5942},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6144,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6683},{"min":6686,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829},{"min":6832,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7038},{"min":7040,"max":7155},{"min":7164,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7367},{"min":7376,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8192,"max":8292},{"min":8294,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8352,"max":8384},{"min":8400,"max":8432},{"min":8448,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11507},{"min":11513,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11869},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12288,"max":12351},{"min":12353,"max":12438},{"min":12441,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12688,"max":12771},{"min":12784,"max":12830},{"min":12832,"max":42124},{"min":42128,"max":42182},{"min":42192,"max":42539},{"min":42560,"max":42743},{"min":42752,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43052},{"min":43056,"max":43065},{"min":43072,"max":43127},{"min":43136,"max":43205},{"min":43214,"max":43225},{"min":43232,"max":43347},{"min":43359,"max":43388},{"min":43392,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43714},{"min":43739,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43883},{"min":43888,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":55296,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65049},{"min":65056,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65279,"max":65279},{"min":65281,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66299},{"min":66304,"max":66339},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66463,"max":66499},{"min":66504,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66927,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67671,"max":67742},{"min":67751,"max":67759},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67867},{"min":67871,"max":67897},{"min":67903,"max":67903},{"min":67968,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184},{"min":68192,"max":68255},{"min":68288,"max":68326},{"min":68331,"max":68342},{"min":68352,"max":68405},{"min":68409,"max":68437},{"min":68440,"max":68466},{"min":68472,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68903},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69248,"max":69289},{"min":69291,"max":69293},{"min":69296,"max":69297},{"min":69373,"max":69415},{"min":69424,"max":69465},{"min":69488,"max":69513},{"min":69552,"max":69579},{"min":69600,"max":69622},{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69826},{"min":69837,"max":69837},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69959},{"min":69968,"max":70006},{"min":70016,"max":70111},{"min":70113,"max":70132},{"min":70144,"max":70161},{"min":70163,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70747},{"min":70749,"max":70753},{"min":70784,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71133},{"min":71168,"max":71236},{"min":71248,"max":71257},{"min":71264,"max":71276},{"min":71296,"max":71353},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494},{"min":71680,"max":71739},{"min":71840,"max":71922},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72006},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164},{"min":72192,"max":72263},{"min":72272,"max":72354},{"min":72368,"max":72440},{"min":72448,"max":72457},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812},{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73464},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73561},{"min":73648,"max":73648},{"min":73664,"max":73713},{"min":73727,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075},{"min":77712,"max":77810},{"min":77824,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92917},{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93850},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113827},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119274},{"min":119296,"max":119365},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":123647,"max":123647},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125127,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917505,"max":917505},{"min":917536,"max":917631},{"min":917760,"max":917999},{"min":983040,"max":1048573},{"min":1048576,"max":1114109}]'),kc=JSON.parse('[{"min":1564,"max":1564},{"min":8206,"max":8207},{"min":8234,"max":8238},{"min":8294,"max":8297}]'),Tc=JSON.parse('[{"min":40,"max":41},{"min":60,"max":60},{"min":62,"max":62},{"min":91,"max":91},{"min":93,"max":93},{"min":123,"max":123},{"min":125,"max":125},{"min":171,"max":171},{"min":187,"max":187},{"min":3898,"max":3901},{"min":5787,"max":5788},{"min":8249,"max":8250},{"min":8261,"max":8262},{"min":8317,"max":8318},{"min":8333,"max":8334},{"min":8512,"max":8512},{"min":8705,"max":8708},{"min":8712,"max":8717},{"min":8721,"max":8721},{"min":8725,"max":8726},{"min":8730,"max":8733},{"min":8735,"max":8738},{"min":8740,"max":8740},{"min":8742,"max":8742},{"min":8747,"max":8755},{"min":8761,"max":8761},{"min":8763,"max":8780},{"min":8786,"max":8789},{"min":8799,"max":8800},{"min":8802,"max":8802},{"min":8804,"max":8811},{"min":8814,"max":8844},{"min":8847,"max":8850},{"min":8856,"max":8856},{"min":8866,"max":8867},{"min":8870,"max":8888},{"min":8894,"max":8895},{"min":8905,"max":8909},{"min":8912,"max":8913},{"min":8918,"max":8941},{"min":8944,"max":8959},{"min":8968,"max":8971},{"min":8992,"max":8993},{"min":9001,"max":9002},{"min":10088,"max":10101},{"min":10176,"max":10176},{"min":10179,"max":10182},{"min":10184,"max":10185},{"min":10187,"max":10189},{"min":10195,"max":10198},{"min":10204,"max":10206},{"min":10210,"max":10223},{"min":10627,"max":10648},{"min":10651,"max":10656},{"min":10658,"max":10671},{"min":10680,"max":10680},{"min":10688,"max":10693},{"min":10697,"max":10697},{"min":10702,"max":10706},{"min":10708,"max":10709},{"min":10712,"max":10716},{"min":10721,"max":10721},{"min":10723,"max":10725},{"min":10728,"max":10729},{"min":10740,"max":10745},{"min":10748,"max":10749},{"min":10762,"max":10780},{"min":10782,"max":10785},{"min":10788,"max":10788},{"min":10790,"max":10790},{"min":10793,"max":10793},{"min":10795,"max":10798},{"min":10804,"max":10805},{"min":10812,"max":10814},{"min":10839,"max":10840},{"min":10852,"max":10853},{"min":10858,"max":10861},{"min":10863,"max":10864},{"min":10867,"max":10868},{"min":10873,"max":10915},{"min":10918,"max":10925},{"min":10927,"max":10966},{"min":10972,"max":10972},{"min":10974,"max":10974},{"min":10978,"max":10982},{"min":10988,"max":10990},{"min":10995,"max":10995},{"min":10999,"max":11003},{"min":11005,"max":11005},{"min":11262,"max":11262},{"min":11778,"max":11781},{"min":11785,"max":11786},{"min":11788,"max":11789},{"min":11804,"max":11805},{"min":11808,"max":11817},{"min":11861,"max":11868},{"min":12296,"max":12305},{"min":12308,"max":12315},{"min":65113,"max":65118},{"min":65124,"max":65125},{"min":65288,"max":65289},{"min":65308,"max":65308},{"min":65310,"max":65310},{"min":65339,"max":65339},{"min":65341,"max":65341},{"min":65371,"max":65371},{"min":65373,"max":65373},{"min":65375,"max":65376},{"min":65378,"max":65379},{"min":120539,"max":120539},{"min":120597,"max":120597},{"min":120655,"max":120655},{"min":120713,"max":120713},{"min":120771,"max":120771}]'),Ac=JSON.parse('[{"min":39,"max":39},{"min":46,"max":46},{"min":58,"max":58},{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":173,"max":173},{"min":175,"max":175},{"min":180,"max":180},{"min":183,"max":184},{"min":688,"max":879},{"min":884,"max":885},{"min":890,"max":890},{"min":900,"max":901},{"min":903,"max":903},{"min":1155,"max":1161},{"min":1369,"max":1369},{"min":1375,"max":1375},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1524,"max":1524},{"min":1536,"max":1541},{"min":1552,"max":1562},{"min":1564,"max":1564},{"min":1600,"max":1600},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1757},{"min":1759,"max":1768},{"min":1770,"max":1773},{"min":1807,"max":1807},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2070,"max":2093},{"min":2137,"max":2139},{"min":2184,"max":2184},{"min":2192,"max":2193},{"min":2200,"max":2207},{"min":2249,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2417,"max":2417},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2879,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2902},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3654,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4348,"max":4348},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6103,"max":6103},{"min":6109,"max":6109},{"min":6155,"max":6159},{"min":6211,"max":6211},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6823,"max":6823},{"min":6832,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6964},{"min":6966,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7288,"max":7293},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7468,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7679},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":8203,"max":8207},{"min":8216,"max":8217},{"min":8228,"max":8228},{"min":8231,"max":8231},{"min":8234,"max":8238},{"min":8288,"max":8292},{"min":8294,"max":8303},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8432},{"min":11388,"max":11389},{"min":11503,"max":11505},{"min":11631,"max":11631},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":11823,"max":11823},{"min":12293,"max":12293},{"min":12330,"max":12333},{"min":12337,"max":12341},{"min":12347,"max":12347},{"min":12441,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42232,"max":42237},{"min":42508,"max":42508},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42623,"max":42623},{"min":42652,"max":42655},{"min":42736,"max":42737},{"min":42752,"max":42785},{"min":42864,"max":42864},{"min":42888,"max":42890},{"min":42994,"max":42996},{"min":43000,"max":43001},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43471,"max":43471},{"min":43493,"max":43494},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43632,"max":43632},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43741,"max":43741},{"min":43756,"max":43757},{"min":43763,"max":43764},{"min":43766,"max":43766},{"min":43867,"max":43871},{"min":43881,"max":43883},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":64434,"max":64450},{"min":65024,"max":65039},{"min":65043,"max":65043},{"min":65056,"max":65071},{"min":65106,"max":65106},{"min":65109,"max":65109},{"min":65279,"max":65279},{"min":65287,"max":65287},{"min":65294,"max":65294},{"min":65306,"max":65306},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65507,"max":65507},{"min":65529,"max":65531},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69821,"max":69821},{"min":69826,"max":69826},{"min":69837,"max":69837},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70464,"max":70464},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78896,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":92992,"max":92995},{"min":94031,"max":94031},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":113821,"max":113822},{"min":113824,"max":113827},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119155,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123184,"max":123197},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124139,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125259},{"min":127995,"max":127999},{"min":917505,"max":917505},{"min":917536,"max":917631},{"min":917760,"max":917999}]'),Ic=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":442},{"min":444,"max":447},{"min":452,"max":659},{"min":661,"max":696},{"min":704,"max":705},{"min":736,"max":740},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1376,"max":1416},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42653},{"min":42786,"max":42887},{"min":42891,"max":42894},{"min":42896,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":42998},{"min":43000,"max":43002},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67456,"max":67456},{"min":67459,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":125184,"max":125251},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369}]'),Pc=JSON.parse('[{"min":65,"max":90},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":223},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":329,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":383,"max":383},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":453},{"min":455,"max":456},{"min":458,"max":459},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":498},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":837,"max":837},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":962,"max":962},{"min":975,"max":977},{"min":981,"max":982},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1008,"max":1009},{"min":1012,"max":1013},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":1415,"max":1415},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7834,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8064,"max":8111},{"min":8114,"max":8116},{"min":8119,"max":8124},{"min":8130,"max":8132},{"min":8135,"max":8140},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8178,"max":8180},{"min":8183,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":125184,"max":125217}]'),Oc=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":311},{"min":313,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":977},{"min":981,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1415},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":125184,"max":125251}]'),Rc=JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":453},{"min":455,"max":456},{"min":458,"max":459},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":498},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8072,"max":8079},{"min":8088,"max":8095},{"min":8104,"max":8111},{"min":8120,"max":8124},{"min":8136,"max":8140},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":125184,"max":125217}]'),Lc=JSON.parse('[{"min":65,"max":90},{"min":160,"max":160},{"min":168,"max":168},{"min":170,"max":170},{"min":173,"max":173},{"min":175,"max":175},{"min":178,"max":181},{"min":184,"max":186},{"min":188,"max":190},{"min":192,"max":214},{"min":216,"max":223},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":329,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":383,"max":383},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":688,"max":696},{"min":728,"max":733},{"min":736,"max":740},{"min":832,"max":833},{"min":835,"max":837},{"min":847,"max":847},{"min":880,"max":880},{"min":882,"max":882},{"min":884,"max":884},{"min":886,"max":886},{"min":890,"max":890},{"min":894,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":962,"max":962},{"min":975,"max":982},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1008,"max":1010},{"min":1012,"max":1013},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":1415,"max":1415},{"min":1564,"max":1564},{"min":1653,"max":1656},{"min":2392,"max":2399},{"min":2524,"max":2525},{"min":2527,"max":2527},{"min":2611,"max":2611},{"min":2614,"max":2614},{"min":2649,"max":2651},{"min":2654,"max":2654},{"min":2908,"max":2909},{"min":3635,"max":3635},{"min":3763,"max":3763},{"min":3804,"max":3805},{"min":3852,"max":3852},{"min":3907,"max":3907},{"min":3917,"max":3917},{"min":3922,"max":3922},{"min":3927,"max":3927},{"min":3932,"max":3932},{"min":3945,"max":3945},{"min":3955,"max":3955},{"min":3957,"max":3961},{"min":3969,"max":3969},{"min":3987,"max":3987},{"min":3997,"max":3997},{"min":4002,"max":4002},{"min":4007,"max":4007},{"min":4012,"max":4012},{"min":4025,"max":4025},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4348,"max":4348},{"min":4447,"max":4448},{"min":5112,"max":5117},{"min":6068,"max":6069},{"min":6155,"max":6159},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7468,"max":7470},{"min":7472,"max":7482},{"min":7484,"max":7501},{"min":7503,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7615},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7834,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8049,"max":8049},{"min":8051,"max":8051},{"min":8053,"max":8053},{"min":8055,"max":8055},{"min":8057,"max":8057},{"min":8059,"max":8059},{"min":8061,"max":8061},{"min":8064,"max":8111},{"min":8114,"max":8116},{"min":8119,"max":8132},{"min":8135,"max":8143},{"min":8147,"max":8147},{"min":8152,"max":8155},{"min":8157,"max":8159},{"min":8163,"max":8163},{"min":8168,"max":8175},{"min":8178,"max":8180},{"min":8183,"max":8190},{"min":8192,"max":8207},{"min":8209,"max":8209},{"min":8215,"max":8215},{"min":8228,"max":8230},{"min":8234,"max":8239},{"min":8243,"max":8244},{"min":8246,"max":8247},{"min":8252,"max":8252},{"min":8254,"max":8254},{"min":8263,"max":8265},{"min":8279,"max":8279},{"min":8287,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8360,"max":8360},{"min":8448,"max":8451},{"min":8453,"max":8455},{"min":8457,"max":8467},{"min":8469,"max":8470},{"min":8473,"max":8477},{"min":8480,"max":8482},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8507,"max":8512},{"min":8517,"max":8521},{"min":8528,"max":8575},{"min":8579,"max":8579},{"min":8585,"max":8585},{"min":8748,"max":8749},{"min":8751,"max":8752},{"min":9001,"max":9002},{"min":9312,"max":9450},{"min":10764,"max":10764},{"min":10868,"max":10870},{"min":10972,"max":10972},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11388,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":11631,"max":11631},{"min":11935,"max":11935},{"min":12019,"max":12019},{"min":12032,"max":12245},{"min":12288,"max":12288},{"min":12342,"max":12342},{"min":12344,"max":12346},{"min":12443,"max":12444},{"min":12447,"max":12447},{"min":12543,"max":12543},{"min":12593,"max":12686},{"min":12690,"max":12703},{"min":12800,"max":12830},{"min":12832,"max":12871},{"min":12880,"max":12926},{"min":12928,"max":13311},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42652,"max":42653},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42864,"max":42864},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42994,"max":42997},{"min":43000,"max":43001},{"min":43868,"max":43871},{"min":43881,"max":43881},{"min":43888,"max":43967},{"min":63744,"max":64013},{"min":64016,"max":64016},{"min":64018,"max":64018},{"min":64021,"max":64030},{"min":64032,"max":64032},{"min":64034,"max":64034},{"min":64037,"max":64038},{"min":64042,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65020},{"min":65024,"max":65049},{"min":65072,"max":65092},{"min":65095,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65138},{"min":65140,"max":65140},{"min":65142,"max":65276},{"min":65279,"max":65279},{"min":65281,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65520,"max":65528},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":67457,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":113824,"max":113827},{"min":119134,"max":119140},{"min":119155,"max":119162},{"min":119227,"max":119232},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":122928,"max":122989},{"min":125184,"max":125217},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":127232,"max":127242},{"min":127248,"max":127278},{"min":127280,"max":127311},{"min":127338,"max":127340},{"min":127376,"max":127376},{"min":127488,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":130032,"max":130041},{"min":194560,"max":195101},{"min":917504,"max":921599}]'),Nc=JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":311},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":396},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":410},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":441},{"min":445,"max":445},{"min":447,"max":447},{"min":452,"max":452},{"min":454,"max":455},{"min":457,"max":458},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":497},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":563},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1019},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1377,"max":1415},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7835},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11379,"max":11379},{"min":11382,"max":11382},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11491},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42799},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42897,"max":42897},{"min":42899,"max":42900},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":125218,"max":125251}]'),Mc=JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":311},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":396},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":410},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":441},{"min":445,"max":445},{"min":447,"max":447},{"min":453,"max":454},{"min":456,"max":457},{"min":459,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":498,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":563},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1019},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1377,"max":1415},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7835},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8119},{"min":8124,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8140,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8188,"max":8188},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11379,"max":11379},{"min":11382,"max":11382},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11491},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42799},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42897,"max":42897},{"min":42899,"max":42900},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":125218,"max":125251}]'),Jc=JSON.parse('[{"min":45,"max":45},{"min":1418,"max":1418},{"min":1470,"max":1470},{"min":5120,"max":5120},{"min":6150,"max":6150},{"min":8208,"max":8213},{"min":8275,"max":8275},{"min":8315,"max":8315},{"min":8331,"max":8331},{"min":8722,"max":8722},{"min":11799,"max":11799},{"min":11802,"max":11802},{"min":11834,"max":11835},{"min":11840,"max":11840},{"min":11869,"max":11869},{"min":12316,"max":12316},{"min":12336,"max":12336},{"min":12448,"max":12448},{"min":65073,"max":65074},{"min":65112,"max":65112},{"min":65123,"max":65123},{"min":65293,"max":65293},{"min":69293,"max":69293}]'),Fc=JSON.parse('[{"min":173,"max":173},{"min":847,"max":847},{"min":1564,"max":1564},{"min":4447,"max":4448},{"min":6068,"max":6069},{"min":6155,"max":6159},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8303},{"min":12644,"max":12644},{"min":65024,"max":65039},{"min":65279,"max":65279},{"min":65440,"max":65440},{"min":65520,"max":65528},{"min":113824,"max":113827},{"min":119155,"max":119162},{"min":917504,"max":921599}]'),jc=JSON.parse('[{"min":329,"max":329},{"min":1651,"max":1651},{"min":3959,"max":3959},{"min":3961,"max":3961},{"min":6051,"max":6052},{"min":8298,"max":8303},{"min":9001,"max":9002},{"min":917505,"max":917505}]'),Uc=JSON.parse('[{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":175,"max":175},{"min":180,"max":180},{"min":183,"max":184},{"min":688,"max":846},{"min":848,"max":855},{"min":861,"max":866},{"min":884,"max":885},{"min":890,"max":890},{"min":900,"max":901},{"min":1155,"max":1159},{"min":1369,"max":1369},{"min":1425,"max":1441},{"min":1443,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1476},{"min":1611,"max":1618},{"min":1623,"max":1624},{"min":1759,"max":1760},{"min":1765,"max":1766},{"min":1770,"max":1772},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2037},{"min":2072,"max":2073},{"min":2200,"max":2207},{"min":2249,"max":2258},{"min":2275,"max":2302},{"min":2364,"max":2364},{"min":2381,"max":2381},{"min":2385,"max":2388},{"min":2417,"max":2417},{"min":2492,"max":2492},{"min":2509,"max":2509},{"min":2620,"max":2620},{"min":2637,"max":2637},{"min":2748,"max":2748},{"min":2765,"max":2765},{"min":2813,"max":2815},{"min":2876,"max":2876},{"min":2893,"max":2893},{"min":2901,"max":2901},{"min":3021,"max":3021},{"min":3132,"max":3132},{"min":3149,"max":3149},{"min":3260,"max":3260},{"min":3277,"max":3277},{"min":3387,"max":3388},{"min":3405,"max":3405},{"min":3530,"max":3530},{"min":3655,"max":3660},{"min":3662,"max":3662},{"min":3770,"max":3770},{"min":3784,"max":3788},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3903},{"min":3970,"max":3972},{"min":3974,"max":3975},{"min":4038,"max":4038},{"min":4151,"max":4151},{"min":4153,"max":4154},{"min":4195,"max":4196},{"min":4201,"max":4205},{"min":4231,"max":4237},{"min":4239,"max":4239},{"min":4250,"max":4251},{"min":4957,"max":4959},{"min":5908,"max":5909},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6457,"max":6459},{"min":6773,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6846},{"min":6849,"max":6859},{"min":6964,"max":6964},{"min":6980,"max":6980},{"min":7019,"max":7027},{"min":7082,"max":7083},{"min":7222,"max":7223},{"min":7288,"max":7293},{"min":7376,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7415,"max":7417},{"min":7468,"max":7530},{"min":7620,"max":7631},{"min":7669,"max":7679},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":11503,"max":11505},{"min":11823,"max":11823},{"min":12330,"max":12335},{"min":12441,"max":12444},{"min":12540,"max":12540},{"min":42607,"max":42607},{"min":42620,"max":42621},{"min":42623,"max":42623},{"min":42652,"max":42653},{"min":42736,"max":42737},{"min":42752,"max":42785},{"min":42888,"max":42890},{"min":43000,"max":43001},{"min":43204,"max":43204},{"min":43232,"max":43249},{"min":43307,"max":43310},{"min":43347,"max":43347},{"min":43443,"max":43443},{"min":43456,"max":43456},{"min":43493,"max":43493},{"min":43643,"max":43645},{"min":43711,"max":43714},{"min":43766,"max":43766},{"min":43867,"max":43871},{"min":43881,"max":43883},{"min":44012,"max":44013},{"min":64286,"max":64286},{"min":65056,"max":65071},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65507,"max":65507},{"min":66272,"max":66272},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68325,"max":68326},{"min":68898,"max":68903},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69702,"max":69702},{"min":69744,"max":69744},{"min":69817,"max":69818},{"min":69939,"max":69940},{"min":70003,"max":70003},{"min":70080,"max":70080},{"min":70090,"max":70092},{"min":70197,"max":70198},{"min":70377,"max":70378},{"min":70460,"max":70460},{"min":70477,"max":70477},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70722,"max":70722},{"min":70726,"max":70726},{"min":70850,"max":70851},{"min":71103,"max":71104},{"min":71231,"max":71231},{"min":71350,"max":71351},{"min":71467,"max":71467},{"min":71737,"max":71738},{"min":71997,"max":71998},{"min":72003,"max":72003},{"min":72160,"max":72160},{"min":72244,"max":72244},{"min":72263,"max":72263},{"min":72345,"max":72345},{"min":72767,"max":72767},{"min":73026,"max":73026},{"min":73028,"max":73029},{"min":73111,"max":73111},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94095,"max":94111},{"min":94192,"max":94193},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":122928,"max":122989},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":125136,"max":125142},{"min":125252,"max":125254},{"min":125256,"max":125258}]'),Dc=JSON.parse('[{"min":35,"max":35},{"min":42,"max":42},{"min":48,"max":57},{"min":169,"max":169},{"min":174,"max":174},{"min":8252,"max":8252},{"min":8265,"max":8265},{"min":8482,"max":8482},{"min":8505,"max":8505},{"min":8596,"max":8601},{"min":8617,"max":8618},{"min":8986,"max":8987},{"min":9000,"max":9000},{"min":9167,"max":9167},{"min":9193,"max":9203},{"min":9208,"max":9210},{"min":9410,"max":9410},{"min":9642,"max":9643},{"min":9654,"max":9654},{"min":9664,"max":9664},{"min":9723,"max":9726},{"min":9728,"max":9732},{"min":9742,"max":9742},{"min":9745,"max":9745},{"min":9748,"max":9749},{"min":9752,"max":9752},{"min":9757,"max":9757},{"min":9760,"max":9760},{"min":9762,"max":9763},{"min":9766,"max":9766},{"min":9770,"max":9770},{"min":9774,"max":9775},{"min":9784,"max":9786},{"min":9792,"max":9792},{"min":9794,"max":9794},{"min":9800,"max":9811},{"min":9823,"max":9824},{"min":9827,"max":9827},{"min":9829,"max":9830},{"min":9832,"max":9832},{"min":9851,"max":9851},{"min":9854,"max":9855},{"min":9874,"max":9879},{"min":9881,"max":9881},{"min":9883,"max":9884},{"min":9888,"max":9889},{"min":9895,"max":9895},{"min":9898,"max":9899},{"min":9904,"max":9905},{"min":9917,"max":9918},{"min":9924,"max":9925},{"min":9928,"max":9928},{"min":9934,"max":9935},{"min":9937,"max":9937},{"min":9939,"max":9940},{"min":9961,"max":9962},{"min":9968,"max":9973},{"min":9975,"max":9978},{"min":9981,"max":9981},{"min":9986,"max":9986},{"min":9989,"max":9989},{"min":9992,"max":9997},{"min":9999,"max":9999},{"min":10002,"max":10002},{"min":10004,"max":10004},{"min":10006,"max":10006},{"min":10013,"max":10013},{"min":10017,"max":10017},{"min":10024,"max":10024},{"min":10035,"max":10036},{"min":10052,"max":10052},{"min":10055,"max":10055},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10083,"max":10084},{"min":10133,"max":10135},{"min":10145,"max":10145},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":10548,"max":10549},{"min":11013,"max":11015},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12951,"max":12951},{"min":12953,"max":12953},{"min":126980,"max":126980},{"min":127183,"max":127183},{"min":127344,"max":127345},{"min":127358,"max":127359},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127546},{"min":127568,"max":127569},{"min":127744,"max":127777},{"min":127780,"max":127891},{"min":127894,"max":127895},{"min":127897,"max":127899},{"min":127902,"max":127984},{"min":127987,"max":127989},{"min":127991,"max":128253},{"min":128255,"max":128317},{"min":128329,"max":128334},{"min":128336,"max":128359},{"min":128367,"max":128368},{"min":128371,"max":128378},{"min":128391,"max":128391},{"min":128394,"max":128397},{"min":128400,"max":128400},{"min":128405,"max":128406},{"min":128420,"max":128421},{"min":128424,"max":128424},{"min":128433,"max":128434},{"min":128444,"max":128444},{"min":128450,"max":128452},{"min":128465,"max":128467},{"min":128476,"max":128478},{"min":128481,"max":128481},{"min":128483,"max":128483},{"min":128488,"max":128488},{"min":128495,"max":128495},{"min":128499,"max":128499},{"min":128506,"max":128591},{"min":128640,"max":128709},{"min":128715,"max":128722},{"min":128725,"max":128727},{"min":128732,"max":128741},{"min":128745,"max":128745},{"min":128747,"max":128748},{"min":128752,"max":128752},{"min":128755,"max":128764},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129535},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784}]'),Gc=JSON.parse('[{"min":35,"max":35},{"min":42,"max":42},{"min":48,"max":57},{"min":8205,"max":8205},{"min":8419,"max":8419},{"min":65039,"max":65039},{"min":127462,"max":127487},{"min":127995,"max":127999},{"min":129456,"max":129459},{"min":917536,"max":917631}]'),Bc=JSON.parse('[{"min":127995,"max":127999}]'),Vc=JSON.parse('[{"min":9757,"max":9757},{"min":9977,"max":9977},{"min":9994,"max":9997},{"min":127877,"max":127877},{"min":127938,"max":127940},{"min":127943,"max":127943},{"min":127946,"max":127948},{"min":128066,"max":128067},{"min":128070,"max":128080},{"min":128102,"max":128120},{"min":128124,"max":128124},{"min":128129,"max":128131},{"min":128133,"max":128135},{"min":128143,"max":128143},{"min":128145,"max":128145},{"min":128170,"max":128170},{"min":128372,"max":128373},{"min":128378,"max":128378},{"min":128400,"max":128400},{"min":128405,"max":128406},{"min":128581,"max":128583},{"min":128587,"max":128591},{"min":128675,"max":128675},{"min":128692,"max":128694},{"min":128704,"max":128704},{"min":128716,"max":128716},{"min":129292,"max":129292},{"min":129295,"max":129295},{"min":129304,"max":129311},{"min":129318,"max":129318},{"min":129328,"max":129337},{"min":129340,"max":129342},{"min":129399,"max":129399},{"min":129461,"max":129462},{"min":129464,"max":129465},{"min":129467,"max":129467},{"min":129485,"max":129487},{"min":129489,"max":129501},{"min":129731,"max":129733},{"min":129776,"max":129784}]'),$c=JSON.parse('[{"min":8986,"max":8987},{"min":9193,"max":9196},{"min":9200,"max":9200},{"min":9203,"max":9203},{"min":9725,"max":9726},{"min":9748,"max":9749},{"min":9800,"max":9811},{"min":9855,"max":9855},{"min":9875,"max":9875},{"min":9889,"max":9889},{"min":9898,"max":9899},{"min":9917,"max":9918},{"min":9924,"max":9925},{"min":9934,"max":9934},{"min":9940,"max":9940},{"min":9962,"max":9962},{"min":9970,"max":9971},{"min":9973,"max":9973},{"min":9978,"max":9978},{"min":9981,"max":9981},{"min":9989,"max":9989},{"min":9994,"max":9995},{"min":10024,"max":10024},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10133,"max":10135},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":126980,"max":126980},{"min":127183,"max":127183},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127462,"max":127487},{"min":127489,"max":127489},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127542},{"min":127544,"max":127546},{"min":127568,"max":127569},{"min":127744,"max":127776},{"min":127789,"max":127797},{"min":127799,"max":127868},{"min":127870,"max":127891},{"min":127904,"max":127946},{"min":127951,"max":127955},{"min":127968,"max":127984},{"min":127988,"max":127988},{"min":127992,"max":128062},{"min":128064,"max":128064},{"min":128066,"max":128252},{"min":128255,"max":128317},{"min":128331,"max":128334},{"min":128336,"max":128359},{"min":128378,"max":128378},{"min":128405,"max":128406},{"min":128420,"max":128420},{"min":128507,"max":128591},{"min":128640,"max":128709},{"min":128716,"max":128716},{"min":128720,"max":128722},{"min":128725,"max":128727},{"min":128732,"max":128735},{"min":128747,"max":128748},{"min":128756,"max":128764},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129535},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784}]'),Wc=JSON.parse('[{"min":169,"max":169},{"min":174,"max":174},{"min":8252,"max":8252},{"min":8265,"max":8265},{"min":8482,"max":8482},{"min":8505,"max":8505},{"min":8596,"max":8601},{"min":8617,"max":8618},{"min":8986,"max":8987},{"min":9000,"max":9000},{"min":9096,"max":9096},{"min":9167,"max":9167},{"min":9193,"max":9203},{"min":9208,"max":9210},{"min":9410,"max":9410},{"min":9642,"max":9643},{"min":9654,"max":9654},{"min":9664,"max":9664},{"min":9723,"max":9726},{"min":9728,"max":9733},{"min":9735,"max":9746},{"min":9748,"max":9861},{"min":9872,"max":9989},{"min":9992,"max":10002},{"min":10004,"max":10004},{"min":10006,"max":10006},{"min":10013,"max":10013},{"min":10017,"max":10017},{"min":10024,"max":10024},{"min":10035,"max":10036},{"min":10052,"max":10052},{"min":10055,"max":10055},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10083,"max":10087},{"min":10133,"max":10135},{"min":10145,"max":10145},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":10548,"max":10549},{"min":11013,"max":11015},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12951,"max":12951},{"min":12953,"max":12953},{"min":126976,"max":127231},{"min":127245,"max":127247},{"min":127279,"max":127279},{"min":127340,"max":127345},{"min":127358,"max":127359},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127405,"max":127461},{"min":127489,"max":127503},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127546},{"min":127548,"max":127551},{"min":127561,"max":127994},{"min":128000,"max":128317},{"min":128326,"max":128591},{"min":128640,"max":128767},{"min":128884,"max":128895},{"min":128981,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129279},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129791},{"min":130048,"max":131069}]'),Qc=JSON.parse('[{"min":183,"max":183},{"min":720,"max":721},{"min":1600,"max":1600},{"min":2042,"max":2042},{"min":2901,"max":2901},{"min":3654,"max":3654},{"min":3782,"max":3782},{"min":6154,"max":6154},{"min":6211,"max":6211},{"min":6823,"max":6823},{"min":7222,"max":7222},{"min":7291,"max":7291},{"min":12293,"max":12293},{"min":12337,"max":12341},{"min":12445,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42508,"max":42508},{"min":43471,"max":43471},{"min":43494,"max":43494},{"min":43632,"max":43632},{"min":43741,"max":43741},{"min":43763,"max":43764},{"min":65392,"max":65392},{"min":67457,"max":67458},{"min":70493,"max":70493},{"min":71110,"max":71112},{"min":72344,"max":72344},{"min":92994,"max":92995},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":123196,"max":123197},{"min":125252,"max":125254}]'),zc=JSON.parse('[{"min":32,"max":126},{"min":160,"max":172},{"min":174,"max":767},{"min":880,"max":887},{"min":890,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1154},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":1470,"max":1470},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":1542,"max":1551},{"min":1563,"max":1563},{"min":1565,"max":1610},{"min":1632,"max":1647},{"min":1649,"max":1749},{"min":1758,"max":1758},{"min":1765,"max":1766},{"min":1769,"max":1769},{"min":1774,"max":1805},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1984,"max":2026},{"min":2036,"max":2042},{"min":2046,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2096,"max":2110},{"min":2112,"max":2136},{"min":2142,"max":2142},{"min":2144,"max":2154},{"min":2160,"max":2190},{"min":2208,"max":2249},{"min":2307,"max":2361},{"min":2363,"max":2363},{"min":2365,"max":2368},{"min":2377,"max":2380},{"min":2382,"max":2384},{"min":2392,"max":2401},{"min":2404,"max":2432},{"min":2434,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2495,"max":2496},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2534,"max":2557},{"min":2563,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2622,"max":2624},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2671},{"min":2674,"max":2676},{"min":2678,"max":2678},{"min":2691,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2752},{"min":2761,"max":2761},{"min":2763,"max":2764},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2790,"max":2801},{"min":2809,"max":2809},{"min":2818,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2880,"max":2880},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2918,"max":2935},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3007,"max":3007},{"min":3009,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3024,"max":3024},{"min":3046,"max":3066},{"min":3073,"max":3075},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3137,"max":3140},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3174,"max":3183},{"min":3191,"max":3200},{"min":3202,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3262},{"min":3264,"max":3265},{"min":3267,"max":3268},{"min":3271,"max":3272},{"min":3274,"max":3275},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3330,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3391,"max":3392},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3406,"max":3407},{"min":3412,"max":3414},{"min":3416,"max":3425},{"min":3430,"max":3455},{"min":3458,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3536,"max":3537},{"min":3544,"max":3550},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3647,"max":3654},{"min":3663,"max":3675},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3863},{"min":3866,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":3898,"max":3911},{"min":3913,"max":3948},{"min":3967,"max":3967},{"min":3973,"max":3973},{"min":3976,"max":3980},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4058},{"min":4096,"max":4140},{"min":4145,"max":4145},{"min":4152,"max":4152},{"min":4155,"max":4156},{"min":4159,"max":4183},{"min":4186,"max":4189},{"min":4193,"max":4208},{"min":4213,"max":4225},{"min":4227,"max":4228},{"min":4231,"max":4236},{"min":4238,"max":4252},{"min":4254,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4960,"max":4988},{"min":4992,"max":5017},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5120,"max":5788},{"min":5792,"max":5880},{"min":5888,"max":5905},{"min":5909,"max":5909},{"min":5919,"max":5937},{"min":5940,"max":5942},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6070,"max":6070},{"min":6078,"max":6085},{"min":6087,"max":6088},{"min":6100,"max":6108},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6144,"max":6154},{"min":6160,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6435,"max":6438},{"min":6441,"max":6443},{"min":6448,"max":6449},{"min":6451,"max":6456},{"min":6464,"max":6464},{"min":6468,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6678},{"min":6681,"max":6682},{"min":6686,"max":6741},{"min":6743,"max":6743},{"min":6753,"max":6753},{"min":6755,"max":6756},{"min":6765,"max":6770},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829},{"min":6916,"max":6963},{"min":6971,"max":6971},{"min":6973,"max":6977},{"min":6979,"max":6988},{"min":6992,"max":7018},{"min":7028,"max":7038},{"min":7042,"max":7073},{"min":7078,"max":7079},{"min":7082,"max":7082},{"min":7086,"max":7141},{"min":7143,"max":7143},{"min":7146,"max":7148},{"min":7150,"max":7150},{"min":7154,"max":7155},{"min":7164,"max":7211},{"min":7220,"max":7221},{"min":7227,"max":7241},{"min":7245,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7367},{"min":7379,"max":7379},{"min":7393,"max":7393},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7415},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8192,"max":8202},{"min":8208,"max":8231},{"min":8239,"max":8287},{"min":8304,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8352,"max":8384},{"min":8448,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11502},{"min":11506,"max":11507},{"min":11513,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11776,"max":11869},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12288,"max":12329},{"min":12336,"max":12351},{"min":12353,"max":12438},{"min":12443,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12688,"max":12771},{"min":12784,"max":12830},{"min":12832,"max":42124},{"min":42128,"max":42182},{"min":42192,"max":42539},{"min":42560,"max":42606},{"min":42611,"max":42611},{"min":42622,"max":42653},{"min":42656,"max":42735},{"min":42738,"max":42743},{"min":42752,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43044},{"min":43047,"max":43051},{"min":43056,"max":43065},{"min":43072,"max":43127},{"min":43136,"max":43203},{"min":43214,"max":43225},{"min":43250,"max":43262},{"min":43264,"max":43301},{"min":43310,"max":43334},{"min":43346,"max":43347},{"min":43359,"max":43388},{"min":43395,"max":43442},{"min":43444,"max":43445},{"min":43450,"max":43451},{"min":43454,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43492},{"min":43494,"max":43518},{"min":43520,"max":43560},{"min":43567,"max":43568},{"min":43571,"max":43572},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43597,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43643},{"min":43645,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43755},{"min":43758,"max":43765},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43883},{"min":43888,"max":44004},{"min":44006,"max":44007},{"min":44009,"max":44012},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65281,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65532,"max":65533},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66273,"max":66299},{"min":66304,"max":66339},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66463,"max":66499},{"min":66504,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66927,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67671,"max":67742},{"min":67751,"max":67759},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67867},{"min":67871,"max":67897},{"min":67903,"max":67903},{"min":67968,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68160,"max":68168},{"min":68176,"max":68184},{"min":68192,"max":68255},{"min":68288,"max":68324},{"min":68331,"max":68342},{"min":68352,"max":68405},{"min":68409,"max":68437},{"min":68440,"max":68466},{"min":68472,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68899},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69248,"max":69289},{"min":69293,"max":69293},{"min":69296,"max":69297},{"min":69376,"max":69415},{"min":69424,"max":69445},{"min":69457,"max":69465},{"min":69488,"max":69505},{"min":69510,"max":69513},{"min":69552,"max":69579},{"min":69600,"max":69622},{"min":69632,"max":69632},{"min":69634,"max":69687},{"min":69703,"max":69709},{"min":69714,"max":69743},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69762,"max":69810},{"min":69815,"max":69816},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69891,"max":69926},{"min":69932,"max":69932},{"min":69942,"max":69959},{"min":69968,"max":70002},{"min":70004,"max":70006},{"min":70018,"max":70069},{"min":70079,"max":70088},{"min":70093,"max":70094},{"min":70096,"max":70111},{"min":70113,"max":70132},{"min":70144,"max":70161},{"min":70163,"max":70190},{"min":70194,"max":70195},{"min":70197,"max":70197},{"min":70200,"max":70205},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313},{"min":70320,"max":70366},{"min":70368,"max":70370},{"min":70384,"max":70393},{"min":70402,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70463,"max":70463},{"min":70465,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70493,"max":70499},{"min":70656,"max":70711},{"min":70720,"max":70721},{"min":70725,"max":70725},{"min":70727,"max":70747},{"min":70749,"max":70749},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70833,"max":70834},{"min":70841,"max":70841},{"min":70843,"max":70844},{"min":70846,"max":70846},{"min":70849,"max":70849},{"min":70852,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71086},{"min":71088,"max":71089},{"min":71096,"max":71099},{"min":71102,"max":71102},{"min":71105,"max":71131},{"min":71168,"max":71218},{"min":71227,"max":71228},{"min":71230,"max":71230},{"min":71233,"max":71236},{"min":71248,"max":71257},{"min":71264,"max":71276},{"min":71296,"max":71338},{"min":71340,"max":71340},{"min":71342,"max":71343},{"min":71350,"max":71350},{"min":71352,"max":71353},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71456,"max":71457},{"min":71462,"max":71462},{"min":71472,"max":71494},{"min":71680,"max":71726},{"min":71736,"max":71736},{"min":71739,"max":71739},{"min":71840,"max":71922},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71985,"max":71989},{"min":71991,"max":71992},{"min":71997,"max":71997},{"min":71999,"max":72002},{"min":72004,"max":72006},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72147},{"min":72156,"max":72159},{"min":72161,"max":72164},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72249,"max":72250},{"min":72255,"max":72262},{"min":72272,"max":72272},{"min":72279,"max":72280},{"min":72284,"max":72329},{"min":72343,"max":72343},{"min":72346,"max":72354},{"min":72368,"max":72440},{"min":72448,"max":72457},{"min":72704,"max":72712},{"min":72714,"max":72751},{"min":72766,"max":72766},{"min":72768,"max":72773},{"min":72784,"max":72812},{"min":72816,"max":72847},{"min":72873,"max":72873},{"min":72881,"max":72881},{"min":72884,"max":72884},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73107,"max":73108},{"min":73110,"max":73110},{"min":73112,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73458},{"min":73461,"max":73464},{"min":73474,"max":73488},{"min":73490,"max":73525},{"min":73534,"max":73535},{"min":73537,"max":73537},{"min":73539,"max":73561},{"min":73648,"max":73648},{"min":73664,"max":73713},{"min":73727,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075},{"min":77712,"max":77810},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92917,"max":92917},{"min":92928,"max":92975},{"min":92983,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93850},{"min":93952,"max":94026},{"min":94032,"max":94087},{"min":94099,"max":94111},{"min":94176,"max":94179},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113820},{"min":113823,"max":113823},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119142,"max":119142},{"min":119146,"max":119149},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121483},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":123632,"max":123641},{"min":123647,"max":123647},{"min":124112,"max":124139},{"min":124144,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125127,"max":125135},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),qc=JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1161},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2494,"max":2494},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2519,"max":2519},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2878,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2903},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3006,"max":3006},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3031,"max":3031},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3266,"max":3266},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3285,"max":3286},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3390,"max":3390},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3415,"max":3415},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3535,"max":3535},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3551,"max":3551},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8204,"max":8204},{"min":8400,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12335},{"min":12441,"max":12442},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43493,"max":43493},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43756,"max":43757},{"min":43766,"max":43766},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65438,"max":65439},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70462,"max":70462},{"min":70464,"max":70464},{"min":70487,"max":70487},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70832,"max":70832},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70845,"max":70845},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71087,"max":71087},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71984,"max":71984},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119141},{"min":119143,"max":119145},{"min":119150,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917536,"max":917631},{"min":917760,"max":917999}]'),Hc=JSON.parse('[{"min":48,"max":57},{"min":65,"max":70},{"min":97,"max":102},{"min":65296,"max":65305},{"min":65313,"max":65318},{"min":65345,"max":65350}]'),Kc=JSON.parse('[{"min":12272,"max":12273},{"min":12276,"max":12283}]'),Yc=JSON.parse('[{"min":12274,"max":12275}]'),Xc=JSON.parse('[{"min":48,"max":57},{"min":65,"max":90},{"min":95,"max":95},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":183,"max":183},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":768,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1155,"max":1159},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1641},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1759,"max":1768},{"min":1770,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2048,"max":2093},{"min":2112,"max":2139},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2200,"max":2273},{"min":2275,"max":2403},{"min":2406,"max":2415},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2545},{"min":2556,"max":2556},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2799},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2927},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3055},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3430,"max":3439},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3662},{"min":3664,"max":3673},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3864,"max":3865},{"min":3872,"max":3881},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3972},{"min":3974,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4096,"max":4169},{"min":4176,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4959},{"min":4969,"max":4977},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5940},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6099},{"min":6103,"max":6103},{"min":6108,"max":6109},{"min":6112,"max":6121},{"min":6155,"max":6157},{"min":6159,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6470,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6823,"max":6823},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7001},{"min":7019,"max":7027},{"min":7040,"max":7155},{"min":7168,"max":7223},{"min":7232,"max":7241},{"min":7245,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7376,"max":7378},{"min":7380,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":12293,"max":12295},{"min":12321,"max":12335},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12441,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42539},{"min":42560,"max":42607},{"min":42612,"max":42621},{"min":42623,"max":42737},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43047},{"min":43052,"max":43052},{"min":43072,"max":43123},{"min":43136,"max":43205},{"min":43216,"max":43225},{"min":43232,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43309},{"min":43312,"max":43347},{"min":43360,"max":43388},{"min":43392,"max":43456},{"min":43471,"max":43481},{"min":43488,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43616,"max":43638},{"min":43642,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44012,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65296,"max":65305},{"min":65313,"max":65338},{"min":65343,"max":65343},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66045,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66272},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68326},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":68912,"max":68921},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69373,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69456},{"min":69488,"max":69509},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69702},{"min":69734,"max":69749},{"min":69759,"max":69818},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69951},{"min":69956,"max":69959},{"min":69968,"max":70003},{"min":70006,"max":70006},{"min":70016,"max":70084},{"min":70089,"max":70092},{"min":70094,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70730},{"min":70736,"max":70745},{"min":70750,"max":70753},{"min":70784,"max":70853},{"min":70855,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71104},{"min":71128,"max":71133},{"min":71168,"max":71232},{"min":71236,"max":71236},{"min":71248,"max":71257},{"min":71296,"max":71352},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71481},{"min":71488,"max":71494},{"min":71680,"max":71738},{"min":71840,"max":71913},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72003},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72254},{"min":72263,"max":72263},{"min":72272,"max":72345},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72768},{"min":72784,"max":72793},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73538},{"min":73552,"max":73561},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78912,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92784,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92916},{"min":92928,"max":92982},{"min":92992,"max":92995},{"min":93008,"max":93017},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":120782,"max":120831},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123214},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125136,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917760,"max":917999}]'),Zc=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12443,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),nl=JSON.parse('[{"min":12294,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":94180,"max":94180},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110960,"max":111355},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),el=JSON.parse('[{"min":8204,"max":8205}]'),al=JSON.parse('[{"min":3648,"max":3652},{"min":3776,"max":3780},{"min":6581,"max":6583},{"min":6586,"max":6586},{"min":43701,"max":43702},{"min":43705,"max":43705},{"min":43707,"max":43708}]'),il=JSON.parse('[{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":312},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":397},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":411},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":426,"max":427},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":442},{"min":445,"max":447},{"min":454,"max":454},{"min":457,"max":457},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":545,"max":545},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":569},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":659},{"min":661,"max":696},{"min":704,"max":705},{"min":736,"max":740},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":890,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1020},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1376,"max":1416},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7424,"max":7615},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7837},{"min":7839,"max":7839},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8458,"max":8458},{"min":8462,"max":8463},{"min":8467,"max":8467},{"min":8495,"max":8495},{"min":8500,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8509},{"min":8518,"max":8521},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11377,"max":11377},{"min":11379,"max":11380},{"min":11382,"max":11389},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11492},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42653},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42801},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42872},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42894,"max":42894},{"min":42897,"max":42897},{"min":42899,"max":42901},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42927,"max":42927},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42965},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42994,"max":42996},{"min":42998,"max":42998},{"min":43000,"max":43002},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67456,"max":67456},{"min":67459,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":119834,"max":119859},{"min":119886,"max":119892},{"min":119894,"max":119911},{"min":119938,"max":119963},{"min":119990,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120015},{"min":120042,"max":120067},{"min":120094,"max":120119},{"min":120146,"max":120171},{"min":120198,"max":120223},{"min":120250,"max":120275},{"min":120302,"max":120327},{"min":120354,"max":120379},{"min":120406,"max":120431},{"min":120458,"max":120485},{"min":120514,"max":120538},{"min":120540,"max":120545},{"min":120572,"max":120596},{"min":120598,"max":120603},{"min":120630,"max":120654},{"min":120656,"max":120661},{"min":120688,"max":120712},{"min":120714,"max":120719},{"min":120746,"max":120770},{"min":120772,"max":120777},{"min":120779,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":125218,"max":125251}]'),ml=JSON.parse('[{"min":43,"max":43},{"min":60,"max":62},{"min":94,"max":94},{"min":124,"max":124},{"min":126,"max":126},{"min":172,"max":172},{"min":177,"max":177},{"min":215,"max":215},{"min":247,"max":247},{"min":976,"max":978},{"min":981,"max":981},{"min":1008,"max":1009},{"min":1012,"max":1014},{"min":1542,"max":1544},{"min":8214,"max":8214},{"min":8242,"max":8244},{"min":8256,"max":8256},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8289,"max":8292},{"min":8314,"max":8318},{"min":8330,"max":8334},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8422},{"min":8427,"max":8431},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8488,"max":8489},{"min":8492,"max":8493},{"min":8495,"max":8497},{"min":8499,"max":8504},{"min":8508,"max":8521},{"min":8523,"max":8523},{"min":8592,"max":8615},{"min":8617,"max":8622},{"min":8624,"max":8625},{"min":8630,"max":8631},{"min":8636,"max":8667},{"min":8669,"max":8669},{"min":8676,"max":8677},{"min":8692,"max":8959},{"min":8968,"max":8971},{"min":8992,"max":8993},{"min":9084,"max":9084},{"min":9115,"max":9141},{"min":9143,"max":9143},{"min":9168,"max":9168},{"min":9180,"max":9186},{"min":9632,"max":9633},{"min":9646,"max":9655},{"min":9660,"max":9665},{"min":9670,"max":9671},{"min":9674,"max":9675},{"min":9679,"max":9683},{"min":9698,"max":9698},{"min":9700,"max":9700},{"min":9703,"max":9708},{"min":9720,"max":9727},{"min":9733,"max":9734},{"min":9792,"max":9792},{"min":9794,"max":9794},{"min":9824,"max":9827},{"min":9837,"max":9839},{"min":10176,"max":10239},{"min":10496,"max":11007},{"min":11056,"max":11076},{"min":11079,"max":11084},{"min":64297,"max":64297},{"min":65121,"max":65126},{"min":65128,"max":65128},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65340,"max":65340},{"min":65342,"max":65342},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65506,"max":65506},{"min":65513,"max":65516},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'),tl=JSON.parse('[{"min":64976,"max":65007},{"min":65534,"max":65535},{"min":131070,"max":131071},{"min":196606,"max":196607},{"min":262142,"max":262143},{"min":327678,"max":327679},{"min":393214,"max":393215},{"min":458750,"max":458751},{"min":524286,"max":524287},{"min":589822,"max":589823},{"min":655358,"max":655359},{"min":720894,"max":720895},{"min":786430,"max":786431},{"min":851966,"max":851967},{"min":917502,"max":917503},{"min":983038,"max":983039},{"min":1048574,"max":1048575},{"min":1114110,"max":1114111}]'),rl=JSON.parse('[{"min":33,"max":47},{"min":58,"max":64},{"min":91,"max":94},{"min":96,"max":96},{"min":123,"max":126},{"min":161,"max":167},{"min":169,"max":169},{"min":171,"max":172},{"min":174,"max":174},{"min":176,"max":177},{"min":182,"max":182},{"min":187,"max":187},{"min":191,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":8208,"max":8231},{"min":8240,"max":8254},{"min":8257,"max":8275},{"min":8277,"max":8286},{"min":8592,"max":9311},{"min":9472,"max":10101},{"min":10132,"max":11263},{"min":11776,"max":11903},{"min":12289,"max":12291},{"min":12296,"max":12320},{"min":12336,"max":12336},{"min":64830,"max":64831},{"min":65093,"max":65094}]'),sl=JSON.parse('[{"min":9,"max":13},{"min":32,"max":32},{"min":133,"max":133},{"min":8206,"max":8207},{"min":8232,"max":8233}]'),ol=JSON.parse('[{"min":34,"max":34},{"min":39,"max":39},{"min":171,"max":171},{"min":187,"max":187},{"min":8216,"max":8223},{"min":8249,"max":8250},{"min":11842,"max":11842},{"min":12300,"max":12303},{"min":12317,"max":12319},{"min":65089,"max":65092},{"min":65282,"max":65282},{"min":65287,"max":65287},{"min":65378,"max":65379}]'),xl=JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245}]'),cl=JSON.parse('[{"min":127462,"max":127487}]'),ll=JSON.parse('[{"min":33,"max":33},{"min":46,"max":46},{"min":63,"max":63},{"min":1417,"max":1417},{"min":1565,"max":1567},{"min":1748,"max":1748},{"min":1792,"max":1794},{"min":2041,"max":2041},{"min":2103,"max":2103},{"min":2105,"max":2105},{"min":2109,"max":2110},{"min":2404,"max":2405},{"min":4170,"max":4171},{"min":4962,"max":4962},{"min":4967,"max":4968},{"min":5742,"max":5742},{"min":5941,"max":5942},{"min":6147,"max":6147},{"min":6153,"max":6153},{"min":6468,"max":6469},{"min":6824,"max":6827},{"min":7002,"max":7003},{"min":7006,"max":7007},{"min":7037,"max":7038},{"min":7227,"max":7228},{"min":7294,"max":7295},{"min":8252,"max":8253},{"min":8263,"max":8265},{"min":11822,"max":11822},{"min":11836,"max":11836},{"min":11859,"max":11860},{"min":12290,"max":12290},{"min":42239,"max":42239},{"min":42510,"max":42511},{"min":42739,"max":42739},{"min":42743,"max":42743},{"min":43126,"max":43127},{"min":43214,"max":43215},{"min":43311,"max":43311},{"min":43464,"max":43465},{"min":43613,"max":43615},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65106,"max":65106},{"min":65110,"max":65111},{"min":65281,"max":65281},{"min":65294,"max":65294},{"min":65311,"max":65311},{"min":65377,"max":65377},{"min":68182,"max":68183},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69704},{"min":69822,"max":69825},{"min":69953,"max":69955},{"min":70085,"max":70086},{"min":70093,"max":70093},{"min":70110,"max":70111},{"min":70200,"max":70201},{"min":70203,"max":70204},{"min":70313,"max":70313},{"min":70731,"max":70732},{"min":71106,"max":71107},{"min":71113,"max":71127},{"min":71233,"max":71234},{"min":71484,"max":71486},{"min":72004,"max":72004},{"min":72006,"max":72006},{"min":72258,"max":72259},{"min":72347,"max":72348},{"min":72769,"max":72770},{"min":73463,"max":73464},{"min":73539,"max":73540},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92984},{"min":92996,"max":92996},{"min":93848,"max":93848},{"min":113823,"max":113823},{"min":121480,"max":121480}]'),ul=JSON.parse('[{"min":105,"max":106},{"min":303,"max":303},{"min":585,"max":585},{"min":616,"max":616},{"min":669,"max":669},{"min":690,"max":690},{"min":1011,"max":1011},{"min":1110,"max":1110},{"min":1112,"max":1112},{"min":7522,"max":7522},{"min":7574,"max":7574},{"min":7588,"max":7588},{"min":7592,"max":7592},{"min":7725,"max":7725},{"min":7883,"max":7883},{"min":8305,"max":8305},{"min":8520,"max":8521},{"min":11388,"max":11388},{"min":119842,"max":119843},{"min":119894,"max":119895},{"min":119946,"max":119947},{"min":119998,"max":119999},{"min":120050,"max":120051},{"min":120102,"max":120103},{"min":120154,"max":120155},{"min":120206,"max":120207},{"min":120258,"max":120259},{"min":120310,"max":120311},{"min":120362,"max":120363},{"min":120414,"max":120415},{"min":120466,"max":120467},{"min":122650,"max":122650},{"min":122956,"max":122957},{"min":122984,"max":122984}]'),hl=JSON.parse('[{"min":33,"max":33},{"min":44,"max":44},{"min":46,"max":46},{"min":58,"max":59},{"min":63,"max":63},{"min":894,"max":894},{"min":903,"max":903},{"min":1417,"max":1417},{"min":1475,"max":1475},{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1748,"max":1748},{"min":1792,"max":1802},{"min":1804,"max":1804},{"min":2040,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":3674,"max":3675},{"min":3848,"max":3848},{"min":3853,"max":3858},{"min":4170,"max":4171},{"min":4961,"max":4968},{"min":5742,"max":5742},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6106,"max":6106},{"min":6146,"max":6149},{"min":6152,"max":6153},{"min":6468,"max":6469},{"min":6824,"max":6827},{"min":7002,"max":7003},{"min":7005,"max":7007},{"min":7037,"max":7038},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":8252,"max":8253},{"min":8263,"max":8265},{"min":11822,"max":11822},{"min":11836,"max":11836},{"min":11841,"max":11841},{"min":11852,"max":11852},{"min":11854,"max":11855},{"min":11859,"max":11860},{"min":12289,"max":12290},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42739,"max":42743},{"min":43126,"max":43127},{"min":43214,"max":43215},{"min":43311,"max":43311},{"min":43463,"max":43465},{"min":43613,"max":43615},{"min":43743,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65104,"max":65106},{"min":65108,"max":65111},{"min":65281,"max":65281},{"min":65292,"max":65292},{"min":65294,"max":65294},{"min":65306,"max":65307},{"min":65311,"max":65311},{"min":65377,"max":65377},{"min":65380,"max":65380},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":68182,"max":68183},{"min":68336,"max":68341},{"min":68410,"max":68415},{"min":68505,"max":68508},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69822,"max":69825},{"min":69953,"max":69955},{"min":70085,"max":70086},{"min":70093,"max":70093},{"min":70110,"max":70111},{"min":70200,"max":70204},{"min":70313,"max":70313},{"min":70731,"max":70733},{"min":70746,"max":70747},{"min":71106,"max":71109},{"min":71113,"max":71127},{"min":71233,"max":71234},{"min":71484,"max":71486},{"min":72004,"max":72004},{"min":72006,"max":72006},{"min":72258,"max":72259},{"min":72347,"max":72348},{"min":72353,"max":72354},{"min":72769,"max":72771},{"min":72817,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73540},{"min":74864,"max":74868},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92985},{"min":92996,"max":92996},{"min":93847,"max":93848},{"min":113823,"max":113823},{"min":121479,"max":121482}]'),pl=JSON.parse('[{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":64014,"max":64015},{"min":64017,"max":64017},{"min":64019,"max":64020},{"min":64031,"max":64031},{"min":64033,"max":64033},{"min":64035,"max":64036},{"min":64039,"max":64041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),fl=JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":452},{"min":455,"max":455},{"min":458,"max":458},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":497},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":978,"max":980},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8120,"max":8123},{"min":8136,"max":8139},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8459,"max":8461},{"min":8464,"max":8466},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8496,"max":8499},{"min":8510,"max":8511},{"min":8517,"max":8517},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":119808,"max":119833},{"min":119860,"max":119885},{"min":119912,"max":119937},{"min":119964,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119989},{"min":120016,"max":120041},{"min":120068,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120120,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120172,"max":120197},{"min":120224,"max":120249},{"min":120276,"max":120301},{"min":120328,"max":120353},{"min":120380,"max":120405},{"min":120432,"max":120457},{"min":120488,"max":120512},{"min":120546,"max":120570},{"min":120604,"max":120628},{"min":120662,"max":120686},{"min":120720,"max":120744},{"min":120778,"max":120778},{"min":125184,"max":125217},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369}]'),dl=JSON.parse('[{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":65024,"max":65039},{"min":917760,"max":917999}]'),gl=JSON.parse('[{"min":9,"max":13},{"min":32,"max":32},{"min":133,"max":133},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8232,"max":8233},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'),yl=JSON.parse('[{"min":48,"max":57},{"min":65,"max":90},{"min":95,"max":95},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":183,"max":183},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":768,"max":884},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1155,"max":1159},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1641},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1759,"max":1768},{"min":1770,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2048,"max":2093},{"min":2112,"max":2139},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2200,"max":2273},{"min":2275,"max":2403},{"min":2406,"max":2415},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2545},{"min":2556,"max":2556},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2799},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2927},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3055},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3430,"max":3439},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3662},{"min":3664,"max":3673},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3864,"max":3865},{"min":3872,"max":3881},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3972},{"min":3974,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4096,"max":4169},{"min":4176,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4959},{"min":4969,"max":4977},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5940},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6099},{"min":6103,"max":6103},{"min":6108,"max":6109},{"min":6112,"max":6121},{"min":6155,"max":6157},{"min":6159,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6470,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6823,"max":6823},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7001},{"min":7019,"max":7027},{"min":7040,"max":7155},{"min":7168,"max":7223},{"min":7232,"max":7241},{"min":7245,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7376,"max":7378},{"min":7380,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":12293,"max":12295},{"min":12321,"max":12335},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12441,"max":12442},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42539},{"min":42560,"max":42607},{"min":42612,"max":42621},{"min":42623,"max":42737},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43047},{"min":43052,"max":43052},{"min":43072,"max":43123},{"min":43136,"max":43205},{"min":43216,"max":43225},{"min":43232,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43309},{"min":43312,"max":43347},{"min":43360,"max":43388},{"min":43392,"max":43456},{"min":43471,"max":43481},{"min":43488,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43616,"max":43638},{"min":43642,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44012,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64605},{"min":64612,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65017},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65137,"max":65137},{"min":65139,"max":65139},{"min":65143,"max":65143},{"min":65145,"max":65145},{"min":65147,"max":65147},{"min":65149,"max":65149},{"min":65151,"max":65276},{"min":65296,"max":65305},{"min":65313,"max":65338},{"min":65343,"max":65343},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66045,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66272},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68326},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":68912,"max":68921},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69373,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69456},{"min":69488,"max":69509},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69702},{"min":69734,"max":69749},{"min":69759,"max":69818},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69951},{"min":69956,"max":69959},{"min":69968,"max":70003},{"min":70006,"max":70006},{"min":70016,"max":70084},{"min":70089,"max":70092},{"min":70094,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70730},{"min":70736,"max":70745},{"min":70750,"max":70753},{"min":70784,"max":70853},{"min":70855,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71104},{"min":71128,"max":71133},{"min":71168,"max":71232},{"min":71236,"max":71236},{"min":71248,"max":71257},{"min":71296,"max":71352},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71481},{"min":71488,"max":71494},{"min":71680,"max":71738},{"min":71840,"max":71913},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72003},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72254},{"min":72263,"max":72263},{"min":72272,"max":72345},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72768},{"min":72784,"max":72793},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73538},{"min":73552,"max":73561},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78912,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92784,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92916},{"min":92928,"max":92982},{"min":92992,"max":92995},{"min":93008,"max":93017},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":120782,"max":120831},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123214},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125136,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917760,"max":917999}]'),Cl=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3634},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3762},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64605},{"min":64612,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65017},{"min":65137,"max":65137},{"min":65139,"max":65139},{"min":65143,"max":65143},{"min":65145,"max":65145},{"min":65147,"max":65147},{"min":65149,"max":65149},{"min":65151,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),vl=Object.freeze({__proto__:null,ASCII:_c,ASCII_Hex_Digit:Sc,Alphabetic:wc,Any:Ec,Assigned:bc,Bidi_Control:kc,Bidi_Mirrored:Tc,Case_Ignorable:Ac,Cased:Ic,Changes_When_Casefolded:Pc,Changes_When_Casemapped:Oc,Changes_When_Lowercased:Rc,Changes_When_NFKC_Casefolded:Lc,Changes_When_Titlecased:Nc,Changes_When_Uppercased:Mc,Dash:Jc,Default_Ignorable_Code_Point:Fc,Deprecated:jc,Diacritic:Uc,Emoji:Dc,Emoji_Component:Gc,Emoji_Modifier:Bc,Emoji_Modifier_Base:Vc,Emoji_Presentation:$c,Extended_Pictographic:Wc,Extender:Qc,Grapheme_Base:zc,Grapheme_Extend:qc,Hex_Digit:Hc,IDS_Binary_Operator:Kc,IDS_Trinary_Operator:Yc,ID_Continue:Xc,ID_Start:Zc,Ideographic:nl,Join_Control:el,Logical_Order_Exception:al,Lowercase:il,Math:ml,Noncharacter_Code_Point:tl,Pattern_Syntax:rl,Pattern_White_Space:sl,Quotation_Mark:ol,Radical:xl,Regional_Indicator:cl,Sentence_Terminal:ll,Soft_Dotted:ul,Terminal_Punctuation:hl,Unified_Ideograph:pl,Uppercase:fl,Variation_Selector:dl,White_Space:gl,XID_Continue:yl,XID_Start:Cl}),_l=JSON.parse("[[8986],[8987],[9193],[9194],[9195],[9196],[9200],[9203],[9725],[9726],[9748],[9749],[9800],[9801],[9802],[9803],[9804],[9805],[9806],[9807],[9808],[9809],[9810],[9811],[9855],[9875],[9889],[9898],[9899],[9917],[9918],[9924],[9925],[9934],[9940],[9962],[9970],[9971],[9973],[9978],[9981],[9989],[9994],[9995],[10024],[10060],[10062],[10067],[10068],[10069],[10071],[10133],[10134],[10135],[10160],[10175],[11035],[11036],[11088],[11093],[126980],[127183],[127374],[127377],[127378],[127379],[127380],[127381],[127382],[127383],[127384],[127385],[127386],[127489],[127514],[127535],[127538],[127539],[127540],[127541],[127542],[127544],[127545],[127546],[127568],[127569],[127744],[127745],[127746],[127747],[127748],[127749],[127750],[127751],[127752],[127753],[127754],[127755],[127756],[127757],[127758],[127759],[127760],[127761],[127762],[127763],[127764],[127765],[127766],[127767],[127768],[127769],[127770],[127771],[127772],[127773],[127774],[127775],[127776],[127789],[127790],[127791],[127792],[127793],[127794],[127795],[127796],[127797],[127799],[127800],[127801],[127802],[127803],[127804],[127805],[127806],[127807],[127808],[127809],[127810],[127811],[127812],[127813],[127814],[127815],[127816],[127817],[127818],[127819],[127820],[127821],[127822],[127823],[127824],[127825],[127826],[127827],[127828],[127829],[127830],[127831],[127832],[127833],[127834],[127835],[127836],[127837],[127838],[127839],[127840],[127841],[127842],[127843],[127844],[127845],[127846],[127847],[127848],[127849],[127850],[127851],[127852],[127853],[127854],[127855],[127856],[127857],[127858],[127859],[127860],[127861],[127862],[127863],[127864],[127865],[127866],[127867],[127868],[127870],[127871],[127872],[127873],[127874],[127875],[127876],[127877],[127878],[127879],[127880],[127881],[127882],[127883],[127884],[127885],[127886],[127887],[127888],[127889],[127890],[127891],[127904],[127905],[127906],[127907],[127908],[127909],[127910],[127911],[127912],[127913],[127914],[127915],[127916],[127917],[127918],[127919],[127920],[127921],[127922],[127923],[127924],[127925],[127926],[127927],[127928],[127929],[127930],[127931],[127932],[127933],[127934],[127935],[127936],[127937],[127938],[127939],[127940],[127941],[127942],[127943],[127944],[127945],[127946],[127951],[127952],[127953],[127954],[127955],[127968],[127969],[127970],[127971],[127972],[127973],[127974],[127975],[127976],[127977],[127978],[127979],[127980],[127981],[127982],[127983],[127984],[127988],[127992],[127993],[127994],[127995],[127996],[127997],[127998],[127999],[128000],[128001],[128002],[128003],[128004],[128005],[128006],[128007],[128008],[128009],[128010],[128011],[128012],[128013],[128014],[128015],[128016],[128017],[128018],[128019],[128020],[128021],[128022],[128023],[128024],[128025],[128026],[128027],[128028],[128029],[128030],[128031],[128032],[128033],[128034],[128035],[128036],[128037],[128038],[128039],[128040],[128041],[128042],[128043],[128044],[128045],[128046],[128047],[128048],[128049],[128050],[128051],[128052],[128053],[128054],[128055],[128056],[128057],[128058],[128059],[128060],[128061],[128062],[128064],[128066],[128067],[128068],[128069],[128070],[128071],[128072],[128073],[128074],[128075],[128076],[128077],[128078],[128079],[128080],[128081],[128082],[128083],[128084],[128085],[128086],[128087],[128088],[128089],[128090],[128091],[128092],[128093],[128094],[128095],[128096],[128097],[128098],[128099],[128100],[128101],[128102],[128103],[128104],[128105],[128106],[128107],[128108],[128109],[128110],[128111],[128112],[128113],[128114],[128115],[128116],[128117],[128118],[128119],[128120],[128121],[128122],[128123],[128124],[128125],[128126],[128127],[128128],[128129],[128130],[128131],[128132],[128133],[128134],[128135],[128136],[128137],[128138],[128139],[128140],[128141],[128142],[128143],[128144],[128145],[128146],[128147],[128148],[128149],[128150],[128151],[128152],[128153],[128154],[128155],[128156],[128157],[128158],[128159],[128160],[128161],[128162],[128163],[128164],[128165],[128166],[128167],[128168],[128169],[128170],[128171],[128172],[128173],[128174],[128175],[128176],[128177],[128178],[128179],[128180],[128181],[128182],[128183],[128184],[128185],[128186],[128187],[128188],[128189],[128190],[128191],[128192],[128193],[128194],[128195],[128196],[128197],[128198],[128199],[128200],[128201],[128202],[128203],[128204],[128205],[128206],[128207],[128208],[128209],[128210],[128211],[128212],[128213],[128214],[128215],[128216],[128217],[128218],[128219],[128220],[128221],[128222],[128223],[128224],[128225],[128226],[128227],[128228],[128229],[128230],[128231],[128232],[128233],[128234],[128235],[128236],[128237],[128238],[128239],[128240],[128241],[128242],[128243],[128244],[128245],[128246],[128247],[128248],[128249],[128250],[128251],[128252],[128255],[128256],[128257],[128258],[128259],[128260],[128261],[128262],[128263],[128264],[128265],[128266],[128267],[128268],[128269],[128270],[128271],[128272],[128273],[128274],[128275],[128276],[128277],[128278],[128279],[128280],[128281],[128282],[128283],[128284],[128285],[128286],[128287],[128288],[128289],[128290],[128291],[128292],[128293],[128294],[128295],[128296],[128297],[128298],[128299],[128300],[128301],[128302],[128303],[128304],[128305],[128306],[128307],[128308],[128309],[128310],[128311],[128312],[128313],[128314],[128315],[128316],[128317],[128331],[128332],[128333],[128334],[128336],[128337],[128338],[128339],[128340],[128341],[128342],[128343],[128344],[128345],[128346],[128347],[128348],[128349],[128350],[128351],[128352],[128353],[128354],[128355],[128356],[128357],[128358],[128359],[128378],[128405],[128406],[128420],[128507],[128508],[128509],[128510],[128511],[128512],[128513],[128514],[128515],[128516],[128517],[128518],[128519],[128520],[128521],[128522],[128523],[128524],[128525],[128526],[128527],[128528],[128529],[128530],[128531],[128532],[128533],[128534],[128535],[128536],[128537],[128538],[128539],[128540],[128541],[128542],[128543],[128544],[128545],[128546],[128547],[128548],[128549],[128550],[128551],[128552],[128553],[128554],[128555],[128556],[128557],[128558],[128559],[128560],[128561],[128562],[128563],[128564],[128565],[128566],[128567],[128568],[128569],[128570],[128571],[128572],[128573],[128574],[128575],[128576],[128577],[128578],[128579],[128580],[128581],[128582],[128583],[128584],[128585],[128586],[128587],[128588],[128589],[128590],[128591],[128640],[128641],[128642],[128643],[128644],[128645],[128646],[128647],[128648],[128649],[128650],[128651],[128652],[128653],[128654],[128655],[128656],[128657],[128658],[128659],[128660],[128661],[128662],[128663],[128664],[128665],[128666],[128667],[128668],[128669],[128670],[128671],[128672],[128673],[128674],[128675],[128676],[128677],[128678],[128679],[128680],[128681],[128682],[128683],[128684],[128685],[128686],[128687],[128688],[128689],[128690],[128691],[128692],[128693],[128694],[128695],[128696],[128697],[128698],[128699],[128700],[128701],[128702],[128703],[128704],[128705],[128706],[128707],[128708],[128709],[128716],[128720],[128721],[128722],[128725],[128726],[128727],[128732],[128733],[128734],[128735],[128747],[128748],[128756],[128757],[128758],[128759],[128760],[128761],[128762],[128763],[128764],[128992],[128993],[128994],[128995],[128996],[128997],[128998],[128999],[129000],[129001],[129002],[129003],[129008],[129292],[129293],[129294],[129295],[129296],[129297],[129298],[129299],[129300],[129301],[129302],[129303],[129304],[129305],[129306],[129307],[129308],[129309],[129310],[129311],[129312],[129313],[129314],[129315],[129316],[129317],[129318],[129319],[129320],[129321],[129322],[129323],[129324],[129325],[129326],[129327],[129328],[129329],[129330],[129331],[129332],[129333],[129334],[129335],[129336],[129337],[129338],[129340],[129341],[129342],[129343],[129344],[129345],[129346],[129347],[129348],[129349],[129351],[129352],[129353],[129354],[129355],[129356],[129357],[129358],[129359],[129360],[129361],[129362],[129363],[129364],[129365],[129366],[129367],[129368],[129369],[129370],[129371],[129372],[129373],[129374],[129375],[129376],[129377],[129378],[129379],[129380],[129381],[129382],[129383],[129384],[129385],[129386],[129387],[129388],[129389],[129390],[129391],[129392],[129393],[129394],[129395],[129396],[129397],[129398],[129399],[129400],[129401],[129402],[129403],[129404],[129405],[129406],[129407],[129408],[129409],[129410],[129411],[129412],[129413],[129414],[129415],[129416],[129417],[129418],[129419],[129420],[129421],[129422],[129423],[129424],[129425],[129426],[129427],[129428],[129429],[129430],[129431],[129432],[129433],[129434],[129435],[129436],[129437],[129438],[129439],[129440],[129441],[129442],[129443],[129444],[129445],[129446],[129447],[129448],[129449],[129450],[129451],[129452],[129453],[129454],[129455],[129456],[129457],[129458],[129459],[129460],[129461],[129462],[129463],[129464],[129465],[129466],[129467],[129468],[129469],[129470],[129471],[129472],[129473],[129474],[129475],[129476],[129477],[129478],[129479],[129480],[129481],[129482],[129483],[129484],[129485],[129486],[129487],[129488],[129489],[129490],[129491],[129492],[129493],[129494],[129495],[129496],[129497],[129498],[129499],[129500],[129501],[129502],[129503],[129504],[129505],[129506],[129507],[129508],[129509],[129510],[129511],[129512],[129513],[129514],[129515],[129516],[129517],[129518],[129519],[129520],[129521],[129522],[129523],[129524],[129525],[129526],[129527],[129528],[129529],[129530],[129531],[129532],[129533],[129534],[129535],[129648],[129649],[129650],[129651],[129652],[129653],[129654],[129655],[129656],[129657],[129658],[129659],[129660],[129664],[129665],[129666],[129667],[129668],[129669],[129670],[129671],[129672],[129680],[129681],[129682],[129683],[129684],[129685],[129686],[129687],[129688],[129689],[129690],[129691],[129692],[129693],[129694],[129695],[129696],[129697],[129698],[129699],[129700],[129701],[129702],[129703],[129704],[129705],[129706],[129707],[129708],[129709],[129710],[129711],[129712],[129713],[129714],[129715],[129716],[129717],[129718],[129719],[129720],[129721],[129722],[129723],[129724],[129725],[129727],[129728],[129729],[129730],[129731],[129732],[129733],[129742],[129743],[129744],[129745],[129746],[129747],[129748],[129749],[129750],[129751],[129752],[129753],[129754],[129755],[129760],[129761],[129762],[129763],[129764],[129765],[129766],[129767],[129768],[129776],[129777],[129778],[129779],[129780],[129781],[129782],[129783],[129784],[169,65039],[174,65039],[8252,65039],[8265,65039],[8482,65039],[8505,65039],[8596,65039],[8597,65039],[8598,65039],[8599,65039],[8600,65039],[8601,65039],[8617,65039],[8618,65039],[9000,65039],[9167,65039],[9197,65039],[9198,65039],[9199,65039],[9201,65039],[9202,65039],[9208,65039],[9209,65039],[9210,65039],[9410,65039],[9642,65039],[9643,65039],[9654,65039],[9664,65039],[9723,65039],[9724,65039],[9728,65039],[9729,65039],[9730,65039],[9731,65039],[9732,65039],[9742,65039],[9745,65039],[9752,65039],[9757,65039],[9760,65039],[9762,65039],[9763,65039],[9766,65039],[9770,65039],[9774,65039],[9775,65039],[9784,65039],[9785,65039],[9786,65039],[9792,65039],[9794,65039],[9823,65039],[9824,65039],[9827,65039],[9829,65039],[9830,65039],[9832,65039],[9851,65039],[9854,65039],[9874,65039],[9876,65039],[9877,65039],[9878,65039],[9879,65039],[9881,65039],[9883,65039],[9884,65039],[9888,65039],[9895,65039],[9904,65039],[9905,65039],[9928,65039],[9935,65039],[9937,65039],[9939,65039],[9961,65039],[9968,65039],[9969,65039],[9972,65039],[9975,65039],[9976,65039],[9977,65039],[9986,65039],[9992,65039],[9993,65039],[9996,65039],[9997,65039],[9999,65039],[10002,65039],[10004,65039],[10006,65039],[10013,65039],[10017,65039],[10035,65039],[10036,65039],[10052,65039],[10055,65039],[10083,65039],[10084,65039],[10145,65039],[10548,65039],[10549,65039],[11013,65039],[11014,65039],[11015,65039],[12336,65039],[12349,65039],[12951,65039],[12953,65039],[127344,65039],[127345,65039],[127358,65039],[127359,65039],[127490,65039],[127543,65039],[127777,65039],[127780,65039],[127781,65039],[127782,65039],[127783,65039],[127784,65039],[127785,65039],[127786,65039],[127787,65039],[127788,65039],[127798,65039],[127869,65039],[127894,65039],[127895,65039],[127897,65039],[127898,65039],[127899,65039],[127902,65039],[127903,65039],[127947,65039],[127948,65039],[127949,65039],[127950,65039],[127956,65039],[127957,65039],[127958,65039],[127959,65039],[127960,65039],[127961,65039],[127962,65039],[127963,65039],[127964,65039],[127965,65039],[127966,65039],[127967,65039],[127987,65039],[127989,65039],[127991,65039],[128063,65039],[128065,65039],[128253,65039],[128329,65039],[128330,65039],[128367,65039],[128368,65039],[128371,65039],[128372,65039],[128373,65039],[128374,65039],[128375,65039],[128376,65039],[128377,65039],[128391,65039],[128394,65039],[128395,65039],[128396,65039],[128397,65039],[128400,65039],[128421,65039],[128424,65039],[128433,65039],[128434,65039],[128444,65039],[128450,65039],[128451,65039],[128452,65039],[128465,65039],[128466,65039],[128467,65039],[128476,65039],[128477,65039],[128478,65039],[128481,65039],[128483,65039],[128488,65039],[128495,65039],[128499,65039],[128506,65039],[128715,65039],[128717,65039],[128718,65039],[128719,65039],[128736,65039],[128737,65039],[128738,65039],[128739,65039],[128740,65039],[128741,65039],[128745,65039],[128752,65039],[128755,65039]]"),Sl=JSON.parse("[[35,65039,8419],[42,65039,8419],[48,65039,8419],[49,65039,8419],[50,65039,8419],[51,65039,8419],[52,65039,8419],[53,65039,8419],[54,65039,8419],[55,65039,8419],[56,65039,8419],[57,65039,8419]]"),wl=JSON.parse("[[9757,127995],[9757,127996],[9757,127997],[9757,127998],[9757,127999],[9977,127995],[9977,127996],[9977,127997],[9977,127998],[9977,127999],[9994,127995],[9994,127996],[9994,127997],[9994,127998],[9994,127999],[9995,127995],[9995,127996],[9995,127997],[9995,127998],[9995,127999],[9996,127995],[9996,127996],[9996,127997],[9996,127998],[9996,127999],[9997,127995],[9997,127996],[9997,127997],[9997,127998],[9997,127999],[127877,127995],[127877,127996],[127877,127997],[127877,127998],[127877,127999],[127938,127995],[127938,127996],[127938,127997],[127938,127998],[127938,127999],[127939,127995],[127939,127996],[127939,127997],[127939,127998],[127939,127999],[127940,127995],[127940,127996],[127940,127997],[127940,127998],[127940,127999],[127943,127995],[127943,127996],[127943,127997],[127943,127998],[127943,127999],[127946,127995],[127946,127996],[127946,127997],[127946,127998],[127946,127999],[127947,127995],[127947,127996],[127947,127997],[127947,127998],[127947,127999],[127948,127995],[127948,127996],[127948,127997],[127948,127998],[127948,127999],[128066,127995],[128066,127996],[128066,127997],[128066,127998],[128066,127999],[128067,127995],[128067,127996],[128067,127997],[128067,127998],[128067,127999],[128070,127995],[128070,127996],[128070,127997],[128070,127998],[128070,127999],[128071,127995],[128071,127996],[128071,127997],[128071,127998],[128071,127999],[128072,127995],[128072,127996],[128072,127997],[128072,127998],[128072,127999],[128073,127995],[128073,127996],[128073,127997],[128073,127998],[128073,127999],[128074,127995],[128074,127996],[128074,127997],[128074,127998],[128074,127999],[128075,127995],[128075,127996],[128075,127997],[128075,127998],[128075,127999],[128076,127995],[128076,127996],[128076,127997],[128076,127998],[128076,127999],[128077,127995],[128077,127996],[128077,127997],[128077,127998],[128077,127999],[128078,127995],[128078,127996],[128078,127997],[128078,127998],[128078,127999],[128079,127995],[128079,127996],[128079,127997],[128079,127998],[128079,127999],[128080,127995],[128080,127996],[128080,127997],[128080,127998],[128080,127999],[128102,127995],[128102,127996],[128102,127997],[128102,127998],[128102,127999],[128103,127995],[128103,127996],[128103,127997],[128103,127998],[128103,127999],[128104,127995],[128104,127996],[128104,127997],[128104,127998],[128104,127999],[128105,127995],[128105,127996],[128105,127997],[128105,127998],[128105,127999],[128107,127995],[128107,127996],[128107,127997],[128107,127998],[128107,127999],[128108,127995],[128108,127996],[128108,127997],[128108,127998],[128108,127999],[128109,127995],[128109,127996],[128109,127997],[128109,127998],[128109,127999],[128110,127995],[128110,127996],[128110,127997],[128110,127998],[128110,127999],[128112,127995],[128112,127996],[128112,127997],[128112,127998],[128112,127999],[128113,127995],[128113,127996],[128113,127997],[128113,127998],[128113,127999],[128114,127995],[128114,127996],[128114,127997],[128114,127998],[128114,127999],[128115,127995],[128115,127996],[128115,127997],[128115,127998],[128115,127999],[128116,127995],[128116,127996],[128116,127997],[128116,127998],[128116,127999],[128117,127995],[128117,127996],[128117,127997],[128117,127998],[128117,127999],[128118,127995],[128118,127996],[128118,127997],[128118,127998],[128118,127999],[128119,127995],[128119,127996],[128119,127997],[128119,127998],[128119,127999],[128120,127995],[128120,127996],[128120,127997],[128120,127998],[128120,127999],[128124,127995],[128124,127996],[128124,127997],[128124,127998],[128124,127999],[128129,127995],[128129,127996],[128129,127997],[128129,127998],[128129,127999],[128130,127995],[128130,127996],[128130,127997],[128130,127998],[128130,127999],[128131,127995],[128131,127996],[128131,127997],[128131,127998],[128131,127999],[128133,127995],[128133,127996],[128133,127997],[128133,127998],[128133,127999],[128134,127995],[128134,127996],[128134,127997],[128134,127998],[128134,127999],[128135,127995],[128135,127996],[128135,127997],[128135,127998],[128135,127999],[128143,127995],[128143,127996],[128143,127997],[128143,127998],[128143,127999],[128145,127995],[128145,127996],[128145,127997],[128145,127998],[128145,127999],[128170,127995],[128170,127996],[128170,127997],[128170,127998],[128170,127999],[128372,127995],[128372,127996],[128372,127997],[128372,127998],[128372,127999],[128373,127995],[128373,127996],[128373,127997],[128373,127998],[128373,127999],[128378,127995],[128378,127996],[128378,127997],[128378,127998],[128378,127999],[128400,127995],[128400,127996],[128400,127997],[128400,127998],[128400,127999],[128405,127995],[128405,127996],[128405,127997],[128405,127998],[128405,127999],[128406,127995],[128406,127996],[128406,127997],[128406,127998],[128406,127999],[128581,127995],[128581,127996],[128581,127997],[128581,127998],[128581,127999],[128582,127995],[128582,127996],[128582,127997],[128582,127998],[128582,127999],[128583,127995],[128583,127996],[128583,127997],[128583,127998],[128583,127999],[128587,127995],[128587,127996],[128587,127997],[128587,127998],[128587,127999],[128588,127995],[128588,127996],[128588,127997],[128588,127998],[128588,127999],[128589,127995],[128589,127996],[128589,127997],[128589,127998],[128589,127999],[128590,127995],[128590,127996],[128590,127997],[128590,127998],[128590,127999],[128591,127995],[128591,127996],[128591,127997],[128591,127998],[128591,127999],[128675,127995],[128675,127996],[128675,127997],[128675,127998],[128675,127999],[128692,127995],[128692,127996],[128692,127997],[128692,127998],[128692,127999],[128693,127995],[128693,127996],[128693,127997],[128693,127998],[128693,127999],[128694,127995],[128694,127996],[128694,127997],[128694,127998],[128694,127999],[128704,127995],[128704,127996],[128704,127997],[128704,127998],[128704,127999],[128716,127995],[128716,127996],[128716,127997],[128716,127998],[128716,127999],[129292,127995],[129292,127996],[129292,127997],[129292,127998],[129292,127999],[129295,127995],[129295,127996],[129295,127997],[129295,127998],[129295,127999],[129304,127995],[129304,127996],[129304,127997],[129304,127998],[129304,127999],[129305,127995],[129305,127996],[129305,127997],[129305,127998],[129305,127999],[129306,127995],[129306,127996],[129306,127997],[129306,127998],[129306,127999],[129307,127995],[129307,127996],[129307,127997],[129307,127998],[129307,127999],[129308,127995],[129308,127996],[129308,127997],[129308,127998],[129308,127999],[129309,127995],[129309,127996],[129309,127997],[129309,127998],[129309,127999],[129310,127995],[129310,127996],[129310,127997],[129310,127998],[129310,127999],[129311,127995],[129311,127996],[129311,127997],[129311,127998],[129311,127999],[129318,127995],[129318,127996],[129318,127997],[129318,127998],[129318,127999],[129328,127995],[129328,127996],[129328,127997],[129328,127998],[129328,127999],[129329,127995],[129329,127996],[129329,127997],[129329,127998],[129329,127999],[129330,127995],[129330,127996],[129330,127997],[129330,127998],[129330,127999],[129331,127995],[129331,127996],[129331,127997],[129331,127998],[129331,127999],[129332,127995],[129332,127996],[129332,127997],[129332,127998],[129332,127999],[129333,127995],[129333,127996],[129333,127997],[129333,127998],[129333,127999],[129334,127995],[129334,127996],[129334,127997],[129334,127998],[129334,127999],[129335,127995],[129335,127996],[129335,127997],[129335,127998],[129335,127999],[129336,127995],[129336,127996],[129336,127997],[129336,127998],[129336,127999],[129337,127995],[129337,127996],[129337,127997],[129337,127998],[129337,127999],[129341,127995],[129341,127996],[129341,127997],[129341,127998],[129341,127999],[129342,127995],[129342,127996],[129342,127997],[129342,127998],[129342,127999],[129399,127995],[129399,127996],[129399,127997],[129399,127998],[129399,127999],[129461,127995],[129461,127996],[129461,127997],[129461,127998],[129461,127999],[129462,127995],[129462,127996],[129462,127997],[129462,127998],[129462,127999],[129464,127995],[129464,127996],[129464,127997],[129464,127998],[129464,127999],[129465,127995],[129465,127996],[129465,127997],[129465,127998],[129465,127999],[129467,127995],[129467,127996],[129467,127997],[129467,127998],[129467,127999],[129485,127995],[129485,127996],[129485,127997],[129485,127998],[129485,127999],[129486,127995],[129486,127996],[129486,127997],[129486,127998],[129486,127999],[129487,127995],[129487,127996],[129487,127997],[129487,127998],[129487,127999],[129489,127995],[129489,127996],[129489,127997],[129489,127998],[129489,127999],[129490,127995],[129490,127996],[129490,127997],[129490,127998],[129490,127999],[129491,127995],[129491,127996],[129491,127997],[129491,127998],[129491,127999],[129492,127995],[129492,127996],[129492,127997],[129492,127998],[129492,127999],[129493,127995],[129493,127996],[129493,127997],[129493,127998],[129493,127999],[129494,127995],[129494,127996],[129494,127997],[129494,127998],[129494,127999],[129495,127995],[129495,127996],[129495,127997],[129495,127998],[129495,127999],[129496,127995],[129496,127996],[129496,127997],[129496,127998],[129496,127999],[129497,127995],[129497,127996],[129497,127997],[129497,127998],[129497,127999],[129498,127995],[129498,127996],[129498,127997],[129498,127998],[129498,127999],[129499,127995],[129499,127996],[129499,127997],[129499,127998],[129499,127999],[129500,127995],[129500,127996],[129500,127997],[129500,127998],[129500,127999],[129501,127995],[129501,127996],[129501,127997],[129501,127998],[129501,127999],[129731,127995],[129731,127996],[129731,127997],[129731,127998],[129731,127999],[129732,127995],[129732,127996],[129732,127997],[129732,127998],[129732,127999],[129733,127995],[129733,127996],[129733,127997],[129733,127998],[129733,127999],[129776,127995],[129776,127996],[129776,127997],[129776,127998],[129776,127999],[129777,127995],[129777,127996],[129777,127997],[129777,127998],[129777,127999],[129778,127995],[129778,127996],[129778,127997],[129778,127998],[129778,127999],[129779,127995],[129779,127996],[129779,127997],[129779,127998],[129779,127999],[129780,127995],[129780,127996],[129780,127997],[129780,127998],[129780,127999],[129781,127995],[129781,127996],[129781,127997],[129781,127998],[129781,127999],[129782,127995],[129782,127996],[129782,127997],[129782,127998],[129782,127999],[129783,127995],[129783,127996],[129783,127997],[129783,127998],[129783,127999],[129784,127995],[129784,127996],[129784,127997],[129784,127998],[129784,127999]]"),El=JSON.parse("[[127462,127464],[127462,127465],[127462,127466],[127462,127467],[127462,127468],[127462,127470],[127462,127473],[127462,127474],[127462,127476],[127462,127478],[127462,127479],[127462,127480],[127462,127481],[127462,127482],[127462,127484],[127462,127485],[127462,127487],[127463,127462],[127463,127463],[127463,127465],[127463,127466],[127463,127467],[127463,127468],[127463,127469],[127463,127470],[127463,127471],[127463,127473],[127463,127474],[127463,127475],[127463,127476],[127463,127478],[127463,127479],[127463,127480],[127463,127481],[127463,127483],[127463,127484],[127463,127486],[127463,127487],[127464,127462],[127464,127464],[127464,127465],[127464,127467],[127464,127468],[127464,127469],[127464,127470],[127464,127472],[127464,127473],[127464,127474],[127464,127475],[127464,127476],[127464,127477],[127464,127479],[127464,127482],[127464,127483],[127464,127484],[127464,127485],[127464,127486],[127464,127487],[127465,127466],[127465,127468],[127465,127471],[127465,127472],[127465,127474],[127465,127476],[127465,127487],[127466,127462],[127466,127464],[127466,127466],[127466,127468],[127466,127469],[127466,127479],[127466,127480],[127466,127481],[127466,127482],[127467,127470],[127467,127471],[127467,127472],[127467,127474],[127467,127476],[127467,127479],[127468,127462],[127468,127463],[127468,127465],[127468,127466],[127468,127467],[127468,127468],[127468,127469],[127468,127470],[127468,127473],[127468,127474],[127468,127475],[127468,127477],[127468,127478],[127468,127479],[127468,127480],[127468,127481],[127468,127482],[127468,127484],[127468,127486],[127469,127472],[127469,127474],[127469,127475],[127469,127479],[127469,127481],[127469,127482],[127470,127464],[127470,127465],[127470,127466],[127470,127473],[127470,127474],[127470,127475],[127470,127476],[127470,127478],[127470,127479],[127470,127480],[127470,127481],[127471,127466],[127471,127474],[127471,127476],[127471,127477],[127472,127466],[127472,127468],[127472,127469],[127472,127470],[127472,127474],[127472,127475],[127472,127477],[127472,127479],[127472,127484],[127472,127486],[127472,127487],[127473,127462],[127473,127463],[127473,127464],[127473,127470],[127473,127472],[127473,127479],[127473,127480],[127473,127481],[127473,127482],[127473,127483],[127473,127486],[127474,127462],[127474,127464],[127474,127465],[127474,127466],[127474,127467],[127474,127468],[127474,127469],[127474,127472],[127474,127473],[127474,127474],[127474,127475],[127474,127476],[127474,127477],[127474,127478],[127474,127479],[127474,127480],[127474,127481],[127474,127482],[127474,127483],[127474,127484],[127474,127485],[127474,127486],[127474,127487],[127475,127462],[127475,127464],[127475,127466],[127475,127467],[127475,127468],[127475,127470],[127475,127473],[127475,127476],[127475,127477],[127475,127479],[127475,127482],[127475,127487],[127476,127474],[127477,127462],[127477,127466],[127477,127467],[127477,127468],[127477,127469],[127477,127472],[127477,127473],[127477,127474],[127477,127475],[127477,127479],[127477,127480],[127477,127481],[127477,127484],[127477,127486],[127478,127462],[127479,127466],[127479,127476],[127479,127480],[127479,127482],[127479,127484],[127480,127462],[127480,127463],[127480,127464],[127480,127465],[127480,127466],[127480,127468],[127480,127469],[127480,127470],[127480,127471],[127480,127472],[127480,127473],[127480,127474],[127480,127475],[127480,127476],[127480,127479],[127480,127480],[127480,127481],[127480,127483],[127480,127485],[127480,127486],[127480,127487],[127481,127462],[127481,127464],[127481,127465],[127481,127467],[127481,127468],[127481,127469],[127481,127471],[127481,127472],[127481,127473],[127481,127474],[127481,127475],[127481,127476],[127481,127479],[127481,127481],[127481,127483],[127481,127484],[127481,127487],[127482,127462],[127482,127468],[127482,127474],[127482,127475],[127482,127480],[127482,127486],[127482,127487],[127483,127462],[127483,127464],[127483,127466],[127483,127468],[127483,127470],[127483,127475],[127483,127482],[127484,127467],[127484,127480],[127485,127472],[127486,127466],[127486,127481],[127487,127462],[127487,127474],[127487,127484]]"),bl=JSON.parse("[[127988,917607,917602,917605,917614,917607,917631],[127988,917607,917602,917619,917603,917620,917631],[127988,917607,917602,917623,917612,917619,917631]]"),kl=JSON.parse("[[128008,8205,11035],[128021,8205,129466],[128038,8205,11035],[128104,8205,127806],[128104,8205,127859],[128104,8205,127868],[128104,8205,127891],[128104,8205,127908],[128104,8205,127912],[128104,8205,127979],[128104,8205,127981],[128104,8205,128102],[128104,8205,128103],[128104,8205,128187],[128104,8205,128188],[128104,8205,128295],[128104,8205,128300],[128104,8205,128640],[128104,8205,128658],[128104,8205,129455],[128104,8205,129456],[128104,8205,129457],[128104,8205,129458],[128104,8205,129459],[128104,8205,129468],[128104,8205,129469],[128105,8205,127806],[128105,8205,127859],[128105,8205,127868],[128105,8205,127891],[128105,8205,127908],[128105,8205,127912],[128105,8205,127979],[128105,8205,127981],[128105,8205,128102],[128105,8205,128103],[128105,8205,128187],[128105,8205,128188],[128105,8205,128295],[128105,8205,128300],[128105,8205,128640],[128105,8205,128658],[128105,8205,129455],[128105,8205,129456],[128105,8205,129457],[128105,8205,129458],[128105,8205,129459],[128105,8205,129468],[128105,8205,129469],[128558,8205,128168],[128565,8205,128171],[129489,8205,127806],[129489,8205,127859],[129489,8205,127868],[129489,8205,127876],[129489,8205,127891],[129489,8205,127908],[129489,8205,127912],[129489,8205,127979],[129489,8205,127981],[129489,8205,128187],[129489,8205,128188],[129489,8205,128295],[129489,8205,128300],[129489,8205,128640],[129489,8205,128658],[129489,8205,129455],[129489,8205,129456],[129489,8205,129457],[129489,8205,129458],[129489,8205,129459],[129489,8205,129468],[129489,8205,129469],[10084,65039,8205,128293],[10084,65039,8205,129657],[127939,8205,9792,65039],[127939,8205,9794,65039],[127940,8205,9792,65039],[127940,8205,9794,65039],[127946,8205,9792,65039],[127946,8205,9794,65039],[127987,65039,8205,127752],[127988,8205,9760,65039],[128059,8205,10052,65039],[128104,8205,9877,65039],[128104,8205,9878,65039],[128104,8205,9992,65039],[128104,127995,8205,127806],[128104,127995,8205,127859],[128104,127995,8205,127868],[128104,127995,8205,127891],[128104,127995,8205,127908],[128104,127995,8205,127912],[128104,127995,8205,127979],[128104,127995,8205,127981],[128104,127995,8205,128187],[128104,127995,8205,128188],[128104,127995,8205,128295],[128104,127995,8205,128300],[128104,127995,8205,128640],[128104,127995,8205,128658],[128104,127995,8205,129455],[128104,127995,8205,129456],[128104,127995,8205,129457],[128104,127995,8205,129458],[128104,127995,8205,129459],[128104,127995,8205,129468],[128104,127995,8205,129469],[128104,127996,8205,127806],[128104,127996,8205,127859],[128104,127996,8205,127868],[128104,127996,8205,127891],[128104,127996,8205,127908],[128104,127996,8205,127912],[128104,127996,8205,127979],[128104,127996,8205,127981],[128104,127996,8205,128187],[128104,127996,8205,128188],[128104,127996,8205,128295],[128104,127996,8205,128300],[128104,127996,8205,128640],[128104,127996,8205,128658],[128104,127996,8205,129455],[128104,127996,8205,129456],[128104,127996,8205,129457],[128104,127996,8205,129458],[128104,127996,8205,129459],[128104,127996,8205,129468],[128104,127996,8205,129469],[128104,127997,8205,127806],[128104,127997,8205,127859],[128104,127997,8205,127868],[128104,127997,8205,127891],[128104,127997,8205,127908],[128104,127997,8205,127912],[128104,127997,8205,127979],[128104,127997,8205,127981],[128104,127997,8205,128187],[128104,127997,8205,128188],[128104,127997,8205,128295],[128104,127997,8205,128300],[128104,127997,8205,128640],[128104,127997,8205,128658],[128104,127997,8205,129455],[128104,127997,8205,129456],[128104,127997,8205,129457],[128104,127997,8205,129458],[128104,127997,8205,129459],[128104,127997,8205,129468],[128104,127997,8205,129469],[128104,127998,8205,127806],[128104,127998,8205,127859],[128104,127998,8205,127868],[128104,127998,8205,127891],[128104,127998,8205,127908],[128104,127998,8205,127912],[128104,127998,8205,127979],[128104,127998,8205,127981],[128104,127998,8205,128187],[128104,127998,8205,128188],[128104,127998,8205,128295],[128104,127998,8205,128300],[128104,127998,8205,128640],[128104,127998,8205,128658],[128104,127998,8205,129455],[128104,127998,8205,129456],[128104,127998,8205,129457],[128104,127998,8205,129458],[128104,127998,8205,129459],[128104,127998,8205,129468],[128104,127998,8205,129469],[128104,127999,8205,127806],[128104,127999,8205,127859],[128104,127999,8205,127868],[128104,127999,8205,127891],[128104,127999,8205,127908],[128104,127999,8205,127912],[128104,127999,8205,127979],[128104,127999,8205,127981],[128104,127999,8205,128187],[128104,127999,8205,128188],[128104,127999,8205,128295],[128104,127999,8205,128300],[128104,127999,8205,128640],[128104,127999,8205,128658],[128104,127999,8205,129455],[128104,127999,8205,129456],[128104,127999,8205,129457],[128104,127999,8205,129458],[128104,127999,8205,129459],[128104,127999,8205,129468],[128104,127999,8205,129469],[128105,8205,9877,65039],[128105,8205,9878,65039],[128105,8205,9992,65039],[128105,127995,8205,127806],[128105,127995,8205,127859],[128105,127995,8205,127868],[128105,127995,8205,127891],[128105,127995,8205,127908],[128105,127995,8205,127912],[128105,127995,8205,127979],[128105,127995,8205,127981],[128105,127995,8205,128187],[128105,127995,8205,128188],[128105,127995,8205,128295],[128105,127995,8205,128300],[128105,127995,8205,128640],[128105,127995,8205,128658],[128105,127995,8205,129455],[128105,127995,8205,129456],[128105,127995,8205,129457],[128105,127995,8205,129458],[128105,127995,8205,129459],[128105,127995,8205,129468],[128105,127995,8205,129469],[128105,127996,8205,127806],[128105,127996,8205,127859],[128105,127996,8205,127868],[128105,127996,8205,127891],[128105,127996,8205,127908],[128105,127996,8205,127912],[128105,127996,8205,127979],[128105,127996,8205,127981],[128105,127996,8205,128187],[128105,127996,8205,128188],[128105,127996,8205,128295],[128105,127996,8205,128300],[128105,127996,8205,128640],[128105,127996,8205,128658],[128105,127996,8205,129455],[128105,127996,8205,129456],[128105,127996,8205,129457],[128105,127996,8205,129458],[128105,127996,8205,129459],[128105,127996,8205,129468],[128105,127996,8205,129469],[128105,127997,8205,127806],[128105,127997,8205,127859],[128105,127997,8205,127868],[128105,127997,8205,127891],[128105,127997,8205,127908],[128105,127997,8205,127912],[128105,127997,8205,127979],[128105,127997,8205,127981],[128105,127997,8205,128187],[128105,127997,8205,128188],[128105,127997,8205,128295],[128105,127997,8205,128300],[128105,127997,8205,128640],[128105,127997,8205,128658],[128105,127997,8205,129455],[128105,127997,8205,129456],[128105,127997,8205,129457],[128105,127997,8205,129458],[128105,127997,8205,129459],[128105,127997,8205,129468],[128105,127997,8205,129469],[128105,127998,8205,127806],[128105,127998,8205,127859],[128105,127998,8205,127868],[128105,127998,8205,127891],[128105,127998,8205,127908],[128105,127998,8205,127912],[128105,127998,8205,127979],[128105,127998,8205,127981],[128105,127998,8205,128187],[128105,127998,8205,128188],[128105,127998,8205,128295],[128105,127998,8205,128300],[128105,127998,8205,128640],[128105,127998,8205,128658],[128105,127998,8205,129455],[128105,127998,8205,129456],[128105,127998,8205,129457],[128105,127998,8205,129458],[128105,127998,8205,129459],[128105,127998,8205,129468],[128105,127998,8205,129469],[128105,127999,8205,127806],[128105,127999,8205,127859],[128105,127999,8205,127868],[128105,127999,8205,127891],[128105,127999,8205,127908],[128105,127999,8205,127912],[128105,127999,8205,127979],[128105,127999,8205,127981],[128105,127999,8205,128187],[128105,127999,8205,128188],[128105,127999,8205,128295],[128105,127999,8205,128300],[128105,127999,8205,128640],[128105,127999,8205,128658],[128105,127999,8205,129455],[128105,127999,8205,129456],[128105,127999,8205,129457],[128105,127999,8205,129458],[128105,127999,8205,129459],[128105,127999,8205,129468],[128105,127999,8205,129469],[128110,8205,9792,65039],[128110,8205,9794,65039],[128111,8205,9792,65039],[128111,8205,9794,65039],[128112,8205,9792,65039],[128112,8205,9794,65039],[128113,8205,9792,65039],[128113,8205,9794,65039],[128115,8205,9792,65039],[128115,8205,9794,65039],[128119,8205,9792,65039],[128119,8205,9794,65039],[128129,8205,9792,65039],[128129,8205,9794,65039],[128130,8205,9792,65039],[128130,8205,9794,65039],[128134,8205,9792,65039],[128134,8205,9794,65039],[128135,8205,9792,65039],[128135,8205,9794,65039],[128566,8205,127787,65039],[128581,8205,9792,65039],[128581,8205,9794,65039],[128582,8205,9792,65039],[128582,8205,9794,65039],[128583,8205,9792,65039],[128583,8205,9794,65039],[128587,8205,9792,65039],[128587,8205,9794,65039],[128589,8205,9792,65039],[128589,8205,9794,65039],[128590,8205,9792,65039],[128590,8205,9794,65039],[128675,8205,9792,65039],[128675,8205,9794,65039],[128692,8205,9792,65039],[128692,8205,9794,65039],[128693,8205,9792,65039],[128693,8205,9794,65039],[128694,8205,9792,65039],[128694,8205,9794,65039],[129318,8205,9792,65039],[129318,8205,9794,65039],[129333,8205,9792,65039],[129333,8205,9794,65039],[129335,8205,9792,65039],[129335,8205,9794,65039],[129336,8205,9792,65039],[129336,8205,9794,65039],[129337,8205,9792,65039],[129337,8205,9794,65039],[129340,8205,9792,65039],[129340,8205,9794,65039],[129341,8205,9792,65039],[129341,8205,9794,65039],[129342,8205,9792,65039],[129342,8205,9794,65039],[129464,8205,9792,65039],[129464,8205,9794,65039],[129465,8205,9792,65039],[129465,8205,9794,65039],[129485,8205,9792,65039],[129485,8205,9794,65039],[129486,8205,9792,65039],[129486,8205,9794,65039],[129487,8205,9792,65039],[129487,8205,9794,65039],[129489,8205,9877,65039],[129489,8205,9878,65039],[129489,8205,9992,65039],[129489,127995,8205,127806],[129489,127995,8205,127859],[129489,127995,8205,127868],[129489,127995,8205,127876],[129489,127995,8205,127891],[129489,127995,8205,127908],[129489,127995,8205,127912],[129489,127995,8205,127979],[129489,127995,8205,127981],[129489,127995,8205,128187],[129489,127995,8205,128188],[129489,127995,8205,128295],[129489,127995,8205,128300],[129489,127995,8205,128640],[129489,127995,8205,128658],[129489,127995,8205,129455],[129489,127995,8205,129456],[129489,127995,8205,129457],[129489,127995,8205,129458],[129489,127995,8205,129459],[129489,127995,8205,129468],[129489,127995,8205,129469],[129489,127996,8205,127806],[129489,127996,8205,127859],[129489,127996,8205,127868],[129489,127996,8205,127876],[129489,127996,8205,127891],[129489,127996,8205,127908],[129489,127996,8205,127912],[129489,127996,8205,127979],[129489,127996,8205,127981],[129489,127996,8205,128187],[129489,127996,8205,128188],[129489,127996,8205,128295],[129489,127996,8205,128300],[129489,127996,8205,128640],[129489,127996,8205,128658],[129489,127996,8205,129455],[129489,127996,8205,129456],[129489,127996,8205,129457],[129489,127996,8205,129458],[129489,127996,8205,129459],[129489,127996,8205,129468],[129489,127996,8205,129469],[129489,127997,8205,127806],[129489,127997,8205,127859],[129489,127997,8205,127868],[129489,127997,8205,127876],[129489,127997,8205,127891],[129489,127997,8205,127908],[129489,127997,8205,127912],[129489,127997,8205,127979],[129489,127997,8205,127981],[129489,127997,8205,128187],[129489,127997,8205,128188],[129489,127997,8205,128295],[129489,127997,8205,128300],[129489,127997,8205,128640],[129489,127997,8205,128658],[129489,127997,8205,129455],[129489,127997,8205,129456],[129489,127997,8205,129457],[129489,127997,8205,129458],[129489,127997,8205,129459],[129489,127997,8205,129468],[129489,127997,8205,129469],[129489,127998,8205,127806],[129489,127998,8205,127859],[129489,127998,8205,127868],[129489,127998,8205,127876],[129489,127998,8205,127891],[129489,127998,8205,127908],[129489,127998,8205,127912],[129489,127998,8205,127979],[129489,127998,8205,127981],[129489,127998,8205,128187],[129489,127998,8205,128188],[129489,127998,8205,128295],[129489,127998,8205,128300],[129489,127998,8205,128640],[129489,127998,8205,128658],[129489,127998,8205,129455],[129489,127998,8205,129456],[129489,127998,8205,129457],[129489,127998,8205,129458],[129489,127998,8205,129459],[129489,127998,8205,129468],[129489,127998,8205,129469],[129489,127999,8205,127806],[129489,127999,8205,127859],[129489,127999,8205,127868],[129489,127999,8205,127876],[129489,127999,8205,127891],[129489,127999,8205,127908],[129489,127999,8205,127912],[129489,127999,8205,127979],[129489,127999,8205,127981],[129489,127999,8205,128187],[129489,127999,8205,128188],[129489,127999,8205,128295],[129489,127999,8205,128300],[129489,127999,8205,128640],[129489,127999,8205,128658],[129489,127999,8205,129455],[129489,127999,8205,129456],[129489,127999,8205,129457],[129489,127999,8205,129458],[129489,127999,8205,129459],[129489,127999,8205,129468],[129489,127999,8205,129469],[129492,8205,9792,65039],[129492,8205,9794,65039],[129494,8205,9792,65039],[129494,8205,9794,65039],[129495,8205,9792,65039],[129495,8205,9794,65039],[129496,8205,9792,65039],[129496,8205,9794,65039],[129497,8205,9792,65039],[129497,8205,9794,65039],[129498,8205,9792,65039],[129498,8205,9794,65039],[129499,8205,9792,65039],[129499,8205,9794,65039],[129500,8205,9792,65039],[129500,8205,9794,65039],[129501,8205,9792,65039],[129501,8205,9794,65039],[129502,8205,9792,65039],[129502,8205,9794,65039],[129503,8205,9792,65039],[129503,8205,9794,65039],[9977,65039,8205,9792,65039],[9977,65039,8205,9794,65039],[9977,127995,8205,9792,65039],[9977,127995,8205,9794,65039],[9977,127996,8205,9792,65039],[9977,127996,8205,9794,65039],[9977,127997,8205,9792,65039],[9977,127997,8205,9794,65039],[9977,127998,8205,9792,65039],[9977,127998,8205,9794,65039],[9977,127999,8205,9792,65039],[9977,127999,8205,9794,65039],[127939,127995,8205,9792,65039],[127939,127995,8205,9794,65039],[127939,127996,8205,9792,65039],[127939,127996,8205,9794,65039],[127939,127997,8205,9792,65039],[127939,127997,8205,9794,65039],[127939,127998,8205,9792,65039],[127939,127998,8205,9794,65039],[127939,127999,8205,9792,65039],[127939,127999,8205,9794,65039],[127940,127995,8205,9792,65039],[127940,127995,8205,9794,65039],[127940,127996,8205,9792,65039],[127940,127996,8205,9794,65039],[127940,127997,8205,9792,65039],[127940,127997,8205,9794,65039],[127940,127998,8205,9792,65039],[127940,127998,8205,9794,65039],[127940,127999,8205,9792,65039],[127940,127999,8205,9794,65039],[127946,127995,8205,9792,65039],[127946,127995,8205,9794,65039],[127946,127996,8205,9792,65039],[127946,127996,8205,9794,65039],[127946,127997,8205,9792,65039],[127946,127997,8205,9794,65039],[127946,127998,8205,9792,65039],[127946,127998,8205,9794,65039],[127946,127999,8205,9792,65039],[127946,127999,8205,9794,65039],[127947,65039,8205,9792,65039],[127947,65039,8205,9794,65039],[127947,127995,8205,9792,65039],[127947,127995,8205,9794,65039],[127947,127996,8205,9792,65039],[127947,127996,8205,9794,65039],[127947,127997,8205,9792,65039],[127947,127997,8205,9794,65039],[127947,127998,8205,9792,65039],[127947,127998,8205,9794,65039],[127947,127999,8205,9792,65039],[127947,127999,8205,9794,65039],[127948,65039,8205,9792,65039],[127948,65039,8205,9794,65039],[127948,127995,8205,9792,65039],[127948,127995,8205,9794,65039],[127948,127996,8205,9792,65039],[127948,127996,8205,9794,65039],[127948,127997,8205,9792,65039],[127948,127997,8205,9794,65039],[127948,127998,8205,9792,65039],[127948,127998,8205,9794,65039],[127948,127999,8205,9792,65039],[127948,127999,8205,9794,65039],[127987,65039,8205,9895,65039],[128065,65039,8205,128488,65039],[128104,8205,128102,8205,128102],[128104,8205,128103,8205,128102],[128104,8205,128103,8205,128103],[128104,8205,128104,8205,128102],[128104,8205,128104,8205,128103],[128104,8205,128105,8205,128102],[128104,8205,128105,8205,128103],[128104,127995,8205,9877,65039],[128104,127995,8205,9878,65039],[128104,127995,8205,9992,65039],[128104,127996,8205,9877,65039],[128104,127996,8205,9878,65039],[128104,127996,8205,9992,65039],[128104,127997,8205,9877,65039],[128104,127997,8205,9878,65039],[128104,127997,8205,9992,65039],[128104,127998,8205,9877,65039],[128104,127998,8205,9878,65039],[128104,127998,8205,9992,65039],[128104,127999,8205,9877,65039],[128104,127999,8205,9878,65039],[128104,127999,8205,9992,65039],[128105,8205,128102,8205,128102],[128105,8205,128103,8205,128102],[128105,8205,128103,8205,128103],[128105,8205,128105,8205,128102],[128105,8205,128105,8205,128103],[128105,127995,8205,9877,65039],[128105,127995,8205,9878,65039],[128105,127995,8205,9992,65039],[128105,127996,8205,9877,65039],[128105,127996,8205,9878,65039],[128105,127996,8205,9992,65039],[128105,127997,8205,9877,65039],[128105,127997,8205,9878,65039],[128105,127997,8205,9992,65039],[128105,127998,8205,9877,65039],[128105,127998,8205,9878,65039],[128105,127998,8205,9992,65039],[128105,127999,8205,9877,65039],[128105,127999,8205,9878,65039],[128105,127999,8205,9992,65039],[128110,127995,8205,9792,65039],[128110,127995,8205,9794,65039],[128110,127996,8205,9792,65039],[128110,127996,8205,9794,65039],[128110,127997,8205,9792,65039],[128110,127997,8205,9794,65039],[128110,127998,8205,9792,65039],[128110,127998,8205,9794,65039],[128110,127999,8205,9792,65039],[128110,127999,8205,9794,65039],[128112,127995,8205,9792,65039],[128112,127995,8205,9794,65039],[128112,127996,8205,9792,65039],[128112,127996,8205,9794,65039],[128112,127997,8205,9792,65039],[128112,127997,8205,9794,65039],[128112,127998,8205,9792,65039],[128112,127998,8205,9794,65039],[128112,127999,8205,9792,65039],[128112,127999,8205,9794,65039],[128113,127995,8205,9792,65039],[128113,127995,8205,9794,65039],[128113,127996,8205,9792,65039],[128113,127996,8205,9794,65039],[128113,127997,8205,9792,65039],[128113,127997,8205,9794,65039],[128113,127998,8205,9792,65039],[128113,127998,8205,9794,65039],[128113,127999,8205,9792,65039],[128113,127999,8205,9794,65039],[128115,127995,8205,9792,65039],[128115,127995,8205,9794,65039],[128115,127996,8205,9792,65039],[128115,127996,8205,9794,65039],[128115,127997,8205,9792,65039],[128115,127997,8205,9794,65039],[128115,127998,8205,9792,65039],[128115,127998,8205,9794,65039],[128115,127999,8205,9792,65039],[128115,127999,8205,9794,65039],[128119,127995,8205,9792,65039],[128119,127995,8205,9794,65039],[128119,127996,8205,9792,65039],[128119,127996,8205,9794,65039],[128119,127997,8205,9792,65039],[128119,127997,8205,9794,65039],[128119,127998,8205,9792,65039],[128119,127998,8205,9794,65039],[128119,127999,8205,9792,65039],[128119,127999,8205,9794,65039],[128129,127995,8205,9792,65039],[128129,127995,8205,9794,65039],[128129,127996,8205,9792,65039],[128129,127996,8205,9794,65039],[128129,127997,8205,9792,65039],[128129,127997,8205,9794,65039],[128129,127998,8205,9792,65039],[128129,127998,8205,9794,65039],[128129,127999,8205,9792,65039],[128129,127999,8205,9794,65039],[128130,127995,8205,9792,65039],[128130,127995,8205,9794,65039],[128130,127996,8205,9792,65039],[128130,127996,8205,9794,65039],[128130,127997,8205,9792,65039],[128130,127997,8205,9794,65039],[128130,127998,8205,9792,65039],[128130,127998,8205,9794,65039],[128130,127999,8205,9792,65039],[128130,127999,8205,9794,65039],[128134,127995,8205,9792,65039],[128134,127995,8205,9794,65039],[128134,127996,8205,9792,65039],[128134,127996,8205,9794,65039],[128134,127997,8205,9792,65039],[128134,127997,8205,9794,65039],[128134,127998,8205,9792,65039],[128134,127998,8205,9794,65039],[128134,127999,8205,9792,65039],[128134,127999,8205,9794,65039],[128135,127995,8205,9792,65039],[128135,127995,8205,9794,65039],[128135,127996,8205,9792,65039],[128135,127996,8205,9794,65039],[128135,127997,8205,9792,65039],[128135,127997,8205,9794,65039],[128135,127998,8205,9792,65039],[128135,127998,8205,9794,65039],[128135,127999,8205,9792,65039],[128135,127999,8205,9794,65039],[128373,65039,8205,9792,65039],[128373,65039,8205,9794,65039],[128373,127995,8205,9792,65039],[128373,127995,8205,9794,65039],[128373,127996,8205,9792,65039],[128373,127996,8205,9794,65039],[128373,127997,8205,9792,65039],[128373,127997,8205,9794,65039],[128373,127998,8205,9792,65039],[128373,127998,8205,9794,65039],[128373,127999,8205,9792,65039],[128373,127999,8205,9794,65039],[128581,127995,8205,9792,65039],[128581,127995,8205,9794,65039],[128581,127996,8205,9792,65039],[128581,127996,8205,9794,65039],[128581,127997,8205,9792,65039],[128581,127997,8205,9794,65039],[128581,127998,8205,9792,65039],[128581,127998,8205,9794,65039],[128581,127999,8205,9792,65039],[128581,127999,8205,9794,65039],[128582,127995,8205,9792,65039],[128582,127995,8205,9794,65039],[128582,127996,8205,9792,65039],[128582,127996,8205,9794,65039],[128582,127997,8205,9792,65039],[128582,127997,8205,9794,65039],[128582,127998,8205,9792,65039],[128582,127998,8205,9794,65039],[128582,127999,8205,9792,65039],[128582,127999,8205,9794,65039],[128583,127995,8205,9792,65039],[128583,127995,8205,9794,65039],[128583,127996,8205,9792,65039],[128583,127996,8205,9794,65039],[128583,127997,8205,9792,65039],[128583,127997,8205,9794,65039],[128583,127998,8205,9792,65039],[128583,127998,8205,9794,65039],[128583,127999,8205,9792,65039],[128583,127999,8205,9794,65039],[128587,127995,8205,9792,65039],[128587,127995,8205,9794,65039],[128587,127996,8205,9792,65039],[128587,127996,8205,9794,65039],[128587,127997,8205,9792,65039],[128587,127997,8205,9794,65039],[128587,127998,8205,9792,65039],[128587,127998,8205,9794,65039],[128587,127999,8205,9792,65039],[128587,127999,8205,9794,65039],[128589,127995,8205,9792,65039],[128589,127995,8205,9794,65039],[128589,127996,8205,9792,65039],[128589,127996,8205,9794,65039],[128589,127997,8205,9792,65039],[128589,127997,8205,9794,65039],[128589,127998,8205,9792,65039],[128589,127998,8205,9794,65039],[128589,127999,8205,9792,65039],[128589,127999,8205,9794,65039],[128590,127995,8205,9792,65039],[128590,127995,8205,9794,65039],[128590,127996,8205,9792,65039],[128590,127996,8205,9794,65039],[128590,127997,8205,9792,65039],[128590,127997,8205,9794,65039],[128590,127998,8205,9792,65039],[128590,127998,8205,9794,65039],[128590,127999,8205,9792,65039],[128590,127999,8205,9794,65039],[128675,127995,8205,9792,65039],[128675,127995,8205,9794,65039],[128675,127996,8205,9792,65039],[128675,127996,8205,9794,65039],[128675,127997,8205,9792,65039],[128675,127997,8205,9794,65039],[128675,127998,8205,9792,65039],[128675,127998,8205,9794,65039],[128675,127999,8205,9792,65039],[128675,127999,8205,9794,65039],[128692,127995,8205,9792,65039],[128692,127995,8205,9794,65039],[128692,127996,8205,9792,65039],[128692,127996,8205,9794,65039],[128692,127997,8205,9792,65039],[128692,127997,8205,9794,65039],[128692,127998,8205,9792,65039],[128692,127998,8205,9794,65039],[128692,127999,8205,9792,65039],[128692,127999,8205,9794,65039],[128693,127995,8205,9792,65039],[128693,127995,8205,9794,65039],[128693,127996,8205,9792,65039],[128693,127996,8205,9794,65039],[128693,127997,8205,9792,65039],[128693,127997,8205,9794,65039],[128693,127998,8205,9792,65039],[128693,127998,8205,9794,65039],[128693,127999,8205,9792,65039],[128693,127999,8205,9794,65039],[128694,127995,8205,9792,65039],[128694,127995,8205,9794,65039],[128694,127996,8205,9792,65039],[128694,127996,8205,9794,65039],[128694,127997,8205,9792,65039],[128694,127997,8205,9794,65039],[128694,127998,8205,9792,65039],[128694,127998,8205,9794,65039],[128694,127999,8205,9792,65039],[128694,127999,8205,9794,65039],[129318,127995,8205,9792,65039],[129318,127995,8205,9794,65039],[129318,127996,8205,9792,65039],[129318,127996,8205,9794,65039],[129318,127997,8205,9792,65039],[129318,127997,8205,9794,65039],[129318,127998,8205,9792,65039],[129318,127998,8205,9794,65039],[129318,127999,8205,9792,65039],[129318,127999,8205,9794,65039],[129333,127995,8205,9792,65039],[129333,127995,8205,9794,65039],[129333,127996,8205,9792,65039],[129333,127996,8205,9794,65039],[129333,127997,8205,9792,65039],[129333,127997,8205,9794,65039],[129333,127998,8205,9792,65039],[129333,127998,8205,9794,65039],[129333,127999,8205,9792,65039],[129333,127999,8205,9794,65039],[129335,127995,8205,9792,65039],[129335,127995,8205,9794,65039],[129335,127996,8205,9792,65039],[129335,127996,8205,9794,65039],[129335,127997,8205,9792,65039],[129335,127997,8205,9794,65039],[129335,127998,8205,9792,65039],[129335,127998,8205,9794,65039],[129335,127999,8205,9792,65039],[129335,127999,8205,9794,65039],[129336,127995,8205,9792,65039],[129336,127995,8205,9794,65039],[129336,127996,8205,9792,65039],[129336,127996,8205,9794,65039],[129336,127997,8205,9792,65039],[129336,127997,8205,9794,65039],[129336,127998,8205,9792,65039],[129336,127998,8205,9794,65039],[129336,127999,8205,9792,65039],[129336,127999,8205,9794,65039],[129337,127995,8205,9792,65039],[129337,127995,8205,9794,65039],[129337,127996,8205,9792,65039],[129337,127996,8205,9794,65039],[129337,127997,8205,9792,65039],[129337,127997,8205,9794,65039],[129337,127998,8205,9792,65039],[129337,127998,8205,9794,65039],[129337,127999,8205,9792,65039],[129337,127999,8205,9794,65039],[129341,127995,8205,9792,65039],[129341,127995,8205,9794,65039],[129341,127996,8205,9792,65039],[129341,127996,8205,9794,65039],[129341,127997,8205,9792,65039],[129341,127997,8205,9794,65039],[129341,127998,8205,9792,65039],[129341,127998,8205,9794,65039],[129341,127999,8205,9792,65039],[129341,127999,8205,9794,65039],[129342,127995,8205,9792,65039],[129342,127995,8205,9794,65039],[129342,127996,8205,9792,65039],[129342,127996,8205,9794,65039],[129342,127997,8205,9792,65039],[129342,127997,8205,9794,65039],[129342,127998,8205,9792,65039],[129342,127998,8205,9794,65039],[129342,127999,8205,9792,65039],[129342,127999,8205,9794,65039],[129464,127995,8205,9792,65039],[129464,127995,8205,9794,65039],[129464,127996,8205,9792,65039],[129464,127996,8205,9794,65039],[129464,127997,8205,9792,65039],[129464,127997,8205,9794,65039],[129464,127998,8205,9792,65039],[129464,127998,8205,9794,65039],[129464,127999,8205,9792,65039],[129464,127999,8205,9794,65039],[129465,127995,8205,9792,65039],[129465,127995,8205,9794,65039],[129465,127996,8205,9792,65039],[129465,127996,8205,9794,65039],[129465,127997,8205,9792,65039],[129465,127997,8205,9794,65039],[129465,127998,8205,9792,65039],[129465,127998,8205,9794,65039],[129465,127999,8205,9792,65039],[129465,127999,8205,9794,65039],[129485,127995,8205,9792,65039],[129485,127995,8205,9794,65039],[129485,127996,8205,9792,65039],[129485,127996,8205,9794,65039],[129485,127997,8205,9792,65039],[129485,127997,8205,9794,65039],[129485,127998,8205,9792,65039],[129485,127998,8205,9794,65039],[129485,127999,8205,9792,65039],[129485,127999,8205,9794,65039],[129486,127995,8205,9792,65039],[129486,127995,8205,9794,65039],[129486,127996,8205,9792,65039],[129486,127996,8205,9794,65039],[129486,127997,8205,9792,65039],[129486,127997,8205,9794,65039],[129486,127998,8205,9792,65039],[129486,127998,8205,9794,65039],[129486,127999,8205,9792,65039],[129486,127999,8205,9794,65039],[129487,127995,8205,9792,65039],[129487,127995,8205,9794,65039],[129487,127996,8205,9792,65039],[129487,127996,8205,9794,65039],[129487,127997,8205,9792,65039],[129487,127997,8205,9794,65039],[129487,127998,8205,9792,65039],[129487,127998,8205,9794,65039],[129487,127999,8205,9792,65039],[129487,127999,8205,9794,65039],[129489,8205,129309,8205,129489],[129489,127995,8205,9877,65039],[129489,127995,8205,9878,65039],[129489,127995,8205,9992,65039],[129489,127996,8205,9877,65039],[129489,127996,8205,9878,65039],[129489,127996,8205,9992,65039],[129489,127997,8205,9877,65039],[129489,127997,8205,9878,65039],[129489,127997,8205,9992,65039],[129489,127998,8205,9877,65039],[129489,127998,8205,9878,65039],[129489,127998,8205,9992,65039],[129489,127999,8205,9877,65039],[129489,127999,8205,9878,65039],[129489,127999,8205,9992,65039],[129492,127995,8205,9792,65039],[129492,127995,8205,9794,65039],[129492,127996,8205,9792,65039],[129492,127996,8205,9794,65039],[129492,127997,8205,9792,65039],[129492,127997,8205,9794,65039],[129492,127998,8205,9792,65039],[129492,127998,8205,9794,65039],[129492,127999,8205,9792,65039],[129492,127999,8205,9794,65039],[129494,127995,8205,9792,65039],[129494,127995,8205,9794,65039],[129494,127996,8205,9792,65039],[129494,127996,8205,9794,65039],[129494,127997,8205,9792,65039],[129494,127997,8205,9794,65039],[129494,127998,8205,9792,65039],[129494,127998,8205,9794,65039],[129494,127999,8205,9792,65039],[129494,127999,8205,9794,65039],[129495,127995,8205,9792,65039],[129495,127995,8205,9794,65039],[129495,127996,8205,9792,65039],[129495,127996,8205,9794,65039],[129495,127997,8205,9792,65039],[129495,127997,8205,9794,65039],[129495,127998,8205,9792,65039],[129495,127998,8205,9794,65039],[129495,127999,8205,9792,65039],[129495,127999,8205,9794,65039],[129496,127995,8205,9792,65039],[129496,127995,8205,9794,65039],[129496,127996,8205,9792,65039],[129496,127996,8205,9794,65039],[129496,127997,8205,9792,65039],[129496,127997,8205,9794,65039],[129496,127998,8205,9792,65039],[129496,127998,8205,9794,65039],[129496,127999,8205,9792,65039],[129496,127999,8205,9794,65039],[129497,127995,8205,9792,65039],[129497,127995,8205,9794,65039],[129497,127996,8205,9792,65039],[129497,127996,8205,9794,65039],[129497,127997,8205,9792,65039],[129497,127997,8205,9794,65039],[129497,127998,8205,9792,65039],[129497,127998,8205,9794,65039],[129497,127999,8205,9792,65039],[129497,127999,8205,9794,65039],[129498,127995,8205,9792,65039],[129498,127995,8205,9794,65039],[129498,127996,8205,9792,65039],[129498,127996,8205,9794,65039],[129498,127997,8205,9792,65039],[129498,127997,8205,9794,65039],[129498,127998,8205,9792,65039],[129498,127998,8205,9794,65039],[129498,127999,8205,9792,65039],[129498,127999,8205,9794,65039],[129499,127995,8205,9792,65039],[129499,127995,8205,9794,65039],[129499,127996,8205,9792,65039],[129499,127996,8205,9794,65039],[129499,127997,8205,9792,65039],[129499,127997,8205,9794,65039],[129499,127998,8205,9792,65039],[129499,127998,8205,9794,65039],[129499,127999,8205,9792,65039],[129499,127999,8205,9794,65039],[129500,127995,8205,9792,65039],[129500,127995,8205,9794,65039],[129500,127996,8205,9792,65039],[129500,127996,8205,9794,65039],[129500,127997,8205,9792,65039],[129500,127997,8205,9794,65039],[129500,127998,8205,9792,65039],[129500,127998,8205,9794,65039],[129500,127999,8205,9792,65039],[129500,127999,8205,9794,65039],[129501,127995,8205,9792,65039],[129501,127995,8205,9794,65039],[129501,127996,8205,9792,65039],[129501,127996,8205,9794,65039],[129501,127997,8205,9792,65039],[129501,127997,8205,9794,65039],[129501,127998,8205,9792,65039],[129501,127998,8205,9794,65039],[129501,127999,8205,9792,65039],[129501,127999,8205,9794,65039],[129777,127995,8205,129778,127996],[129777,127995,8205,129778,127997],[129777,127995,8205,129778,127998],[129777,127995,8205,129778,127999],[129777,127996,8205,129778,127995],[129777,127996,8205,129778,127997],[129777,127996,8205,129778,127998],[129777,127996,8205,129778,127999],[129777,127997,8205,129778,127995],[129777,127997,8205,129778,127996],[129777,127997,8205,129778,127998],[129777,127997,8205,129778,127999],[129777,127998,8205,129778,127995],[129777,127998,8205,129778,127996],[129777,127998,8205,129778,127997],[129777,127998,8205,129778,127999],[129777,127999,8205,129778,127995],[129777,127999,8205,129778,127996],[129777,127999,8205,129778,127997],[129777,127999,8205,129778,127998],[128104,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128105],[128104,8205,128104,8205,128102,8205,128102],[128104,8205,128104,8205,128103,8205,128102],[128104,8205,128104,8205,128103,8205,128103],[128104,8205,128105,8205,128102,8205,128102],[128104,8205,128105,8205,128103,8205,128102],[128104,8205,128105,8205,128103,8205,128103],[128104,127995,8205,129309,8205,128104,127996],[128104,127995,8205,129309,8205,128104,127997],[128104,127995,8205,129309,8205,128104,127998],[128104,127995,8205,129309,8205,128104,127999],[128104,127996,8205,129309,8205,128104,127995],[128104,127996,8205,129309,8205,128104,127997],[128104,127996,8205,129309,8205,128104,127998],[128104,127996,8205,129309,8205,128104,127999],[128104,127997,8205,129309,8205,128104,127995],[128104,127997,8205,129309,8205,128104,127996],[128104,127997,8205,129309,8205,128104,127998],[128104,127997,8205,129309,8205,128104,127999],[128104,127998,8205,129309,8205,128104,127995],[128104,127998,8205,129309,8205,128104,127996],[128104,127998,8205,129309,8205,128104,127997],[128104,127998,8205,129309,8205,128104,127999],[128104,127999,8205,129309,8205,128104,127995],[128104,127999,8205,129309,8205,128104,127996],[128104,127999,8205,129309,8205,128104,127997],[128104,127999,8205,129309,8205,128104,127998],[128105,8205,128105,8205,128102,8205,128102],[128105,8205,128105,8205,128103,8205,128102],[128105,8205,128105,8205,128103,8205,128103],[128105,127995,8205,129309,8205,128104,127996],[128105,127995,8205,129309,8205,128104,127997],[128105,127995,8205,129309,8205,128104,127998],[128105,127995,8205,129309,8205,128104,127999],[128105,127995,8205,129309,8205,128105,127996],[128105,127995,8205,129309,8205,128105,127997],[128105,127995,8205,129309,8205,128105,127998],[128105,127995,8205,129309,8205,128105,127999],[128105,127996,8205,129309,8205,128104,127995],[128105,127996,8205,129309,8205,128104,127997],[128105,127996,8205,129309,8205,128104,127998],[128105,127996,8205,129309,8205,128104,127999],[128105,127996,8205,129309,8205,128105,127995],[128105,127996,8205,129309,8205,128105,127997],[128105,127996,8205,129309,8205,128105,127998],[128105,127996,8205,129309,8205,128105,127999],[128105,127997,8205,129309,8205,128104,127995],[128105,127997,8205,129309,8205,128104,127996],[128105,127997,8205,129309,8205,128104,127998],[128105,127997,8205,129309,8205,128104,127999],[128105,127997,8205,129309,8205,128105,127995],[128105,127997,8205,129309,8205,128105,127996],[128105,127997,8205,129309,8205,128105,127998],[128105,127997,8205,129309,8205,128105,127999],[128105,127998,8205,129309,8205,128104,127995],[128105,127998,8205,129309,8205,128104,127996],[128105,127998,8205,129309,8205,128104,127997],[128105,127998,8205,129309,8205,128104,127999],[128105,127998,8205,129309,8205,128105,127995],[128105,127998,8205,129309,8205,128105,127996],[128105,127998,8205,129309,8205,128105,127997],[128105,127998,8205,129309,8205,128105,127999],[128105,127999,8205,129309,8205,128104,127995],[128105,127999,8205,129309,8205,128104,127996],[128105,127999,8205,129309,8205,128104,127997],[128105,127999,8205,129309,8205,128104,127998],[128105,127999,8205,129309,8205,128105,127995],[128105,127999,8205,129309,8205,128105,127996],[128105,127999,8205,129309,8205,128105,127997],[128105,127999,8205,129309,8205,128105,127998],[129489,127995,8205,129309,8205,129489,127995],[129489,127995,8205,129309,8205,129489,127996],[129489,127995,8205,129309,8205,129489,127997],[129489,127995,8205,129309,8205,129489,127998],[129489,127995,8205,129309,8205,129489,127999],[129489,127996,8205,129309,8205,129489,127995],[129489,127996,8205,129309,8205,129489,127996],[129489,127996,8205,129309,8205,129489,127997],[129489,127996,8205,129309,8205,129489,127998],[129489,127996,8205,129309,8205,129489,127999],[129489,127997,8205,129309,8205,129489,127995],[129489,127997,8205,129309,8205,129489,127996],[129489,127997,8205,129309,8205,129489,127997],[129489,127997,8205,129309,8205,129489,127998],[129489,127997,8205,129309,8205,129489,127999],[129489,127998,8205,129309,8205,129489,127995],[129489,127998,8205,129309,8205,129489,127996],[129489,127998,8205,129309,8205,129489,127997],[129489,127998,8205,129309,8205,129489,127998],[129489,127998,8205,129309,8205,129489,127999],[129489,127999,8205,129309,8205,129489,127995],[129489,127999,8205,129309,8205,129489,127996],[129489,127999,8205,129309,8205,129489,127997],[129489,127999,8205,129309,8205,129489,127998],[129489,127999,8205,129309,8205,129489,127999],[128104,8205,10084,65039,8205,128139,8205,128104],[128104,127995,8205,10084,65039,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128104,127999],[128105,8205,10084,65039,8205,128139,8205,128104],[128105,8205,10084,65039,8205,128139,8205,128105],[128105,127995,8205,10084,65039,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128105,127999],[129489,127995,8205,10084,65039,8205,129489,127996],[129489,127995,8205,10084,65039,8205,129489,127997],[129489,127995,8205,10084,65039,8205,129489,127998],[129489,127995,8205,10084,65039,8205,129489,127999],[129489,127996,8205,10084,65039,8205,129489,127995],[129489,127996,8205,10084,65039,8205,129489,127997],[129489,127996,8205,10084,65039,8205,129489,127998],[129489,127996,8205,10084,65039,8205,129489,127999],[129489,127997,8205,10084,65039,8205,129489,127995],[129489,127997,8205,10084,65039,8205,129489,127996],[129489,127997,8205,10084,65039,8205,129489,127998],[129489,127997,8205,10084,65039,8205,129489,127999],[129489,127998,8205,10084,65039,8205,129489,127995],[129489,127998,8205,10084,65039,8205,129489,127996],[129489,127998,8205,10084,65039,8205,129489,127997],[129489,127998,8205,10084,65039,8205,129489,127999],[129489,127999,8205,10084,65039,8205,129489,127995],[129489,127999,8205,10084,65039,8205,129489,127996],[129489,127999,8205,10084,65039,8205,129489,127997],[129489,127999,8205,10084,65039,8205,129489,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127999],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127998]]"),Tl=JSON.parse("[[8986],[8987],[9193],[9194],[9195],[9196],[9200],[9203],[9725],[9726],[9748],[9749],[9800],[9801],[9802],[9803],[9804],[9805],[9806],[9807],[9808],[9809],[9810],[9811],[9855],[9875],[9889],[9898],[9899],[9917],[9918],[9924],[9925],[9934],[9940],[9962],[9970],[9971],[9973],[9978],[9981],[9989],[9994],[9995],[10024],[10060],[10062],[10067],[10068],[10069],[10071],[10133],[10134],[10135],[10160],[10175],[11035],[11036],[11088],[11093],[126980],[127183],[127374],[127377],[127378],[127379],[127380],[127381],[127382],[127383],[127384],[127385],[127386],[127489],[127514],[127535],[127538],[127539],[127540],[127541],[127542],[127544],[127545],[127546],[127568],[127569],[127744],[127745],[127746],[127747],[127748],[127749],[127750],[127751],[127752],[127753],[127754],[127755],[127756],[127757],[127758],[127759],[127760],[127761],[127762],[127763],[127764],[127765],[127766],[127767],[127768],[127769],[127770],[127771],[127772],[127773],[127774],[127775],[127776],[127789],[127790],[127791],[127792],[127793],[127794],[127795],[127796],[127797],[127799],[127800],[127801],[127802],[127803],[127804],[127805],[127806],[127807],[127808],[127809],[127810],[127811],[127812],[127813],[127814],[127815],[127816],[127817],[127818],[127819],[127820],[127821],[127822],[127823],[127824],[127825],[127826],[127827],[127828],[127829],[127830],[127831],[127832],[127833],[127834],[127835],[127836],[127837],[127838],[127839],[127840],[127841],[127842],[127843],[127844],[127845],[127846],[127847],[127848],[127849],[127850],[127851],[127852],[127853],[127854],[127855],[127856],[127857],[127858],[127859],[127860],[127861],[127862],[127863],[127864],[127865],[127866],[127867],[127868],[127870],[127871],[127872],[127873],[127874],[127875],[127876],[127877],[127878],[127879],[127880],[127881],[127882],[127883],[127884],[127885],[127886],[127887],[127888],[127889],[127890],[127891],[127904],[127905],[127906],[127907],[127908],[127909],[127910],[127911],[127912],[127913],[127914],[127915],[127916],[127917],[127918],[127919],[127920],[127921],[127922],[127923],[127924],[127925],[127926],[127927],[127928],[127929],[127930],[127931],[127932],[127933],[127934],[127935],[127936],[127937],[127938],[127939],[127940],[127941],[127942],[127943],[127944],[127945],[127946],[127951],[127952],[127953],[127954],[127955],[127968],[127969],[127970],[127971],[127972],[127973],[127974],[127975],[127976],[127977],[127978],[127979],[127980],[127981],[127982],[127983],[127984],[127988],[127992],[127993],[127994],[127995],[127996],[127997],[127998],[127999],[128000],[128001],[128002],[128003],[128004],[128005],[128006],[128007],[128008],[128009],[128010],[128011],[128012],[128013],[128014],[128015],[128016],[128017],[128018],[128019],[128020],[128021],[128022],[128023],[128024],[128025],[128026],[128027],[128028],[128029],[128030],[128031],[128032],[128033],[128034],[128035],[128036],[128037],[128038],[128039],[128040],[128041],[128042],[128043],[128044],[128045],[128046],[128047],[128048],[128049],[128050],[128051],[128052],[128053],[128054],[128055],[128056],[128057],[128058],[128059],[128060],[128061],[128062],[128064],[128066],[128067],[128068],[128069],[128070],[128071],[128072],[128073],[128074],[128075],[128076],[128077],[128078],[128079],[128080],[128081],[128082],[128083],[128084],[128085],[128086],[128087],[128088],[128089],[128090],[128091],[128092],[128093],[128094],[128095],[128096],[128097],[128098],[128099],[128100],[128101],[128102],[128103],[128104],[128105],[128106],[128107],[128108],[128109],[128110],[128111],[128112],[128113],[128114],[128115],[128116],[128117],[128118],[128119],[128120],[128121],[128122],[128123],[128124],[128125],[128126],[128127],[128128],[128129],[128130],[128131],[128132],[128133],[128134],[128135],[128136],[128137],[128138],[128139],[128140],[128141],[128142],[128143],[128144],[128145],[128146],[128147],[128148],[128149],[128150],[128151],[128152],[128153],[128154],[128155],[128156],[128157],[128158],[128159],[128160],[128161],[128162],[128163],[128164],[128165],[128166],[128167],[128168],[128169],[128170],[128171],[128172],[128173],[128174],[128175],[128176],[128177],[128178],[128179],[128180],[128181],[128182],[128183],[128184],[128185],[128186],[128187],[128188],[128189],[128190],[128191],[128192],[128193],[128194],[128195],[128196],[128197],[128198],[128199],[128200],[128201],[128202],[128203],[128204],[128205],[128206],[128207],[128208],[128209],[128210],[128211],[128212],[128213],[128214],[128215],[128216],[128217],[128218],[128219],[128220],[128221],[128222],[128223],[128224],[128225],[128226],[128227],[128228],[128229],[128230],[128231],[128232],[128233],[128234],[128235],[128236],[128237],[128238],[128239],[128240],[128241],[128242],[128243],[128244],[128245],[128246],[128247],[128248],[128249],[128250],[128251],[128252],[128255],[128256],[128257],[128258],[128259],[128260],[128261],[128262],[128263],[128264],[128265],[128266],[128267],[128268],[128269],[128270],[128271],[128272],[128273],[128274],[128275],[128276],[128277],[128278],[128279],[128280],[128281],[128282],[128283],[128284],[128285],[128286],[128287],[128288],[128289],[128290],[128291],[128292],[128293],[128294],[128295],[128296],[128297],[128298],[128299],[128300],[128301],[128302],[128303],[128304],[128305],[128306],[128307],[128308],[128309],[128310],[128311],[128312],[128313],[128314],[128315],[128316],[128317],[128331],[128332],[128333],[128334],[128336],[128337],[128338],[128339],[128340],[128341],[128342],[128343],[128344],[128345],[128346],[128347],[128348],[128349],[128350],[128351],[128352],[128353],[128354],[128355],[128356],[128357],[128358],[128359],[128378],[128405],[128406],[128420],[128507],[128508],[128509],[128510],[128511],[128512],[128513],[128514],[128515],[128516],[128517],[128518],[128519],[128520],[128521],[128522],[128523],[128524],[128525],[128526],[128527],[128528],[128529],[128530],[128531],[128532],[128533],[128534],[128535],[128536],[128537],[128538],[128539],[128540],[128541],[128542],[128543],[128544],[128545],[128546],[128547],[128548],[128549],[128550],[128551],[128552],[128553],[128554],[128555],[128556],[128557],[128558],[128559],[128560],[128561],[128562],[128563],[128564],[128565],[128566],[128567],[128568],[128569],[128570],[128571],[128572],[128573],[128574],[128575],[128576],[128577],[128578],[128579],[128580],[128581],[128582],[128583],[128584],[128585],[128586],[128587],[128588],[128589],[128590],[128591],[128640],[128641],[128642],[128643],[128644],[128645],[128646],[128647],[128648],[128649],[128650],[128651],[128652],[128653],[128654],[128655],[128656],[128657],[128658],[128659],[128660],[128661],[128662],[128663],[128664],[128665],[128666],[128667],[128668],[128669],[128670],[128671],[128672],[128673],[128674],[128675],[128676],[128677],[128678],[128679],[128680],[128681],[128682],[128683],[128684],[128685],[128686],[128687],[128688],[128689],[128690],[128691],[128692],[128693],[128694],[128695],[128696],[128697],[128698],[128699],[128700],[128701],[128702],[128703],[128704],[128705],[128706],[128707],[128708],[128709],[128716],[128720],[128721],[128722],[128725],[128726],[128727],[128732],[128733],[128734],[128735],[128747],[128748],[128756],[128757],[128758],[128759],[128760],[128761],[128762],[128763],[128764],[128992],[128993],[128994],[128995],[128996],[128997],[128998],[128999],[129000],[129001],[129002],[129003],[129008],[129292],[129293],[129294],[129295],[129296],[129297],[129298],[129299],[129300],[129301],[129302],[129303],[129304],[129305],[129306],[129307],[129308],[129309],[129310],[129311],[129312],[129313],[129314],[129315],[129316],[129317],[129318],[129319],[129320],[129321],[129322],[129323],[129324],[129325],[129326],[129327],[129328],[129329],[129330],[129331],[129332],[129333],[129334],[129335],[129336],[129337],[129338],[129340],[129341],[129342],[129343],[129344],[129345],[129346],[129347],[129348],[129349],[129351],[129352],[129353],[129354],[129355],[129356],[129357],[129358],[129359],[129360],[129361],[129362],[129363],[129364],[129365],[129366],[129367],[129368],[129369],[129370],[129371],[129372],[129373],[129374],[129375],[129376],[129377],[129378],[129379],[129380],[129381],[129382],[129383],[129384],[129385],[129386],[129387],[129388],[129389],[129390],[129391],[129392],[129393],[129394],[129395],[129396],[129397],[129398],[129399],[129400],[129401],[129402],[129403],[129404],[129405],[129406],[129407],[129408],[129409],[129410],[129411],[129412],[129413],[129414],[129415],[129416],[129417],[129418],[129419],[129420],[129421],[129422],[129423],[129424],[129425],[129426],[129427],[129428],[129429],[129430],[129431],[129432],[129433],[129434],[129435],[129436],[129437],[129438],[129439],[129440],[129441],[129442],[129443],[129444],[129445],[129446],[129447],[129448],[129449],[129450],[129451],[129452],[129453],[129454],[129455],[129456],[129457],[129458],[129459],[129460],[129461],[129462],[129463],[129464],[129465],[129466],[129467],[129468],[129469],[129470],[129471],[129472],[129473],[129474],[129475],[129476],[129477],[129478],[129479],[129480],[129481],[129482],[129483],[129484],[129485],[129486],[129487],[129488],[129489],[129490],[129491],[129492],[129493],[129494],[129495],[129496],[129497],[129498],[129499],[129500],[129501],[129502],[129503],[129504],[129505],[129506],[129507],[129508],[129509],[129510],[129511],[129512],[129513],[129514],[129515],[129516],[129517],[129518],[129519],[129520],[129521],[129522],[129523],[129524],[129525],[129526],[129527],[129528],[129529],[129530],[129531],[129532],[129533],[129534],[129535],[129648],[129649],[129650],[129651],[129652],[129653],[129654],[129655],[129656],[129657],[129658],[129659],[129660],[129664],[129665],[129666],[129667],[129668],[129669],[129670],[129671],[129672],[129680],[129681],[129682],[129683],[129684],[129685],[129686],[129687],[129688],[129689],[129690],[129691],[129692],[129693],[129694],[129695],[129696],[129697],[129698],[129699],[129700],[129701],[129702],[129703],[129704],[129705],[129706],[129707],[129708],[129709],[129710],[129711],[129712],[129713],[129714],[129715],[129716],[129717],[129718],[129719],[129720],[129721],[129722],[129723],[129724],[129725],[129727],[129728],[129729],[129730],[129731],[129732],[129733],[129742],[129743],[129744],[129745],[129746],[129747],[129748],[129749],[129750],[129751],[129752],[129753],[129754],[129755],[129760],[129761],[129762],[129763],[129764],[129765],[129766],[129767],[129768],[129776],[129777],[129778],[129779],[129780],[129781],[129782],[129783],[129784],[169,65039],[174,65039],[8252,65039],[8265,65039],[8482,65039],[8505,65039],[8596,65039],[8597,65039],[8598,65039],[8599,65039],[8600,65039],[8601,65039],[8617,65039],[8618,65039],[9000,65039],[9167,65039],[9197,65039],[9198,65039],[9199,65039],[9201,65039],[9202,65039],[9208,65039],[9209,65039],[9210,65039],[9410,65039],[9642,65039],[9643,65039],[9654,65039],[9664,65039],[9723,65039],[9724,65039],[9728,65039],[9729,65039],[9730,65039],[9731,65039],[9732,65039],[9742,65039],[9745,65039],[9752,65039],[9757,65039],[9757,127995],[9757,127996],[9757,127997],[9757,127998],[9757,127999],[9760,65039],[9762,65039],[9763,65039],[9766,65039],[9770,65039],[9774,65039],[9775,65039],[9784,65039],[9785,65039],[9786,65039],[9792,65039],[9794,65039],[9823,65039],[9824,65039],[9827,65039],[9829,65039],[9830,65039],[9832,65039],[9851,65039],[9854,65039],[9874,65039],[9876,65039],[9877,65039],[9878,65039],[9879,65039],[9881,65039],[9883,65039],[9884,65039],[9888,65039],[9895,65039],[9904,65039],[9905,65039],[9928,65039],[9935,65039],[9937,65039],[9939,65039],[9961,65039],[9968,65039],[9969,65039],[9972,65039],[9975,65039],[9976,65039],[9977,65039],[9977,127995],[9977,127996],[9977,127997],[9977,127998],[9977,127999],[9986,65039],[9992,65039],[9993,65039],[9994,127995],[9994,127996],[9994,127997],[9994,127998],[9994,127999],[9995,127995],[9995,127996],[9995,127997],[9995,127998],[9995,127999],[9996,65039],[9996,127995],[9996,127996],[9996,127997],[9996,127998],[9996,127999],[9997,65039],[9997,127995],[9997,127996],[9997,127997],[9997,127998],[9997,127999],[9999,65039],[10002,65039],[10004,65039],[10006,65039],[10013,65039],[10017,65039],[10035,65039],[10036,65039],[10052,65039],[10055,65039],[10083,65039],[10084,65039],[10145,65039],[10548,65039],[10549,65039],[11013,65039],[11014,65039],[11015,65039],[12336,65039],[12349,65039],[12951,65039],[12953,65039],[127344,65039],[127345,65039],[127358,65039],[127359,65039],[127462,127464],[127462,127465],[127462,127466],[127462,127467],[127462,127468],[127462,127470],[127462,127473],[127462,127474],[127462,127476],[127462,127478],[127462,127479],[127462,127480],[127462,127481],[127462,127482],[127462,127484],[127462,127485],[127462,127487],[127463,127462],[127463,127463],[127463,127465],[127463,127466],[127463,127467],[127463,127468],[127463,127469],[127463,127470],[127463,127471],[127463,127473],[127463,127474],[127463,127475],[127463,127476],[127463,127478],[127463,127479],[127463,127480],[127463,127481],[127463,127483],[127463,127484],[127463,127486],[127463,127487],[127464,127462],[127464,127464],[127464,127465],[127464,127467],[127464,127468],[127464,127469],[127464,127470],[127464,127472],[127464,127473],[127464,127474],[127464,127475],[127464,127476],[127464,127477],[127464,127479],[127464,127482],[127464,127483],[127464,127484],[127464,127485],[127464,127486],[127464,127487],[127465,127466],[127465,127468],[127465,127471],[127465,127472],[127465,127474],[127465,127476],[127465,127487],[127466,127462],[127466,127464],[127466,127466],[127466,127468],[127466,127469],[127466,127479],[127466,127480],[127466,127481],[127466,127482],[127467,127470],[127467,127471],[127467,127472],[127467,127474],[127467,127476],[127467,127479],[127468,127462],[127468,127463],[127468,127465],[127468,127466],[127468,127467],[127468,127468],[127468,127469],[127468,127470],[127468,127473],[127468,127474],[127468,127475],[127468,127477],[127468,127478],[127468,127479],[127468,127480],[127468,127481],[127468,127482],[127468,127484],[127468,127486],[127469,127472],[127469,127474],[127469,127475],[127469,127479],[127469,127481],[127469,127482],[127470,127464],[127470,127465],[127470,127466],[127470,127473],[127470,127474],[127470,127475],[127470,127476],[127470,127478],[127470,127479],[127470,127480],[127470,127481],[127471,127466],[127471,127474],[127471,127476],[127471,127477],[127472,127466],[127472,127468],[127472,127469],[127472,127470],[127472,127474],[127472,127475],[127472,127477],[127472,127479],[127472,127484],[127472,127486],[127472,127487],[127473,127462],[127473,127463],[127473,127464],[127473,127470],[127473,127472],[127473,127479],[127473,127480],[127473,127481],[127473,127482],[127473,127483],[127473,127486],[127474,127462],[127474,127464],[127474,127465],[127474,127466],[127474,127467],[127474,127468],[127474,127469],[127474,127472],[127474,127473],[127474,127474],[127474,127475],[127474,127476],[127474,127477],[127474,127478],[127474,127479],[127474,127480],[127474,127481],[127474,127482],[127474,127483],[127474,127484],[127474,127485],[127474,127486],[127474,127487],[127475,127462],[127475,127464],[127475,127466],[127475,127467],[127475,127468],[127475,127470],[127475,127473],[127475,127476],[127475,127477],[127475,127479],[127475,127482],[127475,127487],[127476,127474],[127477,127462],[127477,127466],[127477,127467],[127477,127468],[127477,127469],[127477,127472],[127477,127473],[127477,127474],[127477,127475],[127477,127479],[127477,127480],[127477,127481],[127477,127484],[127477,127486],[127478,127462],[127479,127466],[127479,127476],[127479,127480],[127479,127482],[127479,127484],[127480,127462],[127480,127463],[127480,127464],[127480,127465],[127480,127466],[127480,127468],[127480,127469],[127480,127470],[127480,127471],[127480,127472],[127480,127473],[127480,127474],[127480,127475],[127480,127476],[127480,127479],[127480,127480],[127480,127481],[127480,127483],[127480,127485],[127480,127486],[127480,127487],[127481,127462],[127481,127464],[127481,127465],[127481,127467],[127481,127468],[127481,127469],[127481,127471],[127481,127472],[127481,127473],[127481,127474],[127481,127475],[127481,127476],[127481,127479],[127481,127481],[127481,127483],[127481,127484],[127481,127487],[127482,127462],[127482,127468],[127482,127474],[127482,127475],[127482,127480],[127482,127486],[127482,127487],[127483,127462],[127483,127464],[127483,127466],[127483,127468],[127483,127470],[127483,127475],[127483,127482],[127484,127467],[127484,127480],[127485,127472],[127486,127466],[127486,127481],[127487,127462],[127487,127474],[127487,127484],[127490,65039],[127543,65039],[127777,65039],[127780,65039],[127781,65039],[127782,65039],[127783,65039],[127784,65039],[127785,65039],[127786,65039],[127787,65039],[127788,65039],[127798,65039],[127869,65039],[127877,127995],[127877,127996],[127877,127997],[127877,127998],[127877,127999],[127894,65039],[127895,65039],[127897,65039],[127898,65039],[127899,65039],[127902,65039],[127903,65039],[127938,127995],[127938,127996],[127938,127997],[127938,127998],[127938,127999],[127939,127995],[127939,127996],[127939,127997],[127939,127998],[127939,127999],[127940,127995],[127940,127996],[127940,127997],[127940,127998],[127940,127999],[127943,127995],[127943,127996],[127943,127997],[127943,127998],[127943,127999],[127946,127995],[127946,127996],[127946,127997],[127946,127998],[127946,127999],[127947,65039],[127947,127995],[127947,127996],[127947,127997],[127947,127998],[127947,127999],[127948,65039],[127948,127995],[127948,127996],[127948,127997],[127948,127998],[127948,127999],[127949,65039],[127950,65039],[127956,65039],[127957,65039],[127958,65039],[127959,65039],[127960,65039],[127961,65039],[127962,65039],[127963,65039],[127964,65039],[127965,65039],[127966,65039],[127967,65039],[127987,65039],[127989,65039],[127991,65039],[128063,65039],[128065,65039],[128066,127995],[128066,127996],[128066,127997],[128066,127998],[128066,127999],[128067,127995],[128067,127996],[128067,127997],[128067,127998],[128067,127999],[128070,127995],[128070,127996],[128070,127997],[128070,127998],[128070,127999],[128071,127995],[128071,127996],[128071,127997],[128071,127998],[128071,127999],[128072,127995],[128072,127996],[128072,127997],[128072,127998],[128072,127999],[128073,127995],[128073,127996],[128073,127997],[128073,127998],[128073,127999],[128074,127995],[128074,127996],[128074,127997],[128074,127998],[128074,127999],[128075,127995],[128075,127996],[128075,127997],[128075,127998],[128075,127999],[128076,127995],[128076,127996],[128076,127997],[128076,127998],[128076,127999],[128077,127995],[128077,127996],[128077,127997],[128077,127998],[128077,127999],[128078,127995],[128078,127996],[128078,127997],[128078,127998],[128078,127999],[128079,127995],[128079,127996],[128079,127997],[128079,127998],[128079,127999],[128080,127995],[128080,127996],[128080,127997],[128080,127998],[128080,127999],[128102,127995],[128102,127996],[128102,127997],[128102,127998],[128102,127999],[128103,127995],[128103,127996],[128103,127997],[128103,127998],[128103,127999],[128104,127995],[128104,127996],[128104,127997],[128104,127998],[128104,127999],[128105,127995],[128105,127996],[128105,127997],[128105,127998],[128105,127999],[128107,127995],[128107,127996],[128107,127997],[128107,127998],[128107,127999],[128108,127995],[128108,127996],[128108,127997],[128108,127998],[128108,127999],[128109,127995],[128109,127996],[128109,127997],[128109,127998],[128109,127999],[128110,127995],[128110,127996],[128110,127997],[128110,127998],[128110,127999],[128112,127995],[128112,127996],[128112,127997],[128112,127998],[128112,127999],[128113,127995],[128113,127996],[128113,127997],[128113,127998],[128113,127999],[128114,127995],[128114,127996],[128114,127997],[128114,127998],[128114,127999],[128115,127995],[128115,127996],[128115,127997],[128115,127998],[128115,127999],[128116,127995],[128116,127996],[128116,127997],[128116,127998],[128116,127999],[128117,127995],[128117,127996],[128117,127997],[128117,127998],[128117,127999],[128118,127995],[128118,127996],[128118,127997],[128118,127998],[128118,127999],[128119,127995],[128119,127996],[128119,127997],[128119,127998],[128119,127999],[128120,127995],[128120,127996],[128120,127997],[128120,127998],[128120,127999],[128124,127995],[128124,127996],[128124,127997],[128124,127998],[128124,127999],[128129,127995],[128129,127996],[128129,127997],[128129,127998],[128129,127999],[128130,127995],[128130,127996],[128130,127997],[128130,127998],[128130,127999],[128131,127995],[128131,127996],[128131,127997],[128131,127998],[128131,127999],[128133,127995],[128133,127996],[128133,127997],[128133,127998],[128133,127999],[128134,127995],[128134,127996],[128134,127997],[128134,127998],[128134,127999],[128135,127995],[128135,127996],[128135,127997],[128135,127998],[128135,127999],[128143,127995],[128143,127996],[128143,127997],[128143,127998],[128143,127999],[128145,127995],[128145,127996],[128145,127997],[128145,127998],[128145,127999],[128170,127995],[128170,127996],[128170,127997],[128170,127998],[128170,127999],[128253,65039],[128329,65039],[128330,65039],[128367,65039],[128368,65039],[128371,65039],[128372,65039],[128372,127995],[128372,127996],[128372,127997],[128372,127998],[128372,127999],[128373,65039],[128373,127995],[128373,127996],[128373,127997],[128373,127998],[128373,127999],[128374,65039],[128375,65039],[128376,65039],[128377,65039],[128378,127995],[128378,127996],[128378,127997],[128378,127998],[128378,127999],[128391,65039],[128394,65039],[128395,65039],[128396,65039],[128397,65039],[128400,65039],[128400,127995],[128400,127996],[128400,127997],[128400,127998],[128400,127999],[128405,127995],[128405,127996],[128405,127997],[128405,127998],[128405,127999],[128406,127995],[128406,127996],[128406,127997],[128406,127998],[128406,127999],[128421,65039],[128424,65039],[128433,65039],[128434,65039],[128444,65039],[128450,65039],[128451,65039],[128452,65039],[128465,65039],[128466,65039],[128467,65039],[128476,65039],[128477,65039],[128478,65039],[128481,65039],[128483,65039],[128488,65039],[128495,65039],[128499,65039],[128506,65039],[128581,127995],[128581,127996],[128581,127997],[128581,127998],[128581,127999],[128582,127995],[128582,127996],[128582,127997],[128582,127998],[128582,127999],[128583,127995],[128583,127996],[128583,127997],[128583,127998],[128583,127999],[128587,127995],[128587,127996],[128587,127997],[128587,127998],[128587,127999],[128588,127995],[128588,127996],[128588,127997],[128588,127998],[128588,127999],[128589,127995],[128589,127996],[128589,127997],[128589,127998],[128589,127999],[128590,127995],[128590,127996],[128590,127997],[128590,127998],[128590,127999],[128591,127995],[128591,127996],[128591,127997],[128591,127998],[128591,127999],[128675,127995],[128675,127996],[128675,127997],[128675,127998],[128675,127999],[128692,127995],[128692,127996],[128692,127997],[128692,127998],[128692,127999],[128693,127995],[128693,127996],[128693,127997],[128693,127998],[128693,127999],[128694,127995],[128694,127996],[128694,127997],[128694,127998],[128694,127999],[128704,127995],[128704,127996],[128704,127997],[128704,127998],[128704,127999],[128715,65039],[128716,127995],[128716,127996],[128716,127997],[128716,127998],[128716,127999],[128717,65039],[128718,65039],[128719,65039],[128736,65039],[128737,65039],[128738,65039],[128739,65039],[128740,65039],[128741,65039],[128745,65039],[128752,65039],[128755,65039],[129292,127995],[129292,127996],[129292,127997],[129292,127998],[129292,127999],[129295,127995],[129295,127996],[129295,127997],[129295,127998],[129295,127999],[129304,127995],[129304,127996],[129304,127997],[129304,127998],[129304,127999],[129305,127995],[129305,127996],[129305,127997],[129305,127998],[129305,127999],[129306,127995],[129306,127996],[129306,127997],[129306,127998],[129306,127999],[129307,127995],[129307,127996],[129307,127997],[129307,127998],[129307,127999],[129308,127995],[129308,127996],[129308,127997],[129308,127998],[129308,127999],[129309,127995],[129309,127996],[129309,127997],[129309,127998],[129309,127999],[129310,127995],[129310,127996],[129310,127997],[129310,127998],[129310,127999],[129311,127995],[129311,127996],[129311,127997],[129311,127998],[129311,127999],[129318,127995],[129318,127996],[129318,127997],[129318,127998],[129318,127999],[129328,127995],[129328,127996],[129328,127997],[129328,127998],[129328,127999],[129329,127995],[129329,127996],[129329,127997],[129329,127998],[129329,127999],[129330,127995],[129330,127996],[129330,127997],[129330,127998],[129330,127999],[129331,127995],[129331,127996],[129331,127997],[129331,127998],[129331,127999],[129332,127995],[129332,127996],[129332,127997],[129332,127998],[129332,127999],[129333,127995],[129333,127996],[129333,127997],[129333,127998],[129333,127999],[129334,127995],[129334,127996],[129334,127997],[129334,127998],[129334,127999],[129335,127995],[129335,127996],[129335,127997],[129335,127998],[129335,127999],[129336,127995],[129336,127996],[129336,127997],[129336,127998],[129336,127999],[129337,127995],[129337,127996],[129337,127997],[129337,127998],[129337,127999],[129341,127995],[129341,127996],[129341,127997],[129341,127998],[129341,127999],[129342,127995],[129342,127996],[129342,127997],[129342,127998],[129342,127999],[129399,127995],[129399,127996],[129399,127997],[129399,127998],[129399,127999],[129461,127995],[129461,127996],[129461,127997],[129461,127998],[129461,127999],[129462,127995],[129462,127996],[129462,127997],[129462,127998],[129462,127999],[129464,127995],[129464,127996],[129464,127997],[129464,127998],[129464,127999],[129465,127995],[129465,127996],[129465,127997],[129465,127998],[129465,127999],[129467,127995],[129467,127996],[129467,127997],[129467,127998],[129467,127999],[129485,127995],[129485,127996],[129485,127997],[129485,127998],[129485,127999],[129486,127995],[129486,127996],[129486,127997],[129486,127998],[129486,127999],[129487,127995],[129487,127996],[129487,127997],[129487,127998],[129487,127999],[129489,127995],[129489,127996],[129489,127997],[129489,127998],[129489,127999],[129490,127995],[129490,127996],[129490,127997],[129490,127998],[129490,127999],[129491,127995],[129491,127996],[129491,127997],[129491,127998],[129491,127999],[129492,127995],[129492,127996],[129492,127997],[129492,127998],[129492,127999],[129493,127995],[129493,127996],[129493,127997],[129493,127998],[129493,127999],[129494,127995],[129494,127996],[129494,127997],[129494,127998],[129494,127999],[129495,127995],[129495,127996],[129495,127997],[129495,127998],[129495,127999],[129496,127995],[129496,127996],[129496,127997],[129496,127998],[129496,127999],[129497,127995],[129497,127996],[129497,127997],[129497,127998],[129497,127999],[129498,127995],[129498,127996],[129498,127997],[129498,127998],[129498,127999],[129499,127995],[129499,127996],[129499,127997],[129499,127998],[129499,127999],[129500,127995],[129500,127996],[129500,127997],[129500,127998],[129500,127999],[129501,127995],[129501,127996],[129501,127997],[129501,127998],[129501,127999],[129731,127995],[129731,127996],[129731,127997],[129731,127998],[129731,127999],[129732,127995],[129732,127996],[129732,127997],[129732,127998],[129732,127999],[129733,127995],[129733,127996],[129733,127997],[129733,127998],[129733,127999],[129776,127995],[129776,127996],[129776,127997],[129776,127998],[129776,127999],[129777,127995],[129777,127996],[129777,127997],[129777,127998],[129777,127999],[129778,127995],[129778,127996],[129778,127997],[129778,127998],[129778,127999],[129779,127995],[129779,127996],[129779,127997],[129779,127998],[129779,127999],[129780,127995],[129780,127996],[129780,127997],[129780,127998],[129780,127999],[129781,127995],[129781,127996],[129781,127997],[129781,127998],[129781,127999],[129782,127995],[129782,127996],[129782,127997],[129782,127998],[129782,127999],[129783,127995],[129783,127996],[129783,127997],[129783,127998],[129783,127999],[129784,127995],[129784,127996],[129784,127997],[129784,127998],[129784,127999],[35,65039,8419],[42,65039,8419],[48,65039,8419],[49,65039,8419],[50,65039,8419],[51,65039,8419],[52,65039,8419],[53,65039,8419],[54,65039,8419],[55,65039,8419],[56,65039,8419],[57,65039,8419],[128008,8205,11035],[128021,8205,129466],[128038,8205,11035],[128104,8205,127806],[128104,8205,127859],[128104,8205,127868],[128104,8205,127891],[128104,8205,127908],[128104,8205,127912],[128104,8205,127979],[128104,8205,127981],[128104,8205,128102],[128104,8205,128103],[128104,8205,128187],[128104,8205,128188],[128104,8205,128295],[128104,8205,128300],[128104,8205,128640],[128104,8205,128658],[128104,8205,129455],[128104,8205,129456],[128104,8205,129457],[128104,8205,129458],[128104,8205,129459],[128104,8205,129468],[128104,8205,129469],[128105,8205,127806],[128105,8205,127859],[128105,8205,127868],[128105,8205,127891],[128105,8205,127908],[128105,8205,127912],[128105,8205,127979],[128105,8205,127981],[128105,8205,128102],[128105,8205,128103],[128105,8205,128187],[128105,8205,128188],[128105,8205,128295],[128105,8205,128300],[128105,8205,128640],[128105,8205,128658],[128105,8205,129455],[128105,8205,129456],[128105,8205,129457],[128105,8205,129458],[128105,8205,129459],[128105,8205,129468],[128105,8205,129469],[128558,8205,128168],[128565,8205,128171],[129489,8205,127806],[129489,8205,127859],[129489,8205,127868],[129489,8205,127876],[129489,8205,127891],[129489,8205,127908],[129489,8205,127912],[129489,8205,127979],[129489,8205,127981],[129489,8205,128187],[129489,8205,128188],[129489,8205,128295],[129489,8205,128300],[129489,8205,128640],[129489,8205,128658],[129489,8205,129455],[129489,8205,129456],[129489,8205,129457],[129489,8205,129458],[129489,8205,129459],[129489,8205,129468],[129489,8205,129469],[10084,65039,8205,128293],[10084,65039,8205,129657],[127939,8205,9792,65039],[127939,8205,9794,65039],[127940,8205,9792,65039],[127940,8205,9794,65039],[127946,8205,9792,65039],[127946,8205,9794,65039],[127987,65039,8205,127752],[127988,8205,9760,65039],[128059,8205,10052,65039],[128104,8205,9877,65039],[128104,8205,9878,65039],[128104,8205,9992,65039],[128104,127995,8205,127806],[128104,127995,8205,127859],[128104,127995,8205,127868],[128104,127995,8205,127891],[128104,127995,8205,127908],[128104,127995,8205,127912],[128104,127995,8205,127979],[128104,127995,8205,127981],[128104,127995,8205,128187],[128104,127995,8205,128188],[128104,127995,8205,128295],[128104,127995,8205,128300],[128104,127995,8205,128640],[128104,127995,8205,128658],[128104,127995,8205,129455],[128104,127995,8205,129456],[128104,127995,8205,129457],[128104,127995,8205,129458],[128104,127995,8205,129459],[128104,127995,8205,129468],[128104,127995,8205,129469],[128104,127996,8205,127806],[128104,127996,8205,127859],[128104,127996,8205,127868],[128104,127996,8205,127891],[128104,127996,8205,127908],[128104,127996,8205,127912],[128104,127996,8205,127979],[128104,127996,8205,127981],[128104,127996,8205,128187],[128104,127996,8205,128188],[128104,127996,8205,128295],[128104,127996,8205,128300],[128104,127996,8205,128640],[128104,127996,8205,128658],[128104,127996,8205,129455],[128104,127996,8205,129456],[128104,127996,8205,129457],[128104,127996,8205,129458],[128104,127996,8205,129459],[128104,127996,8205,129468],[128104,127996,8205,129469],[128104,127997,8205,127806],[128104,127997,8205,127859],[128104,127997,8205,127868],[128104,127997,8205,127891],[128104,127997,8205,127908],[128104,127997,8205,127912],[128104,127997,8205,127979],[128104,127997,8205,127981],[128104,127997,8205,128187],[128104,127997,8205,128188],[128104,127997,8205,128295],[128104,127997,8205,128300],[128104,127997,8205,128640],[128104,127997,8205,128658],[128104,127997,8205,129455],[128104,127997,8205,129456],[128104,127997,8205,129457],[128104,127997,8205,129458],[128104,127997,8205,129459],[128104,127997,8205,129468],[128104,127997,8205,129469],[128104,127998,8205,127806],[128104,127998,8205,127859],[128104,127998,8205,127868],[128104,127998,8205,127891],[128104,127998,8205,127908],[128104,127998,8205,127912],[128104,127998,8205,127979],[128104,127998,8205,127981],[128104,127998,8205,128187],[128104,127998,8205,128188],[128104,127998,8205,128295],[128104,127998,8205,128300],[128104,127998,8205,128640],[128104,127998,8205,128658],[128104,127998,8205,129455],[128104,127998,8205,129456],[128104,127998,8205,129457],[128104,127998,8205,129458],[128104,127998,8205,129459],[128104,127998,8205,129468],[128104,127998,8205,129469],[128104,127999,8205,127806],[128104,127999,8205,127859],[128104,127999,8205,127868],[128104,127999,8205,127891],[128104,127999,8205,127908],[128104,127999,8205,127912],[128104,127999,8205,127979],[128104,127999,8205,127981],[128104,127999,8205,128187],[128104,127999,8205,128188],[128104,127999,8205,128295],[128104,127999,8205,128300],[128104,127999,8205,128640],[128104,127999,8205,128658],[128104,127999,8205,129455],[128104,127999,8205,129456],[128104,127999,8205,129457],[128104,127999,8205,129458],[128104,127999,8205,129459],[128104,127999,8205,129468],[128104,127999,8205,129469],[128105,8205,9877,65039],[128105,8205,9878,65039],[128105,8205,9992,65039],[128105,127995,8205,127806],[128105,127995,8205,127859],[128105,127995,8205,127868],[128105,127995,8205,127891],[128105,127995,8205,127908],[128105,127995,8205,127912],[128105,127995,8205,127979],[128105,127995,8205,127981],[128105,127995,8205,128187],[128105,127995,8205,128188],[128105,127995,8205,128295],[128105,127995,8205,128300],[128105,127995,8205,128640],[128105,127995,8205,128658],[128105,127995,8205,129455],[128105,127995,8205,129456],[128105,127995,8205,129457],[128105,127995,8205,129458],[128105,127995,8205,129459],[128105,127995,8205,129468],[128105,127995,8205,129469],[128105,127996,8205,127806],[128105,127996,8205,127859],[128105,127996,8205,127868],[128105,127996,8205,127891],[128105,127996,8205,127908],[128105,127996,8205,127912],[128105,127996,8205,127979],[128105,127996,8205,127981],[128105,127996,8205,128187],[128105,127996,8205,128188],[128105,127996,8205,128295],[128105,127996,8205,128300],[128105,127996,8205,128640],[128105,127996,8205,128658],[128105,127996,8205,129455],[128105,127996,8205,129456],[128105,127996,8205,129457],[128105,127996,8205,129458],[128105,127996,8205,129459],[128105,127996,8205,129468],[128105,127996,8205,129469],[128105,127997,8205,127806],[128105,127997,8205,127859],[128105,127997,8205,127868],[128105,127997,8205,127891],[128105,127997,8205,127908],[128105,127997,8205,127912],[128105,127997,8205,127979],[128105,127997,8205,127981],[128105,127997,8205,128187],[128105,127997,8205,128188],[128105,127997,8205,128295],[128105,127997,8205,128300],[128105,127997,8205,128640],[128105,127997,8205,128658],[128105,127997,8205,129455],[128105,127997,8205,129456],[128105,127997,8205,129457],[128105,127997,8205,129458],[128105,127997,8205,129459],[128105,127997,8205,129468],[128105,127997,8205,129469],[128105,127998,8205,127806],[128105,127998,8205,127859],[128105,127998,8205,127868],[128105,127998,8205,127891],[128105,127998,8205,127908],[128105,127998,8205,127912],[128105,127998,8205,127979],[128105,127998,8205,127981],[128105,127998,8205,128187],[128105,127998,8205,128188],[128105,127998,8205,128295],[128105,127998,8205,128300],[128105,127998,8205,128640],[128105,127998,8205,128658],[128105,127998,8205,129455],[128105,127998,8205,129456],[128105,127998,8205,129457],[128105,127998,8205,129458],[128105,127998,8205,129459],[128105,127998,8205,129468],[128105,127998,8205,129469],[128105,127999,8205,127806],[128105,127999,8205,127859],[128105,127999,8205,127868],[128105,127999,8205,127891],[128105,127999,8205,127908],[128105,127999,8205,127912],[128105,127999,8205,127979],[128105,127999,8205,127981],[128105,127999,8205,128187],[128105,127999,8205,128188],[128105,127999,8205,128295],[128105,127999,8205,128300],[128105,127999,8205,128640],[128105,127999,8205,128658],[128105,127999,8205,129455],[128105,127999,8205,129456],[128105,127999,8205,129457],[128105,127999,8205,129458],[128105,127999,8205,129459],[128105,127999,8205,129468],[128105,127999,8205,129469],[128110,8205,9792,65039],[128110,8205,9794,65039],[128111,8205,9792,65039],[128111,8205,9794,65039],[128112,8205,9792,65039],[128112,8205,9794,65039],[128113,8205,9792,65039],[128113,8205,9794,65039],[128115,8205,9792,65039],[128115,8205,9794,65039],[128119,8205,9792,65039],[128119,8205,9794,65039],[128129,8205,9792,65039],[128129,8205,9794,65039],[128130,8205,9792,65039],[128130,8205,9794,65039],[128134,8205,9792,65039],[128134,8205,9794,65039],[128135,8205,9792,65039],[128135,8205,9794,65039],[128566,8205,127787,65039],[128581,8205,9792,65039],[128581,8205,9794,65039],[128582,8205,9792,65039],[128582,8205,9794,65039],[128583,8205,9792,65039],[128583,8205,9794,65039],[128587,8205,9792,65039],[128587,8205,9794,65039],[128589,8205,9792,65039],[128589,8205,9794,65039],[128590,8205,9792,65039],[128590,8205,9794,65039],[128675,8205,9792,65039],[128675,8205,9794,65039],[128692,8205,9792,65039],[128692,8205,9794,65039],[128693,8205,9792,65039],[128693,8205,9794,65039],[128694,8205,9792,65039],[128694,8205,9794,65039],[129318,8205,9792,65039],[129318,8205,9794,65039],[129333,8205,9792,65039],[129333,8205,9794,65039],[129335,8205,9792,65039],[129335,8205,9794,65039],[129336,8205,9792,65039],[129336,8205,9794,65039],[129337,8205,9792,65039],[129337,8205,9794,65039],[129340,8205,9792,65039],[129340,8205,9794,65039],[129341,8205,9792,65039],[129341,8205,9794,65039],[129342,8205,9792,65039],[129342,8205,9794,65039],[129464,8205,9792,65039],[129464,8205,9794,65039],[129465,8205,9792,65039],[129465,8205,9794,65039],[129485,8205,9792,65039],[129485,8205,9794,65039],[129486,8205,9792,65039],[129486,8205,9794,65039],[129487,8205,9792,65039],[129487,8205,9794,65039],[129489,8205,9877,65039],[129489,8205,9878,65039],[129489,8205,9992,65039],[129489,127995,8205,127806],[129489,127995,8205,127859],[129489,127995,8205,127868],[129489,127995,8205,127876],[129489,127995,8205,127891],[129489,127995,8205,127908],[129489,127995,8205,127912],[129489,127995,8205,127979],[129489,127995,8205,127981],[129489,127995,8205,128187],[129489,127995,8205,128188],[129489,127995,8205,128295],[129489,127995,8205,128300],[129489,127995,8205,128640],[129489,127995,8205,128658],[129489,127995,8205,129455],[129489,127995,8205,129456],[129489,127995,8205,129457],[129489,127995,8205,129458],[129489,127995,8205,129459],[129489,127995,8205,129468],[129489,127995,8205,129469],[129489,127996,8205,127806],[129489,127996,8205,127859],[129489,127996,8205,127868],[129489,127996,8205,127876],[129489,127996,8205,127891],[129489,127996,8205,127908],[129489,127996,8205,127912],[129489,127996,8205,127979],[129489,127996,8205,127981],[129489,127996,8205,128187],[129489,127996,8205,128188],[129489,127996,8205,128295],[129489,127996,8205,128300],[129489,127996,8205,128640],[129489,127996,8205,128658],[129489,127996,8205,129455],[129489,127996,8205,129456],[129489,127996,8205,129457],[129489,127996,8205,129458],[129489,127996,8205,129459],[129489,127996,8205,129468],[129489,127996,8205,129469],[129489,127997,8205,127806],[129489,127997,8205,127859],[129489,127997,8205,127868],[129489,127997,8205,127876],[129489,127997,8205,127891],[129489,127997,8205,127908],[129489,127997,8205,127912],[129489,127997,8205,127979],[129489,127997,8205,127981],[129489,127997,8205,128187],[129489,127997,8205,128188],[129489,127997,8205,128295],[129489,127997,8205,128300],[129489,127997,8205,128640],[129489,127997,8205,128658],[129489,127997,8205,129455],[129489,127997,8205,129456],[129489,127997,8205,129457],[129489,127997,8205,129458],[129489,127997,8205,129459],[129489,127997,8205,129468],[129489,127997,8205,129469],[129489,127998,8205,127806],[129489,127998,8205,127859],[129489,127998,8205,127868],[129489,127998,8205,127876],[129489,127998,8205,127891],[129489,127998,8205,127908],[129489,127998,8205,127912],[129489,127998,8205,127979],[129489,127998,8205,127981],[129489,127998,8205,128187],[129489,127998,8205,128188],[129489,127998,8205,128295],[129489,127998,8205,128300],[129489,127998,8205,128640],[129489,127998,8205,128658],[129489,127998,8205,129455],[129489,127998,8205,129456],[129489,127998,8205,129457],[129489,127998,8205,129458],[129489,127998,8205,129459],[129489,127998,8205,129468],[129489,127998,8205,129469],[129489,127999,8205,127806],[129489,127999,8205,127859],[129489,127999,8205,127868],[129489,127999,8205,127876],[129489,127999,8205,127891],[129489,127999,8205,127908],[129489,127999,8205,127912],[129489,127999,8205,127979],[129489,127999,8205,127981],[129489,127999,8205,128187],[129489,127999,8205,128188],[129489,127999,8205,128295],[129489,127999,8205,128300],[129489,127999,8205,128640],[129489,127999,8205,128658],[129489,127999,8205,129455],[129489,127999,8205,129456],[129489,127999,8205,129457],[129489,127999,8205,129458],[129489,127999,8205,129459],[129489,127999,8205,129468],[129489,127999,8205,129469],[129492,8205,9792,65039],[129492,8205,9794,65039],[129494,8205,9792,65039],[129494,8205,9794,65039],[129495,8205,9792,65039],[129495,8205,9794,65039],[129496,8205,9792,65039],[129496,8205,9794,65039],[129497,8205,9792,65039],[129497,8205,9794,65039],[129498,8205,9792,65039],[129498,8205,9794,65039],[129499,8205,9792,65039],[129499,8205,9794,65039],[129500,8205,9792,65039],[129500,8205,9794,65039],[129501,8205,9792,65039],[129501,8205,9794,65039],[129502,8205,9792,65039],[129502,8205,9794,65039],[129503,8205,9792,65039],[129503,8205,9794,65039],[9977,65039,8205,9792,65039],[9977,65039,8205,9794,65039],[9977,127995,8205,9792,65039],[9977,127995,8205,9794,65039],[9977,127996,8205,9792,65039],[9977,127996,8205,9794,65039],[9977,127997,8205,9792,65039],[9977,127997,8205,9794,65039],[9977,127998,8205,9792,65039],[9977,127998,8205,9794,65039],[9977,127999,8205,9792,65039],[9977,127999,8205,9794,65039],[127939,127995,8205,9792,65039],[127939,127995,8205,9794,65039],[127939,127996,8205,9792,65039],[127939,127996,8205,9794,65039],[127939,127997,8205,9792,65039],[127939,127997,8205,9794,65039],[127939,127998,8205,9792,65039],[127939,127998,8205,9794,65039],[127939,127999,8205,9792,65039],[127939,127999,8205,9794,65039],[127940,127995,8205,9792,65039],[127940,127995,8205,9794,65039],[127940,127996,8205,9792,65039],[127940,127996,8205,9794,65039],[127940,127997,8205,9792,65039],[127940,127997,8205,9794,65039],[127940,127998,8205,9792,65039],[127940,127998,8205,9794,65039],[127940,127999,8205,9792,65039],[127940,127999,8205,9794,65039],[127946,127995,8205,9792,65039],[127946,127995,8205,9794,65039],[127946,127996,8205,9792,65039],[127946,127996,8205,9794,65039],[127946,127997,8205,9792,65039],[127946,127997,8205,9794,65039],[127946,127998,8205,9792,65039],[127946,127998,8205,9794,65039],[127946,127999,8205,9792,65039],[127946,127999,8205,9794,65039],[127947,65039,8205,9792,65039],[127947,65039,8205,9794,65039],[127947,127995,8205,9792,65039],[127947,127995,8205,9794,65039],[127947,127996,8205,9792,65039],[127947,127996,8205,9794,65039],[127947,127997,8205,9792,65039],[127947,127997,8205,9794,65039],[127947,127998,8205,9792,65039],[127947,127998,8205,9794,65039],[127947,127999,8205,9792,65039],[127947,127999,8205,9794,65039],[127948,65039,8205,9792,65039],[127948,65039,8205,9794,65039],[127948,127995,8205,9792,65039],[127948,127995,8205,9794,65039],[127948,127996,8205,9792,65039],[127948,127996,8205,9794,65039],[127948,127997,8205,9792,65039],[127948,127997,8205,9794,65039],[127948,127998,8205,9792,65039],[127948,127998,8205,9794,65039],[127948,127999,8205,9792,65039],[127948,127999,8205,9794,65039],[127987,65039,8205,9895,65039],[128065,65039,8205,128488,65039],[128104,8205,128102,8205,128102],[128104,8205,128103,8205,128102],[128104,8205,128103,8205,128103],[128104,8205,128104,8205,128102],[128104,8205,128104,8205,128103],[128104,8205,128105,8205,128102],[128104,8205,128105,8205,128103],[128104,127995,8205,9877,65039],[128104,127995,8205,9878,65039],[128104,127995,8205,9992,65039],[128104,127996,8205,9877,65039],[128104,127996,8205,9878,65039],[128104,127996,8205,9992,65039],[128104,127997,8205,9877,65039],[128104,127997,8205,9878,65039],[128104,127997,8205,9992,65039],[128104,127998,8205,9877,65039],[128104,127998,8205,9878,65039],[128104,127998,8205,9992,65039],[128104,127999,8205,9877,65039],[128104,127999,8205,9878,65039],[128104,127999,8205,9992,65039],[128105,8205,128102,8205,128102],[128105,8205,128103,8205,128102],[128105,8205,128103,8205,128103],[128105,8205,128105,8205,128102],[128105,8205,128105,8205,128103],[128105,127995,8205,9877,65039],[128105,127995,8205,9878,65039],[128105,127995,8205,9992,65039],[128105,127996,8205,9877,65039],[128105,127996,8205,9878,65039],[128105,127996,8205,9992,65039],[128105,127997,8205,9877,65039],[128105,127997,8205,9878,65039],[128105,127997,8205,9992,65039],[128105,127998,8205,9877,65039],[128105,127998,8205,9878,65039],[128105,127998,8205,9992,65039],[128105,127999,8205,9877,65039],[128105,127999,8205,9878,65039],[128105,127999,8205,9992,65039],[128110,127995,8205,9792,65039],[128110,127995,8205,9794,65039],[128110,127996,8205,9792,65039],[128110,127996,8205,9794,65039],[128110,127997,8205,9792,65039],[128110,127997,8205,9794,65039],[128110,127998,8205,9792,65039],[128110,127998,8205,9794,65039],[128110,127999,8205,9792,65039],[128110,127999,8205,9794,65039],[128112,127995,8205,9792,65039],[128112,127995,8205,9794,65039],[128112,127996,8205,9792,65039],[128112,127996,8205,9794,65039],[128112,127997,8205,9792,65039],[128112,127997,8205,9794,65039],[128112,127998,8205,9792,65039],[128112,127998,8205,9794,65039],[128112,127999,8205,9792,65039],[128112,127999,8205,9794,65039],[128113,127995,8205,9792,65039],[128113,127995,8205,9794,65039],[128113,127996,8205,9792,65039],[128113,127996,8205,9794,65039],[128113,127997,8205,9792,65039],[128113,127997,8205,9794,65039],[128113,127998,8205,9792,65039],[128113,127998,8205,9794,65039],[128113,127999,8205,9792,65039],[128113,127999,8205,9794,65039],[128115,127995,8205,9792,65039],[128115,127995,8205,9794,65039],[128115,127996,8205,9792,65039],[128115,127996,8205,9794,65039],[128115,127997,8205,9792,65039],[128115,127997,8205,9794,65039],[128115,127998,8205,9792,65039],[128115,127998,8205,9794,65039],[128115,127999,8205,9792,65039],[128115,127999,8205,9794,65039],[128119,127995,8205,9792,65039],[128119,127995,8205,9794,65039],[128119,127996,8205,9792,65039],[128119,127996,8205,9794,65039],[128119,127997,8205,9792,65039],[128119,127997,8205,9794,65039],[128119,127998,8205,9792,65039],[128119,127998,8205,9794,65039],[128119,127999,8205,9792,65039],[128119,127999,8205,9794,65039],[128129,127995,8205,9792,65039],[128129,127995,8205,9794,65039],[128129,127996,8205,9792,65039],[128129,127996,8205,9794,65039],[128129,127997,8205,9792,65039],[128129,127997,8205,9794,65039],[128129,127998,8205,9792,65039],[128129,127998,8205,9794,65039],[128129,127999,8205,9792,65039],[128129,127999,8205,9794,65039],[128130,127995,8205,9792,65039],[128130,127995,8205,9794,65039],[128130,127996,8205,9792,65039],[128130,127996,8205,9794,65039],[128130,127997,8205,9792,65039],[128130,127997,8205,9794,65039],[128130,127998,8205,9792,65039],[128130,127998,8205,9794,65039],[128130,127999,8205,9792,65039],[128130,127999,8205,9794,65039],[128134,127995,8205,9792,65039],[128134,127995,8205,9794,65039],[128134,127996,8205,9792,65039],[128134,127996,8205,9794,65039],[128134,127997,8205,9792,65039],[128134,127997,8205,9794,65039],[128134,127998,8205,9792,65039],[128134,127998,8205,9794,65039],[128134,127999,8205,9792,65039],[128134,127999,8205,9794,65039],[128135,127995,8205,9792,65039],[128135,127995,8205,9794,65039],[128135,127996,8205,9792,65039],[128135,127996,8205,9794,65039],[128135,127997,8205,9792,65039],[128135,127997,8205,9794,65039],[128135,127998,8205,9792,65039],[128135,127998,8205,9794,65039],[128135,127999,8205,9792,65039],[128135,127999,8205,9794,65039],[128373,65039,8205,9792,65039],[128373,65039,8205,9794,65039],[128373,127995,8205,9792,65039],[128373,127995,8205,9794,65039],[128373,127996,8205,9792,65039],[128373,127996,8205,9794,65039],[128373,127997,8205,9792,65039],[128373,127997,8205,9794,65039],[128373,127998,8205,9792,65039],[128373,127998,8205,9794,65039],[128373,127999,8205,9792,65039],[128373,127999,8205,9794,65039],[128581,127995,8205,9792,65039],[128581,127995,8205,9794,65039],[128581,127996,8205,9792,65039],[128581,127996,8205,9794,65039],[128581,127997,8205,9792,65039],[128581,127997,8205,9794,65039],[128581,127998,8205,9792,65039],[128581,127998,8205,9794,65039],[128581,127999,8205,9792,65039],[128581,127999,8205,9794,65039],[128582,127995,8205,9792,65039],[128582,127995,8205,9794,65039],[128582,127996,8205,9792,65039],[128582,127996,8205,9794,65039],[128582,127997,8205,9792,65039],[128582,127997,8205,9794,65039],[128582,127998,8205,9792,65039],[128582,127998,8205,9794,65039],[128582,127999,8205,9792,65039],[128582,127999,8205,9794,65039],[128583,127995,8205,9792,65039],[128583,127995,8205,9794,65039],[128583,127996,8205,9792,65039],[128583,127996,8205,9794,65039],[128583,127997,8205,9792,65039],[128583,127997,8205,9794,65039],[128583,127998,8205,9792,65039],[128583,127998,8205,9794,65039],[128583,127999,8205,9792,65039],[128583,127999,8205,9794,65039],[128587,127995,8205,9792,65039],[128587,127995,8205,9794,65039],[128587,127996,8205,9792,65039],[128587,127996,8205,9794,65039],[128587,127997,8205,9792,65039],[128587,127997,8205,9794,65039],[128587,127998,8205,9792,65039],[128587,127998,8205,9794,65039],[128587,127999,8205,9792,65039],[128587,127999,8205,9794,65039],[128589,127995,8205,9792,65039],[128589,127995,8205,9794,65039],[128589,127996,8205,9792,65039],[128589,127996,8205,9794,65039],[128589,127997,8205,9792,65039],[128589,127997,8205,9794,65039],[128589,127998,8205,9792,65039],[128589,127998,8205,9794,65039],[128589,127999,8205,9792,65039],[128589,127999,8205,9794,65039],[128590,127995,8205,9792,65039],[128590,127995,8205,9794,65039],[128590,127996,8205,9792,65039],[128590,127996,8205,9794,65039],[128590,127997,8205,9792,65039],[128590,127997,8205,9794,65039],[128590,127998,8205,9792,65039],[128590,127998,8205,9794,65039],[128590,127999,8205,9792,65039],[128590,127999,8205,9794,65039],[128675,127995,8205,9792,65039],[128675,127995,8205,9794,65039],[128675,127996,8205,9792,65039],[128675,127996,8205,9794,65039],[128675,127997,8205,9792,65039],[128675,127997,8205,9794,65039],[128675,127998,8205,9792,65039],[128675,127998,8205,9794,65039],[128675,127999,8205,9792,65039],[128675,127999,8205,9794,65039],[128692,127995,8205,9792,65039],[128692,127995,8205,9794,65039],[128692,127996,8205,9792,65039],[128692,127996,8205,9794,65039],[128692,127997,8205,9792,65039],[128692,127997,8205,9794,65039],[128692,127998,8205,9792,65039],[128692,127998,8205,9794,65039],[128692,127999,8205,9792,65039],[128692,127999,8205,9794,65039],[128693,127995,8205,9792,65039],[128693,127995,8205,9794,65039],[128693,127996,8205,9792,65039],[128693,127996,8205,9794,65039],[128693,127997,8205,9792,65039],[128693,127997,8205,9794,65039],[128693,127998,8205,9792,65039],[128693,127998,8205,9794,65039],[128693,127999,8205,9792,65039],[128693,127999,8205,9794,65039],[128694,127995,8205,9792,65039],[128694,127995,8205,9794,65039],[128694,127996,8205,9792,65039],[128694,127996,8205,9794,65039],[128694,127997,8205,9792,65039],[128694,127997,8205,9794,65039],[128694,127998,8205,9792,65039],[128694,127998,8205,9794,65039],[128694,127999,8205,9792,65039],[128694,127999,8205,9794,65039],[129318,127995,8205,9792,65039],[129318,127995,8205,9794,65039],[129318,127996,8205,9792,65039],[129318,127996,8205,9794,65039],[129318,127997,8205,9792,65039],[129318,127997,8205,9794,65039],[129318,127998,8205,9792,65039],[129318,127998,8205,9794,65039],[129318,127999,8205,9792,65039],[129318,127999,8205,9794,65039],[129333,127995,8205,9792,65039],[129333,127995,8205,9794,65039],[129333,127996,8205,9792,65039],[129333,127996,8205,9794,65039],[129333,127997,8205,9792,65039],[129333,127997,8205,9794,65039],[129333,127998,8205,9792,65039],[129333,127998,8205,9794,65039],[129333,127999,8205,9792,65039],[129333,127999,8205,9794,65039],[129335,127995,8205,9792,65039],[129335,127995,8205,9794,65039],[129335,127996,8205,9792,65039],[129335,127996,8205,9794,65039],[129335,127997,8205,9792,65039],[129335,127997,8205,9794,65039],[129335,127998,8205,9792,65039],[129335,127998,8205,9794,65039],[129335,127999,8205,9792,65039],[129335,127999,8205,9794,65039],[129336,127995,8205,9792,65039],[129336,127995,8205,9794,65039],[129336,127996,8205,9792,65039],[129336,127996,8205,9794,65039],[129336,127997,8205,9792,65039],[129336,127997,8205,9794,65039],[129336,127998,8205,9792,65039],[129336,127998,8205,9794,65039],[129336,127999,8205,9792,65039],[129336,127999,8205,9794,65039],[129337,127995,8205,9792,65039],[129337,127995,8205,9794,65039],[129337,127996,8205,9792,65039],[129337,127996,8205,9794,65039],[129337,127997,8205,9792,65039],[129337,127997,8205,9794,65039],[129337,127998,8205,9792,65039],[129337,127998,8205,9794,65039],[129337,127999,8205,9792,65039],[129337,127999,8205,9794,65039],[129341,127995,8205,9792,65039],[129341,127995,8205,9794,65039],[129341,127996,8205,9792,65039],[129341,127996,8205,9794,65039],[129341,127997,8205,9792,65039],[129341,127997,8205,9794,65039],[129341,127998,8205,9792,65039],[129341,127998,8205,9794,65039],[129341,127999,8205,9792,65039],[129341,127999,8205,9794,65039],[129342,127995,8205,9792,65039],[129342,127995,8205,9794,65039],[129342,127996,8205,9792,65039],[129342,127996,8205,9794,65039],[129342,127997,8205,9792,65039],[129342,127997,8205,9794,65039],[129342,127998,8205,9792,65039],[129342,127998,8205,9794,65039],[129342,127999,8205,9792,65039],[129342,127999,8205,9794,65039],[129464,127995,8205,9792,65039],[129464,127995,8205,9794,65039],[129464,127996,8205,9792,65039],[129464,127996,8205,9794,65039],[129464,127997,8205,9792,65039],[129464,127997,8205,9794,65039],[129464,127998,8205,9792,65039],[129464,127998,8205,9794,65039],[129464,127999,8205,9792,65039],[129464,127999,8205,9794,65039],[129465,127995,8205,9792,65039],[129465,127995,8205,9794,65039],[129465,127996,8205,9792,65039],[129465,127996,8205,9794,65039],[129465,127997,8205,9792,65039],[129465,127997,8205,9794,65039],[129465,127998,8205,9792,65039],[129465,127998,8205,9794,65039],[129465,127999,8205,9792,65039],[129465,127999,8205,9794,65039],[129485,127995,8205,9792,65039],[129485,127995,8205,9794,65039],[129485,127996,8205,9792,65039],[129485,127996,8205,9794,65039],[129485,127997,8205,9792,65039],[129485,127997,8205,9794,65039],[129485,127998,8205,9792,65039],[129485,127998,8205,9794,65039],[129485,127999,8205,9792,65039],[129485,127999,8205,9794,65039],[129486,127995,8205,9792,65039],[129486,127995,8205,9794,65039],[129486,127996,8205,9792,65039],[129486,127996,8205,9794,65039],[129486,127997,8205,9792,65039],[129486,127997,8205,9794,65039],[129486,127998,8205,9792,65039],[129486,127998,8205,9794,65039],[129486,127999,8205,9792,65039],[129486,127999,8205,9794,65039],[129487,127995,8205,9792,65039],[129487,127995,8205,9794,65039],[129487,127996,8205,9792,65039],[129487,127996,8205,9794,65039],[129487,127997,8205,9792,65039],[129487,127997,8205,9794,65039],[129487,127998,8205,9792,65039],[129487,127998,8205,9794,65039],[129487,127999,8205,9792,65039],[129487,127999,8205,9794,65039],[129489,8205,129309,8205,129489],[129489,127995,8205,9877,65039],[129489,127995,8205,9878,65039],[129489,127995,8205,9992,65039],[129489,127996,8205,9877,65039],[129489,127996,8205,9878,65039],[129489,127996,8205,9992,65039],[129489,127997,8205,9877,65039],[129489,127997,8205,9878,65039],[129489,127997,8205,9992,65039],[129489,127998,8205,9877,65039],[129489,127998,8205,9878,65039],[129489,127998,8205,9992,65039],[129489,127999,8205,9877,65039],[129489,127999,8205,9878,65039],[129489,127999,8205,9992,65039],[129492,127995,8205,9792,65039],[129492,127995,8205,9794,65039],[129492,127996,8205,9792,65039],[129492,127996,8205,9794,65039],[129492,127997,8205,9792,65039],[129492,127997,8205,9794,65039],[129492,127998,8205,9792,65039],[129492,127998,8205,9794,65039],[129492,127999,8205,9792,65039],[129492,127999,8205,9794,65039],[129494,127995,8205,9792,65039],[129494,127995,8205,9794,65039],[129494,127996,8205,9792,65039],[129494,127996,8205,9794,65039],[129494,127997,8205,9792,65039],[129494,127997,8205,9794,65039],[129494,127998,8205,9792,65039],[129494,127998,8205,9794,65039],[129494,127999,8205,9792,65039],[129494,127999,8205,9794,65039],[129495,127995,8205,9792,65039],[129495,127995,8205,9794,65039],[129495,127996,8205,9792,65039],[129495,127996,8205,9794,65039],[129495,127997,8205,9792,65039],[129495,127997,8205,9794,65039],[129495,127998,8205,9792,65039],[129495,127998,8205,9794,65039],[129495,127999,8205,9792,65039],[129495,127999,8205,9794,65039],[129496,127995,8205,9792,65039],[129496,127995,8205,9794,65039],[129496,127996,8205,9792,65039],[129496,127996,8205,9794,65039],[129496,127997,8205,9792,65039],[129496,127997,8205,9794,65039],[129496,127998,8205,9792,65039],[129496,127998,8205,9794,65039],[129496,127999,8205,9792,65039],[129496,127999,8205,9794,65039],[129497,127995,8205,9792,65039],[129497,127995,8205,9794,65039],[129497,127996,8205,9792,65039],[129497,127996,8205,9794,65039],[129497,127997,8205,9792,65039],[129497,127997,8205,9794,65039],[129497,127998,8205,9792,65039],[129497,127998,8205,9794,65039],[129497,127999,8205,9792,65039],[129497,127999,8205,9794,65039],[129498,127995,8205,9792,65039],[129498,127995,8205,9794,65039],[129498,127996,8205,9792,65039],[129498,127996,8205,9794,65039],[129498,127997,8205,9792,65039],[129498,127997,8205,9794,65039],[129498,127998,8205,9792,65039],[129498,127998,8205,9794,65039],[129498,127999,8205,9792,65039],[129498,127999,8205,9794,65039],[129499,127995,8205,9792,65039],[129499,127995,8205,9794,65039],[129499,127996,8205,9792,65039],[129499,127996,8205,9794,65039],[129499,127997,8205,9792,65039],[129499,127997,8205,9794,65039],[129499,127998,8205,9792,65039],[129499,127998,8205,9794,65039],[129499,127999,8205,9792,65039],[129499,127999,8205,9794,65039],[129500,127995,8205,9792,65039],[129500,127995,8205,9794,65039],[129500,127996,8205,9792,65039],[129500,127996,8205,9794,65039],[129500,127997,8205,9792,65039],[129500,127997,8205,9794,65039],[129500,127998,8205,9792,65039],[129500,127998,8205,9794,65039],[129500,127999,8205,9792,65039],[129500,127999,8205,9794,65039],[129501,127995,8205,9792,65039],[129501,127995,8205,9794,65039],[129501,127996,8205,9792,65039],[129501,127996,8205,9794,65039],[129501,127997,8205,9792,65039],[129501,127997,8205,9794,65039],[129501,127998,8205,9792,65039],[129501,127998,8205,9794,65039],[129501,127999,8205,9792,65039],[129501,127999,8205,9794,65039],[129777,127995,8205,129778,127996],[129777,127995,8205,129778,127997],[129777,127995,8205,129778,127998],[129777,127995,8205,129778,127999],[129777,127996,8205,129778,127995],[129777,127996,8205,129778,127997],[129777,127996,8205,129778,127998],[129777,127996,8205,129778,127999],[129777,127997,8205,129778,127995],[129777,127997,8205,129778,127996],[129777,127997,8205,129778,127998],[129777,127997,8205,129778,127999],[129777,127998,8205,129778,127995],[129777,127998,8205,129778,127996],[129777,127998,8205,129778,127997],[129777,127998,8205,129778,127999],[129777,127999,8205,129778,127995],[129777,127999,8205,129778,127996],[129777,127999,8205,129778,127997],[129777,127999,8205,129778,127998],[128104,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128105],[127988,917607,917602,917605,917614,917607,917631],[127988,917607,917602,917619,917603,917620,917631],[127988,917607,917602,917623,917612,917619,917631],[128104,8205,128104,8205,128102,8205,128102],[128104,8205,128104,8205,128103,8205,128102],[128104,8205,128104,8205,128103,8205,128103],[128104,8205,128105,8205,128102,8205,128102],[128104,8205,128105,8205,128103,8205,128102],[128104,8205,128105,8205,128103,8205,128103],[128104,127995,8205,129309,8205,128104,127996],[128104,127995,8205,129309,8205,128104,127997],[128104,127995,8205,129309,8205,128104,127998],[128104,127995,8205,129309,8205,128104,127999],[128104,127996,8205,129309,8205,128104,127995],[128104,127996,8205,129309,8205,128104,127997],[128104,127996,8205,129309,8205,128104,127998],[128104,127996,8205,129309,8205,128104,127999],[128104,127997,8205,129309,8205,128104,127995],[128104,127997,8205,129309,8205,128104,127996],[128104,127997,8205,129309,8205,128104,127998],[128104,127997,8205,129309,8205,128104,127999],[128104,127998,8205,129309,8205,128104,127995],[128104,127998,8205,129309,8205,128104,127996],[128104,127998,8205,129309,8205,128104,127997],[128104,127998,8205,129309,8205,128104,127999],[128104,127999,8205,129309,8205,128104,127995],[128104,127999,8205,129309,8205,128104,127996],[128104,127999,8205,129309,8205,128104,127997],[128104,127999,8205,129309,8205,128104,127998],[128105,8205,128105,8205,128102,8205,128102],[128105,8205,128105,8205,128103,8205,128102],[128105,8205,128105,8205,128103,8205,128103],[128105,127995,8205,129309,8205,128104,127996],[128105,127995,8205,129309,8205,128104,127997],[128105,127995,8205,129309,8205,128104,127998],[128105,127995,8205,129309,8205,128104,127999],[128105,127995,8205,129309,8205,128105,127996],[128105,127995,8205,129309,8205,128105,127997],[128105,127995,8205,129309,8205,128105,127998],[128105,127995,8205,129309,8205,128105,127999],[128105,127996,8205,129309,8205,128104,127995],[128105,127996,8205,129309,8205,128104,127997],[128105,127996,8205,129309,8205,128104,127998],[128105,127996,8205,129309,8205,128104,127999],[128105,127996,8205,129309,8205,128105,127995],[128105,127996,8205,129309,8205,128105,127997],[128105,127996,8205,129309,8205,128105,127998],[128105,127996,8205,129309,8205,128105,127999],[128105,127997,8205,129309,8205,128104,127995],[128105,127997,8205,129309,8205,128104,127996],[128105,127997,8205,129309,8205,128104,127998],[128105,127997,8205,129309,8205,128104,127999],[128105,127997,8205,129309,8205,128105,127995],[128105,127997,8205,129309,8205,128105,127996],[128105,127997,8205,129309,8205,128105,127998],[128105,127997,8205,129309,8205,128105,127999],[128105,127998,8205,129309,8205,128104,127995],[128105,127998,8205,129309,8205,128104,127996],[128105,127998,8205,129309,8205,128104,127997],[128105,127998,8205,129309,8205,128104,127999],[128105,127998,8205,129309,8205,128105,127995],[128105,127998,8205,129309,8205,128105,127996],[128105,127998,8205,129309,8205,128105,127997],[128105,127998,8205,129309,8205,128105,127999],[128105,127999,8205,129309,8205,128104,127995],[128105,127999,8205,129309,8205,128104,127996],[128105,127999,8205,129309,8205,128104,127997],[128105,127999,8205,129309,8205,128104,127998],[128105,127999,8205,129309,8205,128105,127995],[128105,127999,8205,129309,8205,128105,127996],[128105,127999,8205,129309,8205,128105,127997],[128105,127999,8205,129309,8205,128105,127998],[129489,127995,8205,129309,8205,129489,127995],[129489,127995,8205,129309,8205,129489,127996],[129489,127995,8205,129309,8205,129489,127997],[129489,127995,8205,129309,8205,129489,127998],[129489,127995,8205,129309,8205,129489,127999],[129489,127996,8205,129309,8205,129489,127995],[129489,127996,8205,129309,8205,129489,127996],[129489,127996,8205,129309,8205,129489,127997],[129489,127996,8205,129309,8205,129489,127998],[129489,127996,8205,129309,8205,129489,127999],[129489,127997,8205,129309,8205,129489,127995],[129489,127997,8205,129309,8205,129489,127996],[129489,127997,8205,129309,8205,129489,127997],[129489,127997,8205,129309,8205,129489,127998],[129489,127997,8205,129309,8205,129489,127999],[129489,127998,8205,129309,8205,129489,127995],[129489,127998,8205,129309,8205,129489,127996],[129489,127998,8205,129309,8205,129489,127997],[129489,127998,8205,129309,8205,129489,127998],[129489,127998,8205,129309,8205,129489,127999],[129489,127999,8205,129309,8205,129489,127995],[129489,127999,8205,129309,8205,129489,127996],[129489,127999,8205,129309,8205,129489,127997],[129489,127999,8205,129309,8205,129489,127998],[129489,127999,8205,129309,8205,129489,127999],[128104,8205,10084,65039,8205,128139,8205,128104],[128104,127995,8205,10084,65039,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128104,127999],[128105,8205,10084,65039,8205,128139,8205,128104],[128105,8205,10084,65039,8205,128139,8205,128105],[128105,127995,8205,10084,65039,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128105,127999],[129489,127995,8205,10084,65039,8205,129489,127996],[129489,127995,8205,10084,65039,8205,129489,127997],[129489,127995,8205,10084,65039,8205,129489,127998],[129489,127995,8205,10084,65039,8205,129489,127999],[129489,127996,8205,10084,65039,8205,129489,127995],[129489,127996,8205,10084,65039,8205,129489,127997],[129489,127996,8205,10084,65039,8205,129489,127998],[129489,127996,8205,10084,65039,8205,129489,127999],[129489,127997,8205,10084,65039,8205,129489,127995],[129489,127997,8205,10084,65039,8205,129489,127996],[129489,127997,8205,10084,65039,8205,129489,127998],[129489,127997,8205,10084,65039,8205,129489,127999],[129489,127998,8205,10084,65039,8205,129489,127995],[129489,127998,8205,10084,65039,8205,129489,127996],[129489,127998,8205,10084,65039,8205,129489,127997],[129489,127998,8205,10084,65039,8205,129489,127999],[129489,127999,8205,10084,65039,8205,129489,127995],[129489,127999,8205,10084,65039,8205,129489,127996],[129489,127999,8205,10084,65039,8205,129489,127997],[129489,127999,8205,10084,65039,8205,129489,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127999],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127998]]"),Al=Object.freeze({__proto__:null,Basic_Emoji:_l,Emoji_Keycap_Sequence:Sl,RGI_Emoji_Modifier_Sequence:wl,RGI_Emoji_Flag_Sequence:El,RGI_Emoji_Tag_Sequence:bl,RGI_Emoji_ZWJ_Sequence:kl,RGI_Emoji:Tl}),Il=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":442},{"min":444,"max":447},{"min":452,"max":659},{"min":661,"max":687},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1376,"max":1416},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7424,"max":7467},{"min":7531,"max":7543},{"min":7545,"max":7578},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8579,"max":8580},{"min":11264,"max":11387},{"min":11390,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42863},{"min":42865,"max":42887},{"min":42891,"max":42894},{"min":42896,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42997,"max":42998},{"min":43002,"max":43002},{"min":43824,"max":43866},{"min":43872,"max":43880},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":125184,"max":125251}]'),Pl=JSON.parse('[{"min":41,"max":41},{"min":93,"max":93},{"min":125,"max":125},{"min":3899,"max":3899},{"min":3901,"max":3901},{"min":5788,"max":5788},{"min":8262,"max":8262},{"min":8318,"max":8318},{"min":8334,"max":8334},{"min":8969,"max":8969},{"min":8971,"max":8971},{"min":9002,"max":9002},{"min":10089,"max":10089},{"min":10091,"max":10091},{"min":10093,"max":10093},{"min":10095,"max":10095},{"min":10097,"max":10097},{"min":10099,"max":10099},{"min":10101,"max":10101},{"min":10182,"max":10182},{"min":10215,"max":10215},{"min":10217,"max":10217},{"min":10219,"max":10219},{"min":10221,"max":10221},{"min":10223,"max":10223},{"min":10628,"max":10628},{"min":10630,"max":10630},{"min":10632,"max":10632},{"min":10634,"max":10634},{"min":10636,"max":10636},{"min":10638,"max":10638},{"min":10640,"max":10640},{"min":10642,"max":10642},{"min":10644,"max":10644},{"min":10646,"max":10646},{"min":10648,"max":10648},{"min":10713,"max":10713},{"min":10715,"max":10715},{"min":10749,"max":10749},{"min":11811,"max":11811},{"min":11813,"max":11813},{"min":11815,"max":11815},{"min":11817,"max":11817},{"min":11862,"max":11862},{"min":11864,"max":11864},{"min":11866,"max":11866},{"min":11868,"max":11868},{"min":12297,"max":12297},{"min":12299,"max":12299},{"min":12301,"max":12301},{"min":12303,"max":12303},{"min":12305,"max":12305},{"min":12309,"max":12309},{"min":12311,"max":12311},{"min":12313,"max":12313},{"min":12315,"max":12315},{"min":12318,"max":12319},{"min":64830,"max":64830},{"min":65048,"max":65048},{"min":65078,"max":65078},{"min":65080,"max":65080},{"min":65082,"max":65082},{"min":65084,"max":65084},{"min":65086,"max":65086},{"min":65088,"max":65088},{"min":65090,"max":65090},{"min":65092,"max":65092},{"min":65096,"max":65096},{"min":65114,"max":65114},{"min":65116,"max":65116},{"min":65118,"max":65118},{"min":65289,"max":65289},{"min":65341,"max":65341},{"min":65373,"max":65373},{"min":65376,"max":65376},{"min":65379,"max":65379}]'),Ol=JSON.parse('[{"min":95,"max":95},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65343,"max":65343}]'),Rl=JSON.parse('[{"min":0,"max":31},{"min":127,"max":159}]'),Ll=JSON.parse('[{"min":36,"max":36},{"min":162,"max":165},{"min":1423,"max":1423},{"min":1547,"max":1547},{"min":2046,"max":2047},{"min":2546,"max":2547},{"min":2555,"max":2555},{"min":2801,"max":2801},{"min":3065,"max":3065},{"min":3647,"max":3647},{"min":6107,"max":6107},{"min":8352,"max":8384},{"min":43064,"max":43064},{"min":65020,"max":65020},{"min":65129,"max":65129},{"min":65284,"max":65284},{"min":65504,"max":65505},{"min":65509,"max":65510},{"min":73693,"max":73696},{"min":123647,"max":123647},{"min":126128,"max":126128}]'),Nl=JSON.parse('[{"min":45,"max":45},{"min":1418,"max":1418},{"min":1470,"max":1470},{"min":5120,"max":5120},{"min":6150,"max":6150},{"min":8208,"max":8213},{"min":11799,"max":11799},{"min":11802,"max":11802},{"min":11834,"max":11835},{"min":11840,"max":11840},{"min":11869,"max":11869},{"min":12316,"max":12316},{"min":12336,"max":12336},{"min":12448,"max":12448},{"min":65073,"max":65074},{"min":65112,"max":65112},{"min":65123,"max":65123},{"min":65293,"max":65293},{"min":69293,"max":69293}]'),Ml=JSON.parse('[{"min":48,"max":57},{"min":1632,"max":1641},{"min":1776,"max":1785},{"min":1984,"max":1993},{"min":2406,"max":2415},{"min":2534,"max":2543},{"min":2662,"max":2671},{"min":2790,"max":2799},{"min":2918,"max":2927},{"min":3046,"max":3055},{"min":3174,"max":3183},{"min":3302,"max":3311},{"min":3430,"max":3439},{"min":3558,"max":3567},{"min":3664,"max":3673},{"min":3792,"max":3801},{"min":3872,"max":3881},{"min":4160,"max":4169},{"min":4240,"max":4249},{"min":6112,"max":6121},{"min":6160,"max":6169},{"min":6470,"max":6479},{"min":6608,"max":6617},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6992,"max":7001},{"min":7088,"max":7097},{"min":7232,"max":7241},{"min":7248,"max":7257},{"min":42528,"max":42537},{"min":43216,"max":43225},{"min":43264,"max":43273},{"min":43472,"max":43481},{"min":43504,"max":43513},{"min":43600,"max":43609},{"min":44016,"max":44025},{"min":65296,"max":65305},{"min":66720,"max":66729},{"min":68912,"max":68921},{"min":69734,"max":69743},{"min":69872,"max":69881},{"min":69942,"max":69951},{"min":70096,"max":70105},{"min":70384,"max":70393},{"min":70736,"max":70745},{"min":70864,"max":70873},{"min":71248,"max":71257},{"min":71360,"max":71369},{"min":71472,"max":71481},{"min":71904,"max":71913},{"min":72016,"max":72025},{"min":72784,"max":72793},{"min":73040,"max":73049},{"min":73120,"max":73129},{"min":73552,"max":73561},{"min":92768,"max":92777},{"min":92864,"max":92873},{"min":93008,"max":93017},{"min":120782,"max":120831},{"min":123200,"max":123209},{"min":123632,"max":123641},{"min":124144,"max":124153},{"min":125264,"max":125273},{"min":130032,"max":130041}]'),Jl=JSON.parse('[{"min":1160,"max":1161},{"min":6846,"max":6846},{"min":8413,"max":8416},{"min":8418,"max":8420},{"min":42608,"max":42610}]'),Fl=JSON.parse('[{"min":187,"max":187},{"min":8217,"max":8217},{"min":8221,"max":8221},{"min":8250,"max":8250},{"min":11779,"max":11779},{"min":11781,"max":11781},{"min":11786,"max":11786},{"min":11789,"max":11789},{"min":11805,"max":11805},{"min":11809,"max":11809}]'),jl=JSON.parse('[{"min":173,"max":173},{"min":1536,"max":1541},{"min":1564,"max":1564},{"min":1757,"max":1757},{"min":1807,"max":1807},{"min":2192,"max":2193},{"min":2274,"max":2274},{"min":6158,"max":6158},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8292},{"min":8294,"max":8303},{"min":65279,"max":65279},{"min":65529,"max":65531},{"min":69821,"max":69821},{"min":69837,"max":69837},{"min":78896,"max":78911},{"min":113824,"max":113827},{"min":119155,"max":119162},{"min":917505,"max":917505},{"min":917536,"max":917631}]'),Ul=JSON.parse('[{"min":171,"max":171},{"min":8216,"max":8216},{"min":8219,"max":8220},{"min":8223,"max":8223},{"min":8249,"max":8249},{"min":11778,"max":11778},{"min":11780,"max":11780},{"min":11785,"max":11785},{"min":11788,"max":11788},{"min":11804,"max":11804},{"min":11808,"max":11808}]'),Dl=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5873,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8579,"max":8580},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11823,"max":11823},{"min":12293,"max":12294},{"min":12337,"max":12341},{"min":12347,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42725},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66368},{"min":66370,"max":66377},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),Gl=JSON.parse('[{"min":5870,"max":5872},{"min":8544,"max":8578},{"min":8581,"max":8584},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":42726,"max":42735},{"min":65856,"max":65908},{"min":66369,"max":66369},{"min":66378,"max":66378},{"min":66513,"max":66517},{"min":74752,"max":74862}]'),Bl=JSON.parse('[{"min":8232,"max":8232}]'),Vl=JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":312},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":397},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":411},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":426,"max":427},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":442},{"min":445,"max":447},{"min":454,"max":454},{"min":457,"max":457},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":545,"max":545},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":569},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":659},{"min":661,"max":687},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1020},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1376,"max":1416},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7424,"max":7467},{"min":7531,"max":7543},{"min":7545,"max":7578},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7837},{"min":7839,"max":7839},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8458,"max":8458},{"min":8462,"max":8463},{"min":8467,"max":8467},{"min":8495,"max":8495},{"min":8500,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8509},{"min":8518,"max":8521},{"min":8526,"max":8526},{"min":8580,"max":8580},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11377,"max":11377},{"min":11379,"max":11380},{"min":11382,"max":11387},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11492},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42801},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42865,"max":42872},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42894,"max":42894},{"min":42897,"max":42897},{"min":42899,"max":42901},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42927,"max":42927},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42965},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43002,"max":43002},{"min":43824,"max":43866},{"min":43872,"max":43880},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":119834,"max":119859},{"min":119886,"max":119892},{"min":119894,"max":119911},{"min":119938,"max":119963},{"min":119990,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120015},{"min":120042,"max":120067},{"min":120094,"max":120119},{"min":120146,"max":120171},{"min":120198,"max":120223},{"min":120250,"max":120275},{"min":120302,"max":120327},{"min":120354,"max":120379},{"min":120406,"max":120431},{"min":120458,"max":120485},{"min":120514,"max":120538},{"min":120540,"max":120545},{"min":120572,"max":120596},{"min":120598,"max":120603},{"min":120630,"max":120654},{"min":120656,"max":120661},{"min":120688,"max":120712},{"min":120714,"max":120719},{"min":120746,"max":120770},{"min":120772,"max":120777},{"min":120779,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":125218,"max":125251}]'),$l=JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1161},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2307},{"min":2362,"max":2364},{"min":2366,"max":2383},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2435},{"min":2492,"max":2492},{"min":2494,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2509},{"min":2519,"max":2519},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2691},{"min":2748,"max":2748},{"min":2750,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2819},{"min":2876,"max":2876},{"min":2878,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3031,"max":3031},{"min":3072,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3203},{"min":3260,"max":3260},{"min":3262,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3298,"max":3299},{"min":3315,"max":3315},{"min":3328,"max":3331},{"min":3387,"max":3388},{"min":3390,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3405},{"min":3415,"max":3415},{"min":3426,"max":3427},{"min":3457,"max":3459},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3903},{"min":3953,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4139,"max":4158},{"min":4182,"max":4185},{"min":4190,"max":4192},{"min":4194,"max":4196},{"min":4199,"max":4205},{"min":4209,"max":4212},{"min":4226,"max":4237},{"min":4239,"max":4239},{"min":4250,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5909},{"min":5938,"max":5940},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6679,"max":6683},{"min":6741,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6862},{"min":6912,"max":6916},{"min":6964,"max":6980},{"min":7019,"max":7027},{"min":7040,"max":7042},{"min":7073,"max":7085},{"min":7142,"max":7155},{"min":7204,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7415,"max":7417},{"min":7616,"max":7679},{"min":8400,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12335},{"min":12441,"max":12442},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43043,"max":43047},{"min":43052,"max":43052},{"min":43136,"max":43137},{"min":43188,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43347},{"min":43392,"max":43395},{"min":43443,"max":43456},{"min":43493,"max":43493},{"min":43561,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43597},{"min":43643,"max":43645},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43755,"max":43759},{"min":43765,"max":43766},{"min":44003,"max":44010},{"min":44012,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69632,"max":69634},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69762},{"min":69808,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69940},{"min":69957,"max":69958},{"min":70003,"max":70003},{"min":70016,"max":70018},{"min":70067,"max":70080},{"min":70089,"max":70092},{"min":70094,"max":70095},{"min":70188,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70378},{"min":70400,"max":70403},{"min":70459,"max":70460},{"min":70462,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70487,"max":70487},{"min":70498,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70709,"max":70726},{"min":70750,"max":70750},{"min":70832,"max":70851},{"min":71087,"max":71093},{"min":71096,"max":71104},{"min":71132,"max":71133},{"min":71216,"max":71232},{"min":71339,"max":71351},{"min":71453,"max":71467},{"min":71724,"max":71738},{"min":71984,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":71998},{"min":72000,"max":72000},{"min":72002,"max":72003},{"min":72145,"max":72151},{"min":72154,"max":72160},{"min":72164,"max":72164},{"min":72193,"max":72202},{"min":72243,"max":72249},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72283},{"min":72330,"max":72345},{"min":72751,"max":72758},{"min":72760,"max":72767},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73098,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73111},{"min":73459,"max":73462},{"min":73472,"max":73473},{"min":73475,"max":73475},{"min":73524,"max":73530},{"min":73534,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94033,"max":94087},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":94192,"max":94193},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917760,"max":917999}]'),Wl=JSON.parse('[{"min":43,"max":43},{"min":60,"max":62},{"min":124,"max":124},{"min":126,"max":126},{"min":172,"max":172},{"min":177,"max":177},{"min":215,"max":215},{"min":247,"max":247},{"min":1014,"max":1014},{"min":1542,"max":1544},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8314,"max":8316},{"min":8330,"max":8332},{"min":8472,"max":8472},{"min":8512,"max":8516},{"min":8523,"max":8523},{"min":8592,"max":8596},{"min":8602,"max":8603},{"min":8608,"max":8608},{"min":8611,"max":8611},{"min":8614,"max":8614},{"min":8622,"max":8622},{"min":8654,"max":8655},{"min":8658,"max":8658},{"min":8660,"max":8660},{"min":8692,"max":8959},{"min":8992,"max":8993},{"min":9084,"max":9084},{"min":9115,"max":9139},{"min":9180,"max":9185},{"min":9655,"max":9655},{"min":9665,"max":9665},{"min":9720,"max":9727},{"min":9839,"max":9839},{"min":10176,"max":10180},{"min":10183,"max":10213},{"min":10224,"max":10239},{"min":10496,"max":10626},{"min":10649,"max":10711},{"min":10716,"max":10747},{"min":10750,"max":11007},{"min":11056,"max":11076},{"min":11079,"max":11084},{"min":64297,"max":64297},{"min":65122,"max":65122},{"min":65124,"max":65126},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65506,"max":65506},{"min":65513,"max":65516},{"min":120513,"max":120513},{"min":120539,"max":120539},{"min":120571,"max":120571},{"min":120597,"max":120597},{"min":120629,"max":120629},{"min":120655,"max":120655},{"min":120687,"max":120687},{"min":120713,"max":120713},{"min":120745,"max":120745},{"min":120771,"max":120771},{"min":126704,"max":126705}]'),Ql=JSON.parse('[{"min":688,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":884,"max":884},{"min":890,"max":890},{"min":1369,"max":1369},{"min":1600,"max":1600},{"min":1765,"max":1766},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2249,"max":2249},{"min":2417,"max":2417},{"min":3654,"max":3654},{"min":3782,"max":3782},{"min":4348,"max":4348},{"min":6103,"max":6103},{"min":6211,"max":6211},{"min":6823,"max":6823},{"min":7288,"max":7293},{"min":7468,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7615},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":11388,"max":11389},{"min":11631,"max":11631},{"min":11823,"max":11823},{"min":12293,"max":12293},{"min":12337,"max":12341},{"min":12347,"max":12347},{"min":12445,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42232,"max":42237},{"min":42508,"max":42508},{"min":42623,"max":42623},{"min":42652,"max":42653},{"min":42775,"max":42783},{"min":42864,"max":42864},{"min":42888,"max":42888},{"min":42994,"max":42996},{"min":43000,"max":43001},{"min":43471,"max":43471},{"min":43494,"max":43494},{"min":43632,"max":43632},{"min":43741,"max":43741},{"min":43763,"max":43764},{"min":43868,"max":43871},{"min":43881,"max":43881},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":92992,"max":92995},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":122928,"max":122989},{"min":123191,"max":123197},{"min":124139,"max":124139},{"min":125259,"max":125259}]'),zl=JSON.parse('[{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":175,"max":175},{"min":180,"max":180},{"min":184,"max":184},{"min":706,"max":709},{"min":722,"max":735},{"min":741,"max":747},{"min":749,"max":749},{"min":751,"max":767},{"min":885,"max":885},{"min":900,"max":901},{"min":2184,"max":2184},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":12443,"max":12444},{"min":42752,"max":42774},{"min":42784,"max":42785},{"min":42889,"max":42890},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64434,"max":64450},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65507,"max":65507},{"min":127995,"max":127999}]'),ql=JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1159},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2879,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2902},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6964},{"min":6966,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12333},{"min":12441,"max":12442},{"min":42607,"max":42607},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43493,"max":43493},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43756,"max":43757},{"min":43766,"max":43766},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70464,"max":70464},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917760,"max":917999}]'),Hl=JSON.parse('[{"min":48,"max":57},{"min":178,"max":179},{"min":185,"max":185},{"min":188,"max":190},{"min":1632,"max":1641},{"min":1776,"max":1785},{"min":1984,"max":1993},{"min":2406,"max":2415},{"min":2534,"max":2543},{"min":2548,"max":2553},{"min":2662,"max":2671},{"min":2790,"max":2799},{"min":2918,"max":2927},{"min":2930,"max":2935},{"min":3046,"max":3058},{"min":3174,"max":3183},{"min":3192,"max":3198},{"min":3302,"max":3311},{"min":3416,"max":3422},{"min":3430,"max":3448},{"min":3558,"max":3567},{"min":3664,"max":3673},{"min":3792,"max":3801},{"min":3872,"max":3891},{"min":4160,"max":4169},{"min":4240,"max":4249},{"min":4969,"max":4988},{"min":5870,"max":5872},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6160,"max":6169},{"min":6470,"max":6479},{"min":6608,"max":6618},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6992,"max":7001},{"min":7088,"max":7097},{"min":7232,"max":7241},{"min":7248,"max":7257},{"min":8304,"max":8304},{"min":8308,"max":8313},{"min":8320,"max":8329},{"min":8528,"max":8578},{"min":8581,"max":8585},{"min":9312,"max":9371},{"min":9450,"max":9471},{"min":10102,"max":10131},{"min":11517,"max":11517},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":12690,"max":12693},{"min":12832,"max":12841},{"min":12872,"max":12879},{"min":12881,"max":12895},{"min":12928,"max":12937},{"min":12977,"max":12991},{"min":42528,"max":42537},{"min":42726,"max":42735},{"min":43056,"max":43061},{"min":43216,"max":43225},{"min":43264,"max":43273},{"min":43472,"max":43481},{"min":43504,"max":43513},{"min":43600,"max":43609},{"min":44016,"max":44025},{"min":65296,"max":65305},{"min":65799,"max":65843},{"min":65856,"max":65912},{"min":65930,"max":65931},{"min":66273,"max":66299},{"min":66336,"max":66339},{"min":66369,"max":66369},{"min":66378,"max":66378},{"min":66513,"max":66517},{"min":66720,"max":66729},{"min":67672,"max":67679},{"min":67705,"max":67711},{"min":67751,"max":67759},{"min":67835,"max":67839},{"min":67862,"max":67867},{"min":68028,"max":68029},{"min":68032,"max":68047},{"min":68050,"max":68095},{"min":68160,"max":68168},{"min":68221,"max":68222},{"min":68253,"max":68255},{"min":68331,"max":68335},{"min":68440,"max":68447},{"min":68472,"max":68479},{"min":68521,"max":68527},{"min":68858,"max":68863},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69405,"max":69414},{"min":69457,"max":69460},{"min":69573,"max":69579},{"min":69714,"max":69743},{"min":69872,"max":69881},{"min":69942,"max":69951},{"min":70096,"max":70105},{"min":70113,"max":70132},{"min":70384,"max":70393},{"min":70736,"max":70745},{"min":70864,"max":70873},{"min":71248,"max":71257},{"min":71360,"max":71369},{"min":71472,"max":71483},{"min":71904,"max":71922},{"min":72016,"max":72025},{"min":72784,"max":72812},{"min":73040,"max":73049},{"min":73120,"max":73129},{"min":73552,"max":73561},{"min":73664,"max":73684},{"min":74752,"max":74862},{"min":92768,"max":92777},{"min":92864,"max":92873},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93824,"max":93846},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119648,"max":119672},{"min":120782,"max":120831},{"min":123200,"max":123209},{"min":123632,"max":123641},{"min":124144,"max":124153},{"min":125127,"max":125135},{"min":125264,"max":125273},{"min":126065,"max":126123},{"min":126125,"max":126127},{"min":126129,"max":126132},{"min":126209,"max":126253},{"min":126255,"max":126269},{"min":127232,"max":127244},{"min":130032,"max":130041}]'),Kl=JSON.parse('[{"min":40,"max":40},{"min":91,"max":91},{"min":123,"max":123},{"min":3898,"max":3898},{"min":3900,"max":3900},{"min":5787,"max":5787},{"min":8218,"max":8218},{"min":8222,"max":8222},{"min":8261,"max":8261},{"min":8317,"max":8317},{"min":8333,"max":8333},{"min":8968,"max":8968},{"min":8970,"max":8970},{"min":9001,"max":9001},{"min":10088,"max":10088},{"min":10090,"max":10090},{"min":10092,"max":10092},{"min":10094,"max":10094},{"min":10096,"max":10096},{"min":10098,"max":10098},{"min":10100,"max":10100},{"min":10181,"max":10181},{"min":10214,"max":10214},{"min":10216,"max":10216},{"min":10218,"max":10218},{"min":10220,"max":10220},{"min":10222,"max":10222},{"min":10627,"max":10627},{"min":10629,"max":10629},{"min":10631,"max":10631},{"min":10633,"max":10633},{"min":10635,"max":10635},{"min":10637,"max":10637},{"min":10639,"max":10639},{"min":10641,"max":10641},{"min":10643,"max":10643},{"min":10645,"max":10645},{"min":10647,"max":10647},{"min":10712,"max":10712},{"min":10714,"max":10714},{"min":10748,"max":10748},{"min":11810,"max":11810},{"min":11812,"max":11812},{"min":11814,"max":11814},{"min":11816,"max":11816},{"min":11842,"max":11842},{"min":11861,"max":11861},{"min":11863,"max":11863},{"min":11865,"max":11865},{"min":11867,"max":11867},{"min":12296,"max":12296},{"min":12298,"max":12298},{"min":12300,"max":12300},{"min":12302,"max":12302},{"min":12304,"max":12304},{"min":12308,"max":12308},{"min":12310,"max":12310},{"min":12312,"max":12312},{"min":12314,"max":12314},{"min":12317,"max":12317},{"min":64831,"max":64831},{"min":65047,"max":65047},{"min":65077,"max":65077},{"min":65079,"max":65079},{"min":65081,"max":65081},{"min":65083,"max":65083},{"min":65085,"max":65085},{"min":65087,"max":65087},{"min":65089,"max":65089},{"min":65091,"max":65091},{"min":65095,"max":65095},{"min":65113,"max":65113},{"min":65115,"max":65115},{"min":65117,"max":65117},{"min":65288,"max":65288},{"min":65339,"max":65339},{"min":65371,"max":65371},{"min":65375,"max":65375},{"min":65378,"max":65378}]'),Yl=JSON.parse('[{"min":0,"max":31},{"min":127,"max":159},{"min":173,"max":173},{"min":888,"max":889},{"min":896,"max":899},{"min":907,"max":907},{"min":909,"max":909},{"min":930,"max":930},{"min":1328,"max":1328},{"min":1367,"max":1368},{"min":1419,"max":1420},{"min":1424,"max":1424},{"min":1480,"max":1487},{"min":1515,"max":1518},{"min":1525,"max":1541},{"min":1564,"max":1564},{"min":1757,"max":1757},{"min":1806,"max":1807},{"min":1867,"max":1868},{"min":1970,"max":1983},{"min":2043,"max":2044},{"min":2094,"max":2095},{"min":2111,"max":2111},{"min":2140,"max":2141},{"min":2143,"max":2143},{"min":2155,"max":2159},{"min":2191,"max":2199},{"min":2274,"max":2274},{"min":2436,"max":2436},{"min":2445,"max":2446},{"min":2449,"max":2450},{"min":2473,"max":2473},{"min":2481,"max":2481},{"min":2483,"max":2485},{"min":2490,"max":2491},{"min":2501,"max":2502},{"min":2505,"max":2506},{"min":2511,"max":2518},{"min":2520,"max":2523},{"min":2526,"max":2526},{"min":2532,"max":2533},{"min":2559,"max":2560},{"min":2564,"max":2564},{"min":2571,"max":2574},{"min":2577,"max":2578},{"min":2601,"max":2601},{"min":2609,"max":2609},{"min":2612,"max":2612},{"min":2615,"max":2615},{"min":2618,"max":2619},{"min":2621,"max":2621},{"min":2627,"max":2630},{"min":2633,"max":2634},{"min":2638,"max":2640},{"min":2642,"max":2648},{"min":2653,"max":2653},{"min":2655,"max":2661},{"min":2679,"max":2688},{"min":2692,"max":2692},{"min":2702,"max":2702},{"min":2706,"max":2706},{"min":2729,"max":2729},{"min":2737,"max":2737},{"min":2740,"max":2740},{"min":2746,"max":2747},{"min":2758,"max":2758},{"min":2762,"max":2762},{"min":2766,"max":2767},{"min":2769,"max":2783},{"min":2788,"max":2789},{"min":2802,"max":2808},{"min":2816,"max":2816},{"min":2820,"max":2820},{"min":2829,"max":2830},{"min":2833,"max":2834},{"min":2857,"max":2857},{"min":2865,"max":2865},{"min":2868,"max":2868},{"min":2874,"max":2875},{"min":2885,"max":2886},{"min":2889,"max":2890},{"min":2894,"max":2900},{"min":2904,"max":2907},{"min":2910,"max":2910},{"min":2916,"max":2917},{"min":2936,"max":2945},{"min":2948,"max":2948},{"min":2955,"max":2957},{"min":2961,"max":2961},{"min":2966,"max":2968},{"min":2971,"max":2971},{"min":2973,"max":2973},{"min":2976,"max":2978},{"min":2981,"max":2983},{"min":2987,"max":2989},{"min":3002,"max":3005},{"min":3011,"max":3013},{"min":3017,"max":3017},{"min":3022,"max":3023},{"min":3025,"max":3030},{"min":3032,"max":3045},{"min":3067,"max":3071},{"min":3085,"max":3085},{"min":3089,"max":3089},{"min":3113,"max":3113},{"min":3130,"max":3131},{"min":3141,"max":3141},{"min":3145,"max":3145},{"min":3150,"max":3156},{"min":3159,"max":3159},{"min":3163,"max":3164},{"min":3166,"max":3167},{"min":3172,"max":3173},{"min":3184,"max":3190},{"min":3213,"max":3213},{"min":3217,"max":3217},{"min":3241,"max":3241},{"min":3252,"max":3252},{"min":3258,"max":3259},{"min":3269,"max":3269},{"min":3273,"max":3273},{"min":3278,"max":3284},{"min":3287,"max":3292},{"min":3295,"max":3295},{"min":3300,"max":3301},{"min":3312,"max":3312},{"min":3316,"max":3327},{"min":3341,"max":3341},{"min":3345,"max":3345},{"min":3397,"max":3397},{"min":3401,"max":3401},{"min":3408,"max":3411},{"min":3428,"max":3429},{"min":3456,"max":3456},{"min":3460,"max":3460},{"min":3479,"max":3481},{"min":3506,"max":3506},{"min":3516,"max":3516},{"min":3518,"max":3519},{"min":3527,"max":3529},{"min":3531,"max":3534},{"min":3541,"max":3541},{"min":3543,"max":3543},{"min":3552,"max":3557},{"min":3568,"max":3569},{"min":3573,"max":3584},{"min":3643,"max":3646},{"min":3676,"max":3712},{"min":3715,"max":3715},{"min":3717,"max":3717},{"min":3723,"max":3723},{"min":3748,"max":3748},{"min":3750,"max":3750},{"min":3774,"max":3775},{"min":3781,"max":3781},{"min":3783,"max":3783},{"min":3791,"max":3791},{"min":3802,"max":3803},{"min":3808,"max":3839},{"min":3912,"max":3912},{"min":3949,"max":3952},{"min":3992,"max":3992},{"min":4029,"max":4029},{"min":4045,"max":4045},{"min":4059,"max":4095},{"min":4294,"max":4294},{"min":4296,"max":4300},{"min":4302,"max":4303},{"min":4681,"max":4681},{"min":4686,"max":4687},{"min":4695,"max":4695},{"min":4697,"max":4697},{"min":4702,"max":4703},{"min":4745,"max":4745},{"min":4750,"max":4751},{"min":4785,"max":4785},{"min":4790,"max":4791},{"min":4799,"max":4799},{"min":4801,"max":4801},{"min":4806,"max":4807},{"min":4823,"max":4823},{"min":4881,"max":4881},{"min":4886,"max":4887},{"min":4955,"max":4956},{"min":4989,"max":4991},{"min":5018,"max":5023},{"min":5110,"max":5111},{"min":5118,"max":5119},{"min":5789,"max":5791},{"min":5881,"max":5887},{"min":5910,"max":5918},{"min":5943,"max":5951},{"min":5972,"max":5983},{"min":5997,"max":5997},{"min":6001,"max":6001},{"min":6004,"max":6015},{"min":6110,"max":6111},{"min":6122,"max":6127},{"min":6138,"max":6143},{"min":6158,"max":6158},{"min":6170,"max":6175},{"min":6265,"max":6271},{"min":6315,"max":6319},{"min":6390,"max":6399},{"min":6431,"max":6431},{"min":6444,"max":6447},{"min":6460,"max":6463},{"min":6465,"max":6467},{"min":6510,"max":6511},{"min":6517,"max":6527},{"min":6572,"max":6575},{"min":6602,"max":6607},{"min":6619,"max":6621},{"min":6684,"max":6685},{"min":6751,"max":6751},{"min":6781,"max":6782},{"min":6794,"max":6799},{"min":6810,"max":6815},{"min":6830,"max":6831},{"min":6863,"max":6911},{"min":6989,"max":6991},{"min":7039,"max":7039},{"min":7156,"max":7163},{"min":7224,"max":7226},{"min":7242,"max":7244},{"min":7305,"max":7311},{"min":7355,"max":7356},{"min":7368,"max":7375},{"min":7419,"max":7423},{"min":7958,"max":7959},{"min":7966,"max":7967},{"min":8006,"max":8007},{"min":8014,"max":8015},{"min":8024,"max":8024},{"min":8026,"max":8026},{"min":8028,"max":8028},{"min":8030,"max":8030},{"min":8062,"max":8063},{"min":8117,"max":8117},{"min":8133,"max":8133},{"min":8148,"max":8149},{"min":8156,"max":8156},{"min":8176,"max":8177},{"min":8181,"max":8181},{"min":8191,"max":8191},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8303},{"min":8306,"max":8307},{"min":8335,"max":8335},{"min":8349,"max":8351},{"min":8385,"max":8399},{"min":8433,"max":8447},{"min":8588,"max":8591},{"min":9255,"max":9279},{"min":9291,"max":9311},{"min":11124,"max":11125},{"min":11158,"max":11158},{"min":11508,"max":11512},{"min":11558,"max":11558},{"min":11560,"max":11564},{"min":11566,"max":11567},{"min":11624,"max":11630},{"min":11633,"max":11646},{"min":11671,"max":11679},{"min":11687,"max":11687},{"min":11695,"max":11695},{"min":11703,"max":11703},{"min":11711,"max":11711},{"min":11719,"max":11719},{"min":11727,"max":11727},{"min":11735,"max":11735},{"min":11743,"max":11743},{"min":11870,"max":11903},{"min":11930,"max":11930},{"min":12020,"max":12031},{"min":12246,"max":12271},{"min":12284,"max":12287},{"min":12352,"max":12352},{"min":12439,"max":12440},{"min":12544,"max":12548},{"min":12592,"max":12592},{"min":12687,"max":12687},{"min":12772,"max":12783},{"min":12831,"max":12831},{"min":42125,"max":42127},{"min":42183,"max":42191},{"min":42540,"max":42559},{"min":42744,"max":42751},{"min":42955,"max":42959},{"min":42962,"max":42962},{"min":42964,"max":42964},{"min":42970,"max":42993},{"min":43053,"max":43055},{"min":43066,"max":43071},{"min":43128,"max":43135},{"min":43206,"max":43213},{"min":43226,"max":43231},{"min":43348,"max":43358},{"min":43389,"max":43391},{"min":43470,"max":43470},{"min":43482,"max":43485},{"min":43519,"max":43519},{"min":43575,"max":43583},{"min":43598,"max":43599},{"min":43610,"max":43611},{"min":43715,"max":43738},{"min":43767,"max":43776},{"min":43783,"max":43784},{"min":43791,"max":43792},{"min":43799,"max":43807},{"min":43815,"max":43815},{"min":43823,"max":43823},{"min":43884,"max":43887},{"min":44014,"max":44015},{"min":44026,"max":44031},{"min":55204,"max":55215},{"min":55239,"max":55242},{"min":55292,"max":63743},{"min":64110,"max":64111},{"min":64218,"max":64255},{"min":64263,"max":64274},{"min":64280,"max":64284},{"min":64311,"max":64311},{"min":64317,"max":64317},{"min":64319,"max":64319},{"min":64322,"max":64322},{"min":64325,"max":64325},{"min":64451,"max":64466},{"min":64912,"max":64913},{"min":64968,"max":64974},{"min":64976,"max":65007},{"min":65050,"max":65055},{"min":65107,"max":65107},{"min":65127,"max":65127},{"min":65132,"max":65135},{"min":65141,"max":65141},{"min":65277,"max":65280},{"min":65471,"max":65473},{"min":65480,"max":65481},{"min":65488,"max":65489},{"min":65496,"max":65497},{"min":65501,"max":65503},{"min":65511,"max":65511},{"min":65519,"max":65531},{"min":65534,"max":65535},{"min":65548,"max":65548},{"min":65575,"max":65575},{"min":65595,"max":65595},{"min":65598,"max":65598},{"min":65614,"max":65615},{"min":65630,"max":65663},{"min":65787,"max":65791},{"min":65795,"max":65798},{"min":65844,"max":65846},{"min":65935,"max":65935},{"min":65949,"max":65951},{"min":65953,"max":65999},{"min":66046,"max":66175},{"min":66205,"max":66207},{"min":66257,"max":66271},{"min":66300,"max":66303},{"min":66340,"max":66348},{"min":66379,"max":66383},{"min":66427,"max":66431},{"min":66462,"max":66462},{"min":66500,"max":66503},{"min":66518,"max":66559},{"min":66718,"max":66719},{"min":66730,"max":66735},{"min":66772,"max":66775},{"min":66812,"max":66815},{"min":66856,"max":66863},{"min":66916,"max":66926},{"min":66939,"max":66939},{"min":66955,"max":66955},{"min":66963,"max":66963},{"min":66966,"max":66966},{"min":66978,"max":66978},{"min":66994,"max":66994},{"min":67002,"max":67002},{"min":67005,"max":67071},{"min":67383,"max":67391},{"min":67414,"max":67423},{"min":67432,"max":67455},{"min":67462,"max":67462},{"min":67505,"max":67505},{"min":67515,"max":67583},{"min":67590,"max":67591},{"min":67593,"max":67593},{"min":67638,"max":67638},{"min":67641,"max":67643},{"min":67645,"max":67646},{"min":67670,"max":67670},{"min":67743,"max":67750},{"min":67760,"max":67807},{"min":67827,"max":67827},{"min":67830,"max":67834},{"min":67868,"max":67870},{"min":67898,"max":67902},{"min":67904,"max":67967},{"min":68024,"max":68027},{"min":68048,"max":68049},{"min":68100,"max":68100},{"min":68103,"max":68107},{"min":68116,"max":68116},{"min":68120,"max":68120},{"min":68150,"max":68151},{"min":68155,"max":68158},{"min":68169,"max":68175},{"min":68185,"max":68191},{"min":68256,"max":68287},{"min":68327,"max":68330},{"min":68343,"max":68351},{"min":68406,"max":68408},{"min":68438,"max":68439},{"min":68467,"max":68471},{"min":68498,"max":68504},{"min":68509,"max":68520},{"min":68528,"max":68607},{"min":68681,"max":68735},{"min":68787,"max":68799},{"min":68851,"max":68857},{"min":68904,"max":68911},{"min":68922,"max":69215},{"min":69247,"max":69247},{"min":69290,"max":69290},{"min":69294,"max":69295},{"min":69298,"max":69372},{"min":69416,"max":69423},{"min":69466,"max":69487},{"min":69514,"max":69551},{"min":69580,"max":69599},{"min":69623,"max":69631},{"min":69710,"max":69713},{"min":69750,"max":69758},{"min":69821,"max":69821},{"min":69827,"max":69839},{"min":69865,"max":69871},{"min":69882,"max":69887},{"min":69941,"max":69941},{"min":69960,"max":69967},{"min":70007,"max":70015},{"min":70112,"max":70112},{"min":70133,"max":70143},{"min":70162,"max":70162},{"min":70210,"max":70271},{"min":70279,"max":70279},{"min":70281,"max":70281},{"min":70286,"max":70286},{"min":70302,"max":70302},{"min":70314,"max":70319},{"min":70379,"max":70383},{"min":70394,"max":70399},{"min":70404,"max":70404},{"min":70413,"max":70414},{"min":70417,"max":70418},{"min":70441,"max":70441},{"min":70449,"max":70449},{"min":70452,"max":70452},{"min":70458,"max":70458},{"min":70469,"max":70470},{"min":70473,"max":70474},{"min":70478,"max":70479},{"min":70481,"max":70486},{"min":70488,"max":70492},{"min":70500,"max":70501},{"min":70509,"max":70511},{"min":70517,"max":70655},{"min":70748,"max":70748},{"min":70754,"max":70783},{"min":70856,"max":70863},{"min":70874,"max":71039},{"min":71094,"max":71095},{"min":71134,"max":71167},{"min":71237,"max":71247},{"min":71258,"max":71263},{"min":71277,"max":71295},{"min":71354,"max":71359},{"min":71370,"max":71423},{"min":71451,"max":71452},{"min":71468,"max":71471},{"min":71495,"max":71679},{"min":71740,"max":71839},{"min":71923,"max":71934},{"min":71943,"max":71944},{"min":71946,"max":71947},{"min":71956,"max":71956},{"min":71959,"max":71959},{"min":71990,"max":71990},{"min":71993,"max":71994},{"min":72007,"max":72015},{"min":72026,"max":72095},{"min":72104,"max":72105},{"min":72152,"max":72153},{"min":72165,"max":72191},{"min":72264,"max":72271},{"min":72355,"max":72367},{"min":72441,"max":72447},{"min":72458,"max":72703},{"min":72713,"max":72713},{"min":72759,"max":72759},{"min":72774,"max":72783},{"min":72813,"max":72815},{"min":72848,"max":72849},{"min":72872,"max":72872},{"min":72887,"max":72959},{"min":72967,"max":72967},{"min":72970,"max":72970},{"min":73015,"max":73017},{"min":73019,"max":73019},{"min":73022,"max":73022},{"min":73032,"max":73039},{"min":73050,"max":73055},{"min":73062,"max":73062},{"min":73065,"max":73065},{"min":73103,"max":73103},{"min":73106,"max":73106},{"min":73113,"max":73119},{"min":73130,"max":73439},{"min":73465,"max":73471},{"min":73489,"max":73489},{"min":73531,"max":73533},{"min":73562,"max":73647},{"min":73649,"max":73663},{"min":73714,"max":73726},{"min":74650,"max":74751},{"min":74863,"max":74863},{"min":74869,"max":74879},{"min":75076,"max":77711},{"min":77811,"max":77823},{"min":78896,"max":78911},{"min":78934,"max":82943},{"min":83527,"max":92159},{"min":92729,"max":92735},{"min":92767,"max":92767},{"min":92778,"max":92781},{"min":92863,"max":92863},{"min":92874,"max":92879},{"min":92910,"max":92911},{"min":92918,"max":92927},{"min":92998,"max":93007},{"min":93018,"max":93018},{"min":93026,"max":93026},{"min":93048,"max":93052},{"min":93072,"max":93759},{"min":93851,"max":93951},{"min":94027,"max":94030},{"min":94088,"max":94094},{"min":94112,"max":94175},{"min":94181,"max":94191},{"min":94194,"max":94207},{"min":100344,"max":100351},{"min":101590,"max":101631},{"min":101641,"max":110575},{"min":110580,"max":110580},{"min":110588,"max":110588},{"min":110591,"max":110591},{"min":110883,"max":110897},{"min":110899,"max":110927},{"min":110931,"max":110932},{"min":110934,"max":110947},{"min":110952,"max":110959},{"min":111356,"max":113663},{"min":113771,"max":113775},{"min":113789,"max":113791},{"min":113801,"max":113807},{"min":113818,"max":113819},{"min":113824,"max":118527},{"min":118574,"max":118575},{"min":118599,"max":118607},{"min":118724,"max":118783},{"min":119030,"max":119039},{"min":119079,"max":119080},{"min":119155,"max":119162},{"min":119275,"max":119295},{"min":119366,"max":119487},{"min":119508,"max":119519},{"min":119540,"max":119551},{"min":119639,"max":119647},{"min":119673,"max":119807},{"min":119893,"max":119893},{"min":119965,"max":119965},{"min":119968,"max":119969},{"min":119971,"max":119972},{"min":119975,"max":119976},{"min":119981,"max":119981},{"min":119994,"max":119994},{"min":119996,"max":119996},{"min":120004,"max":120004},{"min":120070,"max":120070},{"min":120075,"max":120076},{"min":120085,"max":120085},{"min":120093,"max":120093},{"min":120122,"max":120122},{"min":120127,"max":120127},{"min":120133,"max":120133},{"min":120135,"max":120137},{"min":120145,"max":120145},{"min":120486,"max":120487},{"min":120780,"max":120781},{"min":121484,"max":121498},{"min":121504,"max":121504},{"min":121520,"max":122623},{"min":122655,"max":122660},{"min":122667,"max":122879},{"min":122887,"max":122887},{"min":122905,"max":122906},{"min":122914,"max":122914},{"min":122917,"max":122917},{"min":122923,"max":122927},{"min":122990,"max":123022},{"min":123024,"max":123135},{"min":123181,"max":123183},{"min":123198,"max":123199},{"min":123210,"max":123213},{"min":123216,"max":123535},{"min":123567,"max":123583},{"min":123642,"max":123646},{"min":123648,"max":124111},{"min":124154,"max":124895},{"min":124903,"max":124903},{"min":124908,"max":124908},{"min":124911,"max":124911},{"min":124927,"max":124927},{"min":125125,"max":125126},{"min":125143,"max":125183},{"min":125260,"max":125263},{"min":125274,"max":125277},{"min":125280,"max":126064},{"min":126133,"max":126208},{"min":126270,"max":126463},{"min":126468,"max":126468},{"min":126496,"max":126496},{"min":126499,"max":126499},{"min":126501,"max":126502},{"min":126504,"max":126504},{"min":126515,"max":126515},{"min":126520,"max":126520},{"min":126522,"max":126522},{"min":126524,"max":126529},{"min":126531,"max":126534},{"min":126536,"max":126536},{"min":126538,"max":126538},{"min":126540,"max":126540},{"min":126544,"max":126544},{"min":126547,"max":126547},{"min":126549,"max":126550},{"min":126552,"max":126552},{"min":126554,"max":126554},{"min":126556,"max":126556},{"min":126558,"max":126558},{"min":126560,"max":126560},{"min":126563,"max":126563},{"min":126565,"max":126566},{"min":126571,"max":126571},{"min":126579,"max":126579},{"min":126584,"max":126584},{"min":126589,"max":126589},{"min":126591,"max":126591},{"min":126602,"max":126602},{"min":126620,"max":126624},{"min":126628,"max":126628},{"min":126634,"max":126634},{"min":126652,"max":126703},{"min":126706,"max":126975},{"min":127020,"max":127023},{"min":127124,"max":127135},{"min":127151,"max":127152},{"min":127168,"max":127168},{"min":127184,"max":127184},{"min":127222,"max":127231},{"min":127406,"max":127461},{"min":127491,"max":127503},{"min":127548,"max":127551},{"min":127561,"max":127567},{"min":127570,"max":127583},{"min":127590,"max":127743},{"min":128728,"max":128731},{"min":128749,"max":128751},{"min":128765,"max":128767},{"min":128887,"max":128890},{"min":128986,"max":128991},{"min":129004,"max":129007},{"min":129009,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129199},{"min":129202,"max":129279},{"min":129620,"max":129631},{"min":129646,"max":129647},{"min":129661,"max":129663},{"min":129673,"max":129679},{"min":129726,"max":129726},{"min":129734,"max":129741},{"min":129756,"max":129759},{"min":129769,"max":129775},{"min":129785,"max":129791},{"min":129939,"max":129939},{"min":129995,"max":130031},{"min":130042,"max":131071},{"min":173792,"max":173823},{"min":177978,"max":177983},{"min":178206,"max":178207},{"min":183970,"max":183983},{"min":191457,"max":194559},{"min":195102,"max":196607},{"min":201547,"max":201551},{"min":205744,"max":917759},{"min":918000,"max":1114111}]'),Xl=JSON.parse('[{"min":170,"max":170},{"min":186,"max":186},{"min":443,"max":443},{"min":448,"max":451},{"min":660,"max":660},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1599},{"min":1601,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2048,"max":2069},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2248},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2418,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3653},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4352,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5873,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6108,"max":6108},{"min":6176,"max":6210},{"min":6212,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7287},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":8501,"max":8504},{"min":11568,"max":11623},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12294,"max":12294},{"min":12348,"max":12348},{"min":12353,"max":12438},{"min":12447,"max":12447},{"min":12449,"max":12538},{"min":12543,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":40980},{"min":40982,"max":42124},{"min":42192,"max":42231},{"min":42240,"max":42507},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42606,"max":42606},{"min":42656,"max":42725},{"min":42895,"max":42895},{"min":42999,"max":42999},{"min":43003,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43488,"max":43492},{"min":43495,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43631},{"min":43633,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43740},{"min":43744,"max":43754},{"min":43762,"max":43762},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43968,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65382,"max":65391},{"min":65393,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66368},{"min":66370,"max":66377},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66640,"max":66717},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":122634,"max":122634},{"min":123136,"max":123180},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124138},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),Zl=JSON.parse('[{"min":178,"max":179},{"min":185,"max":185},{"min":188,"max":190},{"min":2548,"max":2553},{"min":2930,"max":2935},{"min":3056,"max":3058},{"min":3192,"max":3198},{"min":3416,"max":3422},{"min":3440,"max":3448},{"min":3882,"max":3891},{"min":4969,"max":4988},{"min":6128,"max":6137},{"min":6618,"max":6618},{"min":8304,"max":8304},{"min":8308,"max":8313},{"min":8320,"max":8329},{"min":8528,"max":8543},{"min":8585,"max":8585},{"min":9312,"max":9371},{"min":9450,"max":9471},{"min":10102,"max":10131},{"min":11517,"max":11517},{"min":12690,"max":12693},{"min":12832,"max":12841},{"min":12872,"max":12879},{"min":12881,"max":12895},{"min":12928,"max":12937},{"min":12977,"max":12991},{"min":43056,"max":43061},{"min":65799,"max":65843},{"min":65909,"max":65912},{"min":65930,"max":65931},{"min":66273,"max":66299},{"min":66336,"max":66339},{"min":67672,"max":67679},{"min":67705,"max":67711},{"min":67751,"max":67759},{"min":67835,"max":67839},{"min":67862,"max":67867},{"min":68028,"max":68029},{"min":68032,"max":68047},{"min":68050,"max":68095},{"min":68160,"max":68168},{"min":68221,"max":68222},{"min":68253,"max":68255},{"min":68331,"max":68335},{"min":68440,"max":68447},{"min":68472,"max":68479},{"min":68521,"max":68527},{"min":68858,"max":68863},{"min":69216,"max":69246},{"min":69405,"max":69414},{"min":69457,"max":69460},{"min":69573,"max":69579},{"min":69714,"max":69733},{"min":70113,"max":70132},{"min":71482,"max":71483},{"min":71914,"max":71922},{"min":72794,"max":72812},{"min":73664,"max":73684},{"min":93019,"max":93025},{"min":93824,"max":93846},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119648,"max":119672},{"min":125127,"max":125135},{"min":126065,"max":126123},{"min":126125,"max":126127},{"min":126129,"max":126132},{"min":126209,"max":126253},{"min":126255,"max":126269},{"min":127232,"max":127244}]'),nu=JSON.parse('[{"min":33,"max":35},{"min":37,"max":39},{"min":42,"max":42},{"min":44,"max":44},{"min":46,"max":47},{"min":58,"max":59},{"min":63,"max":64},{"min":92,"max":92},{"min":161,"max":161},{"min":167,"max":167},{"min":182,"max":183},{"min":191,"max":191},{"min":894,"max":894},{"min":903,"max":903},{"min":1370,"max":1375},{"min":1417,"max":1417},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1523,"max":1524},{"min":1545,"max":1546},{"min":1548,"max":1549},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1642,"max":1645},{"min":1748,"max":1748},{"min":1792,"max":1805},{"min":2039,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":2416,"max":2416},{"min":2557,"max":2557},{"min":2678,"max":2678},{"min":2800,"max":2800},{"min":3191,"max":3191},{"min":3204,"max":3204},{"min":3572,"max":3572},{"min":3663,"max":3663},{"min":3674,"max":3675},{"min":3844,"max":3858},{"min":3860,"max":3860},{"min":3973,"max":3973},{"min":4048,"max":4052},{"min":4057,"max":4058},{"min":4170,"max":4175},{"min":4347,"max":4347},{"min":4960,"max":4968},{"min":5742,"max":5742},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6104,"max":6106},{"min":6144,"max":6149},{"min":6151,"max":6154},{"min":6468,"max":6469},{"min":6686,"max":6687},{"min":6816,"max":6822},{"min":6824,"max":6829},{"min":7002,"max":7008},{"min":7037,"max":7038},{"min":7164,"max":7167},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":7360,"max":7367},{"min":7379,"max":7379},{"min":8214,"max":8215},{"min":8224,"max":8231},{"min":8240,"max":8248},{"min":8251,"max":8254},{"min":8257,"max":8259},{"min":8263,"max":8273},{"min":8275,"max":8275},{"min":8277,"max":8286},{"min":11513,"max":11516},{"min":11518,"max":11519},{"min":11632,"max":11632},{"min":11776,"max":11777},{"min":11782,"max":11784},{"min":11787,"max":11787},{"min":11790,"max":11798},{"min":11800,"max":11801},{"min":11803,"max":11803},{"min":11806,"max":11807},{"min":11818,"max":11822},{"min":11824,"max":11833},{"min":11836,"max":11839},{"min":11841,"max":11841},{"min":11843,"max":11855},{"min":11858,"max":11860},{"min":12289,"max":12291},{"min":12349,"max":12349},{"min":12539,"max":12539},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42611,"max":42611},{"min":42622,"max":42622},{"min":42738,"max":42743},{"min":43124,"max":43127},{"min":43214,"max":43215},{"min":43256,"max":43258},{"min":43260,"max":43260},{"min":43310,"max":43311},{"min":43359,"max":43359},{"min":43457,"max":43469},{"min":43486,"max":43487},{"min":43612,"max":43615},{"min":43742,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65040,"max":65046},{"min":65049,"max":65049},{"min":65072,"max":65072},{"min":65093,"max":65094},{"min":65097,"max":65100},{"min":65104,"max":65106},{"min":65108,"max":65111},{"min":65119,"max":65121},{"min":65128,"max":65128},{"min":65130,"max":65131},{"min":65281,"max":65283},{"min":65285,"max":65287},{"min":65290,"max":65290},{"min":65292,"max":65292},{"min":65294,"max":65295},{"min":65306,"max":65307},{"min":65311,"max":65312},{"min":65340,"max":65340},{"min":65377,"max":65377},{"min":65380,"max":65381},{"min":65792,"max":65794},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":66927,"max":66927},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":67903,"max":67903},{"min":68176,"max":68184},{"min":68223,"max":68223},{"min":68336,"max":68342},{"min":68409,"max":68415},{"min":68505,"max":68508},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69952,"max":69955},{"min":70004,"max":70005},{"min":70085,"max":70088},{"min":70093,"max":70093},{"min":70107,"max":70107},{"min":70109,"max":70111},{"min":70200,"max":70205},{"min":70313,"max":70313},{"min":70731,"max":70735},{"min":70746,"max":70747},{"min":70749,"max":70749},{"min":70854,"max":70854},{"min":71105,"max":71127},{"min":71233,"max":71235},{"min":71264,"max":71276},{"min":71353,"max":71353},{"min":71484,"max":71486},{"min":71739,"max":71739},{"min":72004,"max":72006},{"min":72162,"max":72162},{"min":72255,"max":72262},{"min":72346,"max":72348},{"min":72350,"max":72354},{"min":72448,"max":72457},{"min":72769,"max":72773},{"min":72816,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73551},{"min":73727,"max":73727},{"min":74864,"max":74868},{"min":77809,"max":77810},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92987},{"min":92996,"max":92996},{"min":93847,"max":93850},{"min":94178,"max":94178},{"min":113823,"max":113823},{"min":121479,"max":121483},{"min":125278,"max":125279}]'),eu=JSON.parse('[{"min":166,"max":166},{"min":169,"max":169},{"min":174,"max":174},{"min":176,"max":176},{"min":1154,"max":1154},{"min":1421,"max":1422},{"min":1550,"max":1551},{"min":1758,"max":1758},{"min":1769,"max":1769},{"min":1789,"max":1790},{"min":2038,"max":2038},{"min":2554,"max":2554},{"min":2928,"max":2928},{"min":3059,"max":3064},{"min":3066,"max":3066},{"min":3199,"max":3199},{"min":3407,"max":3407},{"min":3449,"max":3449},{"min":3841,"max":3843},{"min":3859,"max":3859},{"min":3861,"max":3863},{"min":3866,"max":3871},{"min":3892,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4047},{"min":4053,"max":4056},{"min":4254,"max":4255},{"min":5008,"max":5017},{"min":5741,"max":5741},{"min":6464,"max":6464},{"min":6622,"max":6655},{"min":7009,"max":7018},{"min":7028,"max":7036},{"min":8448,"max":8449},{"min":8451,"max":8454},{"min":8456,"max":8457},{"min":8468,"max":8468},{"min":8470,"max":8471},{"min":8478,"max":8483},{"min":8485,"max":8485},{"min":8487,"max":8487},{"min":8489,"max":8489},{"min":8494,"max":8494},{"min":8506,"max":8507},{"min":8522,"max":8522},{"min":8524,"max":8525},{"min":8527,"max":8527},{"min":8586,"max":8587},{"min":8597,"max":8601},{"min":8604,"max":8607},{"min":8609,"max":8610},{"min":8612,"max":8613},{"min":8615,"max":8621},{"min":8623,"max":8653},{"min":8656,"max":8657},{"min":8659,"max":8659},{"min":8661,"max":8691},{"min":8960,"max":8967},{"min":8972,"max":8991},{"min":8994,"max":9000},{"min":9003,"max":9083},{"min":9085,"max":9114},{"min":9140,"max":9179},{"min":9186,"max":9254},{"min":9280,"max":9290},{"min":9372,"max":9449},{"min":9472,"max":9654},{"min":9656,"max":9664},{"min":9666,"max":9719},{"min":9728,"max":9838},{"min":9840,"max":10087},{"min":10132,"max":10175},{"min":10240,"max":10495},{"min":11008,"max":11055},{"min":11077,"max":11078},{"min":11085,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11493,"max":11498},{"min":11856,"max":11857},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12292,"max":12292},{"min":12306,"max":12307},{"min":12320,"max":12320},{"min":12342,"max":12343},{"min":12350,"max":12351},{"min":12688,"max":12689},{"min":12694,"max":12703},{"min":12736,"max":12771},{"min":12800,"max":12830},{"min":12842,"max":12871},{"min":12880,"max":12880},{"min":12896,"max":12927},{"min":12938,"max":12976},{"min":12992,"max":13311},{"min":19904,"max":19967},{"min":42128,"max":42182},{"min":43048,"max":43051},{"min":43062,"max":43063},{"min":43065,"max":43065},{"min":43639,"max":43641},{"min":64832,"max":64847},{"min":64975,"max":64975},{"min":65021,"max":65023},{"min":65508,"max":65508},{"min":65512,"max":65512},{"min":65517,"max":65518},{"min":65532,"max":65533},{"min":65847,"max":65855},{"min":65913,"max":65929},{"min":65932,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":67703,"max":67704},{"min":68296,"max":68296},{"min":71487,"max":71487},{"min":73685,"max":73692},{"min":73697,"max":73713},{"min":92988,"max":92991},{"min":92997,"max":92997},{"min":113820,"max":113820},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119146,"max":119148},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119552,"max":119638},{"min":120832,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121478},{"min":123215,"max":123215},{"min":126124,"max":126124},{"min":126254,"max":126254},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127245,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":127994},{"min":128000,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994}]'),au=JSON.parse('[{"min":8233,"max":8233}]'),iu=JSON.parse('[{"min":57344,"max":63743},{"min":983040,"max":1048573},{"min":1048576,"max":1114109}]'),mu=JSON.parse('[{"min":33,"max":35},{"min":37,"max":42},{"min":44,"max":47},{"min":58,"max":59},{"min":63,"max":64},{"min":91,"max":93},{"min":95,"max":95},{"min":123,"max":123},{"min":125,"max":125},{"min":161,"max":161},{"min":167,"max":167},{"min":171,"max":171},{"min":182,"max":183},{"min":187,"max":187},{"min":191,"max":191},{"min":894,"max":894},{"min":903,"max":903},{"min":1370,"max":1375},{"min":1417,"max":1418},{"min":1470,"max":1470},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1523,"max":1524},{"min":1545,"max":1546},{"min":1548,"max":1549},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1642,"max":1645},{"min":1748,"max":1748},{"min":1792,"max":1805},{"min":2039,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":2416,"max":2416},{"min":2557,"max":2557},{"min":2678,"max":2678},{"min":2800,"max":2800},{"min":3191,"max":3191},{"min":3204,"max":3204},{"min":3572,"max":3572},{"min":3663,"max":3663},{"min":3674,"max":3675},{"min":3844,"max":3858},{"min":3860,"max":3860},{"min":3898,"max":3901},{"min":3973,"max":3973},{"min":4048,"max":4052},{"min":4057,"max":4058},{"min":4170,"max":4175},{"min":4347,"max":4347},{"min":4960,"max":4968},{"min":5120,"max":5120},{"min":5742,"max":5742},{"min":5787,"max":5788},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6104,"max":6106},{"min":6144,"max":6154},{"min":6468,"max":6469},{"min":6686,"max":6687},{"min":6816,"max":6822},{"min":6824,"max":6829},{"min":7002,"max":7008},{"min":7037,"max":7038},{"min":7164,"max":7167},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":7360,"max":7367},{"min":7379,"max":7379},{"min":8208,"max":8231},{"min":8240,"max":8259},{"min":8261,"max":8273},{"min":8275,"max":8286},{"min":8317,"max":8318},{"min":8333,"max":8334},{"min":8968,"max":8971},{"min":9001,"max":9002},{"min":10088,"max":10101},{"min":10181,"max":10182},{"min":10214,"max":10223},{"min":10627,"max":10648},{"min":10712,"max":10715},{"min":10748,"max":10749},{"min":11513,"max":11516},{"min":11518,"max":11519},{"min":11632,"max":11632},{"min":11776,"max":11822},{"min":11824,"max":11855},{"min":11858,"max":11869},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12308,"max":12319},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12448,"max":12448},{"min":12539,"max":12539},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42611,"max":42611},{"min":42622,"max":42622},{"min":42738,"max":42743},{"min":43124,"max":43127},{"min":43214,"max":43215},{"min":43256,"max":43258},{"min":43260,"max":43260},{"min":43310,"max":43311},{"min":43359,"max":43359},{"min":43457,"max":43469},{"min":43486,"max":43487},{"min":43612,"max":43615},{"min":43742,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":64830,"max":64831},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65121},{"min":65123,"max":65123},{"min":65128,"max":65128},{"min":65130,"max":65131},{"min":65281,"max":65283},{"min":65285,"max":65290},{"min":65292,"max":65295},{"min":65306,"max":65307},{"min":65311,"max":65312},{"min":65339,"max":65341},{"min":65343,"max":65343},{"min":65371,"max":65371},{"min":65373,"max":65373},{"min":65375,"max":65381},{"min":65792,"max":65794},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":66927,"max":66927},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":67903,"max":67903},{"min":68176,"max":68184},{"min":68223,"max":68223},{"min":68336,"max":68342},{"min":68409,"max":68415},{"min":68505,"max":68508},{"min":69293,"max":69293},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69952,"max":69955},{"min":70004,"max":70005},{"min":70085,"max":70088},{"min":70093,"max":70093},{"min":70107,"max":70107},{"min":70109,"max":70111},{"min":70200,"max":70205},{"min":70313,"max":70313},{"min":70731,"max":70735},{"min":70746,"max":70747},{"min":70749,"max":70749},{"min":70854,"max":70854},{"min":71105,"max":71127},{"min":71233,"max":71235},{"min":71264,"max":71276},{"min":71353,"max":71353},{"min":71484,"max":71486},{"min":71739,"max":71739},{"min":72004,"max":72006},{"min":72162,"max":72162},{"min":72255,"max":72262},{"min":72346,"max":72348},{"min":72350,"max":72354},{"min":72448,"max":72457},{"min":72769,"max":72773},{"min":72816,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73551},{"min":73727,"max":73727},{"min":74864,"max":74868},{"min":77809,"max":77810},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92987},{"min":92996,"max":92996},{"min":93847,"max":93850},{"min":94178,"max":94178},{"min":113823,"max":113823},{"min":121479,"max":121483},{"min":125278,"max":125279}]'),tu=JSON.parse('[{"min":32,"max":32},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8232,"max":8233},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'),ru=JSON.parse('[{"min":32,"max":32},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'),su=JSON.parse('[{"min":2307,"max":2307},{"min":2363,"max":2363},{"min":2366,"max":2368},{"min":2377,"max":2380},{"min":2382,"max":2383},{"min":2434,"max":2435},{"min":2494,"max":2496},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2519,"max":2519},{"min":2563,"max":2563},{"min":2622,"max":2624},{"min":2691,"max":2691},{"min":2750,"max":2752},{"min":2761,"max":2761},{"min":2763,"max":2764},{"min":2818,"max":2819},{"min":2878,"max":2878},{"min":2880,"max":2880},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2903,"max":2903},{"min":3006,"max":3007},{"min":3009,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3031,"max":3031},{"min":3073,"max":3075},{"min":3137,"max":3140},{"min":3202,"max":3203},{"min":3262,"max":3262},{"min":3264,"max":3268},{"min":3271,"max":3272},{"min":3274,"max":3275},{"min":3285,"max":3286},{"min":3315,"max":3315},{"min":3330,"max":3331},{"min":3390,"max":3392},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3415,"max":3415},{"min":3458,"max":3459},{"min":3535,"max":3537},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3902,"max":3903},{"min":3967,"max":3967},{"min":4139,"max":4140},{"min":4145,"max":4145},{"min":4152,"max":4152},{"min":4155,"max":4156},{"min":4182,"max":4183},{"min":4194,"max":4196},{"min":4199,"max":4205},{"min":4227,"max":4228},{"min":4231,"max":4236},{"min":4239,"max":4239},{"min":4250,"max":4252},{"min":5909,"max":5909},{"min":5940,"max":5940},{"min":6070,"max":6070},{"min":6078,"max":6085},{"min":6087,"max":6088},{"min":6435,"max":6438},{"min":6441,"max":6443},{"min":6448,"max":6449},{"min":6451,"max":6456},{"min":6681,"max":6682},{"min":6741,"max":6741},{"min":6743,"max":6743},{"min":6753,"max":6753},{"min":6755,"max":6756},{"min":6765,"max":6770},{"min":6916,"max":6916},{"min":6965,"max":6965},{"min":6971,"max":6971},{"min":6973,"max":6977},{"min":6979,"max":6980},{"min":7042,"max":7042},{"min":7073,"max":7073},{"min":7078,"max":7079},{"min":7082,"max":7082},{"min":7143,"max":7143},{"min":7146,"max":7148},{"min":7150,"max":7150},{"min":7154,"max":7155},{"min":7204,"max":7211},{"min":7220,"max":7221},{"min":7393,"max":7393},{"min":7415,"max":7415},{"min":12334,"max":12335},{"min":43043,"max":43044},{"min":43047,"max":43047},{"min":43136,"max":43137},{"min":43188,"max":43203},{"min":43346,"max":43347},{"min":43395,"max":43395},{"min":43444,"max":43445},{"min":43450,"max":43451},{"min":43454,"max":43456},{"min":43567,"max":43568},{"min":43571,"max":43572},{"min":43597,"max":43597},{"min":43643,"max":43643},{"min":43645,"max":43645},{"min":43755,"max":43755},{"min":43758,"max":43759},{"min":43765,"max":43765},{"min":44003,"max":44004},{"min":44006,"max":44007},{"min":44009,"max":44010},{"min":44012,"max":44012},{"min":69632,"max":69632},{"min":69634,"max":69634},{"min":69762,"max":69762},{"min":69808,"max":69810},{"min":69815,"max":69816},{"min":69932,"max":69932},{"min":69957,"max":69958},{"min":70018,"max":70018},{"min":70067,"max":70069},{"min":70079,"max":70080},{"min":70094,"max":70094},{"min":70188,"max":70190},{"min":70194,"max":70195},{"min":70197,"max":70197},{"min":70368,"max":70370},{"min":70402,"max":70403},{"min":70462,"max":70463},{"min":70465,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70487,"max":70487},{"min":70498,"max":70499},{"min":70709,"max":70711},{"min":70720,"max":70721},{"min":70725,"max":70725},{"min":70832,"max":70834},{"min":70841,"max":70841},{"min":70843,"max":70846},{"min":70849,"max":70849},{"min":71087,"max":71089},{"min":71096,"max":71099},{"min":71102,"max":71102},{"min":71216,"max":71218},{"min":71227,"max":71228},{"min":71230,"max":71230},{"min":71340,"max":71340},{"min":71342,"max":71343},{"min":71350,"max":71350},{"min":71456,"max":71457},{"min":71462,"max":71462},{"min":71724,"max":71726},{"min":71736,"max":71736},{"min":71984,"max":71989},{"min":71991,"max":71992},{"min":71997,"max":71997},{"min":72000,"max":72000},{"min":72002,"max":72002},{"min":72145,"max":72147},{"min":72156,"max":72159},{"min":72164,"max":72164},{"min":72249,"max":72249},{"min":72279,"max":72280},{"min":72343,"max":72343},{"min":72751,"max":72751},{"min":72766,"max":72766},{"min":72873,"max":72873},{"min":72881,"max":72881},{"min":72884,"max":72884},{"min":73098,"max":73102},{"min":73107,"max":73108},{"min":73110,"max":73110},{"min":73461,"max":73462},{"min":73475,"max":73475},{"min":73524,"max":73525},{"min":73534,"max":73535},{"min":73537,"max":73537},{"min":94033,"max":94087},{"min":94192,"max":94193},{"min":119141,"max":119142},{"min":119149,"max":119154}]'),ou=JSON.parse('[{"min":55296,"max":57343}]'),xu=JSON.parse('[{"min":36,"max":36},{"min":43,"max":43},{"min":60,"max":62},{"min":94,"max":94},{"min":96,"max":96},{"min":124,"max":124},{"min":126,"max":126},{"min":162,"max":166},{"min":168,"max":169},{"min":172,"max":172},{"min":174,"max":177},{"min":180,"max":180},{"min":184,"max":184},{"min":215,"max":215},{"min":247,"max":247},{"min":706,"max":709},{"min":722,"max":735},{"min":741,"max":747},{"min":749,"max":749},{"min":751,"max":767},{"min":885,"max":885},{"min":900,"max":901},{"min":1014,"max":1014},{"min":1154,"max":1154},{"min":1421,"max":1423},{"min":1542,"max":1544},{"min":1547,"max":1547},{"min":1550,"max":1551},{"min":1758,"max":1758},{"min":1769,"max":1769},{"min":1789,"max":1790},{"min":2038,"max":2038},{"min":2046,"max":2047},{"min":2184,"max":2184},{"min":2546,"max":2547},{"min":2554,"max":2555},{"min":2801,"max":2801},{"min":2928,"max":2928},{"min":3059,"max":3066},{"min":3199,"max":3199},{"min":3407,"max":3407},{"min":3449,"max":3449},{"min":3647,"max":3647},{"min":3841,"max":3843},{"min":3859,"max":3859},{"min":3861,"max":3863},{"min":3866,"max":3871},{"min":3892,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4047},{"min":4053,"max":4056},{"min":4254,"max":4255},{"min":5008,"max":5017},{"min":5741,"max":5741},{"min":6107,"max":6107},{"min":6464,"max":6464},{"min":6622,"max":6655},{"min":7009,"max":7018},{"min":7028,"max":7036},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8314,"max":8316},{"min":8330,"max":8332},{"min":8352,"max":8384},{"min":8448,"max":8449},{"min":8451,"max":8454},{"min":8456,"max":8457},{"min":8468,"max":8468},{"min":8470,"max":8472},{"min":8478,"max":8483},{"min":8485,"max":8485},{"min":8487,"max":8487},{"min":8489,"max":8489},{"min":8494,"max":8494},{"min":8506,"max":8507},{"min":8512,"max":8516},{"min":8522,"max":8525},{"min":8527,"max":8527},{"min":8586,"max":8587},{"min":8592,"max":8967},{"min":8972,"max":9000},{"min":9003,"max":9254},{"min":9280,"max":9290},{"min":9372,"max":9449},{"min":9472,"max":10087},{"min":10132,"max":10180},{"min":10183,"max":10213},{"min":10224,"max":10626},{"min":10649,"max":10711},{"min":10716,"max":10747},{"min":10750,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11493,"max":11498},{"min":11856,"max":11857},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12292,"max":12292},{"min":12306,"max":12307},{"min":12320,"max":12320},{"min":12342,"max":12343},{"min":12350,"max":12351},{"min":12443,"max":12444},{"min":12688,"max":12689},{"min":12694,"max":12703},{"min":12736,"max":12771},{"min":12800,"max":12830},{"min":12842,"max":12871},{"min":12880,"max":12880},{"min":12896,"max":12927},{"min":12938,"max":12976},{"min":12992,"max":13311},{"min":19904,"max":19967},{"min":42128,"max":42182},{"min":42752,"max":42774},{"min":42784,"max":42785},{"min":42889,"max":42890},{"min":43048,"max":43051},{"min":43062,"max":43065},{"min":43639,"max":43641},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64297,"max":64297},{"min":64434,"max":64450},{"min":64832,"max":64847},{"min":64975,"max":64975},{"min":65020,"max":65023},{"min":65122,"max":65122},{"min":65124,"max":65126},{"min":65129,"max":65129},{"min":65284,"max":65284},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65532,"max":65533},{"min":65847,"max":65855},{"min":65913,"max":65929},{"min":65932,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":67703,"max":67704},{"min":68296,"max":68296},{"min":71487,"max":71487},{"min":73685,"max":73713},{"min":92988,"max":92991},{"min":92997,"max":92997},{"min":113820,"max":113820},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119146,"max":119148},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119552,"max":119638},{"min":120513,"max":120513},{"min":120539,"max":120539},{"min":120571,"max":120571},{"min":120597,"max":120597},{"min":120629,"max":120629},{"min":120655,"max":120655},{"min":120687,"max":120687},{"min":120713,"max":120713},{"min":120745,"max":120745},{"min":120771,"max":120771},{"min":120832,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121478},{"min":123215,"max":123215},{"min":123647,"max":123647},{"min":126124,"max":126124},{"min":126128,"max":126128},{"min":126254,"max":126254},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127245,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994}]'),cu=JSON.parse('[{"min":453,"max":453},{"min":456,"max":456},{"min":459,"max":459},{"min":498,"max":498},{"min":8072,"max":8079},{"min":8088,"max":8095},{"min":8104,"max":8111},{"min":8124,"max":8124},{"min":8140,"max":8140},{"min":8188,"max":8188}]'),lu=JSON.parse('[{"min":888,"max":889},{"min":896,"max":899},{"min":907,"max":907},{"min":909,"max":909},{"min":930,"max":930},{"min":1328,"max":1328},{"min":1367,"max":1368},{"min":1419,"max":1420},{"min":1424,"max":1424},{"min":1480,"max":1487},{"min":1515,"max":1518},{"min":1525,"max":1535},{"min":1806,"max":1806},{"min":1867,"max":1868},{"min":1970,"max":1983},{"min":2043,"max":2044},{"min":2094,"max":2095},{"min":2111,"max":2111},{"min":2140,"max":2141},{"min":2143,"max":2143},{"min":2155,"max":2159},{"min":2191,"max":2191},{"min":2194,"max":2199},{"min":2436,"max":2436},{"min":2445,"max":2446},{"min":2449,"max":2450},{"min":2473,"max":2473},{"min":2481,"max":2481},{"min":2483,"max":2485},{"min":2490,"max":2491},{"min":2501,"max":2502},{"min":2505,"max":2506},{"min":2511,"max":2518},{"min":2520,"max":2523},{"min":2526,"max":2526},{"min":2532,"max":2533},{"min":2559,"max":2560},{"min":2564,"max":2564},{"min":2571,"max":2574},{"min":2577,"max":2578},{"min":2601,"max":2601},{"min":2609,"max":2609},{"min":2612,"max":2612},{"min":2615,"max":2615},{"min":2618,"max":2619},{"min":2621,"max":2621},{"min":2627,"max":2630},{"min":2633,"max":2634},{"min":2638,"max":2640},{"min":2642,"max":2648},{"min":2653,"max":2653},{"min":2655,"max":2661},{"min":2679,"max":2688},{"min":2692,"max":2692},{"min":2702,"max":2702},{"min":2706,"max":2706},{"min":2729,"max":2729},{"min":2737,"max":2737},{"min":2740,"max":2740},{"min":2746,"max":2747},{"min":2758,"max":2758},{"min":2762,"max":2762},{"min":2766,"max":2767},{"min":2769,"max":2783},{"min":2788,"max":2789},{"min":2802,"max":2808},{"min":2816,"max":2816},{"min":2820,"max":2820},{"min":2829,"max":2830},{"min":2833,"max":2834},{"min":2857,"max":2857},{"min":2865,"max":2865},{"min":2868,"max":2868},{"min":2874,"max":2875},{"min":2885,"max":2886},{"min":2889,"max":2890},{"min":2894,"max":2900},{"min":2904,"max":2907},{"min":2910,"max":2910},{"min":2916,"max":2917},{"min":2936,"max":2945},{"min":2948,"max":2948},{"min":2955,"max":2957},{"min":2961,"max":2961},{"min":2966,"max":2968},{"min":2971,"max":2971},{"min":2973,"max":2973},{"min":2976,"max":2978},{"min":2981,"max":2983},{"min":2987,"max":2989},{"min":3002,"max":3005},{"min":3011,"max":3013},{"min":3017,"max":3017},{"min":3022,"max":3023},{"min":3025,"max":3030},{"min":3032,"max":3045},{"min":3067,"max":3071},{"min":3085,"max":3085},{"min":3089,"max":3089},{"min":3113,"max":3113},{"min":3130,"max":3131},{"min":3141,"max":3141},{"min":3145,"max":3145},{"min":3150,"max":3156},{"min":3159,"max":3159},{"min":3163,"max":3164},{"min":3166,"max":3167},{"min":3172,"max":3173},{"min":3184,"max":3190},{"min":3213,"max":3213},{"min":3217,"max":3217},{"min":3241,"max":3241},{"min":3252,"max":3252},{"min":3258,"max":3259},{"min":3269,"max":3269},{"min":3273,"max":3273},{"min":3278,"max":3284},{"min":3287,"max":3292},{"min":3295,"max":3295},{"min":3300,"max":3301},{"min":3312,"max":3312},{"min":3316,"max":3327},{"min":3341,"max":3341},{"min":3345,"max":3345},{"min":3397,"max":3397},{"min":3401,"max":3401},{"min":3408,"max":3411},{"min":3428,"max":3429},{"min":3456,"max":3456},{"min":3460,"max":3460},{"min":3479,"max":3481},{"min":3506,"max":3506},{"min":3516,"max":3516},{"min":3518,"max":3519},{"min":3527,"max":3529},{"min":3531,"max":3534},{"min":3541,"max":3541},{"min":3543,"max":3543},{"min":3552,"max":3557},{"min":3568,"max":3569},{"min":3573,"max":3584},{"min":3643,"max":3646},{"min":3676,"max":3712},{"min":3715,"max":3715},{"min":3717,"max":3717},{"min":3723,"max":3723},{"min":3748,"max":3748},{"min":3750,"max":3750},{"min":3774,"max":3775},{"min":3781,"max":3781},{"min":3783,"max":3783},{"min":3791,"max":3791},{"min":3802,"max":3803},{"min":3808,"max":3839},{"min":3912,"max":3912},{"min":3949,"max":3952},{"min":3992,"max":3992},{"min":4029,"max":4029},{"min":4045,"max":4045},{"min":4059,"max":4095},{"min":4294,"max":4294},{"min":4296,"max":4300},{"min":4302,"max":4303},{"min":4681,"max":4681},{"min":4686,"max":4687},{"min":4695,"max":4695},{"min":4697,"max":4697},{"min":4702,"max":4703},{"min":4745,"max":4745},{"min":4750,"max":4751},{"min":4785,"max":4785},{"min":4790,"max":4791},{"min":4799,"max":4799},{"min":4801,"max":4801},{"min":4806,"max":4807},{"min":4823,"max":4823},{"min":4881,"max":4881},{"min":4886,"max":4887},{"min":4955,"max":4956},{"min":4989,"max":4991},{"min":5018,"max":5023},{"min":5110,"max":5111},{"min":5118,"max":5119},{"min":5789,"max":5791},{"min":5881,"max":5887},{"min":5910,"max":5918},{"min":5943,"max":5951},{"min":5972,"max":5983},{"min":5997,"max":5997},{"min":6001,"max":6001},{"min":6004,"max":6015},{"min":6110,"max":6111},{"min":6122,"max":6127},{"min":6138,"max":6143},{"min":6170,"max":6175},{"min":6265,"max":6271},{"min":6315,"max":6319},{"min":6390,"max":6399},{"min":6431,"max":6431},{"min":6444,"max":6447},{"min":6460,"max":6463},{"min":6465,"max":6467},{"min":6510,"max":6511},{"min":6517,"max":6527},{"min":6572,"max":6575},{"min":6602,"max":6607},{"min":6619,"max":6621},{"min":6684,"max":6685},{"min":6751,"max":6751},{"min":6781,"max":6782},{"min":6794,"max":6799},{"min":6810,"max":6815},{"min":6830,"max":6831},{"min":6863,"max":6911},{"min":6989,"max":6991},{"min":7039,"max":7039},{"min":7156,"max":7163},{"min":7224,"max":7226},{"min":7242,"max":7244},{"min":7305,"max":7311},{"min":7355,"max":7356},{"min":7368,"max":7375},{"min":7419,"max":7423},{"min":7958,"max":7959},{"min":7966,"max":7967},{"min":8006,"max":8007},{"min":8014,"max":8015},{"min":8024,"max":8024},{"min":8026,"max":8026},{"min":8028,"max":8028},{"min":8030,"max":8030},{"min":8062,"max":8063},{"min":8117,"max":8117},{"min":8133,"max":8133},{"min":8148,"max":8149},{"min":8156,"max":8156},{"min":8176,"max":8177},{"min":8181,"max":8181},{"min":8191,"max":8191},{"min":8293,"max":8293},{"min":8306,"max":8307},{"min":8335,"max":8335},{"min":8349,"max":8351},{"min":8385,"max":8399},{"min":8433,"max":8447},{"min":8588,"max":8591},{"min":9255,"max":9279},{"min":9291,"max":9311},{"min":11124,"max":11125},{"min":11158,"max":11158},{"min":11508,"max":11512},{"min":11558,"max":11558},{"min":11560,"max":11564},{"min":11566,"max":11567},{"min":11624,"max":11630},{"min":11633,"max":11646},{"min":11671,"max":11679},{"min":11687,"max":11687},{"min":11695,"max":11695},{"min":11703,"max":11703},{"min":11711,"max":11711},{"min":11719,"max":11719},{"min":11727,"max":11727},{"min":11735,"max":11735},{"min":11743,"max":11743},{"min":11870,"max":11903},{"min":11930,"max":11930},{"min":12020,"max":12031},{"min":12246,"max":12271},{"min":12284,"max":12287},{"min":12352,"max":12352},{"min":12439,"max":12440},{"min":12544,"max":12548},{"min":12592,"max":12592},{"min":12687,"max":12687},{"min":12772,"max":12783},{"min":12831,"max":12831},{"min":42125,"max":42127},{"min":42183,"max":42191},{"min":42540,"max":42559},{"min":42744,"max":42751},{"min":42955,"max":42959},{"min":42962,"max":42962},{"min":42964,"max":42964},{"min":42970,"max":42993},{"min":43053,"max":43055},{"min":43066,"max":43071},{"min":43128,"max":43135},{"min":43206,"max":43213},{"min":43226,"max":43231},{"min":43348,"max":43358},{"min":43389,"max":43391},{"min":43470,"max":43470},{"min":43482,"max":43485},{"min":43519,"max":43519},{"min":43575,"max":43583},{"min":43598,"max":43599},{"min":43610,"max":43611},{"min":43715,"max":43738},{"min":43767,"max":43776},{"min":43783,"max":43784},{"min":43791,"max":43792},{"min":43799,"max":43807},{"min":43815,"max":43815},{"min":43823,"max":43823},{"min":43884,"max":43887},{"min":44014,"max":44015},{"min":44026,"max":44031},{"min":55204,"max":55215},{"min":55239,"max":55242},{"min":55292,"max":55295},{"min":64110,"max":64111},{"min":64218,"max":64255},{"min":64263,"max":64274},{"min":64280,"max":64284},{"min":64311,"max":64311},{"min":64317,"max":64317},{"min":64319,"max":64319},{"min":64322,"max":64322},{"min":64325,"max":64325},{"min":64451,"max":64466},{"min":64912,"max":64913},{"min":64968,"max":64974},{"min":64976,"max":65007},{"min":65050,"max":65055},{"min":65107,"max":65107},{"min":65127,"max":65127},{"min":65132,"max":65135},{"min":65141,"max":65141},{"min":65277,"max":65278},{"min":65280,"max":65280},{"min":65471,"max":65473},{"min":65480,"max":65481},{"min":65488,"max":65489},{"min":65496,"max":65497},{"min":65501,"max":65503},{"min":65511,"max":65511},{"min":65519,"max":65528},{"min":65534,"max":65535},{"min":65548,"max":65548},{"min":65575,"max":65575},{"min":65595,"max":65595},{"min":65598,"max":65598},{"min":65614,"max":65615},{"min":65630,"max":65663},{"min":65787,"max":65791},{"min":65795,"max":65798},{"min":65844,"max":65846},{"min":65935,"max":65935},{"min":65949,"max":65951},{"min":65953,"max":65999},{"min":66046,"max":66175},{"min":66205,"max":66207},{"min":66257,"max":66271},{"min":66300,"max":66303},{"min":66340,"max":66348},{"min":66379,"max":66383},{"min":66427,"max":66431},{"min":66462,"max":66462},{"min":66500,"max":66503},{"min":66518,"max":66559},{"min":66718,"max":66719},{"min":66730,"max":66735},{"min":66772,"max":66775},{"min":66812,"max":66815},{"min":66856,"max":66863},{"min":66916,"max":66926},{"min":66939,"max":66939},{"min":66955,"max":66955},{"min":66963,"max":66963},{"min":66966,"max":66966},{"min":66978,"max":66978},{"min":66994,"max":66994},{"min":67002,"max":67002},{"min":67005,"max":67071},{"min":67383,"max":67391},{"min":67414,"max":67423},{"min":67432,"max":67455},{"min":67462,"max":67462},{"min":67505,"max":67505},{"min":67515,"max":67583},{"min":67590,"max":67591},{"min":67593,"max":67593},{"min":67638,"max":67638},{"min":67641,"max":67643},{"min":67645,"max":67646},{"min":67670,"max":67670},{"min":67743,"max":67750},{"min":67760,"max":67807},{"min":67827,"max":67827},{"min":67830,"max":67834},{"min":67868,"max":67870},{"min":67898,"max":67902},{"min":67904,"max":67967},{"min":68024,"max":68027},{"min":68048,"max":68049},{"min":68100,"max":68100},{"min":68103,"max":68107},{"min":68116,"max":68116},{"min":68120,"max":68120},{"min":68150,"max":68151},{"min":68155,"max":68158},{"min":68169,"max":68175},{"min":68185,"max":68191},{"min":68256,"max":68287},{"min":68327,"max":68330},{"min":68343,"max":68351},{"min":68406,"max":68408},{"min":68438,"max":68439},{"min":68467,"max":68471},{"min":68498,"max":68504},{"min":68509,"max":68520},{"min":68528,"max":68607},{"min":68681,"max":68735},{"min":68787,"max":68799},{"min":68851,"max":68857},{"min":68904,"max":68911},{"min":68922,"max":69215},{"min":69247,"max":69247},{"min":69290,"max":69290},{"min":69294,"max":69295},{"min":69298,"max":69372},{"min":69416,"max":69423},{"min":69466,"max":69487},{"min":69514,"max":69551},{"min":69580,"max":69599},{"min":69623,"max":69631},{"min":69710,"max":69713},{"min":69750,"max":69758},{"min":69827,"max":69836},{"min":69838,"max":69839},{"min":69865,"max":69871},{"min":69882,"max":69887},{"min":69941,"max":69941},{"min":69960,"max":69967},{"min":70007,"max":70015},{"min":70112,"max":70112},{"min":70133,"max":70143},{"min":70162,"max":70162},{"min":70210,"max":70271},{"min":70279,"max":70279},{"min":70281,"max":70281},{"min":70286,"max":70286},{"min":70302,"max":70302},{"min":70314,"max":70319},{"min":70379,"max":70383},{"min":70394,"max":70399},{"min":70404,"max":70404},{"min":70413,"max":70414},{"min":70417,"max":70418},{"min":70441,"max":70441},{"min":70449,"max":70449},{"min":70452,"max":70452},{"min":70458,"max":70458},{"min":70469,"max":70470},{"min":70473,"max":70474},{"min":70478,"max":70479},{"min":70481,"max":70486},{"min":70488,"max":70492},{"min":70500,"max":70501},{"min":70509,"max":70511},{"min":70517,"max":70655},{"min":70748,"max":70748},{"min":70754,"max":70783},{"min":70856,"max":70863},{"min":70874,"max":71039},{"min":71094,"max":71095},{"min":71134,"max":71167},{"min":71237,"max":71247},{"min":71258,"max":71263},{"min":71277,"max":71295},{"min":71354,"max":71359},{"min":71370,"max":71423},{"min":71451,"max":71452},{"min":71468,"max":71471},{"min":71495,"max":71679},{"min":71740,"max":71839},{"min":71923,"max":71934},{"min":71943,"max":71944},{"min":71946,"max":71947},{"min":71956,"max":71956},{"min":71959,"max":71959},{"min":71990,"max":71990},{"min":71993,"max":71994},{"min":72007,"max":72015},{"min":72026,"max":72095},{"min":72104,"max":72105},{"min":72152,"max":72153},{"min":72165,"max":72191},{"min":72264,"max":72271},{"min":72355,"max":72367},{"min":72441,"max":72447},{"min":72458,"max":72703},{"min":72713,"max":72713},{"min":72759,"max":72759},{"min":72774,"max":72783},{"min":72813,"max":72815},{"min":72848,"max":72849},{"min":72872,"max":72872},{"min":72887,"max":72959},{"min":72967,"max":72967},{"min":72970,"max":72970},{"min":73015,"max":73017},{"min":73019,"max":73019},{"min":73022,"max":73022},{"min":73032,"max":73039},{"min":73050,"max":73055},{"min":73062,"max":73062},{"min":73065,"max":73065},{"min":73103,"max":73103},{"min":73106,"max":73106},{"min":73113,"max":73119},{"min":73130,"max":73439},{"min":73465,"max":73471},{"min":73489,"max":73489},{"min":73531,"max":73533},{"min":73562,"max":73647},{"min":73649,"max":73663},{"min":73714,"max":73726},{"min":74650,"max":74751},{"min":74863,"max":74863},{"min":74869,"max":74879},{"min":75076,"max":77711},{"min":77811,"max":77823},{"min":78934,"max":82943},{"min":83527,"max":92159},{"min":92729,"max":92735},{"min":92767,"max":92767},{"min":92778,"max":92781},{"min":92863,"max":92863},{"min":92874,"max":92879},{"min":92910,"max":92911},{"min":92918,"max":92927},{"min":92998,"max":93007},{"min":93018,"max":93018},{"min":93026,"max":93026},{"min":93048,"max":93052},{"min":93072,"max":93759},{"min":93851,"max":93951},{"min":94027,"max":94030},{"min":94088,"max":94094},{"min":94112,"max":94175},{"min":94181,"max":94191},{"min":94194,"max":94207},{"min":100344,"max":100351},{"min":101590,"max":101631},{"min":101641,"max":110575},{"min":110580,"max":110580},{"min":110588,"max":110588},{"min":110591,"max":110591},{"min":110883,"max":110897},{"min":110899,"max":110927},{"min":110931,"max":110932},{"min":110934,"max":110947},{"min":110952,"max":110959},{"min":111356,"max":113663},{"min":113771,"max":113775},{"min":113789,"max":113791},{"min":113801,"max":113807},{"min":113818,"max":113819},{"min":113828,"max":118527},{"min":118574,"max":118575},{"min":118599,"max":118607},{"min":118724,"max":118783},{"min":119030,"max":119039},{"min":119079,"max":119080},{"min":119275,"max":119295},{"min":119366,"max":119487},{"min":119508,"max":119519},{"min":119540,"max":119551},{"min":119639,"max":119647},{"min":119673,"max":119807},{"min":119893,"max":119893},{"min":119965,"max":119965},{"min":119968,"max":119969},{"min":119971,"max":119972},{"min":119975,"max":119976},{"min":119981,"max":119981},{"min":119994,"max":119994},{"min":119996,"max":119996},{"min":120004,"max":120004},{"min":120070,"max":120070},{"min":120075,"max":120076},{"min":120085,"max":120085},{"min":120093,"max":120093},{"min":120122,"max":120122},{"min":120127,"max":120127},{"min":120133,"max":120133},{"min":120135,"max":120137},{"min":120145,"max":120145},{"min":120486,"max":120487},{"min":120780,"max":120781},{"min":121484,"max":121498},{"min":121504,"max":121504},{"min":121520,"max":122623},{"min":122655,"max":122660},{"min":122667,"max":122879},{"min":122887,"max":122887},{"min":122905,"max":122906},{"min":122914,"max":122914},{"min":122917,"max":122917},{"min":122923,"max":122927},{"min":122990,"max":123022},{"min":123024,"max":123135},{"min":123181,"max":123183},{"min":123198,"max":123199},{"min":123210,"max":123213},{"min":123216,"max":123535},{"min":123567,"max":123583},{"min":123642,"max":123646},{"min":123648,"max":124111},{"min":124154,"max":124895},{"min":124903,"max":124903},{"min":124908,"max":124908},{"min":124911,"max":124911},{"min":124927,"max":124927},{"min":125125,"max":125126},{"min":125143,"max":125183},{"min":125260,"max":125263},{"min":125274,"max":125277},{"min":125280,"max":126064},{"min":126133,"max":126208},{"min":126270,"max":126463},{"min":126468,"max":126468},{"min":126496,"max":126496},{"min":126499,"max":126499},{"min":126501,"max":126502},{"min":126504,"max":126504},{"min":126515,"max":126515},{"min":126520,"max":126520},{"min":126522,"max":126522},{"min":126524,"max":126529},{"min":126531,"max":126534},{"min":126536,"max":126536},{"min":126538,"max":126538},{"min":126540,"max":126540},{"min":126544,"max":126544},{"min":126547,"max":126547},{"min":126549,"max":126550},{"min":126552,"max":126552},{"min":126554,"max":126554},{"min":126556,"max":126556},{"min":126558,"max":126558},{"min":126560,"max":126560},{"min":126563,"max":126563},{"min":126565,"max":126566},{"min":126571,"max":126571},{"min":126579,"max":126579},{"min":126584,"max":126584},{"min":126589,"max":126589},{"min":126591,"max":126591},{"min":126602,"max":126602},{"min":126620,"max":126624},{"min":126628,"max":126628},{"min":126634,"max":126634},{"min":126652,"max":126703},{"min":126706,"max":126975},{"min":127020,"max":127023},{"min":127124,"max":127135},{"min":127151,"max":127152},{"min":127168,"max":127168},{"min":127184,"max":127184},{"min":127222,"max":127231},{"min":127406,"max":127461},{"min":127491,"max":127503},{"min":127548,"max":127551},{"min":127561,"max":127567},{"min":127570,"max":127583},{"min":127590,"max":127743},{"min":128728,"max":128731},{"min":128749,"max":128751},{"min":128765,"max":128767},{"min":128887,"max":128890},{"min":128986,"max":128991},{"min":129004,"max":129007},{"min":129009,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129199},{"min":129202,"max":129279},{"min":129620,"max":129631},{"min":129646,"max":129647},{"min":129661,"max":129663},{"min":129673,"max":129679},{"min":129726,"max":129726},{"min":129734,"max":129741},{"min":129756,"max":129759},{"min":129769,"max":129775},{"min":129785,"max":129791},{"min":129939,"max":129939},{"min":129995,"max":130031},{"min":130042,"max":131071},{"min":173792,"max":173823},{"min":177978,"max":177983},{"min":178206,"max":178207},{"min":183970,"max":183983},{"min":191457,"max":194559},{"min":195102,"max":196607},{"min":201547,"max":201551},{"min":205744,"max":917504},{"min":917506,"max":917535},{"min":917632,"max":917759},{"min":918000,"max":983039},{"min":1048574,"max":1048575},{"min":1114110,"max":1114111}]'),uu=JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":452},{"min":455,"max":455},{"min":458,"max":458},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":497},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":978,"max":980},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8120,"max":8123},{"min":8136,"max":8139},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8459,"max":8461},{"min":8464,"max":8466},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8496,"max":8499},{"min":8510,"max":8511},{"min":8517,"max":8517},{"min":8579,"max":8579},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":119808,"max":119833},{"min":119860,"max":119885},{"min":119912,"max":119937},{"min":119964,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119989},{"min":120016,"max":120041},{"min":120068,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120120,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120172,"max":120197},{"min":120224,"max":120249},{"min":120276,"max":120301},{"min":120328,"max":120353},{"min":120380,"max":120405},{"min":120432,"max":120457},{"min":120488,"max":120512},{"min":120546,"max":120570},{"min":120604,"max":120628},{"min":120662,"max":120686},{"min":120720,"max":120744},{"min":120778,"max":120778},{"min":125184,"max":125217}]'),N0=Object.freeze({__proto__:null,Cased_Letter:Il,Close_Punctuation:Pl,Connector_Punctuation:Ol,Control:Rl,Currency_Symbol:Ll,Dash_Punctuation:Nl,Decimal_Number:Ml,Enclosing_Mark:Jl,Final_Punctuation:Fl,Format:jl,Initial_Punctuation:Ul,Letter:Dl,Letter_Number:Gl,Line_Separator:Bl,Lowercase_Letter:Vl,Mark:$l,Math_Symbol:Wl,Modifier_Letter:Ql,Modifier_Symbol:zl,Nonspacing_Mark:ql,Number:Hl,Open_Punctuation:Kl,Other:Yl,Other_Letter:Xl,Other_Number:Zl,Other_Punctuation:nu,Other_Symbol:eu,Paragraph_Separator:au,Private_Use:iu,Punctuation:mu,Separator:tu,Space_Separator:ru,Spacing_Mark:su,Surrogate:ou,Symbol:xu,Titlecase_Letter:cu,Unassigned:lu,Uppercase_Letter:uu}),hu=JSON.parse('[{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279}]'),pu=JSON.parse('[{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494}]'),fu=JSON.parse('[{"min":82944,"max":83526}]'),du=JSON.parse('[{"min":1536,"max":1540},{"min":1542,"max":1547},{"min":1549,"max":1562},{"min":1564,"max":1566},{"min":1568,"max":1599},{"min":1601,"max":1610},{"min":1622,"max":1647},{"min":1649,"max":1756},{"min":1758,"max":1791},{"min":1872,"max":1919},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2273},{"min":2275,"max":2303},{"min":64336,"max":64450},{"min":64467,"max":64829},{"min":64832,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":69216,"max":69246},{"min":69373,"max":69375},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'),gu=JSON.parse('[{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":64275,"max":64279}]'),yu=JSON.parse('[{"min":68352,"max":68405},{"min":68409,"max":68415}]'),Cu=JSON.parse('[{"min":6912,"max":6988},{"min":6992,"max":7038}]'),vu=JSON.parse('[{"min":42656,"max":42743},{"min":92160,"max":92728}]'),_u=JSON.parse('[{"min":92880,"max":92909},{"min":92912,"max":92917}]'),Su=JSON.parse('[{"min":7104,"max":7155},{"min":7164,"max":7167}]'),wu=JSON.parse('[{"min":2432,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558}]'),Eu=JSON.parse('[{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812}]'),bu=JSON.parse('[{"min":746,"max":747},{"min":12549,"max":12591},{"min":12704,"max":12735}]'),ku=JSON.parse('[{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69759}]'),Tu=JSON.parse('[{"min":10240,"max":10495}]'),Au=JSON.parse('[{"min":6656,"max":6683},{"min":6686,"max":6687}]'),Iu=JSON.parse('[{"min":5952,"max":5971}]'),Pu=JSON.parse('[{"min":5120,"max":5759},{"min":6320,"max":6389},{"min":72368,"max":72383}]'),Ou=JSON.parse('[{"min":66208,"max":66256}]'),Ru=JSON.parse('[{"min":66864,"max":66915},{"min":66927,"max":66927}]'),Lu=JSON.parse('[{"min":69888,"max":69940},{"min":69942,"max":69959}]'),Nu=JSON.parse('[{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43615}]'),Mu=JSON.parse('[{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":43888,"max":43967}]'),Ju=JSON.parse('[{"min":0,"max":64},{"min":91,"max":96},{"min":123,"max":169},{"min":171,"max":185},{"min":187,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":697,"max":735},{"min":741,"max":745},{"min":748,"max":767},{"min":884,"max":884},{"min":894,"max":894},{"min":901,"max":901},{"min":903,"max":903},{"min":1541,"max":1541},{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1757,"max":1757},{"min":2274,"max":2274},{"min":2404,"max":2405},{"min":3647,"max":3647},{"min":4053,"max":4056},{"min":4347,"max":4347},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6146,"max":6147},{"min":6149,"max":6149},{"min":7379,"max":7379},{"min":7393,"max":7393},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7415},{"min":7418,"max":7418},{"min":8192,"max":8203},{"min":8206,"max":8292},{"min":8294,"max":8304},{"min":8308,"max":8318},{"min":8320,"max":8334},{"min":8352,"max":8384},{"min":8448,"max":8485},{"min":8487,"max":8489},{"min":8492,"max":8497},{"min":8499,"max":8525},{"min":8527,"max":8543},{"min":8585,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":10239},{"min":10496,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11776,"max":11869},{"min":12272,"max":12283},{"min":12288,"max":12292},{"min":12294,"max":12294},{"min":12296,"max":12320},{"min":12336,"max":12343},{"min":12348,"max":12351},{"min":12443,"max":12444},{"min":12448,"max":12448},{"min":12539,"max":12540},{"min":12688,"max":12703},{"min":12736,"max":12771},{"min":12832,"max":12895},{"min":12927,"max":13007},{"min":13055,"max":13055},{"min":13144,"max":13311},{"min":19904,"max":19967},{"min":42752,"max":42785},{"min":42888,"max":42890},{"min":43056,"max":43065},{"min":43310,"max":43310},{"min":43471,"max":43471},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64830,"max":64831},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65279,"max":65279},{"min":65281,"max":65312},{"min":65339,"max":65344},{"min":65371,"max":65381},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855},{"min":65936,"max":65948},{"min":66000,"max":66044},{"min":66273,"max":66299},{"min":113824,"max":113827},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119142},{"min":119146,"max":119162},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":917505,"max":917505},{"min":917536,"max":917631}]'),Fu=JSON.parse('[{"min":994,"max":1007},{"min":11392,"max":11507},{"min":11513,"max":11519}]'),ju=JSON.parse('[{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075}]'),Uu=JSON.parse('[{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67647}]'),Du=JSON.parse('[{"min":1024,"max":1156},{"min":1159,"max":1327},{"min":7296,"max":7304},{"min":7467,"max":7467},{"min":7544,"max":7544},{"min":11744,"max":11775},{"min":42560,"max":42655},{"min":65070,"max":65071},{"min":122928,"max":122989},{"min":123023,"max":123023}]'),Gu=JSON.parse('[{"min":66560,"max":66639}]'),Bu=JSON.parse('[{"min":2304,"max":2384},{"min":2389,"max":2403},{"min":2406,"max":2431},{"min":43232,"max":43263},{"min":72448,"max":72457}]'),Vu=JSON.parse('[{"min":71680,"max":71739}]'),$u=JSON.parse('[{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113823}]'),Wu=JSON.parse('[{"min":77824,"max":78933}]'),Qu=JSON.parse('[{"min":66816,"max":66855}]'),zu=JSON.parse('[{"min":69600,"max":69622}]'),qu=JSON.parse('[{"min":4608,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926}]'),Hu=JSON.parse('[{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565}]'),Ku=JSON.parse('[{"min":11264,"max":11359},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922}]'),Yu=JSON.parse('[{"min":66352,"max":66378}]'),Xu=JSON.parse('[{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70460,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516}]'),Zu=JSON.parse('[{"min":880,"max":883},{"min":885,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":900,"max":900},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":993},{"min":1008,"max":1023},{"min":7462,"max":7466},{"min":7517,"max":7521},{"min":7526,"max":7530},{"min":7615,"max":7615},{"min":7936,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8486,"max":8486},{"min":43877,"max":43877},{"min":65856,"max":65934},{"min":65952,"max":65952},{"min":119296,"max":119365}]'),nh=JSON.parse('[{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815}]'),eh=JSON.parse('[{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129}]'),ah=JSON.parse('[{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678}]'),ih=JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12293,"max":12293},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12347},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":94178,"max":94179},{"min":94192,"max":94193},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),mh=JSON.parse('[{"min":4352,"max":4607},{"min":12334,"max":12335},{"min":12593,"max":12686},{"min":12800,"max":12830},{"min":12896,"max":12926},{"min":43360,"max":43388},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500}]'),th=JSON.parse('[{"min":68864,"max":68903},{"min":68912,"max":68921}]'),rh=JSON.parse('[{"min":5920,"max":5940}]'),sh=JSON.parse('[{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67839}]'),oh=JSON.parse('[{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64335}]'),xh=JSON.parse('[{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":110593,"max":110879},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":127488,"max":127488}]'),ch=JSON.parse('[{"min":67648,"max":67669},{"min":67671,"max":67679}]'),lh=JSON.parse('[{"min":768,"max":879},{"min":1157,"max":1158},{"min":1611,"max":1621},{"min":1648,"max":1648},{"min":2385,"max":2388},{"min":6832,"max":6862},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8204,"max":8205},{"min":8400,"max":8432},{"min":12330,"max":12333},{"min":12441,"max":12442},{"min":65024,"max":65039},{"min":65056,"max":65069},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":70459,"max":70459},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":917760,"max":917999}]'),uh=JSON.parse('[{"min":68448,"max":68466},{"min":68472,"max":68479}]'),hh=JSON.parse('[{"min":68416,"max":68437},{"min":68440,"max":68447}]'),ph=JSON.parse('[{"min":43392,"max":43469},{"min":43472,"max":43481},{"min":43486,"max":43487}]'),fh=JSON.parse('[{"min":69760,"max":69826},{"min":69837,"max":69837}]'),dh=JSON.parse('[{"min":3200,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315}]'),gh=JSON.parse('[{"min":12449,"max":12538},{"min":12541,"max":12543},{"min":12784,"max":12799},{"min":13008,"max":13054},{"min":13056,"max":13143},{"min":65382,"max":65391},{"min":65393,"max":65437},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110592},{"min":110880,"max":110882},{"min":110933,"max":110933},{"min":110948,"max":110951}]'),yh=JSON.parse('[{"min":43264,"max":43309},{"min":43311,"max":43311}]'),Ch=JSON.parse('[{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184}]'),vh=JSON.parse('[{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6624,"max":6655}]'),_h=JSON.parse('[{"min":70144,"max":70161},{"min":70163,"max":70209}]'),Sh=JSON.parse('[{"min":70320,"max":70378},{"min":70384,"max":70393}]'),wh=JSON.parse('[{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807}]'),Eh=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":696},{"min":736,"max":740},{"min":7424,"max":7461},{"min":7468,"max":7516},{"min":7522,"max":7525},{"min":7531,"max":7543},{"min":7545,"max":7614},{"min":7680,"max":7935},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11360,"max":11391},{"min":42786,"max":42887},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43007},{"min":43824,"max":43866},{"min":43868,"max":43876},{"min":43878,"max":43881},{"min":64256,"max":64262},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":122624,"max":122654},{"min":122661,"max":122666}]'),bh=JSON.parse('[{"min":7168,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7247}]'),kh=JSON.parse('[{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6479}]'),Th=JSON.parse('[{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431}]'),Ah=JSON.parse('[{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786}]'),Ih=JSON.parse('[{"min":42192,"max":42239},{"min":73648,"max":73648}]'),Ph=JSON.parse('[{"min":66176,"max":66204}]'),Oh=JSON.parse('[{"min":67872,"max":67897},{"min":67903,"max":67903}]'),Rh=JSON.parse('[{"min":69968,"max":70006}]'),Lh=JSON.parse('[{"min":73440,"max":73464}]'),Nh=JSON.parse('[{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455}]'),Mh=JSON.parse('[{"min":2112,"max":2139},{"min":2142,"max":2142}]'),Jh=JSON.parse('[{"min":68288,"max":68326},{"min":68331,"max":68342}]'),Fh=JSON.parse('[{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886}]'),jh=JSON.parse('[{"min":93760,"max":93850}]'),Uh=JSON.parse('[{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049}]'),Dh=JSON.parse('[{"min":43744,"max":43766},{"min":43968,"max":44013},{"min":44016,"max":44025}]'),Gh=JSON.parse('[{"min":124928,"max":125124},{"min":125127,"max":125142}]'),Bh=JSON.parse('[{"min":68000,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68095}]'),Vh=JSON.parse('[{"min":67968,"max":67999}]'),$h=JSON.parse('[{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111}]'),Wh=JSON.parse('[{"min":71168,"max":71236},{"min":71248,"max":71257}]'),Qh=JSON.parse('[{"min":6144,"max":6145},{"min":6148,"max":6148},{"min":6150,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":71264,"max":71276}]'),zh=JSON.parse('[{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92783}]'),qh=JSON.parse('[{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313}]'),Hh=JSON.parse('[{"min":4096,"max":4255},{"min":43488,"max":43518},{"min":43616,"max":43647}]'),Kh=JSON.parse('[{"min":67712,"max":67742},{"min":67751,"max":67759}]'),Yh=JSON.parse('[{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164}]'),Xh=JSON.parse('[{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6623}]'),Zh=JSON.parse('[{"min":70656,"max":70747},{"min":70749,"max":70753}]'),np=JSON.parse('[{"min":1984,"max":2042},{"min":2045,"max":2047}]'),ep=JSON.parse('[{"min":94177,"max":94177},{"min":110960,"max":111355}]'),ap=JSON.parse('[{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215}]'),ip=JSON.parse('[{"min":5760,"max":5788}]'),mp=JSON.parse('[{"min":7248,"max":7295}]'),tp=JSON.parse('[{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68863}]'),rp=JSON.parse('[{"min":66304,"max":66339},{"min":66349,"max":66351}]'),sp=JSON.parse('[{"min":68224,"max":68255}]'),op=JSON.parse('[{"min":66384,"max":66426}]'),xp=JSON.parse('[{"min":66464,"max":66499},{"min":66504,"max":66517}]'),cp=JSON.parse('[{"min":69376,"max":69415}]'),lp=JSON.parse('[{"min":68192,"max":68223}]'),up=JSON.parse('[{"min":68608,"max":68680}]'),hp=JSON.parse('[{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935}]'),pp=JSON.parse('[{"min":66736,"max":66771},{"min":66776,"max":66811}]'),fp=JSON.parse('[{"min":66688,"max":66717},{"min":66720,"max":66729}]'),dp=JSON.parse('[{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071}]'),gp=JSON.parse('[{"min":67680,"max":67711}]'),yp=JSON.parse('[{"min":72384,"max":72440}]'),Cp=JSON.parse('[{"min":43072,"max":43127}]'),vp=JSON.parse('[{"min":67840,"max":67867},{"min":67871,"max":67871}]'),_p=JSON.parse('[{"min":68480,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527}]'),Sp=JSON.parse('[{"min":43312,"max":43347},{"min":43359,"max":43359}]'),wp=JSON.parse('[{"min":5792,"max":5866},{"min":5870,"max":5880}]'),Ep=JSON.parse('[{"min":2048,"max":2093},{"min":2096,"max":2110}]'),bp=JSON.parse('[{"min":43136,"max":43205},{"min":43214,"max":43225}]'),kp=JSON.parse('[{"min":70016,"max":70111}]'),Tp=JSON.parse('[{"min":66640,"max":66687}]'),Ap=JSON.parse('[{"min":71040,"max":71093},{"min":71096,"max":71133}]'),Ip=JSON.parse('[{"min":120832,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519}]'),Pp=JSON.parse('[{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":70113,"max":70132}]'),Op=JSON.parse('[{"min":69424,"max":69465}]'),Rp=JSON.parse('[{"min":69840,"max":69864},{"min":69872,"max":69881}]'),Lp=JSON.parse('[{"min":72272,"max":72354}]'),Np=JSON.parse('[{"min":7040,"max":7103},{"min":7360,"max":7367}]'),Mp=JSON.parse('[{"min":43008,"max":43052}]'),Jp=JSON.parse('[{"min":1792,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1871},{"min":2144,"max":2154}]'),Fp=JSON.parse('[{"min":5888,"max":5909},{"min":5919,"max":5919}]'),jp=JSON.parse('[{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003}]'),Up=JSON.parse('[{"min":6480,"max":6509},{"min":6512,"max":6516}]'),Dp=JSON.parse('[{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829}]'),Gp=JSON.parse('[{"min":43648,"max":43714},{"min":43739,"max":43743}]'),Bp=JSON.parse('[{"min":71296,"max":71353},{"min":71360,"max":71369}]'),Vp=JSON.parse('[{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":73664,"max":73713},{"min":73727,"max":73727}]'),$p=JSON.parse('[{"min":94176,"max":94176},{"min":94208,"max":100343},{"min":100352,"max":101119},{"min":101632,"max":101640}]'),Wp=JSON.parse('[{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3199}]'),Qp=JSON.parse('[{"min":1920,"max":1969}]'),zp=JSON.parse('[{"min":3585,"max":3642},{"min":3648,"max":3675}]'),qp=JSON.parse('[{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4052},{"min":4057,"max":4058}]'),Hp=JSON.parse('[{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11647}]'),Kp=JSON.parse('[{"min":70784,"max":70855},{"min":70864,"max":70873}]'),Yp=JSON.parse('[{"min":66432,"max":66461},{"min":66463,"max":66463}]'),Xp=JSON.parse('[{"min":42240,"max":42539}]'),Zp=JSON.parse('[{"min":123584,"max":123641},{"min":123647,"max":123647}]'),nf=JSON.parse('[{"min":71840,"max":71922},{"min":71935,"max":71935}]'),ef=JSON.parse('[{"min":40960,"max":42124},{"min":42128,"max":42182}]'),af=JSON.parse('[{"min":72192,"max":72263}]'),mf=Object.freeze({__proto__:null,Adlam:hu,Ahom:pu,Anatolian_Hieroglyphs:fu,Arabic:du,Armenian:gu,Avestan:yu,Balinese:Cu,Bamum:vu,Bassa_Vah:_u,Batak:Su,Bengali:wu,Bhaiksuki:Eu,Bopomofo:bu,Brahmi:ku,Braille:Tu,Buginese:Au,Buhid:Iu,Canadian_Aboriginal:Pu,Carian:Ou,Caucasian_Albanian:Ru,Chakma:Lu,Cham:Nu,Cherokee:Mu,Common:Ju,Coptic:Fu,Cuneiform:ju,Cypriot:Uu,Cyrillic:Du,Deseret:Gu,Devanagari:Bu,Dogra:Vu,Duployan:$u,Egyptian_Hieroglyphs:Wu,Elbasan:Qu,Elymaic:zu,Ethiopic:qu,Georgian:Hu,Glagolitic:Ku,Gothic:Yu,Grantha:Xu,Greek:Zu,Gujarati:nh,Gunjala_Gondi:eh,Gurmukhi:ah,Han:ih,Hangul:mh,Hanifi_Rohingya:th,Hanunoo:rh,Hatran:sh,Hebrew:oh,Hiragana:xh,Imperial_Aramaic:ch,Inherited:lh,Inscriptional_Pahlavi:uh,Inscriptional_Parthian:hh,Javanese:ph,Kaithi:fh,Kannada:dh,Katakana:gh,Kayah_Li:yh,Kharoshthi:Ch,Khmer:vh,Khojki:_h,Khudawadi:Sh,Lao:wh,Latin:Eh,Lepcha:bh,Limbu:kh,Linear_A:Th,Linear_B:Ah,Lisu:Ih,Lycian:Ph,Lydian:Oh,Mahajani:Rh,Makasar:Lh,Malayalam:Nh,Mandaic:Mh,Manichaean:Jh,Marchen:Fh,Medefaidrin:jh,Masaram_Gondi:Uh,Meetei_Mayek:Dh,Mende_Kikakui:Gh,Meroitic_Cursive:Bh,Meroitic_Hieroglyphs:Vh,Miao:$h,Modi:Wh,Mongolian:Qh,Mro:zh,Multani:qh,Myanmar:Hh,Nabataean:Kh,Nandinagari:Yh,New_Tai_Lue:Xh,Newa:Zh,Nko:np,Nushu:ep,Nyiakeng_Puachue_Hmong:ap,Ogham:ip,Ol_Chiki:mp,Old_Hungarian:tp,Old_Italic:rp,Old_North_Arabian:sp,Old_Permic:op,Old_Persian:xp,Old_Sogdian:cp,Old_South_Arabian:lp,Old_Turkic:up,Oriya:hp,Osage:pp,Osmanya:fp,Pahawh_Hmong:dp,Palmyrene:gp,Pau_Cin_Hau:yp,Phags_Pa:Cp,Phoenician:vp,Psalter_Pahlavi:_p,Rejang:Sp,Runic:wp,Samaritan:Ep,Saurashtra:bp,Sharada:kp,Shavian:Tp,Siddham:Ap,SignWriting:Ip,Sinhala:Pp,Sogdian:Op,Sora_Sompeng:Rp,Soyombo:Lp,Sundanese:Np,Syloti_Nagri:Mp,Syriac:Jp,Tagalog:Fp,Tagbanwa:jp,Tai_Le:Up,Tai_Tham:Dp,Tai_Viet:Gp,Takri:Bp,Tamil:Vp,Tangut:$p,Telugu:Wp,Thaana:Qp,Thai:zp,Tibetan:qp,Tifinagh:Hp,Tirhuta:Kp,Ugaritic:Yp,Vai:Xp,Wancho:Zp,Warang_Citi:nf,Yi:ef,Zanabazar_Square:af}),tf=JSON.parse('[{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279}]'),rf=JSON.parse('[{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494}]'),sf=JSON.parse('[{"min":82944,"max":83526}]'),of=JSON.parse('[{"min":1536,"max":1540},{"min":1542,"max":1756},{"min":1758,"max":1791},{"min":1872,"max":1919},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2273},{"min":2275,"max":2303},{"min":64336,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":66272,"max":66299},{"min":69216,"max":69246},{"min":69373,"max":69375},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'),xf=JSON.parse('[{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":64275,"max":64279}]'),cf=JSON.parse('[{"min":68352,"max":68405},{"min":68409,"max":68415}]'),lf=JSON.parse('[{"min":6912,"max":6988},{"min":6992,"max":7038}]'),uf=JSON.parse('[{"min":42656,"max":42743},{"min":92160,"max":92728}]'),hf=JSON.parse('[{"min":92880,"max":92909},{"min":92912,"max":92917}]'),pf=JSON.parse('[{"min":7104,"max":7155},{"min":7164,"max":7167}]'),ff=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2432,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558},{"min":7376,"max":7376},{"min":7378,"max":7378},{"min":7381,"max":7382},{"min":7384,"max":7384},{"min":7393,"max":7393},{"min":7402,"max":7402},{"min":7405,"max":7405},{"min":7410,"max":7410},{"min":7413,"max":7415},{"min":43249,"max":43249}]'),df=JSON.parse('[{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812}]'),gf=JSON.parse('[{"min":746,"max":747},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12330,"max":12333},{"min":12336,"max":12336},{"min":12343,"max":12343},{"min":12539,"max":12539},{"min":12549,"max":12591},{"min":12704,"max":12735},{"min":65093,"max":65094},{"min":65377,"max":65381}]'),yf=JSON.parse('[{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69759}]'),Cf=JSON.parse('[{"min":10240,"max":10495}]'),vf=JSON.parse('[{"min":6656,"max":6683},{"min":6686,"max":6687},{"min":43471,"max":43471}]'),_f=JSON.parse('[{"min":5941,"max":5942},{"min":5952,"max":5971}]'),Sf=JSON.parse('[{"min":5120,"max":5759},{"min":6320,"max":6389},{"min":72368,"max":72383}]'),wf=JSON.parse('[{"min":66208,"max":66256}]'),Ef=JSON.parse('[{"min":66864,"max":66915},{"min":66927,"max":66927}]'),bf=JSON.parse('[{"min":2534,"max":2543},{"min":4160,"max":4169},{"min":69888,"max":69940},{"min":69942,"max":69959}]'),kf=JSON.parse('[{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43615}]'),Tf=JSON.parse('[{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":43888,"max":43967}]'),Af=JSON.parse('[{"min":0,"max":64},{"min":91,"max":96},{"min":123,"max":169},{"min":171,"max":185},{"min":187,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":697,"max":735},{"min":741,"max":745},{"min":748,"max":767},{"min":884,"max":884},{"min":894,"max":894},{"min":901,"max":901},{"min":903,"max":903},{"min":1541,"max":1541},{"min":1757,"max":1757},{"min":2274,"max":2274},{"min":3647,"max":3647},{"min":4053,"max":4056},{"min":5867,"max":5869},{"min":8192,"max":8203},{"min":8206,"max":8238},{"min":8240,"max":8292},{"min":8294,"max":8304},{"min":8308,"max":8318},{"min":8320,"max":8334},{"min":8352,"max":8384},{"min":8448,"max":8485},{"min":8487,"max":8489},{"min":8492,"max":8497},{"min":8499,"max":8525},{"min":8527,"max":8543},{"min":8585,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":10239},{"min":10496,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11776,"max":11842},{"min":11844,"max":11869},{"min":12272,"max":12283},{"min":12288,"max":12288},{"min":12292,"max":12292},{"min":12306,"max":12306},{"min":12320,"max":12320},{"min":12342,"max":12342},{"min":12872,"max":12895},{"min":12927,"max":12927},{"min":12977,"max":12991},{"min":13004,"max":13007},{"min":13169,"max":13178},{"min":13184,"max":13279},{"min":13311,"max":13311},{"min":19904,"max":19967},{"min":42760,"max":42785},{"min":42888,"max":42890},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":65040,"max":65049},{"min":65072,"max":65092},{"min":65095,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65279,"max":65279},{"min":65281,"max":65312},{"min":65339,"max":65344},{"min":65371,"max":65376},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65936,"max":65948},{"min":66000,"max":66044},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119142},{"min":119146,"max":119162},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119666,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":917505,"max":917505},{"min":917536,"max":917631}]'),If=JSON.parse('[{"min":994,"max":1007},{"min":11392,"max":11507},{"min":11513,"max":11519},{"min":66272,"max":66299}]'),Pf=JSON.parse('[{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075}]'),Of=JSON.parse('[{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67647}]'),Rf=JSON.parse('[{"min":1024,"max":1327},{"min":7296,"max":7304},{"min":7467,"max":7467},{"min":7544,"max":7544},{"min":7672,"max":7672},{"min":11744,"max":11775},{"min":11843,"max":11843},{"min":42560,"max":42655},{"min":65070,"max":65071},{"min":122928,"max":122989},{"min":123023,"max":123023}]'),Lf=JSON.parse('[{"min":66560,"max":66639}]'),Nf=JSON.parse('[{"min":2304,"max":2386},{"min":2389,"max":2431},{"min":7376,"max":7414},{"min":7416,"max":7417},{"min":8432,"max":8432},{"min":43056,"max":43065},{"min":43232,"max":43263},{"min":72448,"max":72457}]'),Mf=JSON.parse('[{"min":2404,"max":2415},{"min":43056,"max":43065},{"min":71680,"max":71739}]'),Jf=JSON.parse('[{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113827}]'),Ff=JSON.parse('[{"min":77824,"max":78933}]'),jf=JSON.parse('[{"min":66816,"max":66855}]'),Uf=JSON.parse('[{"min":69600,"max":69622}]'),Df=JSON.parse('[{"min":4608,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926}]'),Gf=JSON.parse('[{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4351},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565}]'),Bf=JSON.parse('[{"min":1156,"max":1156},{"min":1159,"max":1159},{"min":11264,"max":11359},{"min":11843,"max":11843},{"min":42607,"max":42607},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922}]'),Vf=JSON.parse('[{"min":66352,"max":66378}]'),$f=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3046,"max":3059},{"min":7376,"max":7376},{"min":7378,"max":7379},{"min":7410,"max":7412},{"min":7416,"max":7417},{"min":8432,"max":8432},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":73680,"max":73681},{"min":73683,"max":73683}]'),Wf=JSON.parse('[{"min":834,"max":834},{"min":837,"max":837},{"min":880,"max":883},{"min":885,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":900,"max":900},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":993},{"min":1008,"max":1023},{"min":7462,"max":7466},{"min":7517,"max":7521},{"min":7526,"max":7530},{"min":7615,"max":7617},{"min":7936,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8486,"max":8486},{"min":43877,"max":43877},{"min":65856,"max":65934},{"min":65952,"max":65952},{"min":119296,"max":119365}]'),Qf=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815},{"min":43056,"max":43065}]'),zf=JSON.parse('[{"min":2404,"max":2405},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129}]'),qf=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678},{"min":43056,"max":43065}]'),Hf=JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12289,"max":12291},{"min":12293,"max":12305},{"min":12307,"max":12319},{"min":12321,"max":12333},{"min":12336,"max":12336},{"min":12343,"max":12351},{"min":12539,"max":12539},{"min":12688,"max":12703},{"min":12736,"max":12771},{"min":12832,"max":12871},{"min":12928,"max":12976},{"min":12992,"max":13003},{"min":13055,"max":13055},{"min":13144,"max":13168},{"min":13179,"max":13183},{"min":13280,"max":13310},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":42752,"max":42759},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":94178,"max":94179},{"min":94192,"max":94193},{"min":119648,"max":119665},{"min":127568,"max":127569},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'),Kf=JSON.parse('[{"min":4352,"max":4607},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12334,"max":12336},{"min":12343,"max":12343},{"min":12539,"max":12539},{"min":12593,"max":12686},{"min":12800,"max":12830},{"min":12896,"max":12926},{"min":43360,"max":43388},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500}]'),Yf=JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1748,"max":1748},{"min":68864,"max":68903},{"min":68912,"max":68921}]'),Xf=JSON.parse('[{"min":5920,"max":5942}]'),Zf=JSON.parse('[{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67839}]'),nd=JSON.parse('[{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64335}]'),ed=JSON.parse('[{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12336,"max":12341},{"min":12343,"max":12343},{"min":12348,"max":12349},{"min":12353,"max":12438},{"min":12441,"max":12448},{"min":12539,"max":12540},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":110593,"max":110879},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":127488,"max":127488}]'),ad=JSON.parse('[{"min":67648,"max":67669},{"min":67671,"max":67679}]'),id=JSON.parse('[{"min":768,"max":833},{"min":835,"max":836},{"min":838,"max":866},{"min":2387,"max":2388},{"min":6832,"max":6862},{"min":7618,"max":7671},{"min":7673,"max":7673},{"min":7675,"max":7679},{"min":8204,"max":8205},{"min":8400,"max":8431},{"min":65024,"max":65039},{"min":65056,"max":65069},{"min":66045,"max":66045},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":917760,"max":917999}]'),md=JSON.parse('[{"min":68448,"max":68466},{"min":68472,"max":68479}]'),td=JSON.parse('[{"min":68416,"max":68437},{"min":68440,"max":68447}]'),rd=JSON.parse('[{"min":43392,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43487}]'),sd=JSON.parse('[{"min":2406,"max":2415},{"min":43056,"max":43065},{"min":69760,"max":69826},{"min":69837,"max":69837}]'),od=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3200,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":7376,"max":7376},{"min":7378,"max":7378},{"min":7386,"max":7386},{"min":7410,"max":7410},{"min":7412,"max":7412},{"min":43056,"max":43061}]'),xd=JSON.parse('[{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12336,"max":12341},{"min":12343,"max":12343},{"min":12348,"max":12349},{"min":12441,"max":12444},{"min":12448,"max":12543},{"min":12784,"max":12799},{"min":13008,"max":13054},{"min":13056,"max":13143},{"min":65093,"max":65094},{"min":65377,"max":65439},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110592},{"min":110880,"max":110882},{"min":110933,"max":110933},{"min":110948,"max":110951}]'),cd=JSON.parse('[{"min":43264,"max":43311}]'),ld=JSON.parse('[{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184}]'),ud=JSON.parse('[{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6624,"max":6655}]'),hd=JSON.parse('[{"min":2790,"max":2799},{"min":43056,"max":43065},{"min":70144,"max":70161},{"min":70163,"max":70209}]'),pd=JSON.parse('[{"min":2404,"max":2405},{"min":43056,"max":43065},{"min":70320,"max":70378},{"min":70384,"max":70393}]'),fd=JSON.parse('[{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807}]'),dd=JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":696},{"min":736,"max":740},{"min":867,"max":879},{"min":1157,"max":1158},{"min":2385,"max":2386},{"min":4347,"max":4347},{"min":7424,"max":7461},{"min":7468,"max":7516},{"min":7522,"max":7525},{"min":7531,"max":7543},{"min":7545,"max":7614},{"min":7680,"max":7935},{"min":8239,"max":8239},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8432,"max":8432},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11360,"max":11391},{"min":42752,"max":42759},{"min":42786,"max":42887},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43007},{"min":43310,"max":43310},{"min":43824,"max":43866},{"min":43868,"max":43876},{"min":43878,"max":43881},{"min":64256,"max":64262},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":122624,"max":122654},{"min":122661,"max":122666}]'),gd=JSON.parse('[{"min":7168,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7247}]'),yd=JSON.parse('[{"min":2405,"max":2405},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6479}]'),Cd=JSON.parse('[{"min":65799,"max":65843},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431}]'),vd=JSON.parse('[{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855}]'),_d=JSON.parse('[{"min":42192,"max":42239},{"min":73648,"max":73648}]'),Sd=JSON.parse('[{"min":66176,"max":66204}]'),wd=JSON.parse('[{"min":67872,"max":67897},{"min":67903,"max":67903}]'),Ed=JSON.parse('[{"min":2404,"max":2415},{"min":43056,"max":43065},{"min":69968,"max":70006}]'),bd=JSON.parse('[{"min":73440,"max":73464}]'),kd=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455},{"min":7386,"max":7386},{"min":43056,"max":43058}]'),Td=JSON.parse('[{"min":1600,"max":1600},{"min":2112,"max":2139},{"min":2142,"max":2142}]'),Ad=JSON.parse('[{"min":1600,"max":1600},{"min":68288,"max":68326},{"min":68331,"max":68342}]'),Id=JSON.parse('[{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886}]'),Pd=JSON.parse('[{"min":93760,"max":93850}]'),Od=JSON.parse('[{"min":2404,"max":2405},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049}]'),Rd=JSON.parse('[{"min":43744,"max":43766},{"min":43968,"max":44013},{"min":44016,"max":44025}]'),Ld=JSON.parse('[{"min":124928,"max":125124},{"min":125127,"max":125142}]'),Nd=JSON.parse('[{"min":68000,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68095}]'),Md=JSON.parse('[{"min":67968,"max":67999}]'),Jd=JSON.parse('[{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111}]'),Fd=JSON.parse('[{"min":43056,"max":43065},{"min":71168,"max":71236},{"min":71248,"max":71257}]'),jd=JSON.parse('[{"min":6144,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":8239,"max":8239},{"min":71264,"max":71276}]'),Ud=JSON.parse('[{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92783}]'),Dd=JSON.parse('[{"min":2662,"max":2671},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313}]'),Gd=JSON.parse('[{"min":4096,"max":4255},{"min":43310,"max":43310},{"min":43488,"max":43518},{"min":43616,"max":43647}]'),Bd=JSON.parse('[{"min":67712,"max":67742},{"min":67751,"max":67759}]'),Vd=JSON.parse('[{"min":2404,"max":2405},{"min":3302,"max":3311},{"min":7401,"max":7401},{"min":7410,"max":7410},{"min":7418,"max":7418},{"min":43056,"max":43061},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164}]'),$d=JSON.parse('[{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6623}]'),Wd=JSON.parse('[{"min":70656,"max":70747},{"min":70749,"max":70753}]'),Qd=JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1984,"max":2042},{"min":2045,"max":2047},{"min":64830,"max":64831}]'),zd=JSON.parse('[{"min":94177,"max":94177},{"min":110960,"max":111355}]'),qd=JSON.parse('[{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215}]'),Hd=JSON.parse('[{"min":5760,"max":5788}]'),Kd=JSON.parse('[{"min":7248,"max":7295}]'),Yd=JSON.parse('[{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68863}]'),Xd=JSON.parse('[{"min":66304,"max":66339},{"min":66349,"max":66351}]'),Zd=JSON.parse('[{"min":68224,"max":68255}]'),ng=JSON.parse('[{"min":1155,"max":1155},{"min":66384,"max":66426}]'),eg=JSON.parse('[{"min":66464,"max":66499},{"min":66504,"max":66517}]'),ag=JSON.parse('[{"min":69376,"max":69415}]'),ig=JSON.parse('[{"min":68192,"max":68223}]'),mg=JSON.parse('[{"min":68608,"max":68680}]'),tg=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935},{"min":7386,"max":7386},{"min":7410,"max":7410}]'),rg=JSON.parse('[{"min":66736,"max":66771},{"min":66776,"max":66811}]'),sg=JSON.parse('[{"min":66688,"max":66717},{"min":66720,"max":66729}]'),og=JSON.parse('[{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071}]'),xg=JSON.parse('[{"min":67680,"max":67711}]'),cg=JSON.parse('[{"min":72384,"max":72440}]'),lg=JSON.parse('[{"min":6146,"max":6147},{"min":6149,"max":6149},{"min":43072,"max":43127}]'),ug=JSON.parse('[{"min":67840,"max":67867},{"min":67871,"max":67871}]'),hg=JSON.parse('[{"min":1600,"max":1600},{"min":68480,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527}]'),pg=JSON.parse('[{"min":43312,"max":43347},{"min":43359,"max":43359}]'),fg=JSON.parse('[{"min":5792,"max":5866},{"min":5870,"max":5880}]'),dg=JSON.parse('[{"min":2048,"max":2093},{"min":2096,"max":2110}]'),gg=JSON.parse('[{"min":43136,"max":43205},{"min":43214,"max":43225}]'),yg=JSON.parse('[{"min":2385,"max":2385},{"min":7383,"max":7383},{"min":7385,"max":7385},{"min":7388,"max":7389},{"min":7392,"max":7392},{"min":70016,"max":70111}]'),Cg=JSON.parse('[{"min":66640,"max":66687}]'),vg=JSON.parse('[{"min":71040,"max":71093},{"min":71096,"max":71133}]'),_g=JSON.parse('[{"min":120832,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519}]'),Sg=JSON.parse('[{"min":2404,"max":2405},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":70113,"max":70132}]'),wg=JSON.parse('[{"min":1600,"max":1600},{"min":69424,"max":69465}]'),Eg=JSON.parse('[{"min":69840,"max":69864},{"min":69872,"max":69881}]'),bg=JSON.parse('[{"min":72272,"max":72354}]'),kg=JSON.parse('[{"min":7040,"max":7103},{"min":7360,"max":7367}]'),Tg=JSON.parse('[{"min":2404,"max":2405},{"min":2534,"max":2543},{"min":43008,"max":43052}]'),Ag=JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1564},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1611,"max":1621},{"min":1648,"max":1648},{"min":1792,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1871},{"min":2144,"max":2154},{"min":7672,"max":7672},{"min":7674,"max":7674}]'),Ig=JSON.parse('[{"min":5888,"max":5909},{"min":5919,"max":5919},{"min":5941,"max":5942}]'),Pg=JSON.parse('[{"min":5941,"max":5942},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003}]'),Og=JSON.parse('[{"min":4160,"max":4169},{"min":6480,"max":6509},{"min":6512,"max":6516}]'),Rg=JSON.parse('[{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829}]'),Lg=JSON.parse('[{"min":43648,"max":43714},{"min":43739,"max":43743}]'),Ng=JSON.parse('[{"min":2404,"max":2405},{"min":43056,"max":43065},{"min":71296,"max":71353},{"min":71360,"max":71369}]'),Mg=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":7386,"max":7386},{"min":43251,"max":43251},{"min":70401,"max":70401},{"min":70403,"max":70403},{"min":70459,"max":70460},{"min":73664,"max":73713},{"min":73727,"max":73727}]'),Jg=JSON.parse('[{"min":94176,"max":94176},{"min":94208,"max":100343},{"min":100352,"max":101119},{"min":101632,"max":101640}]'),Fg=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3199},{"min":7386,"max":7386},{"min":7410,"max":7410}]'),jg=JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1564},{"min":1567,"max":1567},{"min":1632,"max":1641},{"min":1920,"max":1969},{"min":65010,"max":65010},{"min":65021,"max":65021}]'),Ug=JSON.parse('[{"min":3585,"max":3642},{"min":3648,"max":3675}]'),Dg=JSON.parse('[{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4052},{"min":4057,"max":4058}]'),Gg=JSON.parse('[{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11647}]'),Bg=JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":7410,"max":7410},{"min":43056,"max":43065},{"min":70784,"max":70855},{"min":70864,"max":70873}]'),Vg=JSON.parse('[{"min":66432,"max":66461},{"min":66463,"max":66463}]'),$g=JSON.parse('[{"min":42240,"max":42539}]'),Wg=JSON.parse('[{"min":123584,"max":123641},{"min":123647,"max":123647}]'),Qg=JSON.parse('[{"min":71840,"max":71922},{"min":71935,"max":71935}]'),zg=JSON.parse('[{"min":12289,"max":12290},{"min":12296,"max":12305},{"min":12308,"max":12315},{"min":12539,"max":12539},{"min":40960,"max":42124},{"min":42128,"max":42182},{"min":65377,"max":65381}]'),qg=JSON.parse('[{"min":72192,"max":72263}]'),Hg=Object.freeze({__proto__:null,Adlam:tf,Ahom:rf,Anatolian_Hieroglyphs:sf,Arabic:of,Armenian:xf,Avestan:cf,Balinese:lf,Bamum:uf,Bassa_Vah:hf,Batak:pf,Bengali:ff,Bhaiksuki:df,Bopomofo:gf,Brahmi:yf,Braille:Cf,Buginese:vf,Buhid:_f,Canadian_Aboriginal:Sf,Carian:wf,Caucasian_Albanian:Ef,Chakma:bf,Cham:kf,Cherokee:Tf,Common:Af,Coptic:If,Cuneiform:Pf,Cypriot:Of,Cyrillic:Rf,Deseret:Lf,Devanagari:Nf,Dogra:Mf,Duployan:Jf,Egyptian_Hieroglyphs:Ff,Elbasan:jf,Elymaic:Uf,Ethiopic:Df,Georgian:Gf,Glagolitic:Bf,Gothic:Vf,Grantha:$f,Greek:Wf,Gujarati:Qf,Gunjala_Gondi:zf,Gurmukhi:qf,Han:Hf,Hangul:Kf,Hanifi_Rohingya:Yf,Hanunoo:Xf,Hatran:Zf,Hebrew:nd,Hiragana:ed,Imperial_Aramaic:ad,Inherited:id,Inscriptional_Pahlavi:md,Inscriptional_Parthian:td,Javanese:rd,Kaithi:sd,Kannada:od,Katakana:xd,Kayah_Li:cd,Kharoshthi:ld,Khmer:ud,Khojki:hd,Khudawadi:pd,Lao:fd,Latin:dd,Lepcha:gd,Limbu:yd,Linear_A:Cd,Linear_B:vd,Lisu:_d,Lycian:Sd,Lydian:wd,Mahajani:Ed,Makasar:bd,Malayalam:kd,Mandaic:Td,Manichaean:Ad,Marchen:Id,Medefaidrin:Pd,Masaram_Gondi:Od,Meetei_Mayek:Rd,Mende_Kikakui:Ld,Meroitic_Cursive:Nd,Meroitic_Hieroglyphs:Md,Miao:Jd,Modi:Fd,Mongolian:jd,Mro:Ud,Multani:Dd,Myanmar:Gd,Nabataean:Bd,Nandinagari:Vd,New_Tai_Lue:$d,Newa:Wd,Nko:Qd,Nushu:zd,Nyiakeng_Puachue_Hmong:qd,Ogham:Hd,Ol_Chiki:Kd,Old_Hungarian:Yd,Old_Italic:Xd,Old_North_Arabian:Zd,Old_Permic:ng,Old_Persian:eg,Old_Sogdian:ag,Old_South_Arabian:ig,Old_Turkic:mg,Oriya:tg,Osage:rg,Osmanya:sg,Pahawh_Hmong:og,Palmyrene:xg,Pau_Cin_Hau:cg,Phags_Pa:lg,Phoenician:ug,Psalter_Pahlavi:hg,Rejang:pg,Runic:fg,Samaritan:dg,Saurashtra:gg,Sharada:yg,Shavian:Cg,Siddham:vg,SignWriting:_g,Sinhala:Sg,Sogdian:wg,Sora_Sompeng:Eg,Soyombo:bg,Sundanese:kg,Syloti_Nagri:Tg,Syriac:Ag,Tagalog:Ig,Tagbanwa:Pg,Tai_Le:Og,Tai_Tham:Rg,Tai_Viet:Lg,Takri:Ng,Tamil:Mg,Tangut:Jg,Telugu:Fg,Thaana:jg,Thai:Ug,Tibetan:Dg,Tifinagh:Gg,Tirhuta:Bg,Ugaritic:Vg,Vai:$g,Wancho:Wg,Warang_Citi:Qg,Yi:zg,Zanabazar_Square:qg}),p9=P.empty(1114111).union(JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":303},{"min":306,"max":311},{"min":313,"max":328},{"min":330,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":495},{"min":497,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":943},{"min":945,"max":977},{"min":981,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1414},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7829},{"min":7835,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8017,"max":8017},{"min":8019,"max":8019},{"min":8021,"max":8021},{"min":8023,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8113},{"min":8115,"max":8115},{"min":8120,"max":8124},{"min":8126,"max":8126},{"min":8131,"max":8131},{"min":8136,"max":8140},{"min":8144,"max":8145},{"min":8152,"max":8155},{"min":8160,"max":8161},{"min":8165,"max":8165},{"min":8168,"max":8172},{"min":8179,"max":8179},{"min":8184,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":125184,"max":125251}]')),Ka=JSON.parse('{"65":[65,97],"66":[66,98],"67":[67,99],"68":[68,100],"69":[69,101],"70":[70,102],"71":[71,103],"72":[72,104],"73":[73,105],"74":[74,106],"75":[75,107,8490],"76":[76,108],"77":[77,109],"78":[78,110],"79":[79,111],"80":[80,112],"81":[81,113],"82":[82,114],"83":[83,115,383],"84":[84,116],"85":[85,117],"86":[86,118],"87":[87,119],"88":[88,120],"89":[89,121],"90":[90,122],"97":[65,97],"98":[66,98],"99":[67,99],"100":[68,100],"101":[69,101],"102":[70,102],"103":[71,103],"104":[72,104],"105":[73,105],"106":[74,106],"107":[75,107,8490],"108":[76,108],"109":[77,109],"110":[78,110],"111":[79,111],"112":[80,112],"113":[81,113],"114":[82,114],"115":[83,115,383],"116":[84,116],"117":[85,117],"118":[86,118],"119":[87,119],"120":[88,120],"121":[89,121],"122":[90,122],"181":[181,924,956],"192":[192,224],"193":[193,225],"194":[194,226],"195":[195,227],"196":[196,228],"197":[197,229,8491],"198":[198,230],"199":[199,231],"200":[200,232],"201":[201,233],"202":[202,234],"203":[203,235],"204":[204,236],"205":[205,237],"206":[206,238],"207":[207,239],"208":[208,240],"209":[209,241],"210":[210,242],"211":[211,243],"212":[212,244],"213":[213,245],"214":[214,246],"216":[216,248],"217":[217,249],"218":[218,250],"219":[219,251],"220":[220,252],"221":[221,253],"222":[222,254],"223":[223,7838],"224":[192,224],"225":[193,225],"226":[194,226],"227":[195,227],"228":[196,228],"229":[197,229,8491],"230":[198,230],"231":[199,231],"232":[200,232],"233":[201,233],"234":[202,234],"235":[203,235],"236":[204,236],"237":[205,237],"238":[206,238],"239":[207,239],"240":[208,240],"241":[209,241],"242":[210,242],"243":[211,243],"244":[212,244],"245":[213,245],"246":[214,246],"248":[216,248],"249":[217,249],"250":[218,250],"251":[219,251],"252":[220,252],"253":[221,253],"254":[222,254],"255":[255,376],"256":[256,257],"257":[256,257],"258":[258,259],"259":[258,259],"260":[260,261],"261":[260,261],"262":[262,263],"263":[262,263],"264":[264,265],"265":[264,265],"266":[266,267],"267":[266,267],"268":[268,269],"269":[268,269],"270":[270,271],"271":[270,271],"272":[272,273],"273":[272,273],"274":[274,275],"275":[274,275],"276":[276,277],"277":[276,277],"278":[278,279],"279":[278,279],"280":[280,281],"281":[280,281],"282":[282,283],"283":[282,283],"284":[284,285],"285":[284,285],"286":[286,287],"287":[286,287],"288":[288,289],"289":[288,289],"290":[290,291],"291":[290,291],"292":[292,293],"293":[292,293],"294":[294,295],"295":[294,295],"296":[296,297],"297":[296,297],"298":[298,299],"299":[298,299],"300":[300,301],"301":[300,301],"302":[302,303],"303":[302,303],"306":[306,307],"307":[306,307],"308":[308,309],"309":[308,309],"310":[310,311],"311":[310,311],"313":[313,314],"314":[313,314],"315":[315,316],"316":[315,316],"317":[317,318],"318":[317,318],"319":[319,320],"320":[319,320],"321":[321,322],"322":[321,322],"323":[323,324],"324":[323,324],"325":[325,326],"326":[325,326],"327":[327,328],"328":[327,328],"330":[330,331],"331":[330,331],"332":[332,333],"333":[332,333],"334":[334,335],"335":[334,335],"336":[336,337],"337":[336,337],"338":[338,339],"339":[338,339],"340":[340,341],"341":[340,341],"342":[342,343],"343":[342,343],"344":[344,345],"345":[344,345],"346":[346,347],"347":[346,347],"348":[348,349],"349":[348,349],"350":[350,351],"351":[350,351],"352":[352,353],"353":[352,353],"354":[354,355],"355":[354,355],"356":[356,357],"357":[356,357],"358":[358,359],"359":[358,359],"360":[360,361],"361":[360,361],"362":[362,363],"363":[362,363],"364":[364,365],"365":[364,365],"366":[366,367],"367":[366,367],"368":[368,369],"369":[368,369],"370":[370,371],"371":[370,371],"372":[372,373],"373":[372,373],"374":[374,375],"375":[374,375],"376":[255,376],"377":[377,378],"378":[377,378],"379":[379,380],"380":[379,380],"381":[381,382],"382":[381,382],"383":[83,115,383],"384":[384,579],"385":[385,595],"386":[386,387],"387":[386,387],"388":[388,389],"389":[388,389],"390":[390,596],"391":[391,392],"392":[391,392],"393":[393,598],"394":[394,599],"395":[395,396],"396":[395,396],"398":[398,477],"399":[399,601],"400":[400,603],"401":[401,402],"402":[401,402],"403":[403,608],"404":[404,611],"405":[405,502],"406":[406,617],"407":[407,616],"408":[408,409],"409":[408,409],"410":[410,573],"412":[412,623],"413":[413,626],"414":[414,544],"415":[415,629],"416":[416,417],"417":[416,417],"418":[418,419],"419":[418,419],"420":[420,421],"421":[420,421],"422":[422,640],"423":[423,424],"424":[423,424],"425":[425,643],"428":[428,429],"429":[428,429],"430":[430,648],"431":[431,432],"432":[431,432],"433":[433,650],"434":[434,651],"435":[435,436],"436":[435,436],"437":[437,438],"438":[437,438],"439":[439,658],"440":[440,441],"441":[440,441],"444":[444,445],"445":[444,445],"447":[447,503],"452":[452,453,454],"453":[452,453,454],"454":[452,453,454],"455":[455,456,457],"456":[455,456,457],"457":[455,456,457],"458":[458,459,460],"459":[458,459,460],"460":[458,459,460],"461":[461,462],"462":[461,462],"463":[463,464],"464":[463,464],"465":[465,466],"466":[465,466],"467":[467,468],"468":[467,468],"469":[469,470],"470":[469,470],"471":[471,472],"472":[471,472],"473":[473,474],"474":[473,474],"475":[475,476],"476":[475,476],"477":[398,477],"478":[478,479],"479":[478,479],"480":[480,481],"481":[480,481],"482":[482,483],"483":[482,483],"484":[484,485],"485":[484,485],"486":[486,487],"487":[486,487],"488":[488,489],"489":[488,489],"490":[490,491],"491":[490,491],"492":[492,493],"493":[492,493],"494":[494,495],"495":[494,495],"497":[497,498,499],"498":[497,498,499],"499":[497,498,499],"500":[500,501],"501":[500,501],"502":[405,502],"503":[447,503],"504":[504,505],"505":[504,505],"506":[506,507],"507":[506,507],"508":[508,509],"509":[508,509],"510":[510,511],"511":[510,511],"512":[512,513],"513":[512,513],"514":[514,515],"515":[514,515],"516":[516,517],"517":[516,517],"518":[518,519],"519":[518,519],"520":[520,521],"521":[520,521],"522":[522,523],"523":[522,523],"524":[524,525],"525":[524,525],"526":[526,527],"527":[526,527],"528":[528,529],"529":[528,529],"530":[530,531],"531":[530,531],"532":[532,533],"533":[532,533],"534":[534,535],"535":[534,535],"536":[536,537],"537":[536,537],"538":[538,539],"539":[538,539],"540":[540,541],"541":[540,541],"542":[542,543],"543":[542,543],"544":[414,544],"546":[546,547],"547":[546,547],"548":[548,549],"549":[548,549],"550":[550,551],"551":[550,551],"552":[552,553],"553":[552,553],"554":[554,555],"555":[554,555],"556":[556,557],"557":[556,557],"558":[558,559],"559":[558,559],"560":[560,561],"561":[560,561],"562":[562,563],"563":[562,563],"570":[570,11365],"571":[571,572],"572":[571,572],"573":[410,573],"574":[574,11366],"575":[575,11390],"576":[576,11391],"577":[577,578],"578":[577,578],"579":[384,579],"580":[580,649],"581":[581,652],"582":[582,583],"583":[582,583],"584":[584,585],"585":[584,585],"586":[586,587],"587":[586,587],"588":[588,589],"589":[588,589],"590":[590,591],"591":[590,591],"592":[592,11375],"593":[593,11373],"594":[594,11376],"595":[385,595],"596":[390,596],"598":[393,598],"599":[394,599],"601":[399,601],"603":[400,603],"604":[604,42923],"608":[403,608],"609":[609,42924],"611":[404,611],"613":[613,42893],"614":[614,42922],"616":[407,616],"617":[406,617],"618":[618,42926],"619":[619,11362],"620":[620,42925],"623":[412,623],"625":[625,11374],"626":[413,626],"629":[415,629],"637":[637,11364],"640":[422,640],"642":[642,42949],"643":[425,643],"647":[647,42929],"648":[430,648],"649":[580,649],"650":[433,650],"651":[434,651],"652":[581,652],"658":[439,658],"669":[669,42930],"670":[670,42928],"837":[837,921,953,8126],"880":[880,881],"881":[880,881],"882":[882,883],"883":[882,883],"886":[886,887],"887":[886,887],"891":[891,1021],"892":[892,1022],"893":[893,1023],"895":[895,1011],"902":[902,940],"904":[904,941],"905":[905,942],"906":[906,943],"908":[908,972],"910":[910,973],"911":[911,974],"913":[913,945],"914":[914,946,976],"915":[915,947],"916":[916,948],"917":[917,949,1013],"918":[918,950],"919":[919,951],"920":[920,952,977,1012],"921":[837,921,953,8126],"922":[922,954,1008],"923":[923,955],"924":[181,924,956],"925":[925,957],"926":[926,958],"927":[927,959],"928":[928,960,982],"929":[929,961,1009],"931":[931,962,963],"932":[932,964],"933":[933,965],"934":[934,966,981],"935":[935,967],"936":[936,968],"937":[937,969,8486],"938":[938,970],"939":[939,971],"940":[902,940],"941":[904,941],"942":[905,942],"943":[906,943],"945":[913,945],"946":[914,946,976],"947":[915,947],"948":[916,948],"949":[917,949,1013],"950":[918,950],"951":[919,951],"952":[920,952,977,1012],"953":[837,921,953,8126],"954":[922,954,1008],"955":[923,955],"956":[181,924,956],"957":[925,957],"958":[926,958],"959":[927,959],"960":[928,960,982],"961":[929,961,1009],"962":[931,962,963],"963":[931,962,963],"964":[932,964],"965":[933,965],"966":[934,966,981],"967":[935,967],"968":[936,968],"969":[937,969,8486],"970":[938,970],"971":[939,971],"972":[908,972],"973":[910,973],"974":[911,974],"975":[975,983],"976":[914,946,976],"977":[920,952,977,1012],"981":[934,966,981],"982":[928,960,982],"983":[975,983],"984":[984,985],"985":[984,985],"986":[986,987],"987":[986,987],"988":[988,989],"989":[988,989],"990":[990,991],"991":[990,991],"992":[992,993],"993":[992,993],"994":[994,995],"995":[994,995],"996":[996,997],"997":[996,997],"998":[998,999],"999":[998,999],"1000":[1000,1001],"1001":[1000,1001],"1002":[1002,1003],"1003":[1002,1003],"1004":[1004,1005],"1005":[1004,1005],"1006":[1006,1007],"1007":[1006,1007],"1008":[922,954,1008],"1009":[929,961,1009],"1010":[1010,1017],"1011":[895,1011],"1012":[920,952,977,1012],"1013":[917,949,1013],"1015":[1015,1016],"1016":[1015,1016],"1017":[1010,1017],"1018":[1018,1019],"1019":[1018,1019],"1021":[891,1021],"1022":[892,1022],"1023":[893,1023],"1024":[1024,1104],"1025":[1025,1105],"1026":[1026,1106],"1027":[1027,1107],"1028":[1028,1108],"1029":[1029,1109],"1030":[1030,1110],"1031":[1031,1111],"1032":[1032,1112],"1033":[1033,1113],"1034":[1034,1114],"1035":[1035,1115],"1036":[1036,1116],"1037":[1037,1117],"1038":[1038,1118],"1039":[1039,1119],"1040":[1040,1072],"1041":[1041,1073],"1042":[1042,1074,7296],"1043":[1043,1075],"1044":[1044,1076,7297],"1045":[1045,1077],"1046":[1046,1078],"1047":[1047,1079],"1048":[1048,1080],"1049":[1049,1081],"1050":[1050,1082],"1051":[1051,1083],"1052":[1052,1084],"1053":[1053,1085],"1054":[1054,1086,7298],"1055":[1055,1087],"1056":[1056,1088],"1057":[1057,1089,7299],"1058":[1058,1090,7300,7301],"1059":[1059,1091],"1060":[1060,1092],"1061":[1061,1093],"1062":[1062,1094],"1063":[1063,1095],"1064":[1064,1096],"1065":[1065,1097],"1066":[1066,1098,7302],"1067":[1067,1099],"1068":[1068,1100],"1069":[1069,1101],"1070":[1070,1102],"1071":[1071,1103],"1072":[1040,1072],"1073":[1041,1073],"1074":[1042,1074,7296],"1075":[1043,1075],"1076":[1044,1076,7297],"1077":[1045,1077],"1078":[1046,1078],"1079":[1047,1079],"1080":[1048,1080],"1081":[1049,1081],"1082":[1050,1082],"1083":[1051,1083],"1084":[1052,1084],"1085":[1053,1085],"1086":[1054,1086,7298],"1087":[1055,1087],"1088":[1056,1088],"1089":[1057,1089,7299],"1090":[1058,1090,7300,7301],"1091":[1059,1091],"1092":[1060,1092],"1093":[1061,1093],"1094":[1062,1094],"1095":[1063,1095],"1096":[1064,1096],"1097":[1065,1097],"1098":[1066,1098,7302],"1099":[1067,1099],"1100":[1068,1100],"1101":[1069,1101],"1102":[1070,1102],"1103":[1071,1103],"1104":[1024,1104],"1105":[1025,1105],"1106":[1026,1106],"1107":[1027,1107],"1108":[1028,1108],"1109":[1029,1109],"1110":[1030,1110],"1111":[1031,1111],"1112":[1032,1112],"1113":[1033,1113],"1114":[1034,1114],"1115":[1035,1115],"1116":[1036,1116],"1117":[1037,1117],"1118":[1038,1118],"1119":[1039,1119],"1120":[1120,1121],"1121":[1120,1121],"1122":[1122,1123,7303],"1123":[1122,1123,7303],"1124":[1124,1125],"1125":[1124,1125],"1126":[1126,1127],"1127":[1126,1127],"1128":[1128,1129],"1129":[1128,1129],"1130":[1130,1131],"1131":[1130,1131],"1132":[1132,1133],"1133":[1132,1133],"1134":[1134,1135],"1135":[1134,1135],"1136":[1136,1137],"1137":[1136,1137],"1138":[1138,1139],"1139":[1138,1139],"1140":[1140,1141],"1141":[1140,1141],"1142":[1142,1143],"1143":[1142,1143],"1144":[1144,1145],"1145":[1144,1145],"1146":[1146,1147],"1147":[1146,1147],"1148":[1148,1149],"1149":[1148,1149],"1150":[1150,1151],"1151":[1150,1151],"1152":[1152,1153],"1153":[1152,1153],"1162":[1162,1163],"1163":[1162,1163],"1164":[1164,1165],"1165":[1164,1165],"1166":[1166,1167],"1167":[1166,1167],"1168":[1168,1169],"1169":[1168,1169],"1170":[1170,1171],"1171":[1170,1171],"1172":[1172,1173],"1173":[1172,1173],"1174":[1174,1175],"1175":[1174,1175],"1176":[1176,1177],"1177":[1176,1177],"1178":[1178,1179],"1179":[1178,1179],"1180":[1180,1181],"1181":[1180,1181],"1182":[1182,1183],"1183":[1182,1183],"1184":[1184,1185],"1185":[1184,1185],"1186":[1186,1187],"1187":[1186,1187],"1188":[1188,1189],"1189":[1188,1189],"1190":[1190,1191],"1191":[1190,1191],"1192":[1192,1193],"1193":[1192,1193],"1194":[1194,1195],"1195":[1194,1195],"1196":[1196,1197],"1197":[1196,1197],"1198":[1198,1199],"1199":[1198,1199],"1200":[1200,1201],"1201":[1200,1201],"1202":[1202,1203],"1203":[1202,1203],"1204":[1204,1205],"1205":[1204,1205],"1206":[1206,1207],"1207":[1206,1207],"1208":[1208,1209],"1209":[1208,1209],"1210":[1210,1211],"1211":[1210,1211],"1212":[1212,1213],"1213":[1212,1213],"1214":[1214,1215],"1215":[1214,1215],"1216":[1216,1231],"1217":[1217,1218],"1218":[1217,1218],"1219":[1219,1220],"1220":[1219,1220],"1221":[1221,1222],"1222":[1221,1222],"1223":[1223,1224],"1224":[1223,1224],"1225":[1225,1226],"1226":[1225,1226],"1227":[1227,1228],"1228":[1227,1228],"1229":[1229,1230],"1230":[1229,1230],"1231":[1216,1231],"1232":[1232,1233],"1233":[1232,1233],"1234":[1234,1235],"1235":[1234,1235],"1236":[1236,1237],"1237":[1236,1237],"1238":[1238,1239],"1239":[1238,1239],"1240":[1240,1241],"1241":[1240,1241],"1242":[1242,1243],"1243":[1242,1243],"1244":[1244,1245],"1245":[1244,1245],"1246":[1246,1247],"1247":[1246,1247],"1248":[1248,1249],"1249":[1248,1249],"1250":[1250,1251],"1251":[1250,1251],"1252":[1252,1253],"1253":[1252,1253],"1254":[1254,1255],"1255":[1254,1255],"1256":[1256,1257],"1257":[1256,1257],"1258":[1258,1259],"1259":[1258,1259],"1260":[1260,1261],"1261":[1260,1261],"1262":[1262,1263],"1263":[1262,1263],"1264":[1264,1265],"1265":[1264,1265],"1266":[1266,1267],"1267":[1266,1267],"1268":[1268,1269],"1269":[1268,1269],"1270":[1270,1271],"1271":[1270,1271],"1272":[1272,1273],"1273":[1272,1273],"1274":[1274,1275],"1275":[1274,1275],"1276":[1276,1277],"1277":[1276,1277],"1278":[1278,1279],"1279":[1278,1279],"1280":[1280,1281],"1281":[1280,1281],"1282":[1282,1283],"1283":[1282,1283],"1284":[1284,1285],"1285":[1284,1285],"1286":[1286,1287],"1287":[1286,1287],"1288":[1288,1289],"1289":[1288,1289],"1290":[1290,1291],"1291":[1290,1291],"1292":[1292,1293],"1293":[1292,1293],"1294":[1294,1295],"1295":[1294,1295],"1296":[1296,1297],"1297":[1296,1297],"1298":[1298,1299],"1299":[1298,1299],"1300":[1300,1301],"1301":[1300,1301],"1302":[1302,1303],"1303":[1302,1303],"1304":[1304,1305],"1305":[1304,1305],"1306":[1306,1307],"1307":[1306,1307],"1308":[1308,1309],"1309":[1308,1309],"1310":[1310,1311],"1311":[1310,1311],"1312":[1312,1313],"1313":[1312,1313],"1314":[1314,1315],"1315":[1314,1315],"1316":[1316,1317],"1317":[1316,1317],"1318":[1318,1319],"1319":[1318,1319],"1320":[1320,1321],"1321":[1320,1321],"1322":[1322,1323],"1323":[1322,1323],"1324":[1324,1325],"1325":[1324,1325],"1326":[1326,1327],"1327":[1326,1327],"1329":[1329,1377],"1330":[1330,1378],"1331":[1331,1379],"1332":[1332,1380],"1333":[1333,1381],"1334":[1334,1382],"1335":[1335,1383],"1336":[1336,1384],"1337":[1337,1385],"1338":[1338,1386],"1339":[1339,1387],"1340":[1340,1388],"1341":[1341,1389],"1342":[1342,1390],"1343":[1343,1391],"1344":[1344,1392],"1345":[1345,1393],"1346":[1346,1394],"1347":[1347,1395],"1348":[1348,1396],"1349":[1349,1397],"1350":[1350,1398],"1351":[1351,1399],"1352":[1352,1400],"1353":[1353,1401],"1354":[1354,1402],"1355":[1355,1403],"1356":[1356,1404],"1357":[1357,1405],"1358":[1358,1406],"1359":[1359,1407],"1360":[1360,1408],"1361":[1361,1409],"1362":[1362,1410],"1363":[1363,1411],"1364":[1364,1412],"1365":[1365,1413],"1366":[1366,1414],"1377":[1329,1377],"1378":[1330,1378],"1379":[1331,1379],"1380":[1332,1380],"1381":[1333,1381],"1382":[1334,1382],"1383":[1335,1383],"1384":[1336,1384],"1385":[1337,1385],"1386":[1338,1386],"1387":[1339,1387],"1388":[1340,1388],"1389":[1341,1389],"1390":[1342,1390],"1391":[1343,1391],"1392":[1344,1392],"1393":[1345,1393],"1394":[1346,1394],"1395":[1347,1395],"1396":[1348,1396],"1397":[1349,1397],"1398":[1350,1398],"1399":[1351,1399],"1400":[1352,1400],"1401":[1353,1401],"1402":[1354,1402],"1403":[1355,1403],"1404":[1356,1404],"1405":[1357,1405],"1406":[1358,1406],"1407":[1359,1407],"1408":[1360,1408],"1409":[1361,1409],"1410":[1362,1410],"1411":[1363,1411],"1412":[1364,1412],"1413":[1365,1413],"1414":[1366,1414],"4256":[4256,11520],"4257":[4257,11521],"4258":[4258,11522],"4259":[4259,11523],"4260":[4260,11524],"4261":[4261,11525],"4262":[4262,11526],"4263":[4263,11527],"4264":[4264,11528],"4265":[4265,11529],"4266":[4266,11530],"4267":[4267,11531],"4268":[4268,11532],"4269":[4269,11533],"4270":[4270,11534],"4271":[4271,11535],"4272":[4272,11536],"4273":[4273,11537],"4274":[4274,11538],"4275":[4275,11539],"4276":[4276,11540],"4277":[4277,11541],"4278":[4278,11542],"4279":[4279,11543],"4280":[4280,11544],"4281":[4281,11545],"4282":[4282,11546],"4283":[4283,11547],"4284":[4284,11548],"4285":[4285,11549],"4286":[4286,11550],"4287":[4287,11551],"4288":[4288,11552],"4289":[4289,11553],"4290":[4290,11554],"4291":[4291,11555],"4292":[4292,11556],"4293":[4293,11557],"4295":[4295,11559],"4301":[4301,11565],"4304":[4304,7312],"4305":[4305,7313],"4306":[4306,7314],"4307":[4307,7315],"4308":[4308,7316],"4309":[4309,7317],"4310":[4310,7318],"4311":[4311,7319],"4312":[4312,7320],"4313":[4313,7321],"4314":[4314,7322],"4315":[4315,7323],"4316":[4316,7324],"4317":[4317,7325],"4318":[4318,7326],"4319":[4319,7327],"4320":[4320,7328],"4321":[4321,7329],"4322":[4322,7330],"4323":[4323,7331],"4324":[4324,7332],"4325":[4325,7333],"4326":[4326,7334],"4327":[4327,7335],"4328":[4328,7336],"4329":[4329,7337],"4330":[4330,7338],"4331":[4331,7339],"4332":[4332,7340],"4333":[4333,7341],"4334":[4334,7342],"4335":[4335,7343],"4336":[4336,7344],"4337":[4337,7345],"4338":[4338,7346],"4339":[4339,7347],"4340":[4340,7348],"4341":[4341,7349],"4342":[4342,7350],"4343":[4343,7351],"4344":[4344,7352],"4345":[4345,7353],"4346":[4346,7354],"4349":[4349,7357],"4350":[4350,7358],"4351":[4351,7359],"5024":[5024,43888],"5025":[5025,43889],"5026":[5026,43890],"5027":[5027,43891],"5028":[5028,43892],"5029":[5029,43893],"5030":[5030,43894],"5031":[5031,43895],"5032":[5032,43896],"5033":[5033,43897],"5034":[5034,43898],"5035":[5035,43899],"5036":[5036,43900],"5037":[5037,43901],"5038":[5038,43902],"5039":[5039,43903],"5040":[5040,43904],"5041":[5041,43905],"5042":[5042,43906],"5043":[5043,43907],"5044":[5044,43908],"5045":[5045,43909],"5046":[5046,43910],"5047":[5047,43911],"5048":[5048,43912],"5049":[5049,43913],"5050":[5050,43914],"5051":[5051,43915],"5052":[5052,43916],"5053":[5053,43917],"5054":[5054,43918],"5055":[5055,43919],"5056":[5056,43920],"5057":[5057,43921],"5058":[5058,43922],"5059":[5059,43923],"5060":[5060,43924],"5061":[5061,43925],"5062":[5062,43926],"5063":[5063,43927],"5064":[5064,43928],"5065":[5065,43929],"5066":[5066,43930],"5067":[5067,43931],"5068":[5068,43932],"5069":[5069,43933],"5070":[5070,43934],"5071":[5071,43935],"5072":[5072,43936],"5073":[5073,43937],"5074":[5074,43938],"5075":[5075,43939],"5076":[5076,43940],"5077":[5077,43941],"5078":[5078,43942],"5079":[5079,43943],"5080":[5080,43944],"5081":[5081,43945],"5082":[5082,43946],"5083":[5083,43947],"5084":[5084,43948],"5085":[5085,43949],"5086":[5086,43950],"5087":[5087,43951],"5088":[5088,43952],"5089":[5089,43953],"5090":[5090,43954],"5091":[5091,43955],"5092":[5092,43956],"5093":[5093,43957],"5094":[5094,43958],"5095":[5095,43959],"5096":[5096,43960],"5097":[5097,43961],"5098":[5098,43962],"5099":[5099,43963],"5100":[5100,43964],"5101":[5101,43965],"5102":[5102,43966],"5103":[5103,43967],"5104":[5104,5112],"5105":[5105,5113],"5106":[5106,5114],"5107":[5107,5115],"5108":[5108,5116],"5109":[5109,5117],"5112":[5104,5112],"5113":[5105,5113],"5114":[5106,5114],"5115":[5107,5115],"5116":[5108,5116],"5117":[5109,5117],"7296":[1042,1074,7296],"7297":[1044,1076,7297],"7298":[1054,1086,7298],"7299":[1057,1089,7299],"7300":[1058,1090,7300,7301],"7301":[1058,1090,7300,7301],"7302":[1066,1098,7302],"7303":[1122,1123,7303],"7304":[7304,42570,42571],"7312":[4304,7312],"7313":[4305,7313],"7314":[4306,7314],"7315":[4307,7315],"7316":[4308,7316],"7317":[4309,7317],"7318":[4310,7318],"7319":[4311,7319],"7320":[4312,7320],"7321":[4313,7321],"7322":[4314,7322],"7323":[4315,7323],"7324":[4316,7324],"7325":[4317,7325],"7326":[4318,7326],"7327":[4319,7327],"7328":[4320,7328],"7329":[4321,7329],"7330":[4322,7330],"7331":[4323,7331],"7332":[4324,7332],"7333":[4325,7333],"7334":[4326,7334],"7335":[4327,7335],"7336":[4328,7336],"7337":[4329,7337],"7338":[4330,7338],"7339":[4331,7339],"7340":[4332,7340],"7341":[4333,7341],"7342":[4334,7342],"7343":[4335,7343],"7344":[4336,7344],"7345":[4337,7345],"7346":[4338,7346],"7347":[4339,7347],"7348":[4340,7348],"7349":[4341,7349],"7350":[4342,7350],"7351":[4343,7351],"7352":[4344,7352],"7353":[4345,7353],"7354":[4346,7354],"7357":[4349,7357],"7358":[4350,7358],"7359":[4351,7359],"7545":[7545,42877],"7549":[7549,11363],"7566":[7566,42950],"7680":[7680,7681],"7681":[7680,7681],"7682":[7682,7683],"7683":[7682,7683],"7684":[7684,7685],"7685":[7684,7685],"7686":[7686,7687],"7687":[7686,7687],"7688":[7688,7689],"7689":[7688,7689],"7690":[7690,7691],"7691":[7690,7691],"7692":[7692,7693],"7693":[7692,7693],"7694":[7694,7695],"7695":[7694,7695],"7696":[7696,7697],"7697":[7696,7697],"7698":[7698,7699],"7699":[7698,7699],"7700":[7700,7701],"7701":[7700,7701],"7702":[7702,7703],"7703":[7702,7703],"7704":[7704,7705],"7705":[7704,7705],"7706":[7706,7707],"7707":[7706,7707],"7708":[7708,7709],"7709":[7708,7709],"7710":[7710,7711],"7711":[7710,7711],"7712":[7712,7713],"7713":[7712,7713],"7714":[7714,7715],"7715":[7714,7715],"7716":[7716,7717],"7717":[7716,7717],"7718":[7718,7719],"7719":[7718,7719],"7720":[7720,7721],"7721":[7720,7721],"7722":[7722,7723],"7723":[7722,7723],"7724":[7724,7725],"7725":[7724,7725],"7726":[7726,7727],"7727":[7726,7727],"7728":[7728,7729],"7729":[7728,7729],"7730":[7730,7731],"7731":[7730,7731],"7732":[7732,7733],"7733":[7732,7733],"7734":[7734,7735],"7735":[7734,7735],"7736":[7736,7737],"7737":[7736,7737],"7738":[7738,7739],"7739":[7738,7739],"7740":[7740,7741],"7741":[7740,7741],"7742":[7742,7743],"7743":[7742,7743],"7744":[7744,7745],"7745":[7744,7745],"7746":[7746,7747],"7747":[7746,7747],"7748":[7748,7749],"7749":[7748,7749],"7750":[7750,7751],"7751":[7750,7751],"7752":[7752,7753],"7753":[7752,7753],"7754":[7754,7755],"7755":[7754,7755],"7756":[7756,7757],"7757":[7756,7757],"7758":[7758,7759],"7759":[7758,7759],"7760":[7760,7761],"7761":[7760,7761],"7762":[7762,7763],"7763":[7762,7763],"7764":[7764,7765],"7765":[7764,7765],"7766":[7766,7767],"7767":[7766,7767],"7768":[7768,7769],"7769":[7768,7769],"7770":[7770,7771],"7771":[7770,7771],"7772":[7772,7773],"7773":[7772,7773],"7774":[7774,7775],"7775":[7774,7775],"7776":[7776,7777,7835],"7777":[7776,7777,7835],"7778":[7778,7779],"7779":[7778,7779],"7780":[7780,7781],"7781":[7780,7781],"7782":[7782,7783],"7783":[7782,7783],"7784":[7784,7785],"7785":[7784,7785],"7786":[7786,7787],"7787":[7786,7787],"7788":[7788,7789],"7789":[7788,7789],"7790":[7790,7791],"7791":[7790,7791],"7792":[7792,7793],"7793":[7792,7793],"7794":[7794,7795],"7795":[7794,7795],"7796":[7796,7797],"7797":[7796,7797],"7798":[7798,7799],"7799":[7798,7799],"7800":[7800,7801],"7801":[7800,7801],"7802":[7802,7803],"7803":[7802,7803],"7804":[7804,7805],"7805":[7804,7805],"7806":[7806,7807],"7807":[7806,7807],"7808":[7808,7809],"7809":[7808,7809],"7810":[7810,7811],"7811":[7810,7811],"7812":[7812,7813],"7813":[7812,7813],"7814":[7814,7815],"7815":[7814,7815],"7816":[7816,7817],"7817":[7816,7817],"7818":[7818,7819],"7819":[7818,7819],"7820":[7820,7821],"7821":[7820,7821],"7822":[7822,7823],"7823":[7822,7823],"7824":[7824,7825],"7825":[7824,7825],"7826":[7826,7827],"7827":[7826,7827],"7828":[7828,7829],"7829":[7828,7829],"7835":[7776,7777,7835],"7838":[223,7838],"7840":[7840,7841],"7841":[7840,7841],"7842":[7842,7843],"7843":[7842,7843],"7844":[7844,7845],"7845":[7844,7845],"7846":[7846,7847],"7847":[7846,7847],"7848":[7848,7849],"7849":[7848,7849],"7850":[7850,7851],"7851":[7850,7851],"7852":[7852,7853],"7853":[7852,7853],"7854":[7854,7855],"7855":[7854,7855],"7856":[7856,7857],"7857":[7856,7857],"7858":[7858,7859],"7859":[7858,7859],"7860":[7860,7861],"7861":[7860,7861],"7862":[7862,7863],"7863":[7862,7863],"7864":[7864,7865],"7865":[7864,7865],"7866":[7866,7867],"7867":[7866,7867],"7868":[7868,7869],"7869":[7868,7869],"7870":[7870,7871],"7871":[7870,7871],"7872":[7872,7873],"7873":[7872,7873],"7874":[7874,7875],"7875":[7874,7875],"7876":[7876,7877],"7877":[7876,7877],"7878":[7878,7879],"7879":[7878,7879],"7880":[7880,7881],"7881":[7880,7881],"7882":[7882,7883],"7883":[7882,7883],"7884":[7884,7885],"7885":[7884,7885],"7886":[7886,7887],"7887":[7886,7887],"7888":[7888,7889],"7889":[7888,7889],"7890":[7890,7891],"7891":[7890,7891],"7892":[7892,7893],"7893":[7892,7893],"7894":[7894,7895],"7895":[7894,7895],"7896":[7896,7897],"7897":[7896,7897],"7898":[7898,7899],"7899":[7898,7899],"7900":[7900,7901],"7901":[7900,7901],"7902":[7902,7903],"7903":[7902,7903],"7904":[7904,7905],"7905":[7904,7905],"7906":[7906,7907],"7907":[7906,7907],"7908":[7908,7909],"7909":[7908,7909],"7910":[7910,7911],"7911":[7910,7911],"7912":[7912,7913],"7913":[7912,7913],"7914":[7914,7915],"7915":[7914,7915],"7916":[7916,7917],"7917":[7916,7917],"7918":[7918,7919],"7919":[7918,7919],"7920":[7920,7921],"7921":[7920,7921],"7922":[7922,7923],"7923":[7922,7923],"7924":[7924,7925],"7925":[7924,7925],"7926":[7926,7927],"7927":[7926,7927],"7928":[7928,7929],"7929":[7928,7929],"7930":[7930,7931],"7931":[7930,7931],"7932":[7932,7933],"7933":[7932,7933],"7934":[7934,7935],"7935":[7934,7935],"7936":[7936,7944],"7937":[7937,7945],"7938":[7938,7946],"7939":[7939,7947],"7940":[7940,7948],"7941":[7941,7949],"7942":[7942,7950],"7943":[7943,7951],"7944":[7936,7944],"7945":[7937,7945],"7946":[7938,7946],"7947":[7939,7947],"7948":[7940,7948],"7949":[7941,7949],"7950":[7942,7950],"7951":[7943,7951],"7952":[7952,7960],"7953":[7953,7961],"7954":[7954,7962],"7955":[7955,7963],"7956":[7956,7964],"7957":[7957,7965],"7960":[7952,7960],"7961":[7953,7961],"7962":[7954,7962],"7963":[7955,7963],"7964":[7956,7964],"7965":[7957,7965],"7968":[7968,7976],"7969":[7969,7977],"7970":[7970,7978],"7971":[7971,7979],"7972":[7972,7980],"7973":[7973,7981],"7974":[7974,7982],"7975":[7975,7983],"7976":[7968,7976],"7977":[7969,7977],"7978":[7970,7978],"7979":[7971,7979],"7980":[7972,7980],"7981":[7973,7981],"7982":[7974,7982],"7983":[7975,7983],"7984":[7984,7992],"7985":[7985,7993],"7986":[7986,7994],"7987":[7987,7995],"7988":[7988,7996],"7989":[7989,7997],"7990":[7990,7998],"7991":[7991,7999],"7992":[7984,7992],"7993":[7985,7993],"7994":[7986,7994],"7995":[7987,7995],"7996":[7988,7996],"7997":[7989,7997],"7998":[7990,7998],"7999":[7991,7999],"8000":[8000,8008],"8001":[8001,8009],"8002":[8002,8010],"8003":[8003,8011],"8004":[8004,8012],"8005":[8005,8013],"8008":[8000,8008],"8009":[8001,8009],"8010":[8002,8010],"8011":[8003,8011],"8012":[8004,8012],"8013":[8005,8013],"8017":[8017,8025],"8019":[8019,8027],"8021":[8021,8029],"8023":[8023,8031],"8025":[8017,8025],"8027":[8019,8027],"8029":[8021,8029],"8031":[8023,8031],"8032":[8032,8040],"8033":[8033,8041],"8034":[8034,8042],"8035":[8035,8043],"8036":[8036,8044],"8037":[8037,8045],"8038":[8038,8046],"8039":[8039,8047],"8040":[8032,8040],"8041":[8033,8041],"8042":[8034,8042],"8043":[8035,8043],"8044":[8036,8044],"8045":[8037,8045],"8046":[8038,8046],"8047":[8039,8047],"8048":[8048,8122],"8049":[8049,8123],"8050":[8050,8136],"8051":[8051,8137],"8052":[8052,8138],"8053":[8053,8139],"8054":[8054,8154],"8055":[8055,8155],"8056":[8056,8184],"8057":[8057,8185],"8058":[8058,8170],"8059":[8059,8171],"8060":[8060,8186],"8061":[8061,8187],"8064":[8064,8072],"8065":[8065,8073],"8066":[8066,8074],"8067":[8067,8075],"8068":[8068,8076],"8069":[8069,8077],"8070":[8070,8078],"8071":[8071,8079],"8072":[8064,8072],"8073":[8065,8073],"8074":[8066,8074],"8075":[8067,8075],"8076":[8068,8076],"8077":[8069,8077],"8078":[8070,8078],"8079":[8071,8079],"8080":[8080,8088],"8081":[8081,8089],"8082":[8082,8090],"8083":[8083,8091],"8084":[8084,8092],"8085":[8085,8093],"8086":[8086,8094],"8087":[8087,8095],"8088":[8080,8088],"8089":[8081,8089],"8090":[8082,8090],"8091":[8083,8091],"8092":[8084,8092],"8093":[8085,8093],"8094":[8086,8094],"8095":[8087,8095],"8096":[8096,8104],"8097":[8097,8105],"8098":[8098,8106],"8099":[8099,8107],"8100":[8100,8108],"8101":[8101,8109],"8102":[8102,8110],"8103":[8103,8111],"8104":[8096,8104],"8105":[8097,8105],"8106":[8098,8106],"8107":[8099,8107],"8108":[8100,8108],"8109":[8101,8109],"8110":[8102,8110],"8111":[8103,8111],"8112":[8112,8120],"8113":[8113,8121],"8115":[8115,8124],"8120":[8112,8120],"8121":[8113,8121],"8122":[8048,8122],"8123":[8049,8123],"8124":[8115,8124],"8126":[837,921,953,8126],"8131":[8131,8140],"8136":[8050,8136],"8137":[8051,8137],"8138":[8052,8138],"8139":[8053,8139],"8140":[8131,8140],"8144":[8144,8152],"8145":[8145,8153],"8152":[8144,8152],"8153":[8145,8153],"8154":[8054,8154],"8155":[8055,8155],"8160":[8160,8168],"8161":[8161,8169],"8165":[8165,8172],"8168":[8160,8168],"8169":[8161,8169],"8170":[8058,8170],"8171":[8059,8171],"8172":[8165,8172],"8179":[8179,8188],"8184":[8056,8184],"8185":[8057,8185],"8186":[8060,8186],"8187":[8061,8187],"8188":[8179,8188],"8486":[937,969,8486],"8490":[75,107,8490],"8491":[197,229,8491],"8498":[8498,8526],"8526":[8498,8526],"8544":[8544,8560],"8545":[8545,8561],"8546":[8546,8562],"8547":[8547,8563],"8548":[8548,8564],"8549":[8549,8565],"8550":[8550,8566],"8551":[8551,8567],"8552":[8552,8568],"8553":[8553,8569],"8554":[8554,8570],"8555":[8555,8571],"8556":[8556,8572],"8557":[8557,8573],"8558":[8558,8574],"8559":[8559,8575],"8560":[8544,8560],"8561":[8545,8561],"8562":[8546,8562],"8563":[8547,8563],"8564":[8548,8564],"8565":[8549,8565],"8566":[8550,8566],"8567":[8551,8567],"8568":[8552,8568],"8569":[8553,8569],"8570":[8554,8570],"8571":[8555,8571],"8572":[8556,8572],"8573":[8557,8573],"8574":[8558,8574],"8575":[8559,8575],"8579":[8579,8580],"8580":[8579,8580],"9398":[9398,9424],"9399":[9399,9425],"9400":[9400,9426],"9401":[9401,9427],"9402":[9402,9428],"9403":[9403,9429],"9404":[9404,9430],"9405":[9405,9431],"9406":[9406,9432],"9407":[9407,9433],"9408":[9408,9434],"9409":[9409,9435],"9410":[9410,9436],"9411":[9411,9437],"9412":[9412,9438],"9413":[9413,9439],"9414":[9414,9440],"9415":[9415,9441],"9416":[9416,9442],"9417":[9417,9443],"9418":[9418,9444],"9419":[9419,9445],"9420":[9420,9446],"9421":[9421,9447],"9422":[9422,9448],"9423":[9423,9449],"9424":[9398,9424],"9425":[9399,9425],"9426":[9400,9426],"9427":[9401,9427],"9428":[9402,9428],"9429":[9403,9429],"9430":[9404,9430],"9431":[9405,9431],"9432":[9406,9432],"9433":[9407,9433],"9434":[9408,9434],"9435":[9409,9435],"9436":[9410,9436],"9437":[9411,9437],"9438":[9412,9438],"9439":[9413,9439],"9440":[9414,9440],"9441":[9415,9441],"9442":[9416,9442],"9443":[9417,9443],"9444":[9418,9444],"9445":[9419,9445],"9446":[9420,9446],"9447":[9421,9447],"9448":[9422,9448],"9449":[9423,9449],"11264":[11264,11312],"11265":[11265,11313],"11266":[11266,11314],"11267":[11267,11315],"11268":[11268,11316],"11269":[11269,11317],"11270":[11270,11318],"11271":[11271,11319],"11272":[11272,11320],"11273":[11273,11321],"11274":[11274,11322],"11275":[11275,11323],"11276":[11276,11324],"11277":[11277,11325],"11278":[11278,11326],"11279":[11279,11327],"11280":[11280,11328],"11281":[11281,11329],"11282":[11282,11330],"11283":[11283,11331],"11284":[11284,11332],"11285":[11285,11333],"11286":[11286,11334],"11287":[11287,11335],"11288":[11288,11336],"11289":[11289,11337],"11290":[11290,11338],"11291":[11291,11339],"11292":[11292,11340],"11293":[11293,11341],"11294":[11294,11342],"11295":[11295,11343],"11296":[11296,11344],"11297":[11297,11345],"11298":[11298,11346],"11299":[11299,11347],"11300":[11300,11348],"11301":[11301,11349],"11302":[11302,11350],"11303":[11303,11351],"11304":[11304,11352],"11305":[11305,11353],"11306":[11306,11354],"11307":[11307,11355],"11308":[11308,11356],"11309":[11309,11357],"11310":[11310,11358],"11311":[11311,11359],"11312":[11264,11312],"11313":[11265,11313],"11314":[11266,11314],"11315":[11267,11315],"11316":[11268,11316],"11317":[11269,11317],"11318":[11270,11318],"11319":[11271,11319],"11320":[11272,11320],"11321":[11273,11321],"11322":[11274,11322],"11323":[11275,11323],"11324":[11276,11324],"11325":[11277,11325],"11326":[11278,11326],"11327":[11279,11327],"11328":[11280,11328],"11329":[11281,11329],"11330":[11282,11330],"11331":[11283,11331],"11332":[11284,11332],"11333":[11285,11333],"11334":[11286,11334],"11335":[11287,11335],"11336":[11288,11336],"11337":[11289,11337],"11338":[11290,11338],"11339":[11291,11339],"11340":[11292,11340],"11341":[11293,11341],"11342":[11294,11342],"11343":[11295,11343],"11344":[11296,11344],"11345":[11297,11345],"11346":[11298,11346],"11347":[11299,11347],"11348":[11300,11348],"11349":[11301,11349],"11350":[11302,11350],"11351":[11303,11351],"11352":[11304,11352],"11353":[11305,11353],"11354":[11306,11354],"11355":[11307,11355],"11356":[11308,11356],"11357":[11309,11357],"11358":[11310,11358],"11359":[11311,11359],"11360":[11360,11361],"11361":[11360,11361],"11362":[619,11362],"11363":[7549,11363],"11364":[637,11364],"11365":[570,11365],"11366":[574,11366],"11367":[11367,11368],"11368":[11367,11368],"11369":[11369,11370],"11370":[11369,11370],"11371":[11371,11372],"11372":[11371,11372],"11373":[593,11373],"11374":[625,11374],"11375":[592,11375],"11376":[594,11376],"11378":[11378,11379],"11379":[11378,11379],"11381":[11381,11382],"11382":[11381,11382],"11390":[575,11390],"11391":[576,11391],"11392":[11392,11393],"11393":[11392,11393],"11394":[11394,11395],"11395":[11394,11395],"11396":[11396,11397],"11397":[11396,11397],"11398":[11398,11399],"11399":[11398,11399],"11400":[11400,11401],"11401":[11400,11401],"11402":[11402,11403],"11403":[11402,11403],"11404":[11404,11405],"11405":[11404,11405],"11406":[11406,11407],"11407":[11406,11407],"11408":[11408,11409],"11409":[11408,11409],"11410":[11410,11411],"11411":[11410,11411],"11412":[11412,11413],"11413":[11412,11413],"11414":[11414,11415],"11415":[11414,11415],"11416":[11416,11417],"11417":[11416,11417],"11418":[11418,11419],"11419":[11418,11419],"11420":[11420,11421],"11421":[11420,11421],"11422":[11422,11423],"11423":[11422,11423],"11424":[11424,11425],"11425":[11424,11425],"11426":[11426,11427],"11427":[11426,11427],"11428":[11428,11429],"11429":[11428,11429],"11430":[11430,11431],"11431":[11430,11431],"11432":[11432,11433],"11433":[11432,11433],"11434":[11434,11435],"11435":[11434,11435],"11436":[11436,11437],"11437":[11436,11437],"11438":[11438,11439],"11439":[11438,11439],"11440":[11440,11441],"11441":[11440,11441],"11442":[11442,11443],"11443":[11442,11443],"11444":[11444,11445],"11445":[11444,11445],"11446":[11446,11447],"11447":[11446,11447],"11448":[11448,11449],"11449":[11448,11449],"11450":[11450,11451],"11451":[11450,11451],"11452":[11452,11453],"11453":[11452,11453],"11454":[11454,11455],"11455":[11454,11455],"11456":[11456,11457],"11457":[11456,11457],"11458":[11458,11459],"11459":[11458,11459],"11460":[11460,11461],"11461":[11460,11461],"11462":[11462,11463],"11463":[11462,11463],"11464":[11464,11465],"11465":[11464,11465],"11466":[11466,11467],"11467":[11466,11467],"11468":[11468,11469],"11469":[11468,11469],"11470":[11470,11471],"11471":[11470,11471],"11472":[11472,11473],"11473":[11472,11473],"11474":[11474,11475],"11475":[11474,11475],"11476":[11476,11477],"11477":[11476,11477],"11478":[11478,11479],"11479":[11478,11479],"11480":[11480,11481],"11481":[11480,11481],"11482":[11482,11483],"11483":[11482,11483],"11484":[11484,11485],"11485":[11484,11485],"11486":[11486,11487],"11487":[11486,11487],"11488":[11488,11489],"11489":[11488,11489],"11490":[11490,11491],"11491":[11490,11491],"11499":[11499,11500],"11500":[11499,11500],"11501":[11501,11502],"11502":[11501,11502],"11506":[11506,11507],"11507":[11506,11507],"11520":[4256,11520],"11521":[4257,11521],"11522":[4258,11522],"11523":[4259,11523],"11524":[4260,11524],"11525":[4261,11525],"11526":[4262,11526],"11527":[4263,11527],"11528":[4264,11528],"11529":[4265,11529],"11530":[4266,11530],"11531":[4267,11531],"11532":[4268,11532],"11533":[4269,11533],"11534":[4270,11534],"11535":[4271,11535],"11536":[4272,11536],"11537":[4273,11537],"11538":[4274,11538],"11539":[4275,11539],"11540":[4276,11540],"11541":[4277,11541],"11542":[4278,11542],"11543":[4279,11543],"11544":[4280,11544],"11545":[4281,11545],"11546":[4282,11546],"11547":[4283,11547],"11548":[4284,11548],"11549":[4285,11549],"11550":[4286,11550],"11551":[4287,11551],"11552":[4288,11552],"11553":[4289,11553],"11554":[4290,11554],"11555":[4291,11555],"11556":[4292,11556],"11557":[4293,11557],"11559":[4295,11559],"11565":[4301,11565],"42560":[42560,42561],"42561":[42560,42561],"42562":[42562,42563],"42563":[42562,42563],"42564":[42564,42565],"42565":[42564,42565],"42566":[42566,42567],"42567":[42566,42567],"42568":[42568,42569],"42569":[42568,42569],"42570":[7304,42570,42571],"42571":[7304,42570,42571],"42572":[42572,42573],"42573":[42572,42573],"42574":[42574,42575],"42575":[42574,42575],"42576":[42576,42577],"42577":[42576,42577],"42578":[42578,42579],"42579":[42578,42579],"42580":[42580,42581],"42581":[42580,42581],"42582":[42582,42583],"42583":[42582,42583],"42584":[42584,42585],"42585":[42584,42585],"42586":[42586,42587],"42587":[42586,42587],"42588":[42588,42589],"42589":[42588,42589],"42590":[42590,42591],"42591":[42590,42591],"42592":[42592,42593],"42593":[42592,42593],"42594":[42594,42595],"42595":[42594,42595],"42596":[42596,42597],"42597":[42596,42597],"42598":[42598,42599],"42599":[42598,42599],"42600":[42600,42601],"42601":[42600,42601],"42602":[42602,42603],"42603":[42602,42603],"42604":[42604,42605],"42605":[42604,42605],"42624":[42624,42625],"42625":[42624,42625],"42626":[42626,42627],"42627":[42626,42627],"42628":[42628,42629],"42629":[42628,42629],"42630":[42630,42631],"42631":[42630,42631],"42632":[42632,42633],"42633":[42632,42633],"42634":[42634,42635],"42635":[42634,42635],"42636":[42636,42637],"42637":[42636,42637],"42638":[42638,42639],"42639":[42638,42639],"42640":[42640,42641],"42641":[42640,42641],"42642":[42642,42643],"42643":[42642,42643],"42644":[42644,42645],"42645":[42644,42645],"42646":[42646,42647],"42647":[42646,42647],"42648":[42648,42649],"42649":[42648,42649],"42650":[42650,42651],"42651":[42650,42651],"42786":[42786,42787],"42787":[42786,42787],"42788":[42788,42789],"42789":[42788,42789],"42790":[42790,42791],"42791":[42790,42791],"42792":[42792,42793],"42793":[42792,42793],"42794":[42794,42795],"42795":[42794,42795],"42796":[42796,42797],"42797":[42796,42797],"42798":[42798,42799],"42799":[42798,42799],"42802":[42802,42803],"42803":[42802,42803],"42804":[42804,42805],"42805":[42804,42805],"42806":[42806,42807],"42807":[42806,42807],"42808":[42808,42809],"42809":[42808,42809],"42810":[42810,42811],"42811":[42810,42811],"42812":[42812,42813],"42813":[42812,42813],"42814":[42814,42815],"42815":[42814,42815],"42816":[42816,42817],"42817":[42816,42817],"42818":[42818,42819],"42819":[42818,42819],"42820":[42820,42821],"42821":[42820,42821],"42822":[42822,42823],"42823":[42822,42823],"42824":[42824,42825],"42825":[42824,42825],"42826":[42826,42827],"42827":[42826,42827],"42828":[42828,42829],"42829":[42828,42829],"42830":[42830,42831],"42831":[42830,42831],"42832":[42832,42833],"42833":[42832,42833],"42834":[42834,42835],"42835":[42834,42835],"42836":[42836,42837],"42837":[42836,42837],"42838":[42838,42839],"42839":[42838,42839],"42840":[42840,42841],"42841":[42840,42841],"42842":[42842,42843],"42843":[42842,42843],"42844":[42844,42845],"42845":[42844,42845],"42846":[42846,42847],"42847":[42846,42847],"42848":[42848,42849],"42849":[42848,42849],"42850":[42850,42851],"42851":[42850,42851],"42852":[42852,42853],"42853":[42852,42853],"42854":[42854,42855],"42855":[42854,42855],"42856":[42856,42857],"42857":[42856,42857],"42858":[42858,42859],"42859":[42858,42859],"42860":[42860,42861],"42861":[42860,42861],"42862":[42862,42863],"42863":[42862,42863],"42873":[42873,42874],"42874":[42873,42874],"42875":[42875,42876],"42876":[42875,42876],"42877":[7545,42877],"42878":[42878,42879],"42879":[42878,42879],"42880":[42880,42881],"42881":[42880,42881],"42882":[42882,42883],"42883":[42882,42883],"42884":[42884,42885],"42885":[42884,42885],"42886":[42886,42887],"42887":[42886,42887],"42891":[42891,42892],"42892":[42891,42892],"42893":[613,42893],"42896":[42896,42897],"42897":[42896,42897],"42898":[42898,42899],"42899":[42898,42899],"42900":[42900,42948],"42902":[42902,42903],"42903":[42902,42903],"42904":[42904,42905],"42905":[42904,42905],"42906":[42906,42907],"42907":[42906,42907],"42908":[42908,42909],"42909":[42908,42909],"42910":[42910,42911],"42911":[42910,42911],"42912":[42912,42913],"42913":[42912,42913],"42914":[42914,42915],"42915":[42914,42915],"42916":[42916,42917],"42917":[42916,42917],"42918":[42918,42919],"42919":[42918,42919],"42920":[42920,42921],"42921":[42920,42921],"42922":[614,42922],"42923":[604,42923],"42924":[609,42924],"42925":[620,42925],"42926":[618,42926],"42928":[670,42928],"42929":[647,42929],"42930":[669,42930],"42931":[42931,43859],"42932":[42932,42933],"42933":[42932,42933],"42934":[42934,42935],"42935":[42934,42935],"42936":[42936,42937],"42937":[42936,42937],"42938":[42938,42939],"42939":[42938,42939],"42940":[42940,42941],"42941":[42940,42941],"42942":[42942,42943],"42943":[42942,42943],"42944":[42944,42945],"42945":[42944,42945],"42946":[42946,42947],"42947":[42946,42947],"42948":[42900,42948],"42949":[642,42949],"42950":[7566,42950],"42951":[42951,42952],"42952":[42951,42952],"42953":[42953,42954],"42954":[42953,42954],"42960":[42960,42961],"42961":[42960,42961],"42966":[42966,42967],"42967":[42966,42967],"42968":[42968,42969],"42969":[42968,42969],"42997":[42997,42998],"42998":[42997,42998],"43859":[42931,43859],"43888":[5024,43888],"43889":[5025,43889],"43890":[5026,43890],"43891":[5027,43891],"43892":[5028,43892],"43893":[5029,43893],"43894":[5030,43894],"43895":[5031,43895],"43896":[5032,43896],"43897":[5033,43897],"43898":[5034,43898],"43899":[5035,43899],"43900":[5036,43900],"43901":[5037,43901],"43902":[5038,43902],"43903":[5039,43903],"43904":[5040,43904],"43905":[5041,43905],"43906":[5042,43906],"43907":[5043,43907],"43908":[5044,43908],"43909":[5045,43909],"43910":[5046,43910],"43911":[5047,43911],"43912":[5048,43912],"43913":[5049,43913],"43914":[5050,43914],"43915":[5051,43915],"43916":[5052,43916],"43917":[5053,43917],"43918":[5054,43918],"43919":[5055,43919],"43920":[5056,43920],"43921":[5057,43921],"43922":[5058,43922],"43923":[5059,43923],"43924":[5060,43924],"43925":[5061,43925],"43926":[5062,43926],"43927":[5063,43927],"43928":[5064,43928],"43929":[5065,43929],"43930":[5066,43930],"43931":[5067,43931],"43932":[5068,43932],"43933":[5069,43933],"43934":[5070,43934],"43935":[5071,43935],"43936":[5072,43936],"43937":[5073,43937],"43938":[5074,43938],"43939":[5075,43939],"43940":[5076,43940],"43941":[5077,43941],"43942":[5078,43942],"43943":[5079,43943],"43944":[5080,43944],"43945":[5081,43945],"43946":[5082,43946],"43947":[5083,43947],"43948":[5084,43948],"43949":[5085,43949],"43950":[5086,43950],"43951":[5087,43951],"43952":[5088,43952],"43953":[5089,43953],"43954":[5090,43954],"43955":[5091,43955],"43956":[5092,43956],"43957":[5093,43957],"43958":[5094,43958],"43959":[5095,43959],"43960":[5096,43960],"43961":[5097,43961],"43962":[5098,43962],"43963":[5099,43963],"43964":[5100,43964],"43965":[5101,43965],"43966":[5102,43966],"43967":[5103,43967],"65313":[65313,65345],"65314":[65314,65346],"65315":[65315,65347],"65316":[65316,65348],"65317":[65317,65349],"65318":[65318,65350],"65319":[65319,65351],"65320":[65320,65352],"65321":[65321,65353],"65322":[65322,65354],"65323":[65323,65355],"65324":[65324,65356],"65325":[65325,65357],"65326":[65326,65358],"65327":[65327,65359],"65328":[65328,65360],"65329":[65329,65361],"65330":[65330,65362],"65331":[65331,65363],"65332":[65332,65364],"65333":[65333,65365],"65334":[65334,65366],"65335":[65335,65367],"65336":[65336,65368],"65337":[65337,65369],"65338":[65338,65370],"65345":[65313,65345],"65346":[65314,65346],"65347":[65315,65347],"65348":[65316,65348],"65349":[65317,65349],"65350":[65318,65350],"65351":[65319,65351],"65352":[65320,65352],"65353":[65321,65353],"65354":[65322,65354],"65355":[65323,65355],"65356":[65324,65356],"65357":[65325,65357],"65358":[65326,65358],"65359":[65327,65359],"65360":[65328,65360],"65361":[65329,65361],"65362":[65330,65362],"65363":[65331,65363],"65364":[65332,65364],"65365":[65333,65365],"65366":[65334,65366],"65367":[65335,65367],"65368":[65336,65368],"65369":[65337,65369],"65370":[65338,65370],"66560":[66560,66600],"66561":[66561,66601],"66562":[66562,66602],"66563":[66563,66603],"66564":[66564,66604],"66565":[66565,66605],"66566":[66566,66606],"66567":[66567,66607],"66568":[66568,66608],"66569":[66569,66609],"66570":[66570,66610],"66571":[66571,66611],"66572":[66572,66612],"66573":[66573,66613],"66574":[66574,66614],"66575":[66575,66615],"66576":[66576,66616],"66577":[66577,66617],"66578":[66578,66618],"66579":[66579,66619],"66580":[66580,66620],"66581":[66581,66621],"66582":[66582,66622],"66583":[66583,66623],"66584":[66584,66624],"66585":[66585,66625],"66586":[66586,66626],"66587":[66587,66627],"66588":[66588,66628],"66589":[66589,66629],"66590":[66590,66630],"66591":[66591,66631],"66592":[66592,66632],"66593":[66593,66633],"66594":[66594,66634],"66595":[66595,66635],"66596":[66596,66636],"66597":[66597,66637],"66598":[66598,66638],"66599":[66599,66639],"66600":[66560,66600],"66601":[66561,66601],"66602":[66562,66602],"66603":[66563,66603],"66604":[66564,66604],"66605":[66565,66605],"66606":[66566,66606],"66607":[66567,66607],"66608":[66568,66608],"66609":[66569,66609],"66610":[66570,66610],"66611":[66571,66611],"66612":[66572,66612],"66613":[66573,66613],"66614":[66574,66614],"66615":[66575,66615],"66616":[66576,66616],"66617":[66577,66617],"66618":[66578,66618],"66619":[66579,66619],"66620":[66580,66620],"66621":[66581,66621],"66622":[66582,66622],"66623":[66583,66623],"66624":[66584,66624],"66625":[66585,66625],"66626":[66586,66626],"66627":[66587,66627],"66628":[66588,66628],"66629":[66589,66629],"66630":[66590,66630],"66631":[66591,66631],"66632":[66592,66632],"66633":[66593,66633],"66634":[66594,66634],"66635":[66595,66635],"66636":[66596,66636],"66637":[66597,66637],"66638":[66598,66638],"66639":[66599,66639],"66736":[66736,66776],"66737":[66737,66777],"66738":[66738,66778],"66739":[66739,66779],"66740":[66740,66780],"66741":[66741,66781],"66742":[66742,66782],"66743":[66743,66783],"66744":[66744,66784],"66745":[66745,66785],"66746":[66746,66786],"66747":[66747,66787],"66748":[66748,66788],"66749":[66749,66789],"66750":[66750,66790],"66751":[66751,66791],"66752":[66752,66792],"66753":[66753,66793],"66754":[66754,66794],"66755":[66755,66795],"66756":[66756,66796],"66757":[66757,66797],"66758":[66758,66798],"66759":[66759,66799],"66760":[66760,66800],"66761":[66761,66801],"66762":[66762,66802],"66763":[66763,66803],"66764":[66764,66804],"66765":[66765,66805],"66766":[66766,66806],"66767":[66767,66807],"66768":[66768,66808],"66769":[66769,66809],"66770":[66770,66810],"66771":[66771,66811],"66776":[66736,66776],"66777":[66737,66777],"66778":[66738,66778],"66779":[66739,66779],"66780":[66740,66780],"66781":[66741,66781],"66782":[66742,66782],"66783":[66743,66783],"66784":[66744,66784],"66785":[66745,66785],"66786":[66746,66786],"66787":[66747,66787],"66788":[66748,66788],"66789":[66749,66789],"66790":[66750,66790],"66791":[66751,66791],"66792":[66752,66792],"66793":[66753,66793],"66794":[66754,66794],"66795":[66755,66795],"66796":[66756,66796],"66797":[66757,66797],"66798":[66758,66798],"66799":[66759,66799],"66800":[66760,66800],"66801":[66761,66801],"66802":[66762,66802],"66803":[66763,66803],"66804":[66764,66804],"66805":[66765,66805],"66806":[66766,66806],"66807":[66767,66807],"66808":[66768,66808],"66809":[66769,66809],"66810":[66770,66810],"66811":[66771,66811],"66928":[66928,66967],"66929":[66929,66968],"66930":[66930,66969],"66931":[66931,66970],"66932":[66932,66971],"66933":[66933,66972],"66934":[66934,66973],"66935":[66935,66974],"66936":[66936,66975],"66937":[66937,66976],"66938":[66938,66977],"66940":[66940,66979],"66941":[66941,66980],"66942":[66942,66981],"66943":[66943,66982],"66944":[66944,66983],"66945":[66945,66984],"66946":[66946,66985],"66947":[66947,66986],"66948":[66948,66987],"66949":[66949,66988],"66950":[66950,66989],"66951":[66951,66990],"66952":[66952,66991],"66953":[66953,66992],"66954":[66954,66993],"66956":[66956,66995],"66957":[66957,66996],"66958":[66958,66997],"66959":[66959,66998],"66960":[66960,66999],"66961":[66961,67000],"66962":[66962,67001],"66964":[66964,67003],"66965":[66965,67004],"66967":[66928,66967],"66968":[66929,66968],"66969":[66930,66969],"66970":[66931,66970],"66971":[66932,66971],"66972":[66933,66972],"66973":[66934,66973],"66974":[66935,66974],"66975":[66936,66975],"66976":[66937,66976],"66977":[66938,66977],"66979":[66940,66979],"66980":[66941,66980],"66981":[66942,66981],"66982":[66943,66982],"66983":[66944,66983],"66984":[66945,66984],"66985":[66946,66985],"66986":[66947,66986],"66987":[66948,66987],"66988":[66949,66988],"66989":[66950,66989],"66990":[66951,66990],"66991":[66952,66991],"66992":[66953,66992],"66993":[66954,66993],"66995":[66956,66995],"66996":[66957,66996],"66997":[66958,66997],"66998":[66959,66998],"66999":[66960,66999],"67000":[66961,67000],"67001":[66962,67001],"67003":[66964,67003],"67004":[66965,67004],"68736":[68736,68800],"68737":[68737,68801],"68738":[68738,68802],"68739":[68739,68803],"68740":[68740,68804],"68741":[68741,68805],"68742":[68742,68806],"68743":[68743,68807],"68744":[68744,68808],"68745":[68745,68809],"68746":[68746,68810],"68747":[68747,68811],"68748":[68748,68812],"68749":[68749,68813],"68750":[68750,68814],"68751":[68751,68815],"68752":[68752,68816],"68753":[68753,68817],"68754":[68754,68818],"68755":[68755,68819],"68756":[68756,68820],"68757":[68757,68821],"68758":[68758,68822],"68759":[68759,68823],"68760":[68760,68824],"68761":[68761,68825],"68762":[68762,68826],"68763":[68763,68827],"68764":[68764,68828],"68765":[68765,68829],"68766":[68766,68830],"68767":[68767,68831],"68768":[68768,68832],"68769":[68769,68833],"68770":[68770,68834],"68771":[68771,68835],"68772":[68772,68836],"68773":[68773,68837],"68774":[68774,68838],"68775":[68775,68839],"68776":[68776,68840],"68777":[68777,68841],"68778":[68778,68842],"68779":[68779,68843],"68780":[68780,68844],"68781":[68781,68845],"68782":[68782,68846],"68783":[68783,68847],"68784":[68784,68848],"68785":[68785,68849],"68786":[68786,68850],"68800":[68736,68800],"68801":[68737,68801],"68802":[68738,68802],"68803":[68739,68803],"68804":[68740,68804],"68805":[68741,68805],"68806":[68742,68806],"68807":[68743,68807],"68808":[68744,68808],"68809":[68745,68809],"68810":[68746,68810],"68811":[68747,68811],"68812":[68748,68812],"68813":[68749,68813],"68814":[68750,68814],"68815":[68751,68815],"68816":[68752,68816],"68817":[68753,68817],"68818":[68754,68818],"68819":[68755,68819],"68820":[68756,68820],"68821":[68757,68821],"68822":[68758,68822],"68823":[68759,68823],"68824":[68760,68824],"68825":[68761,68825],"68826":[68762,68826],"68827":[68763,68827],"68828":[68764,68828],"68829":[68765,68829],"68830":[68766,68830],"68831":[68767,68831],"68832":[68768,68832],"68833":[68769,68833],"68834":[68770,68834],"68835":[68771,68835],"68836":[68772,68836],"68837":[68773,68837],"68838":[68774,68838],"68839":[68775,68839],"68840":[68776,68840],"68841":[68777,68841],"68842":[68778,68842],"68843":[68779,68843],"68844":[68780,68844],"68845":[68781,68845],"68846":[68782,68846],"68847":[68783,68847],"68848":[68784,68848],"68849":[68785,68849],"68850":[68786,68850],"71840":[71840,71872],"71841":[71841,71873],"71842":[71842,71874],"71843":[71843,71875],"71844":[71844,71876],"71845":[71845,71877],"71846":[71846,71878],"71847":[71847,71879],"71848":[71848,71880],"71849":[71849,71881],"71850":[71850,71882],"71851":[71851,71883],"71852":[71852,71884],"71853":[71853,71885],"71854":[71854,71886],"71855":[71855,71887],"71856":[71856,71888],"71857":[71857,71889],"71858":[71858,71890],"71859":[71859,71891],"71860":[71860,71892],"71861":[71861,71893],"71862":[71862,71894],"71863":[71863,71895],"71864":[71864,71896],"71865":[71865,71897],"71866":[71866,71898],"71867":[71867,71899],"71868":[71868,71900],"71869":[71869,71901],"71870":[71870,71902],"71871":[71871,71903],"71872":[71840,71872],"71873":[71841,71873],"71874":[71842,71874],"71875":[71843,71875],"71876":[71844,71876],"71877":[71845,71877],"71878":[71846,71878],"71879":[71847,71879],"71880":[71848,71880],"71881":[71849,71881],"71882":[71850,71882],"71883":[71851,71883],"71884":[71852,71884],"71885":[71853,71885],"71886":[71854,71886],"71887":[71855,71887],"71888":[71856,71888],"71889":[71857,71889],"71890":[71858,71890],"71891":[71859,71891],"71892":[71860,71892],"71893":[71861,71893],"71894":[71862,71894],"71895":[71863,71895],"71896":[71864,71896],"71897":[71865,71897],"71898":[71866,71898],"71899":[71867,71899],"71900":[71868,71900],"71901":[71869,71901],"71902":[71870,71902],"71903":[71871,71903],"93760":[93760,93792],"93761":[93761,93793],"93762":[93762,93794],"93763":[93763,93795],"93764":[93764,93796],"93765":[93765,93797],"93766":[93766,93798],"93767":[93767,93799],"93768":[93768,93800],"93769":[93769,93801],"93770":[93770,93802],"93771":[93771,93803],"93772":[93772,93804],"93773":[93773,93805],"93774":[93774,93806],"93775":[93775,93807],"93776":[93776,93808],"93777":[93777,93809],"93778":[93778,93810],"93779":[93779,93811],"93780":[93780,93812],"93781":[93781,93813],"93782":[93782,93814],"93783":[93783,93815],"93784":[93784,93816],"93785":[93785,93817],"93786":[93786,93818],"93787":[93787,93819],"93788":[93788,93820],"93789":[93789,93821],"93790":[93790,93822],"93791":[93791,93823],"93792":[93760,93792],"93793":[93761,93793],"93794":[93762,93794],"93795":[93763,93795],"93796":[93764,93796],"93797":[93765,93797],"93798":[93766,93798],"93799":[93767,93799],"93800":[93768,93800],"93801":[93769,93801],"93802":[93770,93802],"93803":[93771,93803],"93804":[93772,93804],"93805":[93773,93805],"93806":[93774,93806],"93807":[93775,93807],"93808":[93776,93808],"93809":[93777,93809],"93810":[93778,93810],"93811":[93779,93811],"93812":[93780,93812],"93813":[93781,93813],"93814":[93782,93814],"93815":[93783,93815],"93816":[93784,93816],"93817":[93785,93817],"93818":[93786,93818],"93819":[93787,93819],"93820":[93788,93820],"93821":[93789,93821],"93822":[93790,93822],"93823":[93791,93823],"125184":[125184,125218],"125185":[125185,125219],"125186":[125186,125220],"125187":[125187,125221],"125188":[125188,125222],"125189":[125189,125223],"125190":[125190,125224],"125191":[125191,125225],"125192":[125192,125226],"125193":[125193,125227],"125194":[125194,125228],"125195":[125195,125229],"125196":[125196,125230],"125197":[125197,125231],"125198":[125198,125232],"125199":[125199,125233],"125200":[125200,125234],"125201":[125201,125235],"125202":[125202,125236],"125203":[125203,125237],"125204":[125204,125238],"125205":[125205,125239],"125206":[125206,125240],"125207":[125207,125241],"125208":[125208,125242],"125209":[125209,125243],"125210":[125210,125244],"125211":[125211,125245],"125212":[125212,125246],"125213":[125213,125247],"125214":[125214,125248],"125215":[125215,125249],"125216":[125216,125250],"125217":[125217,125251],"125218":[125184,125218],"125219":[125185,125219],"125220":[125186,125220],"125221":[125187,125221],"125222":[125188,125222],"125223":[125189,125223],"125224":[125190,125224],"125225":[125191,125225],"125226":[125192,125226],"125227":[125193,125227],"125228":[125194,125228],"125229":[125195,125229],"125230":[125196,125230],"125231":[125197,125231],"125232":[125198,125232],"125233":[125199,125233],"125234":[125200,125234],"125235":[125201,125235],"125236":[125202,125236],"125237":[125203,125237],"125238":[125204,125238],"125239":[125205,125239],"125240":[125206,125240],"125241":[125207,125241],"125242":[125208,125242],"125243":[125209,125243],"125244":[125210,125244],"125245":[125211,125245],"125246":[125212,125246],"125247":[125213,125247],"125248":[125214,125248],"125249":[125215,125249],"125250":[125216,125250],"125251":[125217,125251]}'),f9=P.empty(65535).union(JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":222},{"min":224,"max":246},{"min":248,"max":303},{"min":306,"max":311},{"min":313,"max":328},{"min":330,"max":382},{"min":384,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":495},{"min":497,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":943},{"min":945,"max":977},{"min":981,"max":1011},{"min":1013,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1414},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7829},{"min":7835,"max":7835},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8017,"max":8017},{"min":8019,"max":8019},{"min":8021,"max":8021},{"min":8023,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8112,"max":8113},{"min":8120,"max":8123},{"min":8126,"max":8126},{"min":8136,"max":8139},{"min":8144,"max":8145},{"min":8152,"max":8155},{"min":8160,"max":8161},{"min":8165,"max":8165},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":65313,"max":65338},{"min":65345,"max":65370}]')),R2=JSON.parse('{"65":[65,97],"66":[66,98],"67":[67,99],"68":[68,100],"69":[69,101],"70":[70,102],"71":[71,103],"72":[72,104],"73":[73,105],"74":[74,106],"75":[75,107],"76":[76,108],"77":[77,109],"78":[78,110],"79":[79,111],"80":[80,112],"81":[81,113],"82":[82,114],"83":[83,115],"84":[84,116],"85":[85,117],"86":[86,118],"87":[87,119],"88":[88,120],"89":[89,121],"90":[90,122],"97":[65,97],"98":[66,98],"99":[67,99],"100":[68,100],"101":[69,101],"102":[70,102],"103":[71,103],"104":[72,104],"105":[73,105],"106":[74,106],"107":[75,107],"108":[76,108],"109":[77,109],"110":[78,110],"111":[79,111],"112":[80,112],"113":[81,113],"114":[82,114],"115":[83,115],"116":[84,116],"117":[85,117],"118":[86,118],"119":[87,119],"120":[88,120],"121":[89,121],"122":[90,122],"181":[181,924,956],"192":[192,224],"193":[193,225],"194":[194,226],"195":[195,227],"196":[196,228],"197":[197,229],"198":[198,230],"199":[199,231],"200":[200,232],"201":[201,233],"202":[202,234],"203":[203,235],"204":[204,236],"205":[205,237],"206":[206,238],"207":[207,239],"208":[208,240],"209":[209,241],"210":[210,242],"211":[211,243],"212":[212,244],"213":[213,245],"214":[214,246],"216":[216,248],"217":[217,249],"218":[218,250],"219":[219,251],"220":[220,252],"221":[221,253],"222":[222,254],"224":[192,224],"225":[193,225],"226":[194,226],"227":[195,227],"228":[196,228],"229":[197,229],"230":[198,230],"231":[199,231],"232":[200,232],"233":[201,233],"234":[202,234],"235":[203,235],"236":[204,236],"237":[205,237],"238":[206,238],"239":[207,239],"240":[208,240],"241":[209,241],"242":[210,242],"243":[211,243],"244":[212,244],"245":[213,245],"246":[214,246],"248":[216,248],"249":[217,249],"250":[218,250],"251":[219,251],"252":[220,252],"253":[221,253],"254":[222,254],"255":[255,376],"256":[256,257],"257":[256,257],"258":[258,259],"259":[258,259],"260":[260,261],"261":[260,261],"262":[262,263],"263":[262,263],"264":[264,265],"265":[264,265],"266":[266,267],"267":[266,267],"268":[268,269],"269":[268,269],"270":[270,271],"271":[270,271],"272":[272,273],"273":[272,273],"274":[274,275],"275":[274,275],"276":[276,277],"277":[276,277],"278":[278,279],"279":[278,279],"280":[280,281],"281":[280,281],"282":[282,283],"283":[282,283],"284":[284,285],"285":[284,285],"286":[286,287],"287":[286,287],"288":[288,289],"289":[288,289],"290":[290,291],"291":[290,291],"292":[292,293],"293":[292,293],"294":[294,295],"295":[294,295],"296":[296,297],"297":[296,297],"298":[298,299],"299":[298,299],"300":[300,301],"301":[300,301],"302":[302,303],"303":[302,303],"306":[306,307],"307":[306,307],"308":[308,309],"309":[308,309],"310":[310,311],"311":[310,311],"313":[313,314],"314":[313,314],"315":[315,316],"316":[315,316],"317":[317,318],"318":[317,318],"319":[319,320],"320":[319,320],"321":[321,322],"322":[321,322],"323":[323,324],"324":[323,324],"325":[325,326],"326":[325,326],"327":[327,328],"328":[327,328],"330":[330,331],"331":[330,331],"332":[332,333],"333":[332,333],"334":[334,335],"335":[334,335],"336":[336,337],"337":[336,337],"338":[338,339],"339":[338,339],"340":[340,341],"341":[340,341],"342":[342,343],"343":[342,343],"344":[344,345],"345":[344,345],"346":[346,347],"347":[346,347],"348":[348,349],"349":[348,349],"350":[350,351],"351":[350,351],"352":[352,353],"353":[352,353],"354":[354,355],"355":[354,355],"356":[356,357],"357":[356,357],"358":[358,359],"359":[358,359],"360":[360,361],"361":[360,361],"362":[362,363],"363":[362,363],"364":[364,365],"365":[364,365],"366":[366,367],"367":[366,367],"368":[368,369],"369":[368,369],"370":[370,371],"371":[370,371],"372":[372,373],"373":[372,373],"374":[374,375],"375":[374,375],"376":[255,376],"377":[377,378],"378":[377,378],"379":[379,380],"380":[379,380],"381":[381,382],"382":[381,382],"384":[384,579],"385":[385,595],"386":[386,387],"387":[386,387],"388":[388,389],"389":[388,389],"390":[390,596],"391":[391,392],"392":[391,392],"393":[393,598],"394":[394,599],"395":[395,396],"396":[395,396],"398":[398,477],"399":[399,601],"400":[400,603],"401":[401,402],"402":[401,402],"403":[403,608],"404":[404,611],"405":[405,502],"406":[406,617],"407":[407,616],"408":[408,409],"409":[408,409],"410":[410,573],"412":[412,623],"413":[413,626],"414":[414,544],"415":[415,629],"416":[416,417],"417":[416,417],"418":[418,419],"419":[418,419],"420":[420,421],"421":[420,421],"422":[422,640],"423":[423,424],"424":[423,424],"425":[425,643],"428":[428,429],"429":[428,429],"430":[430,648],"431":[431,432],"432":[431,432],"433":[433,650],"434":[434,651],"435":[435,436],"436":[435,436],"437":[437,438],"438":[437,438],"439":[439,658],"440":[440,441],"441":[440,441],"444":[444,445],"445":[444,445],"447":[447,503],"452":[452,453,454],"453":[452,453,454],"454":[452,453,454],"455":[455,456,457],"456":[455,456,457],"457":[455,456,457],"458":[458,459,460],"459":[458,459,460],"460":[458,459,460],"461":[461,462],"462":[461,462],"463":[463,464],"464":[463,464],"465":[465,466],"466":[465,466],"467":[467,468],"468":[467,468],"469":[469,470],"470":[469,470],"471":[471,472],"472":[471,472],"473":[473,474],"474":[473,474],"475":[475,476],"476":[475,476],"477":[398,477],"478":[478,479],"479":[478,479],"480":[480,481],"481":[480,481],"482":[482,483],"483":[482,483],"484":[484,485],"485":[484,485],"486":[486,487],"487":[486,487],"488":[488,489],"489":[488,489],"490":[490,491],"491":[490,491],"492":[492,493],"493":[492,493],"494":[494,495],"495":[494,495],"497":[497,498,499],"498":[497,498,499],"499":[497,498,499],"500":[500,501],"501":[500,501],"502":[405,502],"503":[447,503],"504":[504,505],"505":[504,505],"506":[506,507],"507":[506,507],"508":[508,509],"509":[508,509],"510":[510,511],"511":[510,511],"512":[512,513],"513":[512,513],"514":[514,515],"515":[514,515],"516":[516,517],"517":[516,517],"518":[518,519],"519":[518,519],"520":[520,521],"521":[520,521],"522":[522,523],"523":[522,523],"524":[524,525],"525":[524,525],"526":[526,527],"527":[526,527],"528":[528,529],"529":[528,529],"530":[530,531],"531":[530,531],"532":[532,533],"533":[532,533],"534":[534,535],"535":[534,535],"536":[536,537],"537":[536,537],"538":[538,539],"539":[538,539],"540":[540,541],"541":[540,541],"542":[542,543],"543":[542,543],"544":[414,544],"546":[546,547],"547":[546,547],"548":[548,549],"549":[548,549],"550":[550,551],"551":[550,551],"552":[552,553],"553":[552,553],"554":[554,555],"555":[554,555],"556":[556,557],"557":[556,557],"558":[558,559],"559":[558,559],"560":[560,561],"561":[560,561],"562":[562,563],"563":[562,563],"570":[570,11365],"571":[571,572],"572":[571,572],"573":[410,573],"574":[574,11366],"575":[575,11390],"576":[576,11391],"577":[577,578],"578":[577,578],"579":[384,579],"580":[580,649],"581":[581,652],"582":[582,583],"583":[582,583],"584":[584,585],"585":[584,585],"586":[586,587],"587":[586,587],"588":[588,589],"589":[588,589],"590":[590,591],"591":[590,591],"592":[592,11375],"593":[593,11373],"594":[594,11376],"595":[385,595],"596":[390,596],"598":[393,598],"599":[394,599],"601":[399,601],"603":[400,603],"604":[604,42923],"608":[403,608],"609":[609,42924],"611":[404,611],"613":[613,42893],"614":[614,42922],"616":[407,616],"617":[406,617],"618":[618,42926],"619":[619,11362],"620":[620,42925],"623":[412,623],"625":[625,11374],"626":[413,626],"629":[415,629],"637":[637,11364],"640":[422,640],"642":[642,42949],"643":[425,643],"647":[647,42929],"648":[430,648],"649":[580,649],"650":[433,650],"651":[434,651],"652":[581,652],"658":[439,658],"669":[669,42930],"670":[670,42928],"837":[837,921,953,8126],"880":[880,881],"881":[880,881],"882":[882,883],"883":[882,883],"886":[886,887],"887":[886,887],"891":[891,1021],"892":[892,1022],"893":[893,1023],"895":[895,1011],"902":[902,940],"904":[904,941],"905":[905,942],"906":[906,943],"908":[908,972],"910":[910,973],"911":[911,974],"913":[913,945],"914":[914,946,976],"915":[915,947],"916":[916,948],"917":[917,949,1013],"918":[918,950],"919":[919,951],"920":[920,952,977],"921":[837,921,953,8126],"922":[922,954,1008],"923":[923,955],"924":[181,924,956],"925":[925,957],"926":[926,958],"927":[927,959],"928":[928,960,982],"929":[929,961,1009],"931":[931,962,963],"932":[932,964],"933":[933,965],"934":[934,966,981],"935":[935,967],"936":[936,968],"937":[937,969],"938":[938,970],"939":[939,971],"940":[902,940],"941":[904,941],"942":[905,942],"943":[906,943],"945":[913,945],"946":[914,946,976],"947":[915,947],"948":[916,948],"949":[917,949,1013],"950":[918,950],"951":[919,951],"952":[920,952,977],"953":[837,921,953,8126],"954":[922,954,1008],"955":[923,955],"956":[181,924,956],"957":[925,957],"958":[926,958],"959":[927,959],"960":[928,960,982],"961":[929,961,1009],"962":[931,962,963],"963":[931,962,963],"964":[932,964],"965":[933,965],"966":[934,966,981],"967":[935,967],"968":[936,968],"969":[937,969],"970":[938,970],"971":[939,971],"972":[908,972],"973":[910,973],"974":[911,974],"975":[975,983],"976":[914,946,976],"977":[920,952,977],"981":[934,966,981],"982":[928,960,982],"983":[975,983],"984":[984,985],"985":[984,985],"986":[986,987],"987":[986,987],"988":[988,989],"989":[988,989],"990":[990,991],"991":[990,991],"992":[992,993],"993":[992,993],"994":[994,995],"995":[994,995],"996":[996,997],"997":[996,997],"998":[998,999],"999":[998,999],"1000":[1000,1001],"1001":[1000,1001],"1002":[1002,1003],"1003":[1002,1003],"1004":[1004,1005],"1005":[1004,1005],"1006":[1006,1007],"1007":[1006,1007],"1008":[922,954,1008],"1009":[929,961,1009],"1010":[1010,1017],"1011":[895,1011],"1013":[917,949,1013],"1015":[1015,1016],"1016":[1015,1016],"1017":[1010,1017],"1018":[1018,1019],"1019":[1018,1019],"1021":[891,1021],"1022":[892,1022],"1023":[893,1023],"1024":[1024,1104],"1025":[1025,1105],"1026":[1026,1106],"1027":[1027,1107],"1028":[1028,1108],"1029":[1029,1109],"1030":[1030,1110],"1031":[1031,1111],"1032":[1032,1112],"1033":[1033,1113],"1034":[1034,1114],"1035":[1035,1115],"1036":[1036,1116],"1037":[1037,1117],"1038":[1038,1118],"1039":[1039,1119],"1040":[1040,1072],"1041":[1041,1073],"1042":[1042,1074,7296],"1043":[1043,1075],"1044":[1044,1076,7297],"1045":[1045,1077],"1046":[1046,1078],"1047":[1047,1079],"1048":[1048,1080],"1049":[1049,1081],"1050":[1050,1082],"1051":[1051,1083],"1052":[1052,1084],"1053":[1053,1085],"1054":[1054,1086,7298],"1055":[1055,1087],"1056":[1056,1088],"1057":[1057,1089,7299],"1058":[1058,1090,7300,7301],"1059":[1059,1091],"1060":[1060,1092],"1061":[1061,1093],"1062":[1062,1094],"1063":[1063,1095],"1064":[1064,1096],"1065":[1065,1097],"1066":[1066,1098,7302],"1067":[1067,1099],"1068":[1068,1100],"1069":[1069,1101],"1070":[1070,1102],"1071":[1071,1103],"1072":[1040,1072],"1073":[1041,1073],"1074":[1042,1074,7296],"1075":[1043,1075],"1076":[1044,1076,7297],"1077":[1045,1077],"1078":[1046,1078],"1079":[1047,1079],"1080":[1048,1080],"1081":[1049,1081],"1082":[1050,1082],"1083":[1051,1083],"1084":[1052,1084],"1085":[1053,1085],"1086":[1054,1086,7298],"1087":[1055,1087],"1088":[1056,1088],"1089":[1057,1089,7299],"1090":[1058,1090,7300,7301],"1091":[1059,1091],"1092":[1060,1092],"1093":[1061,1093],"1094":[1062,1094],"1095":[1063,1095],"1096":[1064,1096],"1097":[1065,1097],"1098":[1066,1098,7302],"1099":[1067,1099],"1100":[1068,1100],"1101":[1069,1101],"1102":[1070,1102],"1103":[1071,1103],"1104":[1024,1104],"1105":[1025,1105],"1106":[1026,1106],"1107":[1027,1107],"1108":[1028,1108],"1109":[1029,1109],"1110":[1030,1110],"1111":[1031,1111],"1112":[1032,1112],"1113":[1033,1113],"1114":[1034,1114],"1115":[1035,1115],"1116":[1036,1116],"1117":[1037,1117],"1118":[1038,1118],"1119":[1039,1119],"1120":[1120,1121],"1121":[1120,1121],"1122":[1122,1123,7303],"1123":[1122,1123,7303],"1124":[1124,1125],"1125":[1124,1125],"1126":[1126,1127],"1127":[1126,1127],"1128":[1128,1129],"1129":[1128,1129],"1130":[1130,1131],"1131":[1130,1131],"1132":[1132,1133],"1133":[1132,1133],"1134":[1134,1135],"1135":[1134,1135],"1136":[1136,1137],"1137":[1136,1137],"1138":[1138,1139],"1139":[1138,1139],"1140":[1140,1141],"1141":[1140,1141],"1142":[1142,1143],"1143":[1142,1143],"1144":[1144,1145],"1145":[1144,1145],"1146":[1146,1147],"1147":[1146,1147],"1148":[1148,1149],"1149":[1148,1149],"1150":[1150,1151],"1151":[1150,1151],"1152":[1152,1153],"1153":[1152,1153],"1162":[1162,1163],"1163":[1162,1163],"1164":[1164,1165],"1165":[1164,1165],"1166":[1166,1167],"1167":[1166,1167],"1168":[1168,1169],"1169":[1168,1169],"1170":[1170,1171],"1171":[1170,1171],"1172":[1172,1173],"1173":[1172,1173],"1174":[1174,1175],"1175":[1174,1175],"1176":[1176,1177],"1177":[1176,1177],"1178":[1178,1179],"1179":[1178,1179],"1180":[1180,1181],"1181":[1180,1181],"1182":[1182,1183],"1183":[1182,1183],"1184":[1184,1185],"1185":[1184,1185],"1186":[1186,1187],"1187":[1186,1187],"1188":[1188,1189],"1189":[1188,1189],"1190":[1190,1191],"1191":[1190,1191],"1192":[1192,1193],"1193":[1192,1193],"1194":[1194,1195],"1195":[1194,1195],"1196":[1196,1197],"1197":[1196,1197],"1198":[1198,1199],"1199":[1198,1199],"1200":[1200,1201],"1201":[1200,1201],"1202":[1202,1203],"1203":[1202,1203],"1204":[1204,1205],"1205":[1204,1205],"1206":[1206,1207],"1207":[1206,1207],"1208":[1208,1209],"1209":[1208,1209],"1210":[1210,1211],"1211":[1210,1211],"1212":[1212,1213],"1213":[1212,1213],"1214":[1214,1215],"1215":[1214,1215],"1216":[1216,1231],"1217":[1217,1218],"1218":[1217,1218],"1219":[1219,1220],"1220":[1219,1220],"1221":[1221,1222],"1222":[1221,1222],"1223":[1223,1224],"1224":[1223,1224],"1225":[1225,1226],"1226":[1225,1226],"1227":[1227,1228],"1228":[1227,1228],"1229":[1229,1230],"1230":[1229,1230],"1231":[1216,1231],"1232":[1232,1233],"1233":[1232,1233],"1234":[1234,1235],"1235":[1234,1235],"1236":[1236,1237],"1237":[1236,1237],"1238":[1238,1239],"1239":[1238,1239],"1240":[1240,1241],"1241":[1240,1241],"1242":[1242,1243],"1243":[1242,1243],"1244":[1244,1245],"1245":[1244,1245],"1246":[1246,1247],"1247":[1246,1247],"1248":[1248,1249],"1249":[1248,1249],"1250":[1250,1251],"1251":[1250,1251],"1252":[1252,1253],"1253":[1252,1253],"1254":[1254,1255],"1255":[1254,1255],"1256":[1256,1257],"1257":[1256,1257],"1258":[1258,1259],"1259":[1258,1259],"1260":[1260,1261],"1261":[1260,1261],"1262":[1262,1263],"1263":[1262,1263],"1264":[1264,1265],"1265":[1264,1265],"1266":[1266,1267],"1267":[1266,1267],"1268":[1268,1269],"1269":[1268,1269],"1270":[1270,1271],"1271":[1270,1271],"1272":[1272,1273],"1273":[1272,1273],"1274":[1274,1275],"1275":[1274,1275],"1276":[1276,1277],"1277":[1276,1277],"1278":[1278,1279],"1279":[1278,1279],"1280":[1280,1281],"1281":[1280,1281],"1282":[1282,1283],"1283":[1282,1283],"1284":[1284,1285],"1285":[1284,1285],"1286":[1286,1287],"1287":[1286,1287],"1288":[1288,1289],"1289":[1288,1289],"1290":[1290,1291],"1291":[1290,1291],"1292":[1292,1293],"1293":[1292,1293],"1294":[1294,1295],"1295":[1294,1295],"1296":[1296,1297],"1297":[1296,1297],"1298":[1298,1299],"1299":[1298,1299],"1300":[1300,1301],"1301":[1300,1301],"1302":[1302,1303],"1303":[1302,1303],"1304":[1304,1305],"1305":[1304,1305],"1306":[1306,1307],"1307":[1306,1307],"1308":[1308,1309],"1309":[1308,1309],"1310":[1310,1311],"1311":[1310,1311],"1312":[1312,1313],"1313":[1312,1313],"1314":[1314,1315],"1315":[1314,1315],"1316":[1316,1317],"1317":[1316,1317],"1318":[1318,1319],"1319":[1318,1319],"1320":[1320,1321],"1321":[1320,1321],"1322":[1322,1323],"1323":[1322,1323],"1324":[1324,1325],"1325":[1324,1325],"1326":[1326,1327],"1327":[1326,1327],"1329":[1329,1377],"1330":[1330,1378],"1331":[1331,1379],"1332":[1332,1380],"1333":[1333,1381],"1334":[1334,1382],"1335":[1335,1383],"1336":[1336,1384],"1337":[1337,1385],"1338":[1338,1386],"1339":[1339,1387],"1340":[1340,1388],"1341":[1341,1389],"1342":[1342,1390],"1343":[1343,1391],"1344":[1344,1392],"1345":[1345,1393],"1346":[1346,1394],"1347":[1347,1395],"1348":[1348,1396],"1349":[1349,1397],"1350":[1350,1398],"1351":[1351,1399],"1352":[1352,1400],"1353":[1353,1401],"1354":[1354,1402],"1355":[1355,1403],"1356":[1356,1404],"1357":[1357,1405],"1358":[1358,1406],"1359":[1359,1407],"1360":[1360,1408],"1361":[1361,1409],"1362":[1362,1410],"1363":[1363,1411],"1364":[1364,1412],"1365":[1365,1413],"1366":[1366,1414],"1377":[1329,1377],"1378":[1330,1378],"1379":[1331,1379],"1380":[1332,1380],"1381":[1333,1381],"1382":[1334,1382],"1383":[1335,1383],"1384":[1336,1384],"1385":[1337,1385],"1386":[1338,1386],"1387":[1339,1387],"1388":[1340,1388],"1389":[1341,1389],"1390":[1342,1390],"1391":[1343,1391],"1392":[1344,1392],"1393":[1345,1393],"1394":[1346,1394],"1395":[1347,1395],"1396":[1348,1396],"1397":[1349,1397],"1398":[1350,1398],"1399":[1351,1399],"1400":[1352,1400],"1401":[1353,1401],"1402":[1354,1402],"1403":[1355,1403],"1404":[1356,1404],"1405":[1357,1405],"1406":[1358,1406],"1407":[1359,1407],"1408":[1360,1408],"1409":[1361,1409],"1410":[1362,1410],"1411":[1363,1411],"1412":[1364,1412],"1413":[1365,1413],"1414":[1366,1414],"4256":[4256,11520],"4257":[4257,11521],"4258":[4258,11522],"4259":[4259,11523],"4260":[4260,11524],"4261":[4261,11525],"4262":[4262,11526],"4263":[4263,11527],"4264":[4264,11528],"4265":[4265,11529],"4266":[4266,11530],"4267":[4267,11531],"4268":[4268,11532],"4269":[4269,11533],"4270":[4270,11534],"4271":[4271,11535],"4272":[4272,11536],"4273":[4273,11537],"4274":[4274,11538],"4275":[4275,11539],"4276":[4276,11540],"4277":[4277,11541],"4278":[4278,11542],"4279":[4279,11543],"4280":[4280,11544],"4281":[4281,11545],"4282":[4282,11546],"4283":[4283,11547],"4284":[4284,11548],"4285":[4285,11549],"4286":[4286,11550],"4287":[4287,11551],"4288":[4288,11552],"4289":[4289,11553],"4290":[4290,11554],"4291":[4291,11555],"4292":[4292,11556],"4293":[4293,11557],"4295":[4295,11559],"4301":[4301,11565],"4304":[4304,7312],"4305":[4305,7313],"4306":[4306,7314],"4307":[4307,7315],"4308":[4308,7316],"4309":[4309,7317],"4310":[4310,7318],"4311":[4311,7319],"4312":[4312,7320],"4313":[4313,7321],"4314":[4314,7322],"4315":[4315,7323],"4316":[4316,7324],"4317":[4317,7325],"4318":[4318,7326],"4319":[4319,7327],"4320":[4320,7328],"4321":[4321,7329],"4322":[4322,7330],"4323":[4323,7331],"4324":[4324,7332],"4325":[4325,7333],"4326":[4326,7334],"4327":[4327,7335],"4328":[4328,7336],"4329":[4329,7337],"4330":[4330,7338],"4331":[4331,7339],"4332":[4332,7340],"4333":[4333,7341],"4334":[4334,7342],"4335":[4335,7343],"4336":[4336,7344],"4337":[4337,7345],"4338":[4338,7346],"4339":[4339,7347],"4340":[4340,7348],"4341":[4341,7349],"4342":[4342,7350],"4343":[4343,7351],"4344":[4344,7352],"4345":[4345,7353],"4346":[4346,7354],"4349":[4349,7357],"4350":[4350,7358],"4351":[4351,7359],"5024":[5024,43888],"5025":[5025,43889],"5026":[5026,43890],"5027":[5027,43891],"5028":[5028,43892],"5029":[5029,43893],"5030":[5030,43894],"5031":[5031,43895],"5032":[5032,43896],"5033":[5033,43897],"5034":[5034,43898],"5035":[5035,43899],"5036":[5036,43900],"5037":[5037,43901],"5038":[5038,43902],"5039":[5039,43903],"5040":[5040,43904],"5041":[5041,43905],"5042":[5042,43906],"5043":[5043,43907],"5044":[5044,43908],"5045":[5045,43909],"5046":[5046,43910],"5047":[5047,43911],"5048":[5048,43912],"5049":[5049,43913],"5050":[5050,43914],"5051":[5051,43915],"5052":[5052,43916],"5053":[5053,43917],"5054":[5054,43918],"5055":[5055,43919],"5056":[5056,43920],"5057":[5057,43921],"5058":[5058,43922],"5059":[5059,43923],"5060":[5060,43924],"5061":[5061,43925],"5062":[5062,43926],"5063":[5063,43927],"5064":[5064,43928],"5065":[5065,43929],"5066":[5066,43930],"5067":[5067,43931],"5068":[5068,43932],"5069":[5069,43933],"5070":[5070,43934],"5071":[5071,43935],"5072":[5072,43936],"5073":[5073,43937],"5074":[5074,43938],"5075":[5075,43939],"5076":[5076,43940],"5077":[5077,43941],"5078":[5078,43942],"5079":[5079,43943],"5080":[5080,43944],"5081":[5081,43945],"5082":[5082,43946],"5083":[5083,43947],"5084":[5084,43948],"5085":[5085,43949],"5086":[5086,43950],"5087":[5087,43951],"5088":[5088,43952],"5089":[5089,43953],"5090":[5090,43954],"5091":[5091,43955],"5092":[5092,43956],"5093":[5093,43957],"5094":[5094,43958],"5095":[5095,43959],"5096":[5096,43960],"5097":[5097,43961],"5098":[5098,43962],"5099":[5099,43963],"5100":[5100,43964],"5101":[5101,43965],"5102":[5102,43966],"5103":[5103,43967],"5104":[5104,5112],"5105":[5105,5113],"5106":[5106,5114],"5107":[5107,5115],"5108":[5108,5116],"5109":[5109,5117],"5112":[5104,5112],"5113":[5105,5113],"5114":[5106,5114],"5115":[5107,5115],"5116":[5108,5116],"5117":[5109,5117],"7296":[1042,1074,7296],"7297":[1044,1076,7297],"7298":[1054,1086,7298],"7299":[1057,1089,7299],"7300":[1058,1090,7300,7301],"7301":[1058,1090,7300,7301],"7302":[1066,1098,7302],"7303":[1122,1123,7303],"7304":[7304,42570,42571],"7312":[4304,7312],"7313":[4305,7313],"7314":[4306,7314],"7315":[4307,7315],"7316":[4308,7316],"7317":[4309,7317],"7318":[4310,7318],"7319":[4311,7319],"7320":[4312,7320],"7321":[4313,7321],"7322":[4314,7322],"7323":[4315,7323],"7324":[4316,7324],"7325":[4317,7325],"7326":[4318,7326],"7327":[4319,7327],"7328":[4320,7328],"7329":[4321,7329],"7330":[4322,7330],"7331":[4323,7331],"7332":[4324,7332],"7333":[4325,7333],"7334":[4326,7334],"7335":[4327,7335],"7336":[4328,7336],"7337":[4329,7337],"7338":[4330,7338],"7339":[4331,7339],"7340":[4332,7340],"7341":[4333,7341],"7342":[4334,7342],"7343":[4335,7343],"7344":[4336,7344],"7345":[4337,7345],"7346":[4338,7346],"7347":[4339,7347],"7348":[4340,7348],"7349":[4341,7349],"7350":[4342,7350],"7351":[4343,7351],"7352":[4344,7352],"7353":[4345,7353],"7354":[4346,7354],"7357":[4349,7357],"7358":[4350,7358],"7359":[4351,7359],"7545":[7545,42877],"7549":[7549,11363],"7566":[7566,42950],"7680":[7680,7681],"7681":[7680,7681],"7682":[7682,7683],"7683":[7682,7683],"7684":[7684,7685],"7685":[7684,7685],"7686":[7686,7687],"7687":[7686,7687],"7688":[7688,7689],"7689":[7688,7689],"7690":[7690,7691],"7691":[7690,7691],"7692":[7692,7693],"7693":[7692,7693],"7694":[7694,7695],"7695":[7694,7695],"7696":[7696,7697],"7697":[7696,7697],"7698":[7698,7699],"7699":[7698,7699],"7700":[7700,7701],"7701":[7700,7701],"7702":[7702,7703],"7703":[7702,7703],"7704":[7704,7705],"7705":[7704,7705],"7706":[7706,7707],"7707":[7706,7707],"7708":[7708,7709],"7709":[7708,7709],"7710":[7710,7711],"7711":[7710,7711],"7712":[7712,7713],"7713":[7712,7713],"7714":[7714,7715],"7715":[7714,7715],"7716":[7716,7717],"7717":[7716,7717],"7718":[7718,7719],"7719":[7718,7719],"7720":[7720,7721],"7721":[7720,7721],"7722":[7722,7723],"7723":[7722,7723],"7724":[7724,7725],"7725":[7724,7725],"7726":[7726,7727],"7727":[7726,7727],"7728":[7728,7729],"7729":[7728,7729],"7730":[7730,7731],"7731":[7730,7731],"7732":[7732,7733],"7733":[7732,7733],"7734":[7734,7735],"7735":[7734,7735],"7736":[7736,7737],"7737":[7736,7737],"7738":[7738,7739],"7739":[7738,7739],"7740":[7740,7741],"7741":[7740,7741],"7742":[7742,7743],"7743":[7742,7743],"7744":[7744,7745],"7745":[7744,7745],"7746":[7746,7747],"7747":[7746,7747],"7748":[7748,7749],"7749":[7748,7749],"7750":[7750,7751],"7751":[7750,7751],"7752":[7752,7753],"7753":[7752,7753],"7754":[7754,7755],"7755":[7754,7755],"7756":[7756,7757],"7757":[7756,7757],"7758":[7758,7759],"7759":[7758,7759],"7760":[7760,7761],"7761":[7760,7761],"7762":[7762,7763],"7763":[7762,7763],"7764":[7764,7765],"7765":[7764,7765],"7766":[7766,7767],"7767":[7766,7767],"7768":[7768,7769],"7769":[7768,7769],"7770":[7770,7771],"7771":[7770,7771],"7772":[7772,7773],"7773":[7772,7773],"7774":[7774,7775],"7775":[7774,7775],"7776":[7776,7777,7835],"7777":[7776,7777,7835],"7778":[7778,7779],"7779":[7778,7779],"7780":[7780,7781],"7781":[7780,7781],"7782":[7782,7783],"7783":[7782,7783],"7784":[7784,7785],"7785":[7784,7785],"7786":[7786,7787],"7787":[7786,7787],"7788":[7788,7789],"7789":[7788,7789],"7790":[7790,7791],"7791":[7790,7791],"7792":[7792,7793],"7793":[7792,7793],"7794":[7794,7795],"7795":[7794,7795],"7796":[7796,7797],"7797":[7796,7797],"7798":[7798,7799],"7799":[7798,7799],"7800":[7800,7801],"7801":[7800,7801],"7802":[7802,7803],"7803":[7802,7803],"7804":[7804,7805],"7805":[7804,7805],"7806":[7806,7807],"7807":[7806,7807],"7808":[7808,7809],"7809":[7808,7809],"7810":[7810,7811],"7811":[7810,7811],"7812":[7812,7813],"7813":[7812,7813],"7814":[7814,7815],"7815":[7814,7815],"7816":[7816,7817],"7817":[7816,7817],"7818":[7818,7819],"7819":[7818,7819],"7820":[7820,7821],"7821":[7820,7821],"7822":[7822,7823],"7823":[7822,7823],"7824":[7824,7825],"7825":[7824,7825],"7826":[7826,7827],"7827":[7826,7827],"7828":[7828,7829],"7829":[7828,7829],"7835":[7776,7777,7835],"7840":[7840,7841],"7841":[7840,7841],"7842":[7842,7843],"7843":[7842,7843],"7844":[7844,7845],"7845":[7844,7845],"7846":[7846,7847],"7847":[7846,7847],"7848":[7848,7849],"7849":[7848,7849],"7850":[7850,7851],"7851":[7850,7851],"7852":[7852,7853],"7853":[7852,7853],"7854":[7854,7855],"7855":[7854,7855],"7856":[7856,7857],"7857":[7856,7857],"7858":[7858,7859],"7859":[7858,7859],"7860":[7860,7861],"7861":[7860,7861],"7862":[7862,7863],"7863":[7862,7863],"7864":[7864,7865],"7865":[7864,7865],"7866":[7866,7867],"7867":[7866,7867],"7868":[7868,7869],"7869":[7868,7869],"7870":[7870,7871],"7871":[7870,7871],"7872":[7872,7873],"7873":[7872,7873],"7874":[7874,7875],"7875":[7874,7875],"7876":[7876,7877],"7877":[7876,7877],"7878":[7878,7879],"7879":[7878,7879],"7880":[7880,7881],"7881":[7880,7881],"7882":[7882,7883],"7883":[7882,7883],"7884":[7884,7885],"7885":[7884,7885],"7886":[7886,7887],"7887":[7886,7887],"7888":[7888,7889],"7889":[7888,7889],"7890":[7890,7891],"7891":[7890,7891],"7892":[7892,7893],"7893":[7892,7893],"7894":[7894,7895],"7895":[7894,7895],"7896":[7896,7897],"7897":[7896,7897],"7898":[7898,7899],"7899":[7898,7899],"7900":[7900,7901],"7901":[7900,7901],"7902":[7902,7903],"7903":[7902,7903],"7904":[7904,7905],"7905":[7904,7905],"7906":[7906,7907],"7907":[7906,7907],"7908":[7908,7909],"7909":[7908,7909],"7910":[7910,7911],"7911":[7910,7911],"7912":[7912,7913],"7913":[7912,7913],"7914":[7914,7915],"7915":[7914,7915],"7916":[7916,7917],"7917":[7916,7917],"7918":[7918,7919],"7919":[7918,7919],"7920":[7920,7921],"7921":[7920,7921],"7922":[7922,7923],"7923":[7922,7923],"7924":[7924,7925],"7925":[7924,7925],"7926":[7926,7927],"7927":[7926,7927],"7928":[7928,7929],"7929":[7928,7929],"7930":[7930,7931],"7931":[7930,7931],"7932":[7932,7933],"7933":[7932,7933],"7934":[7934,7935],"7935":[7934,7935],"7936":[7936,7944],"7937":[7937,7945],"7938":[7938,7946],"7939":[7939,7947],"7940":[7940,7948],"7941":[7941,7949],"7942":[7942,7950],"7943":[7943,7951],"7944":[7936,7944],"7945":[7937,7945],"7946":[7938,7946],"7947":[7939,7947],"7948":[7940,7948],"7949":[7941,7949],"7950":[7942,7950],"7951":[7943,7951],"7952":[7952,7960],"7953":[7953,7961],"7954":[7954,7962],"7955":[7955,7963],"7956":[7956,7964],"7957":[7957,7965],"7960":[7952,7960],"7961":[7953,7961],"7962":[7954,7962],"7963":[7955,7963],"7964":[7956,7964],"7965":[7957,7965],"7968":[7968,7976],"7969":[7969,7977],"7970":[7970,7978],"7971":[7971,7979],"7972":[7972,7980],"7973":[7973,7981],"7974":[7974,7982],"7975":[7975,7983],"7976":[7968,7976],"7977":[7969,7977],"7978":[7970,7978],"7979":[7971,7979],"7980":[7972,7980],"7981":[7973,7981],"7982":[7974,7982],"7983":[7975,7983],"7984":[7984,7992],"7985":[7985,7993],"7986":[7986,7994],"7987":[7987,7995],"7988":[7988,7996],"7989":[7989,7997],"7990":[7990,7998],"7991":[7991,7999],"7992":[7984,7992],"7993":[7985,7993],"7994":[7986,7994],"7995":[7987,7995],"7996":[7988,7996],"7997":[7989,7997],"7998":[7990,7998],"7999":[7991,7999],"8000":[8000,8008],"8001":[8001,8009],"8002":[8002,8010],"8003":[8003,8011],"8004":[8004,8012],"8005":[8005,8013],"8008":[8000,8008],"8009":[8001,8009],"8010":[8002,8010],"8011":[8003,8011],"8012":[8004,8012],"8013":[8005,8013],"8017":[8017,8025],"8019":[8019,8027],"8021":[8021,8029],"8023":[8023,8031],"8025":[8017,8025],"8027":[8019,8027],"8029":[8021,8029],"8031":[8023,8031],"8032":[8032,8040],"8033":[8033,8041],"8034":[8034,8042],"8035":[8035,8043],"8036":[8036,8044],"8037":[8037,8045],"8038":[8038,8046],"8039":[8039,8047],"8040":[8032,8040],"8041":[8033,8041],"8042":[8034,8042],"8043":[8035,8043],"8044":[8036,8044],"8045":[8037,8045],"8046":[8038,8046],"8047":[8039,8047],"8048":[8048,8122],"8049":[8049,8123],"8050":[8050,8136],"8051":[8051,8137],"8052":[8052,8138],"8053":[8053,8139],"8054":[8054,8154],"8055":[8055,8155],"8056":[8056,8184],"8057":[8057,8185],"8058":[8058,8170],"8059":[8059,8171],"8060":[8060,8186],"8061":[8061,8187],"8112":[8112,8120],"8113":[8113,8121],"8120":[8112,8120],"8121":[8113,8121],"8122":[8048,8122],"8123":[8049,8123],"8126":[837,921,953,8126],"8136":[8050,8136],"8137":[8051,8137],"8138":[8052,8138],"8139":[8053,8139],"8144":[8144,8152],"8145":[8145,8153],"8152":[8144,8152],"8153":[8145,8153],"8154":[8054,8154],"8155":[8055,8155],"8160":[8160,8168],"8161":[8161,8169],"8165":[8165,8172],"8168":[8160,8168],"8169":[8161,8169],"8170":[8058,8170],"8171":[8059,8171],"8172":[8165,8172],"8184":[8056,8184],"8185":[8057,8185],"8186":[8060,8186],"8187":[8061,8187],"8498":[8498,8526],"8526":[8498,8526],"8544":[8544,8560],"8545":[8545,8561],"8546":[8546,8562],"8547":[8547,8563],"8548":[8548,8564],"8549":[8549,8565],"8550":[8550,8566],"8551":[8551,8567],"8552":[8552,8568],"8553":[8553,8569],"8554":[8554,8570],"8555":[8555,8571],"8556":[8556,8572],"8557":[8557,8573],"8558":[8558,8574],"8559":[8559,8575],"8560":[8544,8560],"8561":[8545,8561],"8562":[8546,8562],"8563":[8547,8563],"8564":[8548,8564],"8565":[8549,8565],"8566":[8550,8566],"8567":[8551,8567],"8568":[8552,8568],"8569":[8553,8569],"8570":[8554,8570],"8571":[8555,8571],"8572":[8556,8572],"8573":[8557,8573],"8574":[8558,8574],"8575":[8559,8575],"8579":[8579,8580],"8580":[8579,8580],"9398":[9398,9424],"9399":[9399,9425],"9400":[9400,9426],"9401":[9401,9427],"9402":[9402,9428],"9403":[9403,9429],"9404":[9404,9430],"9405":[9405,9431],"9406":[9406,9432],"9407":[9407,9433],"9408":[9408,9434],"9409":[9409,9435],"9410":[9410,9436],"9411":[9411,9437],"9412":[9412,9438],"9413":[9413,9439],"9414":[9414,9440],"9415":[9415,9441],"9416":[9416,9442],"9417":[9417,9443],"9418":[9418,9444],"9419":[9419,9445],"9420":[9420,9446],"9421":[9421,9447],"9422":[9422,9448],"9423":[9423,9449],"9424":[9398,9424],"9425":[9399,9425],"9426":[9400,9426],"9427":[9401,9427],"9428":[9402,9428],"9429":[9403,9429],"9430":[9404,9430],"9431":[9405,9431],"9432":[9406,9432],"9433":[9407,9433],"9434":[9408,9434],"9435":[9409,9435],"9436":[9410,9436],"9437":[9411,9437],"9438":[9412,9438],"9439":[9413,9439],"9440":[9414,9440],"9441":[9415,9441],"9442":[9416,9442],"9443":[9417,9443],"9444":[9418,9444],"9445":[9419,9445],"9446":[9420,9446],"9447":[9421,9447],"9448":[9422,9448],"9449":[9423,9449],"11264":[11264,11312],"11265":[11265,11313],"11266":[11266,11314],"11267":[11267,11315],"11268":[11268,11316],"11269":[11269,11317],"11270":[11270,11318],"11271":[11271,11319],"11272":[11272,11320],"11273":[11273,11321],"11274":[11274,11322],"11275":[11275,11323],"11276":[11276,11324],"11277":[11277,11325],"11278":[11278,11326],"11279":[11279,11327],"11280":[11280,11328],"11281":[11281,11329],"11282":[11282,11330],"11283":[11283,11331],"11284":[11284,11332],"11285":[11285,11333],"11286":[11286,11334],"11287":[11287,11335],"11288":[11288,11336],"11289":[11289,11337],"11290":[11290,11338],"11291":[11291,11339],"11292":[11292,11340],"11293":[11293,11341],"11294":[11294,11342],"11295":[11295,11343],"11296":[11296,11344],"11297":[11297,11345],"11298":[11298,11346],"11299":[11299,11347],"11300":[11300,11348],"11301":[11301,11349],"11302":[11302,11350],"11303":[11303,11351],"11304":[11304,11352],"11305":[11305,11353],"11306":[11306,11354],"11307":[11307,11355],"11308":[11308,11356],"11309":[11309,11357],"11310":[11310,11358],"11311":[11311,11359],"11312":[11264,11312],"11313":[11265,11313],"11314":[11266,11314],"11315":[11267,11315],"11316":[11268,11316],"11317":[11269,11317],"11318":[11270,11318],"11319":[11271,11319],"11320":[11272,11320],"11321":[11273,11321],"11322":[11274,11322],"11323":[11275,11323],"11324":[11276,11324],"11325":[11277,11325],"11326":[11278,11326],"11327":[11279,11327],"11328":[11280,11328],"11329":[11281,11329],"11330":[11282,11330],"11331":[11283,11331],"11332":[11284,11332],"11333":[11285,11333],"11334":[11286,11334],"11335":[11287,11335],"11336":[11288,11336],"11337":[11289,11337],"11338":[11290,11338],"11339":[11291,11339],"11340":[11292,11340],"11341":[11293,11341],"11342":[11294,11342],"11343":[11295,11343],"11344":[11296,11344],"11345":[11297,11345],"11346":[11298,11346],"11347":[11299,11347],"11348":[11300,11348],"11349":[11301,11349],"11350":[11302,11350],"11351":[11303,11351],"11352":[11304,11352],"11353":[11305,11353],"11354":[11306,11354],"11355":[11307,11355],"11356":[11308,11356],"11357":[11309,11357],"11358":[11310,11358],"11359":[11311,11359],"11360":[11360,11361],"11361":[11360,11361],"11362":[619,11362],"11363":[7549,11363],"11364":[637,11364],"11365":[570,11365],"11366":[574,11366],"11367":[11367,11368],"11368":[11367,11368],"11369":[11369,11370],"11370":[11369,11370],"11371":[11371,11372],"11372":[11371,11372],"11373":[593,11373],"11374":[625,11374],"11375":[592,11375],"11376":[594,11376],"11378":[11378,11379],"11379":[11378,11379],"11381":[11381,11382],"11382":[11381,11382],"11390":[575,11390],"11391":[576,11391],"11392":[11392,11393],"11393":[11392,11393],"11394":[11394,11395],"11395":[11394,11395],"11396":[11396,11397],"11397":[11396,11397],"11398":[11398,11399],"11399":[11398,11399],"11400":[11400,11401],"11401":[11400,11401],"11402":[11402,11403],"11403":[11402,11403],"11404":[11404,11405],"11405":[11404,11405],"11406":[11406,11407],"11407":[11406,11407],"11408":[11408,11409],"11409":[11408,11409],"11410":[11410,11411],"11411":[11410,11411],"11412":[11412,11413],"11413":[11412,11413],"11414":[11414,11415],"11415":[11414,11415],"11416":[11416,11417],"11417":[11416,11417],"11418":[11418,11419],"11419":[11418,11419],"11420":[11420,11421],"11421":[11420,11421],"11422":[11422,11423],"11423":[11422,11423],"11424":[11424,11425],"11425":[11424,11425],"11426":[11426,11427],"11427":[11426,11427],"11428":[11428,11429],"11429":[11428,11429],"11430":[11430,11431],"11431":[11430,11431],"11432":[11432,11433],"11433":[11432,11433],"11434":[11434,11435],"11435":[11434,11435],"11436":[11436,11437],"11437":[11436,11437],"11438":[11438,11439],"11439":[11438,11439],"11440":[11440,11441],"11441":[11440,11441],"11442":[11442,11443],"11443":[11442,11443],"11444":[11444,11445],"11445":[11444,11445],"11446":[11446,11447],"11447":[11446,11447],"11448":[11448,11449],"11449":[11448,11449],"11450":[11450,11451],"11451":[11450,11451],"11452":[11452,11453],"11453":[11452,11453],"11454":[11454,11455],"11455":[11454,11455],"11456":[11456,11457],"11457":[11456,11457],"11458":[11458,11459],"11459":[11458,11459],"11460":[11460,11461],"11461":[11460,11461],"11462":[11462,11463],"11463":[11462,11463],"11464":[11464,11465],"11465":[11464,11465],"11466":[11466,11467],"11467":[11466,11467],"11468":[11468,11469],"11469":[11468,11469],"11470":[11470,11471],"11471":[11470,11471],"11472":[11472,11473],"11473":[11472,11473],"11474":[11474,11475],"11475":[11474,11475],"11476":[11476,11477],"11477":[11476,11477],"11478":[11478,11479],"11479":[11478,11479],"11480":[11480,11481],"11481":[11480,11481],"11482":[11482,11483],"11483":[11482,11483],"11484":[11484,11485],"11485":[11484,11485],"11486":[11486,11487],"11487":[11486,11487],"11488":[11488,11489],"11489":[11488,11489],"11490":[11490,11491],"11491":[11490,11491],"11499":[11499,11500],"11500":[11499,11500],"11501":[11501,11502],"11502":[11501,11502],"11506":[11506,11507],"11507":[11506,11507],"11520":[4256,11520],"11521":[4257,11521],"11522":[4258,11522],"11523":[4259,11523],"11524":[4260,11524],"11525":[4261,11525],"11526":[4262,11526],"11527":[4263,11527],"11528":[4264,11528],"11529":[4265,11529],"11530":[4266,11530],"11531":[4267,11531],"11532":[4268,11532],"11533":[4269,11533],"11534":[4270,11534],"11535":[4271,11535],"11536":[4272,11536],"11537":[4273,11537],"11538":[4274,11538],"11539":[4275,11539],"11540":[4276,11540],"11541":[4277,11541],"11542":[4278,11542],"11543":[4279,11543],"11544":[4280,11544],"11545":[4281,11545],"11546":[4282,11546],"11547":[4283,11547],"11548":[4284,11548],"11549":[4285,11549],"11550":[4286,11550],"11551":[4287,11551],"11552":[4288,11552],"11553":[4289,11553],"11554":[4290,11554],"11555":[4291,11555],"11556":[4292,11556],"11557":[4293,11557],"11559":[4295,11559],"11565":[4301,11565],"42560":[42560,42561],"42561":[42560,42561],"42562":[42562,42563],"42563":[42562,42563],"42564":[42564,42565],"42565":[42564,42565],"42566":[42566,42567],"42567":[42566,42567],"42568":[42568,42569],"42569":[42568,42569],"42570":[7304,42570,42571],"42571":[7304,42570,42571],"42572":[42572,42573],"42573":[42572,42573],"42574":[42574,42575],"42575":[42574,42575],"42576":[42576,42577],"42577":[42576,42577],"42578":[42578,42579],"42579":[42578,42579],"42580":[42580,42581],"42581":[42580,42581],"42582":[42582,42583],"42583":[42582,42583],"42584":[42584,42585],"42585":[42584,42585],"42586":[42586,42587],"42587":[42586,42587],"42588":[42588,42589],"42589":[42588,42589],"42590":[42590,42591],"42591":[42590,42591],"42592":[42592,42593],"42593":[42592,42593],"42594":[42594,42595],"42595":[42594,42595],"42596":[42596,42597],"42597":[42596,42597],"42598":[42598,42599],"42599":[42598,42599],"42600":[42600,42601],"42601":[42600,42601],"42602":[42602,42603],"42603":[42602,42603],"42604":[42604,42605],"42605":[42604,42605],"42624":[42624,42625],"42625":[42624,42625],"42626":[42626,42627],"42627":[42626,42627],"42628":[42628,42629],"42629":[42628,42629],"42630":[42630,42631],"42631":[42630,42631],"42632":[42632,42633],"42633":[42632,42633],"42634":[42634,42635],"42635":[42634,42635],"42636":[42636,42637],"42637":[42636,42637],"42638":[42638,42639],"42639":[42638,42639],"42640":[42640,42641],"42641":[42640,42641],"42642":[42642,42643],"42643":[42642,42643],"42644":[42644,42645],"42645":[42644,42645],"42646":[42646,42647],"42647":[42646,42647],"42648":[42648,42649],"42649":[42648,42649],"42650":[42650,42651],"42651":[42650,42651],"42786":[42786,42787],"42787":[42786,42787],"42788":[42788,42789],"42789":[42788,42789],"42790":[42790,42791],"42791":[42790,42791],"42792":[42792,42793],"42793":[42792,42793],"42794":[42794,42795],"42795":[42794,42795],"42796":[42796,42797],"42797":[42796,42797],"42798":[42798,42799],"42799":[42798,42799],"42802":[42802,42803],"42803":[42802,42803],"42804":[42804,42805],"42805":[42804,42805],"42806":[42806,42807],"42807":[42806,42807],"42808":[42808,42809],"42809":[42808,42809],"42810":[42810,42811],"42811":[42810,42811],"42812":[42812,42813],"42813":[42812,42813],"42814":[42814,42815],"42815":[42814,42815],"42816":[42816,42817],"42817":[42816,42817],"42818":[42818,42819],"42819":[42818,42819],"42820":[42820,42821],"42821":[42820,42821],"42822":[42822,42823],"42823":[42822,42823],"42824":[42824,42825],"42825":[42824,42825],"42826":[42826,42827],"42827":[42826,42827],"42828":[42828,42829],"42829":[42828,42829],"42830":[42830,42831],"42831":[42830,42831],"42832":[42832,42833],"42833":[42832,42833],"42834":[42834,42835],"42835":[42834,42835],"42836":[42836,42837],"42837":[42836,42837],"42838":[42838,42839],"42839":[42838,42839],"42840":[42840,42841],"42841":[42840,42841],"42842":[42842,42843],"42843":[42842,42843],"42844":[42844,42845],"42845":[42844,42845],"42846":[42846,42847],"42847":[42846,42847],"42848":[42848,42849],"42849":[42848,42849],"42850":[42850,42851],"42851":[42850,42851],"42852":[42852,42853],"42853":[42852,42853],"42854":[42854,42855],"42855":[42854,42855],"42856":[42856,42857],"42857":[42856,42857],"42858":[42858,42859],"42859":[42858,42859],"42860":[42860,42861],"42861":[42860,42861],"42862":[42862,42863],"42863":[42862,42863],"42873":[42873,42874],"42874":[42873,42874],"42875":[42875,42876],"42876":[42875,42876],"42877":[7545,42877],"42878":[42878,42879],"42879":[42878,42879],"42880":[42880,42881],"42881":[42880,42881],"42882":[42882,42883],"42883":[42882,42883],"42884":[42884,42885],"42885":[42884,42885],"42886":[42886,42887],"42887":[42886,42887],"42891":[42891,42892],"42892":[42891,42892],"42893":[613,42893],"42896":[42896,42897],"42897":[42896,42897],"42898":[42898,42899],"42899":[42898,42899],"42900":[42900,42948],"42902":[42902,42903],"42903":[42902,42903],"42904":[42904,42905],"42905":[42904,42905],"42906":[42906,42907],"42907":[42906,42907],"42908":[42908,42909],"42909":[42908,42909],"42910":[42910,42911],"42911":[42910,42911],"42912":[42912,42913],"42913":[42912,42913],"42914":[42914,42915],"42915":[42914,42915],"42916":[42916,42917],"42917":[42916,42917],"42918":[42918,42919],"42919":[42918,42919],"42920":[42920,42921],"42921":[42920,42921],"42922":[614,42922],"42923":[604,42923],"42924":[609,42924],"42925":[620,42925],"42926":[618,42926],"42928":[670,42928],"42929":[647,42929],"42930":[669,42930],"42931":[42931,43859],"42932":[42932,42933],"42933":[42932,42933],"42934":[42934,42935],"42935":[42934,42935],"42936":[42936,42937],"42937":[42936,42937],"42938":[42938,42939],"42939":[42938,42939],"42940":[42940,42941],"42941":[42940,42941],"42942":[42942,42943],"42943":[42942,42943],"42944":[42944,42945],"42945":[42944,42945],"42946":[42946,42947],"42947":[42946,42947],"42948":[42900,42948],"42949":[642,42949],"42950":[7566,42950],"42951":[42951,42952],"42952":[42951,42952],"42953":[42953,42954],"42954":[42953,42954],"42960":[42960,42961],"42961":[42960,42961],"42966":[42966,42967],"42967":[42966,42967],"42968":[42968,42969],"42969":[42968,42969],"42997":[42997,42998],"42998":[42997,42998],"43859":[42931,43859],"43888":[5024,43888],"43889":[5025,43889],"43890":[5026,43890],"43891":[5027,43891],"43892":[5028,43892],"43893":[5029,43893],"43894":[5030,43894],"43895":[5031,43895],"43896":[5032,43896],"43897":[5033,43897],"43898":[5034,43898],"43899":[5035,43899],"43900":[5036,43900],"43901":[5037,43901],"43902":[5038,43902],"43903":[5039,43903],"43904":[5040,43904],"43905":[5041,43905],"43906":[5042,43906],"43907":[5043,43907],"43908":[5044,43908],"43909":[5045,43909],"43910":[5046,43910],"43911":[5047,43911],"43912":[5048,43912],"43913":[5049,43913],"43914":[5050,43914],"43915":[5051,43915],"43916":[5052,43916],"43917":[5053,43917],"43918":[5054,43918],"43919":[5055,43919],"43920":[5056,43920],"43921":[5057,43921],"43922":[5058,43922],"43923":[5059,43923],"43924":[5060,43924],"43925":[5061,43925],"43926":[5062,43926],"43927":[5063,43927],"43928":[5064,43928],"43929":[5065,43929],"43930":[5066,43930],"43931":[5067,43931],"43932":[5068,43932],"43933":[5069,43933],"43934":[5070,43934],"43935":[5071,43935],"43936":[5072,43936],"43937":[5073,43937],"43938":[5074,43938],"43939":[5075,43939],"43940":[5076,43940],"43941":[5077,43941],"43942":[5078,43942],"43943":[5079,43943],"43944":[5080,43944],"43945":[5081,43945],"43946":[5082,43946],"43947":[5083,43947],"43948":[5084,43948],"43949":[5085,43949],"43950":[5086,43950],"43951":[5087,43951],"43952":[5088,43952],"43953":[5089,43953],"43954":[5090,43954],"43955":[5091,43955],"43956":[5092,43956],"43957":[5093,43957],"43958":[5094,43958],"43959":[5095,43959],"43960":[5096,43960],"43961":[5097,43961],"43962":[5098,43962],"43963":[5099,43963],"43964":[5100,43964],"43965":[5101,43965],"43966":[5102,43966],"43967":[5103,43967],"65313":[65313,65345],"65314":[65314,65346],"65315":[65315,65347],"65316":[65316,65348],"65317":[65317,65349],"65318":[65318,65350],"65319":[65319,65351],"65320":[65320,65352],"65321":[65321,65353],"65322":[65322,65354],"65323":[65323,65355],"65324":[65324,65356],"65325":[65325,65357],"65326":[65326,65358],"65327":[65327,65359],"65328":[65328,65360],"65329":[65329,65361],"65330":[65330,65362],"65331":[65331,65363],"65332":[65332,65364],"65333":[65333,65365],"65334":[65334,65366],"65335":[65335,65367],"65336":[65336,65368],"65337":[65337,65369],"65338":[65338,65370],"65345":[65313,65345],"65346":[65314,65346],"65347":[65315,65347],"65348":[65316,65348],"65349":[65317,65349],"65350":[65318,65350],"65351":[65319,65351],"65352":[65320,65352],"65353":[65321,65353],"65354":[65322,65354],"65355":[65323,65355],"65356":[65324,65356],"65357":[65325,65357],"65358":[65326,65358],"65359":[65327,65359],"65360":[65328,65360],"65361":[65329,65361],"65362":[65330,65362],"65363":[65331,65363],"65364":[65332,65364],"65365":[65333,65365],"65366":[65334,65366],"65367":[65335,65367],"65368":[65336,65368],"65369":[65337,65369],"65370":[65338,65370]}'),Kg={toCharSet:e=>P.fromCharacter(65535,e)},Yg={canonicalize:e=>{var n,a;return(a=(n=R2[e])===null||n===void 0?void 0:n[0])!==null&&a!==void 0?a:e},toCharSet(e){let n=R2[e];return n===void 0?P.fromCharacter(65535,e):P.fromCharacters(65535,n)}},Xg={toCharSet:e=>P.fromCharacter(1114111,e)},Zg={canonicalize:e=>{var n,a;return(a=(n=Ka[e])===null||n===void 0?void 0:n[0])!==null&&a!==void 0?a:e},toCharSet(e){let n=Ka[e];return n===void 0?P.fromCharacter(1114111,e):P.fromCharacters(1114111,n)}};function V2(e,n){let a;return typeof e=="boolean"?a=e:(a=e.unicode||!!e.unicodeSets,n=e.ignoreCase),a?n?Zg:Xg:n?Yg:Kg}var I4=[{min:48,max:57}],P4=[{min:9,max:13},{min:32,max:32},{min:160,max:160},{min:5760,max:5760},{min:8192,max:8202},{min:8232,max:8233},{min:8239,max:8239},{min:8287,max:8287},{min:12288,max:12288},{min:65279,max:65279}],M9=[{min:48,max:57},{min:65,max:90},{min:95,max:95},{min:97,max:122}],O4=[{min:10,max:10},{min:13,max:13},{min:8232,max:8233}],J9=P.empty(65535).union(O4),R4=J9.negate(),F9=P.empty(1114111).union(O4),L4=F9.negate(),j9=P.empty(65535).union(P4),N4=j9.negate(),U9=P.empty(1114111).union(P4),M4=U9.negate(),D9=P.empty(65535).union(I4),J4=D9.negate(),G9=P.empty(1114111).union(I4),F4=G9.negate(),B9=P.empty(65535).union(M9),j4=B9.negate(),U4=P.empty(1114111).union(M9),ny=U4.negate(),D4=V9(P.empty(1114111).union(M9),Ka,p9),ey=D4.negate(),ay={maxCharacter:65535,all:P.all(65535),empty:P.empty(65535),lineTerminator:J9,nonLineTerminator:R4,space:j9,nonSpace:N4,digit:D9,nonDigit:J4,word:B9,nonWord:j4,ignoreCase:!1,unicode:!1},iy={maxCharacter:65535,all:P.all(65535),empty:P.empty(65535),lineTerminator:J9,nonLineTerminator:R4,space:j9,nonSpace:N4,digit:D9,nonDigit:J4,word:B9,nonWord:j4,ignoreCase:!0,caseFolding:R2,caseVarying:f9,withCaseVaryingCharacters:e=>V9(e,R2,f9),unicode:!1},my={maxCharacter:1114111,all:P.all(1114111),empty:P.empty(1114111),lineTerminator:F9,nonLineTerminator:L4,space:U9,nonSpace:M4,digit:G9,nonDigit:F4,word:U4,nonWord:ny,charCaseFolding:V2(!0,!1),ignoreCase:!1,unicode:!0},ty={maxCharacter:1114111,all:P.all(1114111),empty:P.empty(1114111),lineTerminator:F9,nonLineTerminator:L4,space:U9,nonSpace:M4,digit:G9,nonDigit:F4,word:D4,nonWord:ey,charCaseFolding:V2(!0,!0),ignoreCase:!0,caseFolding:Ka,caseVarying:p9,withCaseVaryingCharacters:e=>V9(e,Ka,p9),unicode:!0};function V9(e,n,a){if(e.isSupersetOf(a))return e;let i=e.intersect(a);if(i.isEmpty)return e;let m=new Set;for(let{min:r,max:s}of i.ranges)for(let o=r;o<=s;o++){let x=n[o];for(let c=0,l=x.length;c<l;c++)m.add(x[c])}let t=[...m];return t.sort(((r,s)=>r-s)),e.union(P.fromCharacters(e.maximum,t))}function Fn(e){return e.unicode||e.unicodeSets?e.ignoreCase?ty:my:e.ignoreCase?iy:ay}function G4(e,n){let a=Fn(n);switch(e.kind){case"end":case"start":{let i=n.multiline?a.nonLineTerminator:a.all;return Fa(!0,e.kind==="start"?"behind":"ahead",i)}case"word":return{type:"Alternation",alternatives:[{type:"Concatenation",elements:[Fa(!e.negate,"behind",a.word),Fa(!1,"ahead",a.word)]},{type:"Concatenation",elements:[Fa(e.negate,"behind",a.word),Fa(!0,"ahead",a.word)]}]};default:throw j(e,"Unknown assertion type")}}function Fa(e,n,a){return{type:"Assertion",negate:e,kind:n,alternatives:[{type:"Concatenation",elements:[{type:"CharacterClass",characters:a}]}]}}var ry={toCharSet(){throw new Error("Cannot convert char to char set with noop case folding.")}},In=class e{get isEmpty(){return this.words.length===0}get hasEmptyWord(){return this.words.length>0&&this.words[0].length===0}get hasSingleCharacter(){let n=this.hasEmptyWord?1:0;return this.words.length>n&&this.words[n].length===1}get wordSets(){var n;return(n=this._cachedWordSets)!==null&&n!==void 0?n:this._cachedWordSets=(function(a,i){return a.length===0?[]:a.map((m=>m.map((t=>i.toCharSet(t)))))})(this.words,this._caseFolding)}get trie(){var n;return(n=this._cachedTrie)!==null&&n!==void 0?n:this._cachedTrie=le.fromWords(this.words,this._caseFolding,(()=>this.wordSets))}constructor(n,a){this.words=n,this._caseFolding=a}static from(n,a){let i=[...n];if(i.length===0)return e.empty;if(a.canonicalize)for(let m=0;m<i.length;m++)i[m]=i[m].map(a.canonicalize);return Gt(i),new e(i,a)}static fromWord(n,a){return a.canonicalize&&(n=n.map(a.canonicalize)),new e([n],a)}isCompatibleWith(n){return this.isEmpty||n.isEmpty||this._caseFolding===n._caseFolding}equals(n){if(this===n)return!0;if(this.isEmpty||n.isEmpty)return this.isEmpty===n.isEmpty;if(this._caseFolding!==n._caseFolding)return this.trie.equals(n.trie);if(this.words.length!==n.words.length)return!1;let a=this.words,i=n.words;for(let m=0;m<a.length;m++)if(xe(a[m],i[m])!==0)return!1;return!0}union(...n){if(n.length===0)return this;if(n.length===1){let a=n[0];if(this.isEmpty)return a;if(a.isEmpty)return this;if(this._caseFolding!==a._caseFolding)throw new Error("Cannot intersect incompatible string sets.");let i=[...this.words,...a.words];return Gt(i),new e(i,this._caseFolding)}{let a=[...this.words];for(let m of n)a.push(...m.words);if(a.length===0)return e.empty;let i=this.isEmpty?void 0:this._caseFolding;for(let m of n)if(!m.isEmpty){if(i===void 0)i=m._caseFolding;else if(i!==m._caseFolding)throw new Error("Cannot union incompatible string sets.")}return Gt(a),new e(a,i)}}intersect(n){if(this.isEmpty||n.isEmpty)return e.empty;if(this._caseFolding!==n._caseFolding)throw new Error("Cannot intersect incompatible string sets.");let a=(function(i,m,t){let r=[],s=0,o=0;for(;s<i.length&&o<m.length;){let x=t(i[s],m[o]);x===0?(r.push(i[s]),s++,o++):x<0?s++:o++}return r})(this.words,n.words,xe);return a.length===this.words.length?this:a.length===n.words.length?n:a.length===0?e.empty:new e(a,this._caseFolding)}without(n){if(this.isEmpty||n.isEmpty)return this;if(this._caseFolding!==n._caseFolding)throw new Error("Cannot subtract incompatible string sets.");let a=(function(i,m,t){let r=[],s=0,o=0;for(;s<i.length&&o<m.length;){let x=t(i[s],m[o]);x===0?(s++,o++):x<0?(r.push(i[s]),s++):o++}return s<i.length&&r.push(...i.slice(s)),r})(this.words,n.words,xe);return a.length===this.words.length?this:a.length===0?e.empty:new e(a,this._caseFolding)}isSupersetOf(n){return!!n.isEmpty||!this.isEmpty&&(this._caseFolding!==n._caseFolding?this.trie.isSuperSetOf(n.trie):(function(a,i,m){let t=0,r=0;for(;t<a.length&&r<i.length;){let s=m(a[t],i[r]);if(s===0)t++,r++;else{if(!(s<0))return!1;t++}}return r===i.length})(this.words,n.words,xe))}isSubsetOf(n){return n.isSupersetOf(this)}isProperSupersetOf(n){return this.isSupersetOf(n)&&!this.equals(n)}isProperSubsetOf(n){return this.isSubsetOf(n)&&!this.equals(n)}isDisjointWith(n){return!(!this.isEmpty&&!n.isEmpty)||(this._caseFolding!==n._caseFolding?this.trie.isDisjointWith(n.trie):(function(a,i,m){let t=0,r=0;for(;t<a.length&&r<i.length;){let s=m(a[t],i[r]);if(s===0)return!1;s<0?t++:r++}return!0})(this.words,n.words,xe))}getSingleCharacters(){let n=[];for(let a of this.words)if(a.length===1)n.push(a[0]);else if(a.length>1)break;if(n.length!==0)return n.map((a=>this._caseFolding.toCharSet(a))).reduce(((a,i)=>a.union(i)))}withoutSingleCharacters(){if(!this.hasSingleCharacter)return this;let n=this.words.filter((a=>a.length!==1));return n.length===0?e.empty:new e(n,this._caseFolding)}withoutEmptyWord(){if(!this.hasEmptyWord)return this;let n=this.words.slice(1);return n.length===0?e.empty:new e(n,this._caseFolding)}getLengthRange(){if(!this.isEmpty)return{min:this.words[0].length,max:this.words[this.words.length-1].length}}};function Gt(e){e.length<=1||(e.sort(xe),gn(e,((n,a)=>!a||xe(n,a)!==0)))}function xe(e,n){if(e.length!==n.length)return e.length-n.length;for(let a=0;a<e.length;a++){let i=e[a]-n[a];if(i!==0)return i}return 0}In.empty=new In([],ry);var d9=class{constructor(){this.hash=0}add(n){this.hash=31*this.hash+n|0}},le=class e{constructor(n,a){this.accept=n,this.next=a;let i=new d9;i.add(n?1:0);for(let[m,t]of a)i.add(m.min),i.add(m.max),i.add(t.hash);this.hash=i.hash}static fromWords(n,a,i){if(n.length===0)return e.empty;let m;if(a.canonicalize){let t=i(),r=M0(t,(s=>s.maximum));if(r===void 0)return e.emptyString;m=he.fromWordSets(t,{maxCharacter:r})}else{let t=M0(n,(r=>a.toCharSet(r).maximum));if(t===void 0)return e.emptyString;m=he.fromWords(n,{maxCharacter:t})}return m.minimize(),e._fromDFA(m)}static _fromDFA(n){let a=new Map,i=[],m=t=>{{let s=a.get(t);if(s)return s}if(i.includes(t))throw new Error("DFA contains cycles.");let r;if(i.push(t),t.out.isEmpty&&n.finals.has(t))r=e.emptyString;else{let s=t.out.copy(m);r=new e(n.finals.has(t),s)}return i.pop(),a.set(t,r),r};return m(n.initial)}equals(n){if(this===n)return!0;if(this.hash!==n.hash||this.accept!==n.accept||this.next.entryCount!==n.next.entryCount||this.next.size!==n.next.size)return!1;let a=[...this.next.entries()],i=[...n.next.entries()];for(let m=0;m<a.length;m++){let t=a[m],r=i[m];if(t[0].min!==r[0].min||t[0].max!==r[0].max||!t[1].equals(r[1]))return!1}return!0}isSuperSetOf(n){if(this===n)return!0;if(n.accept&&!this.accept||n.next.size>this.next.size)return!1;for(let[a,i]of n.next.entries())for(let m=a.min;m<=a.max;m++){let t=this.next.get(m);if(!t||!t.isSuperSetOf(i))return!1}return!0}isDisjointWith(n){if(this===n||this.accept&&n.accept)return!1;if(this.next.isEmpty||n.next.isEmpty)return!0;for(let[a,i]of n.next.entries())for(let m=a.min;m<=a.max;m++){let t=this.next.get(m);if(t&&!i.isDisjointWith(t))return!1}return!0}};function M0(e,n){for(let a of e)for(let i of a)return n(i)}le.empty=new le(!1,new Ze),le.emptyString=new le(!0,new Ze);var J0=new Map,un=class e{get maximum(){return this.chars.maximum}get isEmpty(){return this.chars.isEmpty&&this.accept.isEmpty}get hasEmptyWord(){return this.accept.hasEmptyWord}get wordSets(){var n;return(n=this._cachedWordSets)!==null&&n!==void 0?n:this._cachedWordSets=(function(a){if(a.isEmpty)return[];if(a.accept.isEmpty&&!a.chars.isEmpty)return[[a.chars]];let i=Array.from(a.accept.wordSets);return a.chars.isEmpty||i.push([a.chars]),i.sort(((m,t)=>{if(m.length!==t.length)return t.length-m.length;for(let r=0;r<m.length;r++){let s=m[r].compare(t[r]);if(s!==0)return s}return 0})),i})(this)}constructor(n,a){this.chars=n,this.accept=a}static empty(n){let a=J0.get(n);return a===void 0&&(a=new e(P.empty(n),In.empty),J0.set(n,a)),a}static fromChars(n){return new e(n,In.empty)}static from(n,a){let i=a.getSingleCharacters();return i&&(n=n.union(i),a=a.withoutSingleCharacters()),new e(n,a)}equals(n){return n instanceof e?this.chars.equals(n.chars)&&this.accept.equals(n.accept):this.accept.isEmpty&&this.chars.equals(n)}isCompatibleWith(n){return this.chars.maximum===n.chars.maximum&&this.accept.isCompatibleWith(n.accept)}union(...n){if(n.length===0)return this;if(n.length===1){let a=n[0];return a instanceof e?new e(this.chars.union(a.chars),this.accept.union(a.accept)):new e(this.chars.union(a),this.accept)}return new e(this.chars.union(...n.map((a=>a instanceof e?a.chars:a))),this.accept.union(...n.map((a=>a instanceof e?a.accept:In.empty))))}intersect(n){return n instanceof e?new e(this.chars.intersect(n.chars),this.accept.intersect(n.accept)):new e(this.chars.intersect(n),In.empty)}without(n){return n instanceof e?new e(this.chars.without(n.chars),this.accept.without(n.accept)):new e(this.chars.without(n),this.accept)}isSupersetOf(n){return n instanceof e?this.chars.isSupersetOf(n.chars)&&this.accept.isSupersetOf(n.accept):this.chars.isSupersetOf(n)}isSubsetOf(n){return n instanceof e?this.chars.isSubsetOf(n.chars)&&this.accept.isSubsetOf(n.accept):this.accept.isEmpty&&this.chars.isSubsetOf(n)}isProperSupersetOf(n){return this.isSupersetOf(n)&&!this.equals(n)}isProperSubsetOf(n){return this.isSubsetOf(n)&&!this.equals(n)}isDisjointWith(n){return n instanceof e?this.chars.isDisjointWith(n.chars)&&this.accept.isDisjointWith(n.accept):this.chars.isDisjointWith(n)}getLengthRange(){if(this.chars.isEmpty)return this.accept.getLengthRange();{let n=this.accept.getLengthRange();return n===void 0?{min:1,max:1}:{min:Math.min(1,n.min),max:Math.max(1,n.max)}}}},sy=new Map,oy=new Map,xy=new Map;function cy(e,n,a,i,m){let t=i.ignoreCase?m?sy:oy:xy,r=e+"="+n,s=t.get(r);return s===void 0&&(s=(function(o,x,c,l){let u=g9(o,x);if(!u.accept.isEmpty)throw new Error(`The given property ${o} is a property of strings, which is invalid for 'getCharacterProperty'.`);let p=u.chars;if(c.ignoreCase){if(l){let f=c.withCaseVaryingCharacters(p);return{value:f,negated:f.negate()}}return{value:c.withCaseVaryingCharacters(p),negated:c.withCaseVaryingCharacters(p.negate())}}return{value:p,negated:p.negate()}})(e,n,i,m),t.set(r,s)),a?s.negated:s.value}var F0=new Map;function ly(e,n){if(!n.ignoreCase)return g9(e,null);let a=F0.get(e);return a===void 0&&(a=(function(i,m){let t=g9(i,null),r=m.withCaseVaryingCharacters(t.chars),s=In.from(t.accept.words,m.charCaseFolding);return un.from(r,s)})(e,n),F0.set(e,a)),a}var j0=new Map;function g9(e,n){let a=e+"="+n,i=j0.get(a);return i===void 0&&(i=(function(m,t){if(t===null){let o=(function(x){if(x in R0)return Al[R0[x]]})(m);if(o)return(function(x){let c=[],l=[];for(let p of x)p.length===1?c.push(p[0]):l.push(p);let u=P.fromCharacters(1114111,c);return un.from(u,In.from(l,V2(!0,!1)))})(o)}let r=(function(o,x){if(x==null){if(o in O0)return vl[O0[o]];if(o in Dt)return N0[Dt[o]];throw new Error(`Unknown lone Unicode property name or value ${o}.`)}{if(!(o in P0))throw new Error(`Unknown Unicode property name ${o}.`);let c=P0[o],l,u;if(c==="General_Category")l=Dt,u=N0;else if(c==="Script")l=L0,u=mf;else{if(c!=="Script_Extensions")throw j(c);l=L0,u=Hg}if(!(x in l))throw new Error(`Unknown Unicode property value ${x} for the name ${o}.`);return u[l[x]]}})(m,t),s=P.empty(1114111).union(r);return un.fromChars(s)})(e,n),j0.set(a,i)),i}function F1(e,n){let a=Fn(n),i=[],m=!1;function t(o){if(a.ignoreCase&&!m){let x=a.caseFolding[o];if(x){for(let c=0,l=x.length;c<l;c++){let u=x[c];i.push({min:u,max:u})}return}}i.push({min:o,max:o})}for(let o of e)if(typeof o=="number")t(o);else if("kind"in o){let x=uy(o,n,a);if(x.isAll)return x;i.push(...x.ranges)}else(r=o).min!==r.max?(!a.ignoreCase||m||a.caseVarying.isDisjointWith(r)||(m=!0),i.push(r)):t(r.min);var r;let s=a.empty.union(i);return a.ignoreCase&&m?a.withCaseVaryingCharacters(s):s}function uy(e,n,a){var i;switch(e.kind){case"any":return n.dotAll?a.all:a.nonLineTerminator;case"digit":return e.negate?a.nonDigit:a.digit;case"space":return e.negate?a.nonSpace:a.space;case"word":return e.negate?a.nonWord:a.word;case"property":{if(!a.unicode)throw new Error("Unicode property escapes cannot be used without the u flag.");let{key:m,value:t,negate:r}=e;return cy(m,t,r,a,(i=n.unicodeSets)!==null&&i!==void 0&&i)}default:throw j(e,"Invalid predefined character set type")}}function y9(e){let{unicode:n=!1,unicodeSets:a=!1}=e;return!n&&!a||n&&!a||!n&&a}var hy={min:0,max:65535},py={min:55296,max:57343},fy={min:55296,max:56319},B4={min:56320,max:57343},dy=P.empty(65535).union([B4]);function gy(e){if(e.isEmpty)return[];let n=[],a=[];function i(r,s){if(s.min===56320&&s.max===57343)return void a.push({min:r,max:r});let o=n[n.length-1];o?.high===r?o.low.push(s):n.push({high:r,low:[s]})}for(let{min:r,max:s}of e.ranges){let o=U0(r),x=U0(s),c=D0(r),l=D0(s);o===x?i(o,{min:c,max:l}):(i(o,{min:c,max:57343}),o+1<x&&a.push({min:o+1,max:x-1}),i(x,{min:56320,max:l}))}n.sort(((r,s)=>G0(r.low,s.low)));let m=[];for(let{high:r,low:s}of n){let o=m[m.length-1];o!==void 0&&G0(o.low,s)===0?o.high.push(r):m.push({high:[r],low:s})}let t=[];a.length>0&&t.push([P.empty(65535).union(a),dy]);for(let{high:r,low:s}of m)r.sort(((o,x)=>o-x)),t.push([P.fromCharacters(65535,r),P.empty(65535).union(s)]);return t.sort(((r,s)=>r[0].ranges[0].min-s[0].ranges[0].min)),t}function U0(e){return Math.floor((e-65536)/1024)+55296}function D0(e){return(e-65536)%1024+56320}function G0(e,n){if(e.length!==n.length)return e.length-n.length;for(let a=0,i=e.length;a<i;a++){let m=e[a].min-n[a].min;if(m!==0||(m=e[a].max-n[a].max,m!==0))return m}return 0}function yy(e){let n="";return e.hasIndices&&(n+="d"),e.global&&(n+="g"),e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.dotAll&&(n+="s"),e.unicode&&(n+="u"),e.unicodeSets&&(n+="v"),e.sticky&&(n+="y"),n}function Cy(e,n){return Array.isArray(e)?qe(e,n):L2(e,n)}function qe(e,n){if(e.length===0)return"[]";{let a="",i=!0;for(let m of e)i?i=!1:a+="|",a+=L2(m,n);return a}}function L2(e,n){switch(e.type){case"Alternation":{let a=(function(i,m){if(i.alternatives.length!==2)return!1;let t=i.alternatives[0],r=i.alternatives[1];if(t.elements.length!==2||r.elements.length!==2)return!1;let s=t.elements[0],o=t.elements[1],x=r.elements[0],c=r.elements[1];if(s.type!=="Assertion"||o.type!=="Assertion"||x.type!=="Assertion"||c.type!=="Assertion"||s.kind===o.kind||x.kind===c.kind)return!1;let l=We(s),u=We(o),p=We(x),f=We(c);if(!(l&&u&&p&&f))return!1;let d=m.word.resize(l.maximum);return l.equals(d)&&u.equals(d)&&p.equals(d)&&f.equals(d)?s.negate===o.negate&&x.negate===c.negate&&s.negate!==x.negate?"\\B":s.negate!==o.negate&&x.negate!==c.negate&&s.kind===x.kind!=(s.negate===x.negate)?"\\b":!1:!1})(e,n.env);return a!==!1?a:"(?:"+qe(e.alternatives,n)+")"}case"Assertion":{if((function(i,m,t){if(i.negate){let r=We(i);if(r)return r.maximum,t.maxCharacter,m.multiline&&t.nonLineTerminator.equals(r)||!m.multiline&&r.isAll}return!1})(e,n.flags,n.inputEnv))return e.kind==="behind"?"^":"$";if(e.negate){let i=We(e);if(i){let m=e.kind==="ahead"?"":"<";if(n.inputEnv.nonLineTerminator.equals(i))return`(?${m}!${n.printCharSet(n.env.nonLineTerminator)})`;if(i.isAll)return`(?${m}!${n.printCharSet(n.env.all)})`}}let a="(?";return e.kind==="behind"&&(a+="<"),a+=e.negate?"!":"=",a+=qe(e.alternatives,n),a+=")",a}case"CharacterClass":if(e.characters.maximum!==n.inputEnv.maxCharacter)throw new Error(`All characters were expected to have a maximum of ${n.inputEnv.maxCharacter}.`);if(e.characters.maximum!==1114111||n.flags.unicode||n.flags.unicodeSets)return n.printCharSet(e.characters);{n.converter;let a=n.converter.getUTF16Result(e.characters);if(a.astral.length===0&&a.high.isEmpty&&a.low.isEmpty)return n.printCharSet(a.bmp);let i="";a.bmp.isEmpty||(i+=n.printCharSet(a.bmp)+"|");for(let[m,t]of a.astral)i+=n.printCharSet(m)+n.printCharSet(t)+"|";return a.high.isEmpty||(i+=n.printCharSet(a.high)+"(?![\\udc00-\\udfff])|"),a.low.isEmpty||(i+="(?<![\\uda00-\\udbff])"+n.printCharSet(a.low)+"|"),`(?:${i.slice(0,-1)})`}case"Concatenation":{let a="";for(let i of e.elements)a+=L2(i,n);return a}case"Expression":return qe(e.alternatives,n);case"Quantifier":{let a;if(e.alternatives.length===1&&e.alternatives[0].elements.length===1){let i=e.alternatives[0].elements[0];a=i.type==="Alternation"||i.type==="CharacterClass"?L2(e.alternatives[0],n):"(?:"+qe(e.alternatives,n)+")"}else a="(?:"+qe(e.alternatives,n)+")";return e.min===0&&e.max===1/0?a+="*":e.min===1&&e.max===1/0?a+="+":e.min===0&&e.max===1?a+="?":e.max===1/0?a+=`{${e.min},}`:e.min===e.max?a+=`{${e.min}}`:a+=`{${e.min},${e.max}}`,e.lazy&&(a+="?"),a}case"Unknown":return"[]Unknown:"+e.id.replace(/[\\/|[\](){}+*?^$.]/g,(a=>"\\"+a)).replace(/[\0-\x1F]/g,(a=>"\\x"+a.charCodeAt(0).toString(16).padStart(2,"0")))+"[]";default:throw j(e)}}function We(e){if(e.alternatives.length===1){let n=e.alternatives[0];if(n.elements.length===1){let a=n.elements[0];if(a.type==="CharacterClass")return a.characters}}}var vy=P.empty(65535).union([{min:65,max:90},{min:97,max:122}]),B0=f9.without(vy);function V0(e,n,a){let i=Fn({unicode:n,ignoreCase:!0});i.ignoreCase;let m=!1;try{for(let t of e)o1(t,{onCharacterClassEnter(r){let s=a.getCaseVaryingPart(r.characters);if(!s.isDisjointWith(i.caseVarying)&&!s.isSupersetOf(i.caseVarying)&&(n||!((s.isDisjointWith(i.word)||s.isSupersetOf(i.word))&&s.isDisjointWith(B0)||s.isSupersetOf(B0)))&&(m=!0,!s.equals(i.withCaseVaryingCharacters(s))))throw 2}})}catch(t){if(t===2)return 2;throw t}return m?1:0}var Ke=class{getCaseVaryingPart(n){return n}},C9=class{constructor(){this._cache=new Map}getUTF16Result(n){let a=this._cache.get(n);return a===void 0&&(a=(function(i){if(i.maximum===65535)return{bmp:i,high:P.empty(65535),low:P.empty(65535),astral:[]};if(i.maximum!==1114111)throw new RangeError(`Expected Unicode maximum (1114111) but found ${i.maximum}`);let m=i.resize(65535);return{bmp:m.without(py),high:m.intersect(fy),low:m.intersect(B4),astral:gy(i.without(hy))}})(n),this._cache.set(n,a)),a}getCaseVaryingPart(n){return this.getUTF16Result(n).bmp}},V4=new Map([[10,"\\n"],[12,"\\f"],[9,"\\t"],[13,"\\r"]]);function N2(e){return e===0?"\\0":e<16?"\\x0"+e.toString(16):e<256?"\\x"+e.toString(16):e<4096?"\\u0"+e.toString(16):e<65536?"\\u"+e.toString(16):"\\u{"+e.toString(16)+"}"}var _y=new Set([..."\\]-^"].map((e=>e.charCodeAt(0))));function p2(e){if(_y.has(e))return"\\"+String.fromCharCode(e);let n=V4.get(e);return n!==void 0?n:e>=32&&e<127?String.fromCharCode(e):N2(e)}var $9=[{min:48,max:57},{min:65,max:90},{min:97,max:122}],Sy=Math.min(...$9.map((e=>e.min))),wy=Math.max(...$9.map((e=>e.max)));function $0(e){return Sy<=e.min&&e.max<=wy&&$9.some((({min:n,max:a})=>n<=e.min&&e.max<=a))?String.fromCharCode(e.min)+"-"+String.fromCharCode(e.max):N2(e.min)+"-"+N2(e.max)}function $4(e){if(e.min===e.max)return p2(e.min);if(e.min===e.max-1)return p2(e.min)+p2(e.max);if(e.max-e.min+1<=6){let n="";for(let a=e.min;a<=e.max;a++)n+=p2(a);return Da(n,$0(e))}return $0(e)}var Ey=new Set([..."()[]{}*+?|\\.^$/"].map((e=>e.charCodeAt(0))));function W0(e){if(Ey.has(e))return"\\"+String.fromCharCode(e);let n=V4.get(e);return n!==void 0?n:e>=32&&e<127?String.fromCharCode(e):N2(e)}function oe(e,n){let a=e.length;if(a!==n.length)return!1;for(let i=0;i<a;i++){let m=e[i],t=n[i];if(m.min!==t.min||m.max!==t.max)return!1}return!0}function W4(e){let n="";for(let a of e.ranges)n+=$4(a);return n}function Da(e,n){return e.length<=n.length?e:n}function Q0(e,n){let a=t=>{let r=W4(t);return n.ignoreCase&&(r=Da(r,(function(s,o){let x=o.empty,c="";for(let l of s.ranges)x.isSupersetOf(l)||(c+=$4(l),x=x.union(o.withCaseVaryingCharacters(P.fromRange(o.maxCharacter,l))));return c})(t,n))),r},i=t=>{let r=t,s="";return r.isSupersetOf(n.space)&&(s+="\\s",r=r.without(n.space)),r.isSupersetOf(n.word)&&(s+="\\w",r=r.without(n.word)),r.isSupersetOf(n.digit)&&(s+="\\d",r=r.without(n.digit)),t===r||r.ranges.length>2*t.ranges.length+2?a(t):Da(a(t),s+a(r))},m=t=>{if(t.has(45)&&!t.has(46)){let r=t.without({min:45,max:45});return Da(i(t),"-"+i(r))}return i(t)};return(t=>{if(t.ranges.length>1&&t.has(94)&&!t.has(93)){let r=t.without({min:94,max:94});return Da(m(t),m(r)+"^")}return m(t)})(e)}function by(e){return`[${W4(e)}]`}var Bt,Vt;function z0(e){return!(e<48)&&(e<58||!(e<65)&&(e<91||e===95||!(e<97)&&(e<123||Q4(e)||(function(n){return z4(n,Vt??(Vt=q4("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 1p 7 17 n 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1k 0 2 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 4 0 d 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 6 2 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 3 t 2 u 1 v 1 1t v a 0 3 9 y 2 2 a 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 f 1e 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1r g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 29 2 1z a 1e 3 3f 2 1i e w a 3 1 b 3 1a a 8 0 1a 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 3 0 4e b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 a 1 2 0 1d 6 4 4 e 9 44n 0 7 e aob 9 2f 9 13 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 3mq 19 3 m f3 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 2t 0 4h 6 a 9 9x 0 1q d dv d rb 6 32 6 6 9 3o7 9 gvt3 6n")))})(e))))}function Q4(e){return z4(e,Bt??(Bt=q4("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 6 n 2 5 i 15 1n 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 3 0 3 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 w 1 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 h e i f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 7 1j t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 6c 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t h3g 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1r 6 1 2 0 2 4 p f 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f d a 2 e 2 6 2 1 2 a 2 e 2 6 2 1 1w 8m a l b 7 p 5 2 15 2 8 1y 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 17 h 1b k s m d 1g 1m 1 3 0 e 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o k 1 1s 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 12 6 56 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 j 20 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i g 0 2 c 2 x 3h 0 28 pl 2v 32 i 5f 219 2o g tr i 5 33u g6 6nu fs 8 u i 26 i t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6w8 3 2 6 2 1 2 82 g 0 u 2 3 0 f 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1f9 u 7 5 7a 1p 43 18 b 6 h 0 8y t j 17 dh r l1 6 2 3 2 1 2 e 2 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyn x 37d 7 65 3 4g1 f 5rk 2e8 f1 15v 3t6 6 38f")))}function z4(e,n){let a=0,i=n.length/2|0,m=0,t=0,r=0;for(;a<i;)if(m=(a+i)/2|0,t=n[2*m],r=n[2*m+1],e<t)i=m;else{if(!(e>r))return!0;a=m+1}return!1}function q4(e){let n=0;return e.split(" ").map((a=>n+=0|parseInt(a,36)))}var Ya=class{constructor(n,a,i,m,t,r,s){this._raw2018=n,this._raw2019=a,this._raw2020=i,this._raw2021=m,this._raw2022=t,this._raw2023=r,this._raw2024=s}get es2018(){var n;return(n=this._set2018)!==null&&n!==void 0?n:this._set2018=new Set(this._raw2018.split(" "))}get es2019(){var n;return(n=this._set2019)!==null&&n!==void 0?n:this._set2019=new Set(this._raw2019.split(" "))}get es2020(){var n;return(n=this._set2020)!==null&&n!==void 0?n:this._set2020=new Set(this._raw2020.split(" "))}get es2021(){var n;return(n=this._set2021)!==null&&n!==void 0?n:this._set2021=new Set(this._raw2021.split(" "))}get es2022(){var n;return(n=this._set2022)!==null&&n!==void 0?n:this._set2022=new Set(this._raw2022.split(" "))}get es2023(){var n;return(n=this._set2023)!==null&&n!==void 0?n:this._set2023=new Set(this._raw2023.split(" "))}get es2024(){var n;return(n=this._set2024)!==null&&n!==void 0?n:this._set2024=new Set(this._raw2024.split(" "))}},ky=new Set(["General_Category","gc"]),Ty=new Set(["Script","Script_Extensions","sc","scx"]),Ay=new Ya("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct","","","","","",""),Qe=new Ya("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy","Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo","Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho","Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi","Cpmn Cypro_Minoan Old_Uyghur Ougr Tangsa Tnsa Toto Vith Vithkuqi","Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz",""),$t=new Ya("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space","Extended_Pictographic","","EBase EComp EMod EPres ExtPict","","","");function q0(e,n,a){return ky.has(n)?e>=2018&&Ay.es2018.has(a):!!Ty.has(n)&&(e>=2018&&Qe.es2018.has(a)||e>=2019&&Qe.es2019.has(a)||e>=2020&&Qe.es2020.has(a)||e>=2021&&Qe.es2021.has(a)||e>=2022&&Qe.es2022.has(a)||e>=2023&&Qe.es2023.has(a))}function H4(e){return e>=65&&e<=90||e>=97&&e<=122}function f2(e){return e>=48&&e<=57}function H0(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Wt(e){return e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:e-48}function Qt(e){return e>=55296&&e<=56319}function zt(e){return e>=56320&&e<=57343}function qt(e,n){return 1024*(e-55296)+(n-56320)+65536}var K0={at:(e,n,a)=>a<n?e.charCodeAt(a):-1,width:e=>1},Iy={at:(e,n,a)=>a<n?e.codePointAt(a):-1,width:e=>e>65535?2:1},v9=class{constructor(){this._impl=K0,this._s="",this._i=0,this._end=0,this._cp1=-1,this._w1=1,this._cp2=-1,this._w2=1,this._cp3=-1,this._w3=1,this._cp4=-1}get source(){return this._s}get index(){return this._i}get currentCodePoint(){return this._cp1}get nextCodePoint(){return this._cp2}get nextCodePoint2(){return this._cp3}get nextCodePoint3(){return this._cp4}reset(n,a,i,m){this._impl=m?Iy:K0,this._s=n,this._end=i,this.rewind(a)}rewind(n){let a=this._impl;this._i=n,this._cp1=a.at(this._s,this._end,n),this._w1=a.width(this._cp1),this._cp2=a.at(this._s,this._end,n+this._w1),this._w2=a.width(this._cp2),this._cp3=a.at(this._s,this._end,n+this._w1+this._w2),this._w3=a.width(this._cp3),this._cp4=a.at(this._s,this._end,n+this._w1+this._w2+this._w3)}advance(){if(this._cp1!==-1){let n=this._impl;this._i+=this._w1,this._cp1=this._cp2,this._w1=this._w2,this._cp2=this._cp3,this._w2=n.width(this._cp2),this._cp3=this._cp4,this._w3=n.width(this._cp3),this._cp4=n.at(this._s,this._end,this._i+this._w1+this._w2+this._w3)}}eat(n){return this._cp1===n&&(this.advance(),!0)}eat2(n,a){return this._cp1===n&&this._cp2===a&&(this.advance(),this.advance(),!0)}eat3(n,a,i){return this._cp1===n&&this._cp2===a&&this._cp3===i&&(this.advance(),this.advance(),this.advance(),!0)}},_9=class extends SyntaxError{constructor(n,a,i,m){let t="";if(n.kind==="literal"){let r=n.source.slice(n.start,n.end);r&&(t=`: ${r}`)}else n.kind==="pattern"&&(t=`: /${n.source.slice(n.start,n.end)}/${`${a.unicode?"u":""}${a.unicodeSets?"v":""}`}`);super(`Invalid regular expression${t}: ${m}`),this.index=i}},Py=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"]),Oy=new Set([94,36,92,46,42,43,63,40,41,91,93,123,125,124]),Ry=new Set([38,33,35,36,37,42,43,44,46,58,59,60,61,62,63,64,94,96,126]),Ly=new Set([40,41,91,93,123,125,47,45,92,124]),Ny=new Set([38,45,33,35,37,44,58,59,60,61,62,64,96,126]);function Y0(e){return Oy.has(e)}function X0(e){return Ry.has(e)}function My(e){return(function(n){return!(n<65)&&(n<91||!(n<97)&&(n<123||Q4(n)))})(e)||e===36||e===95}function Z0(e){return H4(e)||e===95}var S9=class{constructor(n){this._reader=new v9,this._unicodeMode=!1,this._unicodeSetsMode=!1,this._nFlag=!1,this._lastIntValue=0,this._lastRange={min:0,max:Number.POSITIVE_INFINITY},this._lastStrValue="",this._lastAssertionIsQuantifiable=!1,this._numCapturingParens=0,this._groupNames=new Set,this._backreferenceNames=new Set,this._srcCtx=null,this._options=n??{}}validateLiteral(n,a=0,i=n.length){if(this._srcCtx={source:n,start:a,end:i,kind:"literal"},this._unicodeSetsMode=this._unicodeMode=this._nFlag=!1,this.reset(n,a,i),this.onLiteralEnter(a),this.eat(47)&&this.eatRegExpBody()&&this.eat(47)){let m=this.index,t=n.includes("u",m),r=n.includes("v",m);this.validateFlagsInternal(n,m,i),this.validatePatternInternal(n,a+1,m-1,{unicode:t,unicodeSets:r})}else if(a>=i)this.raise("Empty");else{let m=String.fromCodePoint(this.currentCodePoint);this.raise(`Unexpected character '${m}'`)}this.onLiteralLeave(a,i)}validateFlags(n,a=0,i=n.length){this._srcCtx={source:n,start:a,end:i,kind:"flags"},this.validateFlagsInternal(n,a,i)}validatePattern(n,a=0,i=n.length,m){this._srcCtx={source:n,start:a,end:i,kind:"pattern"},this.validatePatternInternal(n,a,i,m)}validatePatternInternal(n,a=0,i=n.length,m){let t=this._parseFlagsOptionToMode(m,i);this._unicodeMode=t.unicodeMode,this._nFlag=t.nFlag,this._unicodeSetsMode=t.unicodeSetsMode,this.reset(n,a,i),this.consumePattern(),!this._nFlag&&this.ecmaVersion>=2018&&this._groupNames.size>0&&(this._nFlag=!0,this.rewind(a),this.consumePattern())}validateFlagsInternal(n,a,i){let m=new Set,t=!1,r=!1,s=!1,o=!1,x=!1,c=!1,l=!1,u=!1;for(let p=a;p<i;++p){let f=n.charCodeAt(p);m.has(f)&&this.raise(`Duplicated flag '${n[p]}'`,{index:a}),m.add(f),f===103?t=!0:f===105?r=!0:f===109?s=!0:f===117&&this.ecmaVersion>=2015?x=!0:f===121&&this.ecmaVersion>=2015?o=!0:f===115&&this.ecmaVersion>=2018?c=!0:f===100&&this.ecmaVersion>=2022?l=!0:f===118&&this.ecmaVersion>=2024?u=!0:this.raise(`Invalid flag '${n[p]}'`,{index:a})}this.onRegExpFlags(a,i,{global:t,ignoreCase:r,multiline:s,unicode:x,sticky:o,dotAll:c,hasIndices:l,unicodeSets:u})}_parseFlagsOptionToMode(n,a){let i=!1,m=!1;return n&&this.ecmaVersion>=2015&&(typeof n=="object"?(i=!!n.unicode,this.ecmaVersion>=2024&&(m=!!n.unicodeSets)):i=n),i&&m&&this.raise("Invalid regular expression flags",{index:a+1,unicode:i,unicodeSets:m}),{unicodeMode:i||m,nFlag:i&&this.ecmaVersion>=2018||m||!!(this._options.strict&&this.ecmaVersion>=2023),unicodeSetsMode:m}}get strict(){return!!this._options.strict||this._unicodeMode}get ecmaVersion(){var n;return(n=this._options.ecmaVersion)!==null&&n!==void 0?n:2024}onLiteralEnter(n){this._options.onLiteralEnter&&this._options.onLiteralEnter(n)}onLiteralLeave(n,a){this._options.onLiteralLeave&&this._options.onLiteralLeave(n,a)}onRegExpFlags(n,a,i){this._options.onRegExpFlags&&this._options.onRegExpFlags(n,a,i),this._options.onFlags&&this._options.onFlags(n,a,i.global,i.ignoreCase,i.multiline,i.unicode,i.sticky,i.dotAll,i.hasIndices)}onPatternEnter(n){this._options.onPatternEnter&&this._options.onPatternEnter(n)}onPatternLeave(n,a){this._options.onPatternLeave&&this._options.onPatternLeave(n,a)}onDisjunctionEnter(n){this._options.onDisjunctionEnter&&this._options.onDisjunctionEnter(n)}onDisjunctionLeave(n,a){this._options.onDisjunctionLeave&&this._options.onDisjunctionLeave(n,a)}onAlternativeEnter(n,a){this._options.onAlternativeEnter&&this._options.onAlternativeEnter(n,a)}onAlternativeLeave(n,a,i){this._options.onAlternativeLeave&&this._options.onAlternativeLeave(n,a,i)}onGroupEnter(n){this._options.onGroupEnter&&this._options.onGroupEnter(n)}onGroupLeave(n,a){this._options.onGroupLeave&&this._options.onGroupLeave(n,a)}onCapturingGroupEnter(n,a){this._options.onCapturingGroupEnter&&this._options.onCapturingGroupEnter(n,a)}onCapturingGroupLeave(n,a,i){this._options.onCapturingGroupLeave&&this._options.onCapturingGroupLeave(n,a,i)}onQuantifier(n,a,i,m,t){this._options.onQuantifier&&this._options.onQuantifier(n,a,i,m,t)}onLookaroundAssertionEnter(n,a,i){this._options.onLookaroundAssertionEnter&&this._options.onLookaroundAssertionEnter(n,a,i)}onLookaroundAssertionLeave(n,a,i,m){this._options.onLookaroundAssertionLeave&&this._options.onLookaroundAssertionLeave(n,a,i,m)}onEdgeAssertion(n,a,i){this._options.onEdgeAssertion&&this._options.onEdgeAssertion(n,a,i)}onWordBoundaryAssertion(n,a,i,m){this._options.onWordBoundaryAssertion&&this._options.onWordBoundaryAssertion(n,a,i,m)}onAnyCharacterSet(n,a,i){this._options.onAnyCharacterSet&&this._options.onAnyCharacterSet(n,a,i)}onEscapeCharacterSet(n,a,i,m){this._options.onEscapeCharacterSet&&this._options.onEscapeCharacterSet(n,a,i,m)}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){this._options.onUnicodePropertyCharacterSet&&this._options.onUnicodePropertyCharacterSet(n,a,i,m,t,r,s)}onCharacter(n,a,i){this._options.onCharacter&&this._options.onCharacter(n,a,i)}onBackreference(n,a,i){this._options.onBackreference&&this._options.onBackreference(n,a,i)}onCharacterClassEnter(n,a,i){this._options.onCharacterClassEnter&&this._options.onCharacterClassEnter(n,a,i)}onCharacterClassLeave(n,a,i){this._options.onCharacterClassLeave&&this._options.onCharacterClassLeave(n,a,i)}onCharacterClassRange(n,a,i,m){this._options.onCharacterClassRange&&this._options.onCharacterClassRange(n,a,i,m)}onClassIntersection(n,a){this._options.onClassIntersection&&this._options.onClassIntersection(n,a)}onClassSubtraction(n,a){this._options.onClassSubtraction&&this._options.onClassSubtraction(n,a)}onClassStringDisjunctionEnter(n){this._options.onClassStringDisjunctionEnter&&this._options.onClassStringDisjunctionEnter(n)}onClassStringDisjunctionLeave(n,a){this._options.onClassStringDisjunctionLeave&&this._options.onClassStringDisjunctionLeave(n,a)}onStringAlternativeEnter(n,a){this._options.onStringAlternativeEnter&&this._options.onStringAlternativeEnter(n,a)}onStringAlternativeLeave(n,a,i){this._options.onStringAlternativeLeave&&this._options.onStringAlternativeLeave(n,a,i)}get index(){return this._reader.index}get currentCodePoint(){return this._reader.currentCodePoint}get nextCodePoint(){return this._reader.nextCodePoint}get nextCodePoint2(){return this._reader.nextCodePoint2}get nextCodePoint3(){return this._reader.nextCodePoint3}reset(n,a,i){this._reader.reset(n,a,i,this._unicodeMode)}rewind(n){this._reader.rewind(n)}advance(){this._reader.advance()}eat(n){return this._reader.eat(n)}eat2(n,a){return this._reader.eat2(n,a)}eat3(n,a,i){return this._reader.eat3(n,a,i)}raise(n,a){var i,m,t;throw new _9(this._srcCtx,{unicode:(i=a?.unicode)!==null&&i!==void 0?i:this._unicodeMode&&!this._unicodeSetsMode,unicodeSets:(m=a?.unicodeSets)!==null&&m!==void 0?m:this._unicodeSetsMode},(t=a?.index)!==null&&t!==void 0?t:this.index,n)}eatRegExpBody(){let n=this.index,a=!1,i=!1;for(;;){let t=this.currentCodePoint;if(t===-1||(m=t)===10||m===13||m===8232||m===8233){let r=a?"character class":"regular expression";this.raise(`Unterminated ${r}`)}if(i)i=!1;else if(t===92)i=!0;else if(t===91)a=!0;else if(t===93)a=!1;else if(t===47&&!a||t===42&&this.index===n)break;this.advance()}var m;return this.index!==n}consumePattern(){let n=this.index;this._numCapturingParens=this.countCapturingParens(),this._groupNames.clear(),this._backreferenceNames.clear(),this.onPatternEnter(n),this.consumeDisjunction();let a=this.currentCodePoint;if(this.currentCodePoint!==-1){a===41&&this.raise("Unmatched ')'"),a===92&&this.raise("\\ at end of pattern"),a!==93&&a!==125||this.raise("Lone quantifier brackets");let i=String.fromCodePoint(a);this.raise(`Unexpected character '${i}'`)}for(let i of this._backreferenceNames)this._groupNames.has(i)||this.raise("Invalid named capture referenced");this.onPatternLeave(n,this.index)}countCapturingParens(){let n=this.index,a=!1,i=!1,m=0,t=0;for(;(t=this.currentCodePoint)!==-1;)i?i=!1:t===92?i=!0:t===91?a=!0:t===93?a=!1:t!==40||a||this.nextCodePoint===63&&(this.nextCodePoint2!==60||this.nextCodePoint3===61||this.nextCodePoint3===33)||(m+=1),this.advance();return this.rewind(n),m}consumeDisjunction(){let n=this.index,a=0;this.onDisjunctionEnter(n);do this.consumeAlternative(a++);while(this.eat(124));this.consumeQuantifier(!0)&&this.raise("Nothing to repeat"),this.eat(123)&&this.raise("Lone quantifier brackets"),this.onDisjunctionLeave(n,this.index)}consumeAlternative(n){let a=this.index;for(this.onAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeTerm(););this.onAlternativeLeave(a,this.index,n)}consumeTerm(){return this._unicodeMode||this.strict?this.consumeAssertion()||this.consumeAtom()&&this.consumeOptionalQuantifier():this.consumeAssertion()&&(!this._lastAssertionIsQuantifiable||this.consumeOptionalQuantifier())||this.consumeExtendedAtom()&&this.consumeOptionalQuantifier()}consumeOptionalQuantifier(){return this.consumeQuantifier(),!0}consumeAssertion(){let n=this.index;if(this._lastAssertionIsQuantifiable=!1,this.eat(94))return this.onEdgeAssertion(n,this.index,"start"),!0;if(this.eat(36))return this.onEdgeAssertion(n,this.index,"end"),!0;if(this.eat2(92,66))return this.onWordBoundaryAssertion(n,this.index,"word",!0),!0;if(this.eat2(92,98))return this.onWordBoundaryAssertion(n,this.index,"word",!1),!0;if(this.eat2(40,63)){let a=this.ecmaVersion>=2018&&this.eat(60),i=!1;if(this.eat(61)||(i=this.eat(33))){let m=a?"lookbehind":"lookahead";return this.onLookaroundAssertionEnter(n,m,i),this.consumeDisjunction(),this.eat(41)||this.raise("Unterminated group"),this._lastAssertionIsQuantifiable=!a&&!this.strict,this.onLookaroundAssertionLeave(n,this.index,m,i),!0}this.rewind(n)}return!1}consumeQuantifier(n=!1){let a=this.index,i=0,m=0,t=!1;if(this.eat(42))i=0,m=Number.POSITIVE_INFINITY;else if(this.eat(43))i=1,m=Number.POSITIVE_INFINITY;else if(this.eat(63))i=0,m=1;else{if(!this.eatBracedQuantifier(n))return!1;({min:i,max:m}=this._lastRange)}return t=!this.eat(63),n||this.onQuantifier(a,this.index,i,m,t),!0}eatBracedQuantifier(n){let a=this.index;if(this.eat(123)){if(this.eatDecimalDigits()){let i=this._lastIntValue,m=i;if(this.eat(44)&&(m=this.eatDecimalDigits()?this._lastIntValue:Number.POSITIVE_INFINITY),this.eat(125))return!n&&m<i&&this.raise("numbers out of order in {} quantifier"),this._lastRange={min:i,max:m},!0}n||!this._unicodeMode&&!this.strict||this.raise("Incomplete quantifier"),this.rewind(a)}return!1}consumeAtom(){return this.consumePatternCharacter()||this.consumeDot()||this.consumeReverseSolidusAtomEscape()||!!this.consumeCharacterClass()||this.consumeUncapturingGroup()||this.consumeCapturingGroup()}consumeDot(){return!!this.eat(46)&&(this.onAnyCharacterSet(this.index-1,this.index,"any"),!0)}consumeReverseSolidusAtomEscape(){let n=this.index;if(this.eat(92)){if(this.consumeAtomEscape())return!0;this.rewind(n)}return!1}consumeUncapturingGroup(){let n=this.index;return!!this.eat3(40,63,58)&&(this.onGroupEnter(n),this.consumeDisjunction(),this.eat(41)||this.raise("Unterminated group"),this.onGroupLeave(n,this.index),!0)}consumeCapturingGroup(){let n=this.index;if(this.eat(40)){let a=null;return this.ecmaVersion>=2018?this.consumeGroupSpecifier()&&(a=this._lastStrValue):this.currentCodePoint===63&&this.raise("Invalid group"),this.onCapturingGroupEnter(n,a),this.consumeDisjunction(),this.eat(41)||this.raise("Unterminated group"),this.onCapturingGroupLeave(n,this.index,a),!0}return!1}consumeExtendedAtom(){return this.consumeDot()||this.consumeReverseSolidusAtomEscape()||this.consumeReverseSolidusFollowedByC()||!!this.consumeCharacterClass()||this.consumeUncapturingGroup()||this.consumeCapturingGroup()||this.consumeInvalidBracedQuantifier()||this.consumeExtendedPatternCharacter()}consumeReverseSolidusFollowedByC(){let n=this.index;return this.currentCodePoint===92&&this.nextCodePoint===99&&(this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,92),!0)}consumeInvalidBracedQuantifier(){return this.eatBracedQuantifier(!0)&&this.raise("Nothing to repeat"),!1}consumePatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&!Y0(a)&&(this.advance(),this.onCharacter(n,this.index,a),!0)}consumeExtendedPatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&a!==94&&a!==36&&a!==92&&a!==46&&a!==42&&a!==43&&a!==63&&a!==40&&a!==41&&a!==91&&a!==124&&(this.advance(),this.onCharacter(n,this.index,a),!0)}consumeGroupSpecifier(){if(this.eat(63)){if(this.eatGroupName()){if(!this._groupNames.has(this._lastStrValue))return this._groupNames.add(this._lastStrValue),!0;this.raise("Duplicate capture group name")}this.raise("Invalid group")}return!1}consumeAtomEscape(){return!!(this.consumeBackreference()||this.consumeCharacterClassEscape()||this.consumeCharacterEscape()||this._nFlag&&this.consumeKGroupName())||((this.strict||this._unicodeMode)&&this.raise("Invalid escape"),!1)}consumeBackreference(){let n=this.index;if(this.eatDecimalEscape()){let a=this._lastIntValue;if(a<=this._numCapturingParens)return this.onBackreference(n-1,this.index,a),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeCharacterClassEscape(){var n;let a=this.index;if(this.eat(100))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!1),{};if(this.eat(68))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!0),{};if(this.eat(115))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!1),{};if(this.eat(83))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!0),{};if(this.eat(119))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!1),{};if(this.eat(87))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!0),{};let i=!1;if(this._unicodeMode&&this.ecmaVersion>=2018&&(this.eat(112)||(i=this.eat(80)))){this._lastIntValue=-1;let m=null;if(this.eat(123)&&(m=this.eatUnicodePropertyValueExpression())&&this.eat(125))return i&&m.strings&&this.raise("Invalid property name"),this.onUnicodePropertyCharacterSet(a-1,this.index,"property",m.key,m.value,i,(n=m.strings)!==null&&n!==void 0&&n),{mayContainStrings:m.strings};this.raise("Invalid property name")}return null}consumeCharacterEscape(){let n=this.index;return!!(this.eatControlEscape()||this.eatCControlLetter()||this.eatZero()||this.eatHexEscapeSequence()||this.eatRegExpUnicodeEscapeSequence()||!this.strict&&!this._unicodeMode&&this.eatLegacyOctalEscapeSequence()||this.eatIdentityEscape())&&(this.onCharacter(n-1,this.index,this._lastIntValue),!0)}consumeKGroupName(){let n=this.index;if(this.eat(107)){if(this.eatGroupName()){let a=this._lastStrValue;return this._backreferenceNames.add(a),this.onBackreference(n-1,this.index,a),!0}this.raise("Invalid named reference")}return!1}consumeCharacterClass(){let n=this.index;if(this.eat(91)){let a=this.eat(94);this.onCharacterClassEnter(n,a,this._unicodeSetsMode);let i=this.consumeClassContents();return this.eat(93)||(this.currentCodePoint===-1&&this.raise("Unterminated character class"),this.raise("Invalid character in character class")),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}return null}consumeClassContents(){if(this._unicodeSetsMode)return this.currentCodePoint===93?{}:this.consumeClassSetExpression();let n=this.strict||this._unicodeMode;for(;;){let a=this.index;if(!this.consumeClassAtom())break;let i=this._lastIntValue;if(!this.eat(45))continue;if(this.onCharacter(this.index-1,this.index,45),!this.consumeClassAtom())break;let m=this._lastIntValue;i!==-1&&m!==-1?(i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(a,this.index,i,m)):n&&this.raise("Invalid character class")}return{}}consumeClassAtom(){let n=this.index,a=this.currentCodePoint;if(a!==-1&&a!==92&&a!==93)return this.advance(),this._lastIntValue=a,this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(92)){if(this.consumeClassEscape())return!0;if(!this.strict&&this.currentCodePoint===99)return this._lastIntValue=92,this.onCharacter(n,this.index,this._lastIntValue),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeClassEscape(){let n=this.index;if(this.eat(98))return this._lastIntValue=8,this.onCharacter(n-1,this.index,this._lastIntValue),!0;if(this._unicodeMode&&this.eat(45))return this._lastIntValue=45,this.onCharacter(n-1,this.index,this._lastIntValue),!0;let a=0;return this.strict||this._unicodeMode||this.currentCodePoint!==99||!f2(a=this.nextCodePoint)&&a!==95?!!this.consumeCharacterClassEscape()||this.consumeCharacterEscape():(this.advance(),this.advance(),this._lastIntValue=a%32,this.onCharacter(n-1,this.index,this._lastIntValue),!0)}consumeClassSetExpression(){let n=this.index,a=!1,i=null;if(this.consumeClassSetCharacter()){if(this.consumeClassSetRangeFromOperator(n))return this.consumeClassUnionRight({}),{};a=!1}else if(i=this.consumeClassSetOperand())a=i.mayContainStrings;else{let m=this.currentCodePoint;m===92&&(this.advance(),this.raise("Invalid escape")),m===this.nextCodePoint&&X0(m)&&this.raise("Invalid set operation in character class"),this.raise("Invalid character in character class")}if(this.eat2(38,38)){for(;this.currentCodePoint!==38&&(i=this.consumeClassSetOperand());)if(this.onClassIntersection(n,this.index),i.mayContainStrings||(a=!1),!this.eat2(38,38))return{mayContainStrings:a};this.raise("Invalid character in character class")}if(this.eat2(45,45)){for(;this.consumeClassSetOperand();)if(this.onClassSubtraction(n,this.index),!this.eat2(45,45))return{mayContainStrings:a};this.raise("Invalid character in character class")}return this.consumeClassUnionRight({mayContainStrings:a})}consumeClassUnionRight(n){let a=n.mayContainStrings;for(;;){let i=this.index;if(this.consumeClassSetCharacter()){this.consumeClassSetRangeFromOperator(i);continue}let m=this.consumeClassSetOperand();if(!m)break;m.mayContainStrings&&(a=!0)}return{mayContainStrings:a}}consumeClassSetRangeFromOperator(n){let a=this.index,i=this._lastIntValue;if(this.eat(45)){if(this.consumeClassSetCharacter()){let m=this._lastIntValue;return i!==-1&&m!==-1||this.raise("Invalid character class"),i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(n,this.index,i,m),!0}this.rewind(a)}return!1}consumeClassSetOperand(){let n=null;return(n=this.consumeNestedClass())||(n=this.consumeClassStringDisjunction())?n:this.consumeClassSetCharacter()?{}:null}consumeNestedClass(){let n=this.index;if(this.eat(91)){let a=this.eat(94);this.onCharacterClassEnter(n,a,!0);let i=this.consumeClassContents();return this.eat(93)||this.raise("Unterminated character class"),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}if(this.eat(92)){let a=this.consumeCharacterClassEscape();if(a)return a;this.rewind(n)}return null}consumeClassStringDisjunction(){let n=this.index;if(this.eat3(92,113,123)){this.onClassStringDisjunctionEnter(n);let a=0,i=!1;do this.consumeClassString(a++).mayContainStrings&&(i=!0);while(this.eat(124));if(this.eat(125))return this.onClassStringDisjunctionLeave(n,this.index),{mayContainStrings:i};this.raise("Unterminated class string disjunction")}return null}consumeClassString(n){let a=this.index,i=0;for(this.onStringAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeClassSetCharacter();)i++;return this.onStringAlternativeLeave(a,this.index,n),{mayContainStrings:i!==1}}consumeClassSetCharacter(){let n=this.index,a=this.currentCodePoint;if(!(a===this.nextCodePoint&&X0(a)||a===-1||(function(i){return Ly.has(i)})(a)))return this._lastIntValue=a,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(92)){if(this.consumeCharacterEscape())return!0;if((function(i){return Ny.has(i)})(this.currentCodePoint))return this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(98))return this._lastIntValue=8,this.onCharacter(n,this.index,this._lastIntValue),!0;this.rewind(n)}return!1}eatGroupName(){if(this.eat(60)){if(this.eatRegExpIdentifierName()&&this.eat(62))return!0;this.raise("Invalid capture group name")}return!1}eatRegExpIdentifierName(){if(this.eatRegExpIdentifierStart()){for(this._lastStrValue=String.fromCodePoint(this._lastIntValue);this.eatRegExpIdentifierPart();)this._lastStrValue+=String.fromCodePoint(this._lastIntValue);return!0}return!1}eatRegExpIdentifierStart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===92&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&Qt(i)&&zt(this.currentCodePoint)&&(i=qt(i,this.currentCodePoint),this.advance()),My(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatRegExpIdentifierPart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===92&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&Qt(i)&&zt(this.currentCodePoint)&&(i=qt(i,this.currentCodePoint),this.advance()),(function(m){return z0(m)||m===36||m===8204||m===8205})(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatCControlLetter(){let n=this.index;if(this.eat(99)){if(this.eatControlLetter())return!0;this.rewind(n)}return!1}eatZero(){return this.currentCodePoint===48&&!f2(this.nextCodePoint)&&(this._lastIntValue=0,this.advance(),!0)}eatControlEscape(){return this.eat(102)?(this._lastIntValue=12,!0):this.eat(110)?(this._lastIntValue=10,!0):this.eat(114)?(this._lastIntValue=13,!0):this.eat(116)?(this._lastIntValue=9,!0):!!this.eat(118)&&(this._lastIntValue=11,!0)}eatControlLetter(){let n=this.currentCodePoint;return!!H4(n)&&(this.advance(),this._lastIntValue=n%32,!0)}eatRegExpUnicodeEscapeSequence(n=!1){let a=this.index,i=n||this._unicodeMode;if(this.eat(117)){if(i&&this.eatRegExpUnicodeSurrogatePairEscape()||this.eatFixedHexDigits(4)||i&&this.eatRegExpUnicodeCodePointEscape())return!0;(this.strict||i)&&this.raise("Invalid unicode escape"),this.rewind(a)}return!1}eatRegExpUnicodeSurrogatePairEscape(){let n=this.index;if(this.eatFixedHexDigits(4)){let a=this._lastIntValue;if(Qt(a)&&this.eat(92)&&this.eat(117)&&this.eatFixedHexDigits(4)){let i=this._lastIntValue;if(zt(i))return this._lastIntValue=qt(a,i),!0}this.rewind(n)}return!1}eatRegExpUnicodeCodePointEscape(){let n=this.index;return!!(this.eat(123)&&this.eatHexDigits()&&this.eat(125)&&(a=this._lastIntValue)>=0&&a<=1114111)||(this.rewind(n),!1);var a}eatIdentityEscape(){let n=this.currentCodePoint;return!!this.isValidIdentityEscape(n)&&(this._lastIntValue=n,this.advance(),!0)}isValidIdentityEscape(n){return n!==-1&&(this._unicodeMode?Y0(n)||n===47:this.strict?!z0(n):this._nFlag?!(n===99||n===107):n!==99)}eatDecimalEscape(){this._lastIntValue=0;let n=this.currentCodePoint;if(n>=49&&n<=57){do this._lastIntValue=10*this._lastIntValue+(n-48),this.advance();while((n=this.currentCodePoint)>=48&&n<=57);return!0}return!1}eatUnicodePropertyValueExpression(){let n=this.index;if(this.eatUnicodePropertyName()&&this.eat(61)){let m=this._lastStrValue;if(this.eatUnicodePropertyValue()){let t=this._lastStrValue;if(q0(this.ecmaVersion,m,t))return{key:m,value:t||null};this.raise("Invalid property name")}}if(this.rewind(n),this.eatLoneUnicodePropertyNameOrValue()){let m=this._lastStrValue;if(q0(this.ecmaVersion,"General_Category",m))return{key:"General_Category",value:m||null};if(a=this.ecmaVersion,i=m,a>=2018&&$t.es2018.has(i)||a>=2019&&$t.es2019.has(i)||a>=2021&&$t.es2021.has(i))return{key:m,value:null};if(this._unicodeSetsMode&&(function(t,r){return t>=2024&&Py.has(r)})(this.ecmaVersion,m))return{key:m,value:null,strings:!0};this.raise("Invalid property name")}var a,i;return null}eatUnicodePropertyName(){for(this._lastStrValue="";Z0(this.currentCodePoint);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();return this._lastStrValue!==""}eatUnicodePropertyValue(){for(this._lastStrValue="";Z0(n=this.currentCodePoint)||f2(n);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();var n;return this._lastStrValue!==""}eatLoneUnicodePropertyNameOrValue(){return this.eatUnicodePropertyValue()}eatHexEscapeSequence(){let n=this.index;if(this.eat(120)){if(this.eatFixedHexDigits(2))return!0;(this._unicodeMode||this.strict)&&this.raise("Invalid escape"),this.rewind(n)}return!1}eatDecimalDigits(){let n=this.index;for(this._lastIntValue=0;f2(this.currentCodePoint);)this._lastIntValue=10*this._lastIntValue+Wt(this.currentCodePoint),this.advance();return this.index!==n}eatHexDigits(){let n=this.index;for(this._lastIntValue=0;H0(this.currentCodePoint);)this._lastIntValue=16*this._lastIntValue+Wt(this.currentCodePoint),this.advance();return this.index!==n}eatLegacyOctalEscapeSequence(){if(this.eatOctalDigit()){let n=this._lastIntValue;if(this.eatOctalDigit()){let a=this._lastIntValue;n<=3&&this.eatOctalDigit()?this._lastIntValue=64*n+8*a+this._lastIntValue:this._lastIntValue=8*n+a}else this._lastIntValue=n;return!0}return!1}eatOctalDigit(){let n=this.currentCodePoint;return(a=n)>=48&&a<=55?(this.advance(),this._lastIntValue=n-48,!0):(this._lastIntValue=0,!1);var a}eatFixedHexDigits(n){let a=this.index;this._lastIntValue=0;for(let i=0;i<n;++i){let m=this.currentCodePoint;if(!H0(m))return this.rewind(a),!1;this._lastIntValue=16*this._lastIntValue+Wt(m),this.advance()}return!0}},Jy={},Fy={},jy={};function d2(e){return e.type==="Character"||e.type==="CharacterSet"||e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"||e.type==="ClassStringDisjunction"}var w9=class{constructor(n){var a;this._node=Jy,this._expressionBuffer=null,this._flags=Fy,this._backreferences=[],this._capturingGroups=[],this.source="",this.strict=!!n?.strict,this.ecmaVersion=(a=n?.ecmaVersion)!==null&&a!==void 0?a:2024}get pattern(){if(this._node.type!=="Pattern")throw new Error("UnknownError");return this._node}get flags(){if(this._flags.type!=="Flags")throw new Error("UnknownError");return this._flags}onRegExpFlags(n,a,{global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}){this._flags={type:"Flags",parent:null,start:n,end:a,raw:this.source.slice(n,a),global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}}onPatternEnter(n){this._node={type:"Pattern",parent:null,start:n,end:n,raw:"",alternatives:[]},this._backreferences.length=0,this._capturingGroups.length=0}onPatternLeave(n,a){this._node.end=a,this._node.raw=this.source.slice(n,a);for(let i of this._backreferences){let m=i.ref,t=typeof m=="number"?this._capturingGroups[m-1]:this._capturingGroups.find((r=>r.name===m));i.resolved=t,t.references.push(i)}}onAlternativeEnter(n){let a=this._node;if(a.type!=="Assertion"&&a.type!=="CapturingGroup"&&a.type!=="Group"&&a.type!=="Pattern")throw new Error("UnknownError");this._node={type:"Alternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onAlternativeLeave(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onGroupEnter(n){let a=this._node;if(a.type!=="Alternative")throw new Error("UnknownError");this._node={type:"Group",parent:a,start:n,end:n,raw:"",alternatives:[]},a.elements.push(this._node)}onGroupLeave(n,a){let i=this._node;if(i.type!=="Group"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onCapturingGroupEnter(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");this._node={type:"CapturingGroup",parent:i,start:n,end:n,raw:"",name:a,alternatives:[],references:[]},i.elements.push(this._node),this._capturingGroups.push(this._node)}onCapturingGroupLeave(n,a){let i=this._node;if(i.type!=="CapturingGroup"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onQuantifier(n,a,i,m,t){let r=this._node;if(r.type!=="Alternative")throw new Error("UnknownError");let s=r.elements.pop();if(s==null||s.type==="Quantifier"||s.type==="Assertion"&&s.kind!=="lookahead")throw new Error("UnknownError");let o={type:"Quantifier",parent:r,start:s.start,end:a,raw:this.source.slice(s.start,a),min:i,max:m,greedy:t,element:s};r.elements.push(o),s.parent=o}onLookaroundAssertionEnter(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t=this._node={type:"Assertion",parent:m,start:n,end:n,raw:"",kind:a,negate:i,alternatives:[]};m.elements.push(t)}onLookaroundAssertionLeave(n,a){let i=this._node;if(i.type!=="Assertion"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onEdgeAssertion(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"Assertion",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onWordBoundaryAssertion(n,a,i,m){let t=this._node;if(t.type!=="Alternative")throw new Error("UnknownError");t.elements.push({type:"Assertion",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onAnyCharacterSet(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"CharacterSet",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onEscapeCharacterSet(n,a,i,m){let t=this._node;if(t.type!=="Alternative"&&t.type!=="CharacterClass")throw new Error("UnknownError");t.elements.push({type:"CharacterSet",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){let o=this._node;if(o.type!=="Alternative"&&o.type!=="CharacterClass")throw new Error("UnknownError");let x={type:"CharacterSet",start:n,end:a,raw:this.source.slice(n,a),kind:i,key:m};if(s){if(o.type==="CharacterClass"&&!o.unicodeSets||r||t!==null)throw new Error("UnknownError");o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}else o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}onCharacter(n,a,i){let m=this._node;if(m.type!=="Alternative"&&m.type!=="CharacterClass"&&m.type!=="StringAlternative")throw new Error("UnknownError");m.elements.push({type:"Character",parent:m,start:n,end:a,raw:this.source.slice(n,a),value:i})}onBackreference(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t={type:"Backreference",parent:m,start:n,end:a,raw:this.source.slice(n,a),ref:i,resolved:jy};m.elements.push(t),this._backreferences.push(t)}onCharacterClassEnter(n,a,i){let m=this._node,t={type:"CharacterClass",parent:m,start:n,end:n,raw:"",unicodeSets:i,negate:a,elements:[]};if(m.type==="Alternative"){let r=Object.assign(Object.assign({},t),{parent:m});this._node=r,m.elements.push(r)}else{if(m.type!=="CharacterClass"||!m.unicodeSets||!i)throw new Error("UnknownError");{let r=Object.assign(Object.assign({},t),{parent:m,unicodeSets:i});this._node=r,m.elements.push(r)}}}onCharacterClassLeave(n,a){let i=this._node;if(i.type!=="CharacterClass"||i.parent.type!=="Alternative"&&i.parent.type!=="CharacterClass"||this._expressionBuffer&&i.elements.length>0)throw new Error("UnknownError");let m=i.parent;i.end=a,i.raw=this.source.slice(n,a),this._node=m;let t=this._expressionBuffer;if(this._expressionBuffer=null,!t)return;let r={type:"ExpressionCharacterClass",parent:m,start:i.start,end:i.end,raw:i.raw,negate:i.negate,expression:t};if(t.parent=r,i!==m.elements.pop())throw new Error("UnknownError");m.elements.push(r)}onCharacterClassRange(n,a){let i=this._node;if(i.type!=="CharacterClass")throw new Error("UnknownError");let m=i.elements,t=m.pop();if(!t||t.type!=="Character")throw new Error("UnknownError");if(!i.unicodeSets){let o=m.pop();if(!o||o.type!=="Character"||o.value!==45)throw new Error("UnknownError")}let r=m.pop();if(!r||r.type!=="Character")throw new Error("UnknownError");let s={type:"CharacterClassRange",parent:i,start:n,end:a,raw:this.source.slice(n,a),min:r,max:t};r.parent=s,t.parent=s,m.push(s)}onClassIntersection(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBuffer)!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassSubtraction"||r.type!=="ClassIntersection"&&!d2(r)||!d2(t))throw new Error("UnknownError");let s={type:"ClassIntersection",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBuffer=s}onClassSubtraction(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBuffer)!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassIntersection"||r.type!=="ClassSubtraction"&&!d2(r)||!d2(t))throw new Error("UnknownError");let s={type:"ClassSubtraction",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBuffer=s}onClassStringDisjunctionEnter(n){let a=this._node;if(a.type!=="CharacterClass"||!a.unicodeSets)throw new Error("UnknownError");this._node={type:"ClassStringDisjunction",parent:a,start:n,end:n,raw:"",alternatives:[]},a.elements.push(this._node)}onClassStringDisjunctionLeave(n,a){let i=this._node;if(i.type!=="ClassStringDisjunction"||i.parent.type!=="CharacterClass")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onStringAlternativeEnter(n){let a=this._node;if(a.type!=="ClassStringDisjunction")throw new Error("UnknownError");this._node={type:"StringAlternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onStringAlternativeLeave(n,a){let i=this._node;if(i.type!=="StringAlternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}},E9=class{constructor(n){this._state=new w9(n),this._validator=new S9(this._state)}parseLiteral(n,a=0,i=n.length){this._state.source=n,this._validator.validateLiteral(n,a,i);let m=this._state.pattern,t=this._state.flags,r={type:"RegExpLiteral",parent:null,start:a,end:i,raw:n,pattern:m,flags:t};return m.parent=r,t.parent=r,r}parseFlags(n,a=0,i=n.length){return this._state.source=n,this._validator.validateFlags(n,a,i),this._state.flags}parsePattern(n,a=0,i=n.length,m){return this._state.source=n,this._validator.validatePattern(n,a,i,m),this._state.pattern}},b9=class{constructor(n){this._handlers=n}visit(n){switch(n.type){case"Alternative":this.visitAlternative(n);break;case"Assertion":this.visitAssertion(n);break;case"Backreference":this.visitBackreference(n);break;case"CapturingGroup":this.visitCapturingGroup(n);break;case"Character":this.visitCharacter(n);break;case"CharacterClass":this.visitCharacterClass(n);break;case"CharacterClassRange":this.visitCharacterClassRange(n);break;case"CharacterSet":this.visitCharacterSet(n);break;case"ClassIntersection":this.visitClassIntersection(n);break;case"ClassStringDisjunction":this.visitClassStringDisjunction(n);break;case"ClassSubtraction":this.visitClassSubtraction(n);break;case"ExpressionCharacterClass":this.visitExpressionCharacterClass(n);break;case"Flags":this.visitFlags(n);break;case"Group":this.visitGroup(n);break;case"Pattern":this.visitPattern(n);break;case"Quantifier":this.visitQuantifier(n);break;case"RegExpLiteral":this.visitRegExpLiteral(n);break;case"StringAlternative":this.visitStringAlternative(n);break;default:throw new Error(`Unknown type: ${n.type}`)}}visitAlternative(n){this._handlers.onAlternativeEnter&&this._handlers.onAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onAlternativeLeave&&this._handlers.onAlternativeLeave(n)}visitAssertion(n){this._handlers.onAssertionEnter&&this._handlers.onAssertionEnter(n),n.kind!=="lookahead"&&n.kind!=="lookbehind"||n.alternatives.forEach(this.visit,this),this._handlers.onAssertionLeave&&this._handlers.onAssertionLeave(n)}visitBackreference(n){this._handlers.onBackreferenceEnter&&this._handlers.onBackreferenceEnter(n),this._handlers.onBackreferenceLeave&&this._handlers.onBackreferenceLeave(n)}visitCapturingGroup(n){this._handlers.onCapturingGroupEnter&&this._handlers.onCapturingGroupEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onCapturingGroupLeave&&this._handlers.onCapturingGroupLeave(n)}visitCharacter(n){this._handlers.onCharacterEnter&&this._handlers.onCharacterEnter(n),this._handlers.onCharacterLeave&&this._handlers.onCharacterLeave(n)}visitCharacterClass(n){this._handlers.onCharacterClassEnter&&this._handlers.onCharacterClassEnter(n),n.elements.forEach(this.visit,this),this._handlers.onCharacterClassLeave&&this._handlers.onCharacterClassLeave(n)}visitCharacterClassRange(n){this._handlers.onCharacterClassRangeEnter&&this._handlers.onCharacterClassRangeEnter(n),this.visitCharacter(n.min),this.visitCharacter(n.max),this._handlers.onCharacterClassRangeLeave&&this._handlers.onCharacterClassRangeLeave(n)}visitCharacterSet(n){this._handlers.onCharacterSetEnter&&this._handlers.onCharacterSetEnter(n),this._handlers.onCharacterSetLeave&&this._handlers.onCharacterSetLeave(n)}visitClassIntersection(n){this._handlers.onClassIntersectionEnter&&this._handlers.onClassIntersectionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassIntersectionLeave&&this._handlers.onClassIntersectionLeave(n)}visitClassStringDisjunction(n){this._handlers.onClassStringDisjunctionEnter&&this._handlers.onClassStringDisjunctionEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onClassStringDisjunctionLeave&&this._handlers.onClassStringDisjunctionLeave(n)}visitClassSubtraction(n){this._handlers.onClassSubtractionEnter&&this._handlers.onClassSubtractionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassSubtractionLeave&&this._handlers.onClassSubtractionLeave(n)}visitExpressionCharacterClass(n){this._handlers.onExpressionCharacterClassEnter&&this._handlers.onExpressionCharacterClassEnter(n),this.visit(n.expression),this._handlers.onExpressionCharacterClassLeave&&this._handlers.onExpressionCharacterClassLeave(n)}visitFlags(n){this._handlers.onFlagsEnter&&this._handlers.onFlagsEnter(n),this._handlers.onFlagsLeave&&this._handlers.onFlagsLeave(n)}visitGroup(n){this._handlers.onGroupEnter&&this._handlers.onGroupEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onGroupLeave&&this._handlers.onGroupLeave(n)}visitPattern(n){this._handlers.onPatternEnter&&this._handlers.onPatternEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onPatternLeave&&this._handlers.onPatternLeave(n)}visitQuantifier(n){this._handlers.onQuantifierEnter&&this._handlers.onQuantifierEnter(n),this.visit(n.element),this._handlers.onQuantifierLeave&&this._handlers.onQuantifierLeave(n)}visitRegExpLiteral(n){this._handlers.onRegExpLiteralEnter&&this._handlers.onRegExpLiteralEnter(n),this.visitPattern(n.pattern),this.visitFlags(n.flags),this._handlers.onRegExpLiteralLeave&&this._handlers.onRegExpLiteralLeave(n)}visitStringAlternative(n){this._handlers.onStringAlternativeEnter&&this._handlers.onStringAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onStringAlternativeLeave&&this._handlers.onStringAlternativeLeave(n)}};function An(e,n){if(n(e))return!0;switch(e.type){case"Alternative":case"StringAlternative":case"CharacterClass":return e.elements.some((a=>An(a,n)));case"Assertion":return(e.kind==="lookahead"||e.kind==="lookbehind")&&e.alternatives.some((a=>An(a,n)));case"CapturingGroup":case"Group":case"Pattern":case"ClassStringDisjunction":return e.alternatives.some((a=>An(a,n)));case"ExpressionCharacterClass":return An(e.expression,n);case"CharacterClassRange":return An(e.min,n)||An(e.max,n);case"ClassIntersection":case"ClassSubtraction":return An(e.left,n)||An(e.right,n);case"Quantifier":return An(e.element,n);case"RegExpLiteral":return An(e.pattern,n)||An(e.flags,n)}return!1}function Ht(e,n){let a=e.parent;for(;a;){if(n(a))return!0;a=a.parent}return!1}function Kt(e){let n=e.parent;for(;n;){if(n.type==="Assertion")return n.kind==="lookahead"?"ltr":"rtl";n=n.parent}return"ltr"}function K4(e,n){if(n.unicodeSets){if(e.type==="CharacterClass"&&!e.unicodeSets)throw new Error("Invalid flags. The AST contains elements exclusive to non-Unicode-sets mode even though the `v` flag is set.");return v1(e,n)}if(e.type==="ExpressionCharacterClass"||e.type==="ClassIntersection"||e.type==="ClassSubtraction"||e.type==="ClassStringDisjunction"||e.type==="StringAlternative"||e.type==="CharacterClass"&&e.unicodeSets||e.type==="CharacterSet"&&e.kind==="property"&&e.strings)throw new Error("Invalid flags. The AST contains elements exclusive to Unicode-sets mode even though the `v` flag is not set.");return un.fromChars(Y4(e,n))}function v1(e,n){switch(e.type){case"Character":return un.fromChars(X4(e.value,n));case"CharacterClassRange":return un.fromChars(F1([{min:e.min.value,max:e.max.value}],n));case"CharacterSet":if(e.kind==="property"&&e.strings){let a=Fn(n);return ly(e.key,a)}return un.fromChars(F1([e],n));case"CharacterClass":{let a=(function(i,m){let t=un.empty(1114111);if(i.length===0)return t;if(i.length===1)return v1(i[0],m);let r=[],s=[];for(let x of i)switch(x.type){case"Character":r.push(x.value);break;case"CharacterClassRange":r.push({min:x.min.value,max:x.max.value});break;case"CharacterSet":x.kind==="property"&&x.strings?s.push(v1(x,m)):r.push(x);break;default:s.push(v1(x,m))}let o=un.fromChars(F1(r,m));return s.length===0?o:(s.push(o),t.union(...s))})(e.elements,n);if(!e.negate)return a;if(!a.accept.isEmpty)throw new Error("The character class "+e.raw+" cannot be negated because it contains strings.");return un.fromChars(a.chars.negate())}case"ClassIntersection":{let a=v1(e.left,n),i=v1(e.right,n);return a.intersect(i)}case"ClassSubtraction":{let a=v1(e.left,n),i=v1(e.right,n);return a.without(i)}case"ExpressionCharacterClass":{let a=v1(e.expression,n);if(!e.negate)return a;if(!a.accept.isEmpty)throw new Error("The character class "+e.raw+" cannot be negated because it contains strings.");return un.fromChars(a.chars.negate())}case"ClassStringDisjunction":{let a=Fn(n),i=[],m=[];for(let r of e.alternatives)r.elements.length===1?m.push(r.elements[0].value):i.push(r.elements.map((s=>s.value)));let t=m.length===0?a.empty:F1(m,n);return a.ignoreCase&&(t=a.withCaseVaryingCharacters(t)),un.from(t,In.from(i,a.charCaseFolding))}case"StringAlternative":{let a=Fn(n),i=a.charCaseFolding;if(e.elements.length===1)return un.fromChars(i.toCharSet(e.elements[0].value));{let m=In.fromWord(e.elements.map((t=>t.value)),i);return un.from(a.empty,m)}}default:return j(e,"Unsupported element")}}function Y4(e,n){switch(e.type){case"Character":return X4(e.value,n);case"CharacterClassRange":return F1([{min:e.min.value,max:e.max.value}],n);case"CharacterSet":return F1([e],n);case"CharacterClass":{let a=F1(e.elements.map((i=>{switch(i.type){case"Character":return i.value;case"CharacterClassRange":return{min:i.min.value,max:i.max.value};case"CharacterSet":return i;default:throw j(i,"Unsupported element")}})),n);return e.negate?a.negate():a}default:return j(e)}}function X4(e,n){let a=Fn(n);if(a.ignoreCase){let i=a.caseFolding[e];if(i)return P.fromCharacters(a.maxCharacter,i)}return P.fromCharacter(a.maxCharacter,e)}var k9=class e{constructor(n){if(this._charCache=new Map,this._simpleCharCache=new Map,this._backRefCanReachGroupCache=new Map,this._backRefAlwaysAfterGroupCache=new Map,this._constantResolveCache=new Map,this._groupReferencesCache=new Map,this.literal={source:n.pattern.raw,flags:n.flags.raw},this.ast=n,this.maxCharacter=this.ast.flags.unicode?1114111:65535,!y9(n.flags))throw new Error("The flags in the given AST are not a valid set of flags.");this.flags=n.flags,this._charSetToCharFn=(function(a){if(a.ignoreCase){let i=Fn(a);if(!i.ignoreCase)throw new Error;let m=new Map;return function*(t){let r=new Set;for(let s of t.characters()){if(r.has(s))continue;let o=i.caseFolding[s];if(o){for(let c of o)r.add(c);let x=m.get(o);x===void 0&&(x=P.fromCharacters(i.maxCharacter,o),m.set(o,x)),yield x}else yield s}}}return i=>i.characters()})(this.flags)}static fromLiteral(n,a){let i=new E9(a),m;if(typeof n=="string")m=i.parseLiteral(n);else{let t=i.parseFlags(n.flags);m={pattern:i.parsePattern(n.source,void 0,void 0,t),flags:t}}return new e(m)}static fromAst(n){return new e(n)}parse(n){return this.parseElement(this.ast.pattern,n)}parseElement(n,a){var i,m,t,r,s,o;let x={maxBackreferenceWords:Math.round((i=a?.maxBackreferenceWords)!==null&&i!==void 0?i:100),backreferences:(m=a?.backreferences)!==null&&m!==void 0?m:"throw",assertions:(t=a?.assertions)!==null&&t!==void 0?t:"parse",disableSimplification:!((r=a?.simplify)===null||r===void 0||r),getUnknownId:(s=a?.getUnknownId)!==null&&s!==void 0?s:l=>l.raw,nc:new T9((o=a?.maxNodes)!==null&&o!==void 0?o:1e4),matchingDir:Kt(n),variableResolved:new Map},c=this._parseElement(n,x);return o4(c,null),{expression:c,maxCharacter:this.maxCharacter}}_parseElement(n,a){let i={type:"Expression",alternatives:[],source:M1(n)};switch(n.type){case"Alternative":this._addAlternatives([n],i,a);break;case"Pattern":this._addAlternatives(n.alternatives,i,a);break;default:{let m=this._createElement(n,a);if(m!==1)if(m===2)i.alternatives.push(a.nc.newConcat(n));else if(a.disableSimplification||m.type!=="Alternation"){let t=a.nc.newConcat(n);i.alternatives.push(t),t.elements.push(m)}else i.alternatives=m.alternatives;break}}return i}_addAlternatives(n,a,i){for(let m of n){let t=this._createConcatenation(m,i);t!==1&&(i.disableSimplification?a.alternatives.push(t):t.elements.length===1&&t.elements[0].type==="Alternation"?a.alternatives.push(...t.elements[0].alternatives):a.alternatives.push(t))}}_createConcatenation(n,a){let i=a.matchingDir==="ltr"?n.elements:[...n.elements].reverse(),m=this._createElements(i,a);if(m===1)return 1;a.matchingDir==="rtl"&&m.reverse();let t=a.nc.newConcat(n);return this._setConcatenationElements(t,m,a),t}_setConcatenationElements(n,a,i){if(i.disableSimplification)n.elements=a;else{n.elements.length>0&&(n.elements=[]);for(let m of a)m.type==="Alternation"&&m.alternatives.length===1?n.elements.push(...m.alternatives[0].elements):n.elements.push(m)}}_createElements(n,a){let i=[],m;for(let t=0;t<n.length;t++){let r=n[t],s;try{s=this._createElement(r,a)}catch(o){if(a.disableSimplification)throw o;m!=null||(m={error:o});continue}if(s===1)return 1;if(s!==2){let o=!1;if(r.type==="CapturingGroup"&&a.maxBackreferenceWords>0)try{let x=this._variableResolveGroup(r,s,n.slice(t+1),a);o=!0,i.push(x.resolved),t+=x.skip}catch{}o||i.push(s)}}if(m!==void 0)throw m.error;return i}_variableResolveGroup(n,a,i,m){if(this._getResolvableGroupReferencesUnder(n,n.parent).length===0)throw new Error("No backreferences that resolve this capturing group");let t=e4(n4(a,this._charSetToCharFn),m.maxBackreferenceWords);if(t.length===0)throw new Error("Cannot resolve dead capturing group");let r=[...i];this._trimAffectedSlice(n,r);let s=[];for(let x of t){let c=this._createElements(r,Uy(m,n,x));if(c===1)continue;let l=[],u=this._wordToElement(n,x,m);u!==2&&l.push(u),l.push(...c),m.matchingDir==="rtl"&&l.reverse();let p=m.nc.newConcat(n);this._setConcatenationElements(p,l,m),s.push(p)}let o=m.nc.newAlt(n);return o.alternatives=s,{resolved:o,skip:r.length}}_trimAffectedSlice(n,a){let i=this._affectedSliceLength(n,a);a.length>i&&a.splice(i,a.length-i)}_affectedSliceLength(n,a){let i=(function(t){for(let r=a.length-1;r>=0;r--)if(t.has(a[r]))return r;throw-1})(new Set(this._getResolvableGroupReferencesUnder(n,n.parent).map((function(t){let r=t;for(;r;){if(r.parent===n.parent)return r;r=r.parent}throw new Error})))),m=[i];for(let t=0;t<=i;t++){let r=a[t];r.type==="CapturingGroup"&&m.push(t+1+this._affectedSliceLength(r,a.slice(t+1)))}return Math.max(...m)+1}_createElement(n,a){switch(n.type){case"Assertion":return this._createAssertion(n,a);case"CapturingGroup":case"Group":return this._createGroup(n,a);case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return this._createCharacterClass(n,a);case"Quantifier":return this._createQuantifier(n,a);case"Backreference":return this._createBackreference(n,a);default:throw j(n,"Unsupported element")}}_createAssertion(n,a){switch(a.assertions){case"throw":throw new Error("Assertions are not supported.");case"disable":return this._createDisabledElement(n,a);case"ignore":if(a.disableSimplification){let i=a.nc.newAlt(n);return i.alternatives.push(a.nc.newConcat(n)),i}return 2;case"unknown":return this._createUnknownElement(n,a);case"parse":return this._parseAssertion(n,a);default:j(a.assertions)}}_parseAssertion(n,a){switch(n.kind){case"lookahead":case"lookbehind":{let i=a.nc.newAssertion(n,n.kind==="lookahead"?"ahead":"behind",n.negate),m=n.kind==="lookahead"?"ltr":"rtl";if(this._addAlternatives(n.alternatives,i,m===a.matchingDir?a:Object.assign(Object.assign({},a),{matchingDir:m})),!a.disableSimplification){let t=2;if(i.alternatives.length===0?t=i.negate?1:0:s1(i.alternatives)&&(t=i.negate?0:1),t===1)return 2;if(t===0)return 1}return i}case"end":case"start":case"word":{let i=G4(n,this.flags);return x4(i,M1(n)),i}default:throw j(n,"Unsupported element")}}_createCharacterClass(n,a){let i;i=n.type==="Character"?n.value.toString(16):n.raw;let m=this._charCache.get(i);if(m===void 0&&(m=K4(n,this.flags),this._charCache.set(i,m)),m.accept.isEmpty)return m.chars.isEmpty&&!a.disableSimplification?1:a.nc.newCharClass(n,m.chars);let t=a.nc.newAlt(n);for(let r of m.wordSets){let s=a.nc.newConcat(n);t.alternatives.push(s);for(let o of r)s.elements.push(a.nc.newCharClass(n,o))}return t}_createGroup(n,a){let i=a.nc.newAlt(n);if(this._addAlternatives(n.alternatives,i,a),!a.disableSimplification){if(i.alternatives.length===0)return 1;if(i.alternatives.length===1&&i.alternatives[0].elements.length===0)return 2}return i}_createQuantifier(n,a){let i=n.min,m=n.max;if(!a.disableSimplification){if(m===0)return 2;if(i===1&&m===1)return this._createElement(n.element,a)}let t=a.nc.newQuant(n,i,m,!n.greedy),r=n.element;if(r.type==="CapturingGroup"||r.type==="Group")this._addAlternatives(r.alternatives,t,a);else{let s=this._createElement(r,a);if(s!==1){let o=a.nc.newConcat(r);t.alternatives.push(o),s!==2&&o.elements.push(s)}}if(!a.disableSimplification){if(t.alternatives.length===0)return i===0?2:1;if(t.alternatives.length===1&&t.alternatives[0].elements.length===0)return 2}return t}_createUnknownElement(n,a){return a.nc.newUnknown(n,a.getUnknownId(n))}_createDisabledElement(n,a){return a.disableSimplification?a.nc.newAlt(n):1}_createBackreference(n,a){var i;if(a.maxBackreferenceWords>0){if(!this._backRefCanReachGroup(n))return 2;let m=n.resolved,t=(i=a.variableResolved.get(m))!==null&&i!==void 0?i:this._constantResolveGroup(m,a);if(t!==null){if(t.length===0)return 2;if(this._backRefAlwaysAfterGroup(n))return this._wordToElement(n,t,a)}}switch(a.backreferences){case"throw":throw new Error("Backreferences are not supported.");case"unknown":return this._createUnknownElement(n,a);case"disable":return this._createDisabledElement(n,a);default:j(a.backreferences)}}_constantResolveGroup(n,a){let i=this._constantResolveCache.get(n);if(i!==void 0)return i;let m=this._parseElement(n,Object.assign(Object.assign({},a),{backreferences:"unknown",disableSimplification:!1})),t;Z4(m),ns(m);try{t=e4(n4(m,this._charSetToCharFn),1)}catch{}let r=null;if(t)if(t.length===0)r=[];else{if(t.length!==1)throw new Error("More than one words were returned.");r=t[0]}return this._constantResolveCache.set(n,r),r}_backRefCanReachGroup(n){let a=this._backRefCanReachGroupCache.get(n);return a===void 0&&(a=(function(i){let m=i.resolved;return!Ht(i,(t=>t===m))&&(function t(r){let s=r.parent;switch(s.type){case"Alternative":{let o=s.elements.indexOf(r),x;if(x=Kt(r)==="ltr"?s.elements.slice(o+1):s.elements.slice(0,o),x.some((l=>An(l,(u=>u===i)))))return!0;let c=s.parent;return c.type!=="Pattern"&&t(c)}case"Quantifier":return t(s);default:throw new Error("What happened?")}})(m)})(n),this._backRefCanReachGroupCache.set(n,a)),a}_backRefAlwaysAfterGroup(n){let a=this._backRefAlwaysAfterGroupCache.get(n);return a===void 0&&(a=(function(i){let m=i.resolved;return!Ht(i,(t=>t===m))&&(function t(r){let s=r.parent;switch(s.type){case"Alternative":{let o=s.elements.indexOf(r),x;if(x=Kt(r)==="ltr"?s.elements.slice(o+1):s.elements.slice(0,o),x.some((l=>An(l,(u=>u===i)))))return!0;let c=s.parent;return c.type!=="Pattern"&&!(c.alternatives.length>1)&&t(c)}case"Quantifier":return s.min!==0&&t(s);default:throw new Error("What happened?")}})(m)})(n),this._backRefAlwaysAfterGroupCache.set(n,a)),a}_wordToElement(n,a,i){if(a.length===0)return 2;if(a.length===1){let m=a[0],t=m instanceof P?m:this._charToCharSet(m);return i.nc.newCharClass(n,t)}{let m=i.nc.newConcat(n);for(let r of a){let s=r instanceof P?r:this._charToCharSet(r);m.elements.push(i.nc.newCharClass(n,s))}let t=i.nc.newAlt(n);return t.alternatives.push(m),t}}_charToCharSet(n){let a=this._simpleCharCache.get(n);return a===void 0&&(a=P.fromCharacter(this.maxCharacter,n),this._simpleCharCache.set(n,a)),a}_getGroupReferences(n){if(this._groupReferencesCache.size===0){let m=t=>{let r=this._groupReferencesCache.get(t);return r===void 0&&(r=[],this._groupReferencesCache.set(t,r)),r};a=this.ast.pattern,new b9({onBackreferenceEnter(t){m(t.resolved).push(t)},onCapturingGroupEnter(t){m(t)}}).visit(a)}var a;let i=this._groupReferencesCache.get(n);if(!i)throw new Error("Unknown capturing group. The capturing group is not part of the AST of this parser.");return i}_getResolvableGroupReferences(n){return this._getGroupReferences(n).filter((a=>this._backRefCanReachGroup(a)&&this._backRefAlwaysAfterGroup(a)))}_getResolvableGroupReferencesUnder(n,a){return this._getResolvableGroupReferences(n).filter((i=>Ht(i,(m=>m===a))))}},T9=class{constructor(n){this._nodeCounter=0,this._nodeLimit=n}_checkLimit(){S1.assert(++this._nodeCounter,this._nodeLimit,"JS.Parser")}newAlt(n){return this._checkLimit(),{type:"Alternation",alternatives:[],source:M1(n)}}newAssertion(n,a,i){return this._checkLimit(),{type:"Assertion",alternatives:[],kind:a,negate:i,source:M1(n)}}newCharClass(n,a){return this._checkLimit(),{type:"CharacterClass",characters:a,source:M1(n)}}newConcat(n){return this._checkLimit(),{type:"Concatenation",elements:[],source:M1(n)}}newQuant(n,a,i,m){return this._checkLimit(),{type:"Quantifier",alternatives:[],lazy:m,min:a,max:i,source:M1(n)}}newUnknown(n,a){return this._checkLimit(),{type:"Unknown",id:a,source:M1(n)}}};function Uy(e,n,a){let i=new Map(e.variableResolved);return i.set(n,a),Object.assign(Object.assign({},e),{variableResolved:i})}function M1(e){return{start:e.start,end:e.end}}function Z4(e){for(let n of e.alternatives)for(;n.elements.length>0;){let a=n.elements[0];if(a.type!=="Assertion"||a.kind!=="behind"){if(a.type!=="Alternation"&&a.type!=="Quantifier"||(Z4(a),a.alternatives.length!==1||a.alternatives[0].elements.length!==0))break;n.elements.splice(0,1)}else n.elements.splice(0,1)}es(e)}function ns(e){for(let n of e.alternatives)for(;n.elements.length>0;){let a=n.elements[n.elements.length-1];if(a.type!=="Assertion"||a.kind!=="ahead"){if(a.type!=="Alternation"&&a.type!=="Quantifier"||(ns(a),a.alternatives.length!==1||a.alternatives[0].elements.length!==0))break;n.elements.pop()}else n.elements.pop()}es(e)}function es(e){let n=!1;e.alternatives=e.alternatives.filter((a=>a.elements.length!==0||!n&&(n=!0,!0)))}function n4(e,n){return(function*(a,i){for(let m of a)yield*t4(m.map(i))})(_2(e),n)}function _2(e){switch(e.type){case"Alternation":case"Expression":return G8(e.alternatives.map(_2));case"Assertion":case"Unknown":throw new Error;case"CharacterClass":return e.characters.isEmpty?[]:[[e.characters]];case"Concatenation":return B8(e.elements.map(_2));case"Quantifier":{if(e.max===1/0)throw new Error;let n;return n=e.lazy?(function*(){for(let a=e.min;a<=e.max;a++)yield a})():(function*(){for(let a=e.max;a>=e.min;a--)yield a})(),(function*(a,i,m){i=r4(i);for(let t of a){let r=[];for(let s=0;s<t;s++)r.push(i);yield*m(r)}})(n,G8(e.alternatives.map(_2)),B8)}default:j(e)}}function e4(e,n){let a=[];for(let i of e)if(a.push(i),a.length>n)throw new Error("Too many items.");return a}var Dy=Object.freeze({__proto__:null,createAssertion:G4,createCharSet:F1,toLiteral:function(e,n){var a;let i=(a=n?.fastCharacters)!==null&&a!==void 0&&a,m;m=Array.isArray(e)?e:[e];let t=(function(c,l,u){var p,f,d,g,h,y;let C=(p=l?.flags)!==null&&p!==void 0?p:{},{unicode:v,unicodeSets:S,converter:w,inputUnicode:E}=(function(Mn,kn){var Fe,je,Ue;let Jn=(function($i){try{for(let L1 of $i)o1(L1,{onCharacterClassEnter(Ia){throw Ia.characters.maximum===1114111||Ia.characters.maximum!==65535&&new Error("All character sets have to have a maximum of either 0xFFFF or 0x10FFFF.")}})}catch(L1){if(typeof L1=="boolean")return L1;throw L1}})(Mn);if(Jn===void 0)return{unicode:(Fe=kn.unicode)!==null&&Fe!==void 0&&Fe,unicodeSets:(je=kn.unicodeSets)!==null&&je!==void 0&&je,converter:new Ke,inputUnicode:Jn};if(kn.unicodeSets){if(!Jn)throw new Error("Incompatible flags: The v flag is required by the flags options but a UTF16 regex cannot be converted to a Unicode regex.");return{unicode:!1,unicodeSets:!0,converter:new Ke,inputUnicode:Jn}}if(kn.unicode){if(Jn===!1)throw new Error("Incompatible flags: The u flag is required by the flags options but a UTF16 regex cannot be converted to a Unicode regex.");return{unicode:!0,unicodeSets:!1,converter:new Ke,inputUnicode:Jn}}let Vi=(Ue=kn.unicode)!==null&&Ue!==void 0?Ue:Jn,ne=Vi===Jn?new Ke:new C9;return{unicode:Vi,unicodeSets:!1,converter:ne,inputUnicode:Jn}})(c,C),k=v||S,I;if(C.ignoreCase===!0){if(V0(c,k,w)===2)throw new Error("Incompatible flags: The i flag is forbidden to create a literal but required by the flags options.");I=!0}else C.ignoreCase===!1||u?I=!1:I=V0(c,k,w)===1;let M=C.multiline;M===void 0&&(M=(f=(function(Mn,kn){let Fe=!1,je=!1,Ue=!1,Jn=!1;for(let Vi of Mn)o1(Vi,{onAssertionEnter(ne){if(ne.negate&&ne.alternatives.length===1){let $i=ne.alternatives[0];if($i.elements.length===1){let L1=$i.elements[0];if(L1.type==="CharacterClass"){let Ia=L1.characters;Ia.isAll?ne.kind==="ahead"?je=!0:Fe=!0:kn.nonLineTerminator.equals(Ia)&&(ne.kind==="ahead"?Jn=!0:Ue=!0)}}}}});if(Ue)return!0;if(Fe)return!1;if(Jn)return!0;if(je)return!1})(c,Fn({unicode:E})))!==null&&f!==void 0&&f);let $={dotAll:(d=C.dotAll)!==null&&d!==void 0&&d,global:(g=C.global)!==null&&g!==void 0&&g,hasIndices:(h=C.hasIndices)!==null&&h!==void 0&&h,ignoreCase:I,multiline:M,sticky:(y=C.sticky)!==null&&y!==void 0&&y,unicode:v,unicodeSets:S};return y9($),{flags:$,converter:w,inputUnicode:E!=null&&E}})(m,n,i),r=t.flags,{converter:s,inputUnicode:o}=t,x=(function(c,l,u){return jn(c?by:p=>(function(f,d,g){if(f.isAll)return d.dotAll?".":"[^]";if(f.isEmpty)return"[]";let h=f.ranges[0].min;if(f.ranges.length===1&&h===f.ranges[0].max)return W0(h);if(g.ignoreCase){let v=(function(S,w){let E=w.caseFolding[S];return E?P.fromCharacters(w.maxCharacter,E):null})(h,g);if(v&&v.equals(f))return W0(h)}if(h!==0){if(oe(f.ranges,g.digit.ranges))return"\\d";if(oe(f.ranges,g.space.ranges))return"\\s";if(oe(f.ranges,g.word.ranges))return"\\w"}else{if(oe(f.ranges,g.nonDigit.ranges))return"\\D";if(oe(f.ranges,g.nonSpace.ranges))return"\\S";if(oe(f.ranges,g.nonWord.ranges))return"\\W";if(!d.dotAll&&oe(f.ranges,g.nonLineTerminator.ranges))return"."}let y=Q0(f,g),C=Q0(f.negate(),g);return y.length<=C.length?`[${y}]`:`[^${C}]`})(p,l,u))})(i,r,Fn(r));return{source:Cy(e,{flags:r,printCharSet:x,env:Fn(r),inputEnv:Fn({unicode:o}),converter:s}),flags:yy(r)}},isFlags:y9,Parser:k9,parseUnicodeSet:K4,parseCharSet:Y4,StringSet:In,UnicodeSet:un,getCharCaseFolding:V2});H.CharBase=Ba,H.CharMap=Ze,H.CharSet=P,H.CombinedTransformer=x1,H.DFA=he,H.ENFA=ia,H.FAIterators=gc,H.JS=Dy,H.MaxCharacterError=cn,H.NFA=Ha,H.TooManyNodesError=S1,H.Transformers=xc,H.Words=Cc,H.combineTransformers=function(e){return new x1(e)},H.getIntersectionIterator=l9,H.getIntersectionWordSets=b0,H.getIntersectionWords=function(e,n,a=1e4){return ni(b0(e,n,a))},H.isDisjointWith=function(e,n,a=1e4){return!u4(j1(l9(e,n,a),(i=>i.keys())))},H.setParent=o4,H.setSource=x4,H.transform=c4,H.visitAst=o1});var rr=Wi(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var Gy=Rt(),q=$2();function pe(e){return e.unicode||!!e.unicodeSets}function pn(e,n){throw new Error(n||e)}function hs(e){let n=null;for(let a of e)if(n===null)n=a.parent;else if(a.parent!==n)throw new Error("Expected all alternatives to have the same parent")}b.Chars=void 0,(function(e){e.maxChar=function(f){return pe(f)?1114111:65535};let n=q.CharSet.empty(65535),a=q.CharSet.empty(1114111);e.empty=function(f){return pe(f)?a:n};let i=q.CharSet.all(65535),m=q.CharSet.all(1114111);e.all=function(f){return pe(f)?m:i};let t=q.JS.createCharSet([{kind:"any"}],{unicode:!1}).negate(),r=q.JS.createCharSet([{kind:"any"}],{unicode:!0}).negate();e.lineTerminator=function(f){return pe(f)?r:t};let s=q.JS.createCharSet([{kind:"word",negate:!1}],{unicode:!1}),o=q.JS.createCharSet([{kind:"word",negate:!1}],{unicode:!0,ignoreCase:!1}),x=q.JS.createCharSet([{kind:"word",negate:!1}],{unicode:!0,ignoreCase:!0});e.word=function(f){return pe(f)?f.ignoreCase?x:o:s};let c=q.JS.createCharSet([{kind:"digit",negate:!1}],{unicode:!1}),l=q.JS.createCharSet([{kind:"digit",negate:!1}],{unicode:!0});e.digit=function(f){return pe(f)?l:c};let u=q.JS.createCharSet([{kind:"space",negate:!1}],{unicode:!1}),p=q.JS.createCharSet([{kind:"space",negate:!1}],{unicode:!0});e.space=function(f){return pe(f)?p:u}})(b.Chars||(b.Chars={}));var w1=Array.isArray,ai=class e{get char(){return this._exactChars.union(this._inexactChars)}get exact(){return this._exactChars.isSupersetOf(this._inexactChars)}constructor(n){this._exactChars=n,this._inexactChars=n}add(n){n.exact?this._exactChars=this._exactChars.union(n.char):this._inexactChars=this._inexactChars.union(n.char)}static fromFlags(n){return new e(b.Chars.empty(n))}static fromMaximum(n){return new e(q.CharSet.empty(n))}};function as(e,n){let a=e.char.intersect(n.char);return{char:a,exact:e.exact&&n.exact||a.isEmpty}}var K9=class{constructor(n){this.count=n,this._indexes=[];for(let a=0;a<n;a++)this._indexes.push(a)}makeEqual(n,a){let i=this._indexes[n],m=this._indexes[a];for(;i!==m;)i<m?(this._indexes[a]=i,a=m,m=this._indexes[a]):(this._indexes[n]=m,n=i,i=this._indexes[n])}getEquivalenceSets(){let n=0;for(let a=0;a<this.count;a++)a===this._indexes[a]?this._indexes[a]=n++:this._indexes[a]=this._indexes[this._indexes[a]];return{count:n,indexes:this._indexes}}};function is(e){return B1.from(e)}var B1=class e{constructor(n){this.toCharSet=new WeakMap,this.toUnicodeSet=new WeakMap,this.getFirstConsumedCharLTR=new WeakMap,this.getFirstConsumedCharRTL=new WeakMap,this.getLongestPrefix=new Map,this.dotAll=!!n.dotAll,this.global=!!n.global,this.hasIndices=!!n.hasIndices,this.ignoreCase=!!n.ignoreCase,this.multiline=!!n.multiline,this.sticky=!!n.sticky,this.unicode=!!n.unicode,this.unicodeSets=!!n.unicodeSets}static from(n){return n instanceof e?n:new e(n)}};function er(e,n){if(!q.JS.isFlags(n))throw new Error("Invalid flags.");return w1(e)?e.length===0?b.Chars.empty(n):e.length===1?W9(e[0],n):b.Chars.empty(n).union(...e.map((a=>W9(a,n)))):W9(e,n)}function W9(e,n){if(n instanceof B1){let a=n.toCharSet.get(e);return a===void 0&&(a=q.JS.parseCharSet(e,n),n.toCharSet.set(e,a)),a}return q.JS.parseCharSet(e,n)}function En(e,n){if(!q.JS.isFlags(n))throw new Error("Invalid flags.");return w1(e)?e.length===0?q.JS.UnicodeSet.empty(b.Chars.maxChar(n)):e.length===1?Q9(e[0],n):q.JS.UnicodeSet.empty(b.Chars.maxChar(n)).union(...e.map((a=>Q9(a,n)))):Q9(e,n)}function Q9(e,n){if(n instanceof B1){let a=n.toUnicodeSet.get(e);return a===void 0&&(a=q.JS.parseUnicodeSet(e,n),n.toUnicodeSet.set(e,a)),a}return q.JS.parseUnicodeSet(e,n)}function ra(e,n){switch(e.type){case"Character":case"ClassStringDisjunction":case"StringAlternative":return!1;case"CharacterClassRange":return e.min.value===0&&e.max.value===b.Chars.maxChar(n);case"CharacterSet":return e.kind==="property"?!e.strings&&er(e,n).isAll:e.kind==="any"&&!!n.dotAll;case"CharacterClass":return e.negate?e.elements.every((a=>Z2(a,n))):e.elements.length!==0&&(e.elements.length===1?ra(e.elements[0],n):En(e,n).chars.isAll);case"ExpressionCharacterClass":return ra(e.expression,n);case"ClassIntersection":return ra(e.left,n)&&ra(e.right,n);case"ClassSubtraction":return En(e,n).chars.isAll;default:return pn(e)}}function Z2(e,n){switch(e.type){case"Character":case"CharacterClassRange":case"ClassStringDisjunction":case"StringAlternative":return!1;case"CharacterSet":return e.kind==="property"&&!e.strings&&er(e,n).isEmpty;case"CharacterClass":return e.negate?e.elements.length!==0&&(e.elements.length===1?ra(e.elements[0],n):En(e,n).isEmpty):e.elements.every((a=>Z2(a,n)));case"ExpressionCharacterClass":return Z2(e.expression,n);case"ClassIntersection":case"ClassSubtraction":return En(e,n).isEmpty;default:return pn(e)}}function ii(e,n){switch(e.type){case"Character":case"CharacterSet":case"CharacterClassRange":return!1;case"CharacterClass":return e.unicodeSets&&!e.negate&&e.elements.length>0&&e.elements.every((a=>ii(a,n)));case"ExpressionCharacterClass":return!e.negate&&ii(e.expression,n);case"ClassIntersection":case"ClassSubtraction":{let a=En(e,n).getLengthRange();return a!==void 0&&a.min===0&&a.max===0}case"ClassStringDisjunction":return e.alternatives.every((a=>ii(a,n)));case"StringAlternative":return e.elements.length===0;default:throw pn(e)}}function Kn(e){switch(e.type){case"Character":case"CharacterSet":case"CharacterClassRange":return!1;case"CharacterClass":return e.unicodeSets&&!e.negate&&e.elements.some(Kn);case"ExpressionCharacterClass":return!e.negate&&Kn(e.expression);case"ClassIntersection":return Kn(e.left)&&Kn(e.right);case"ClassSubtraction":return Kn(e.left)&&!Kn(e.right);case"ClassStringDisjunction":return e.alternatives.some(Kn);case"StringAlternative":return e.elements.length===0;default:throw pn(e)}}function ps(e,n){return w1(e)?e.every(n):n(e)}function ms(e,n){return w1(e)?e.some(n):n(e)}function em(e,n){return ps(e,(a=>H2(a,n)))}function H2(e,n){switch(e.type){case"Alternative":return e.elements.every((a=>H2(a,n)));case"Assertion":return!0;case"Character":case"CharacterSet":case"CharacterClassRange":case"CharacterClass":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return ii(e,n);case"Quantifier":return e.max===0||H2(e.element,n);case"Backreference":return E1(e,n);case"CapturingGroup":case"Group":return e.alternatives.length>0&&e.alternatives.every((a=>H2(a,n)));default:throw pn(e)}}function fs(e,n,a){return(function i(m){switch(m.type){case"Alternative":return m.elements.every(i);case"Assertion":return!0;case"Backreference":return ds(m,n,a);case"Character":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":return Kn(m);case"CapturingGroup":case"Group":return m.alternatives.some(i);case"Quantifier":return m.min===0||i(m.element);default:throw pn(m)}})(e)}function K2(e,n){switch(e.type){case"Alternative":return e.elements.every((a=>K2(a,n)));case"Assertion":return!1;case"Backreference":return E1(e,n);case"Character":case"CharacterSet":case"CharacterClassRange":case"CharacterClass":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return ii(e,n);case"CapturingGroup":case"Group":return e.alternatives.length>0&&e.alternatives.every((a=>K2(a,n)));case"Quantifier":return e.max===0||K2(e.element,n);default:throw pn(e)}}function ds(e,n,a){return!!E1(e,a)||!!am(e.resolved,(i=>i===n))&&(!V1(e)||fs(e.resolved,n,a))}function am(e,n){return typeof n=="function"?(function(a,i){let m=a.parent;for(;m;){if(i(m))return!0;m=m.parent}return!1})(e,n):(function(a,i){let m=a.parent;for(;m;){if(m===i)return!0;m=m.parent}return!1})(e,n)}function im(e,n,a){return typeof n=="function"?On(e,n,a):a?On(e,(i=>i===n),a):e===n||am(n,e)}function On(e,n,a){if(n(e))return!0;if(a&&!a(e))return!1;switch(e.type){case"Alternative":case"CharacterClass":case"StringAlternative":return e.elements.some((i=>On(i,n,a)));case"Assertion":return(e.kind==="lookahead"||e.kind==="lookbehind")&&e.alternatives.some((i=>On(i,n,a)));case"CapturingGroup":case"ClassStringDisjunction":case"Group":case"Pattern":return e.alternatives.some((i=>On(i,n,a)));case"ClassIntersection":case"ClassSubtraction":return On(e.left,n,a)||On(e.right,n,a);case"ExpressionCharacterClass":return On(e.expression,n,a);case"CharacterClassRange":return On(e.min,n,a)||On(e.max,n,a);case"Quantifier":return On(e.element,n,a);case"RegExpLiteral":return On(e.pattern,n,a)||On(e.flags,n,a);case"Backreference":case"Character":case"CharacterSet":case"Flags":return!1;default:return pn(e)}}function ts(e){switch(e.type){case"RegExpLiteral":return e.pattern;case"Pattern":return e;case"Flags":if(e.parent)return e.parent.pattern;throw new Error("Unable to find the pattern of flags without a RegExp literal.");default:{let n=e.parent;for(;n.type!=="Pattern";)n=n.parent;return n}}}function mi(e){let n;return am(e,(a=>a.type==="Assertion"&&(n=a,!0))),n===void 0||n.kind==="lookahead"?"ltr":"rtl"}function gs(e){return e==="ltr"?"rtl":"ltr"}function xa(e){return e==="end"||e==="lookahead"?"ltr":"rtl"}function E1(e,n){let a=e.resolved,i=ir(e,a);if(i===a||i.type!=="Alternative")return!0;let m=new Set;for(let t=e;t;t=t.parent)m.add(t);return!(function t(r){let s=r.parent;switch(s.type){case"Alternative":{let o=s.elements.indexOf(r),x;if(x=mi(r)==="ltr"?s.elements.slice(o+1):s.elements.slice(0,o),x.some((l=>m.has(l))))return!0;let c=s.parent;return c.type!=="Pattern"&&(c.type!=="Assertion"||!c.negate)&&t(c)}case"Quantifier":return t(s)}})(a)||em(a,n)}function V1(e){let n=e.resolved,a=ir(e,n);if(a===n||a.type!=="Alternative")return!1;let i=new Set;for(let m=e;m;m=m.parent)i.add(m);return(function m(t){let r=t.parent;switch(r.type){case"Alternative":{let s=r.elements.indexOf(t),o;if(o=mi(t)==="ltr"?r.elements.slice(s+1):r.elements.slice(0,s),o.some((c=>i.has(c))))return!0;let x=r.parent;return x.type!=="Pattern"&&(x.type!=="Assertion"||!x.negate)&&!(x.alternatives.length>1)&&m(x)}case"Quantifier":return r.min!==0&&m(r)}})(n)}function Y2(e){return im(e,By)}function By(e){return e.type==="CapturingGroup"}var W2={min:0,max:0},ei={min:1,max:1};function ar(e,n){return w1(e)?Y9(e,n):sa(e,n)}function Y9(e,n){let a=1/0,i=0;for(let m of e){let t=sa(m,n);a=Math.min(a,t.min),i=Math.max(i,t.max)}if(a>i)throw new RangeError("Expected the alternatives array to have at least one alternative.");return{min:a,max:i}}function rs(e){return e.getLengthRange()||ei}function sa(e,n){switch(e.type){case"Assertion":return W2;case"Character":case"CharacterClassRange":return ei;case"CharacterSet":return e.kind==="property"&&e.strings?rs(En(e,n)):ei;case"CharacterClass":return!e.unicodeSets||e.negate||e.elements.length===0?ei:Y9(e.elements,n);case"ExpressionCharacterClass":return e.negate?ei:sa(e.expression,n);case"ClassIntersection":case"ClassSubtraction":return rs(En(e,n));case"StringAlternative":return{min:e.elements.length,max:e.elements.length};case"Quantifier":{if(e.max===0)return W2;let a=sa(e.element,n);return a.max===0?W2:{min:a.min*e.min,max:a.max*e.max}}case"Alternative":{let a=0,i=0;for(let m of e.elements){let t=sa(m,n);a+=t.min,i+=t.max}return{min:a,max:i}}case"CapturingGroup":case"Group":case"ClassStringDisjunction":return Y9(e.alternatives,n);case"Backreference":if(E1(e,n))return W2;{let a=sa(e.resolved,n);return a.min>0&&!V1(e)?{min:0,max:a.max}:a}default:throw pn(e)}}function mm(e,n){return w1(e)?X9(e,n):oa(e,n)}function X9(e,n){if(e.length===0)throw new RangeError("Expected the alternatives array to have at least one alternative.");return e.some((a=>oa(a,n)))}function oa(e,n){switch(e.type){case"Assertion":return!0;case"Character":case"CharacterClassRange":return!1;case"CharacterSet":return e.kind==="property"&&e.strings,!1;case"CharacterClass":return!(!e.unicodeSets||e.negate||e.elements.length===0)&&X9(e.elements,n);case"ExpressionCharacterClass":return!e.negate&&oa(e.expression,n);case"ClassIntersection":case"ClassSubtraction":return En(e,n).hasEmptyWord;case"Quantifier":return e.min===0||oa(e.element,n);case"Alternative":return e.elements.every((a=>oa(a,n)));case"StringAlternative":return e.elements.length===0;case"CapturingGroup":case"Group":case"ClassStringDisjunction":return X9(e.alternatives,n);case"Backreference":return E1(e,n)||!V1(e)||oa(e.resolved,n);default:throw pn(e)}}function ir(...e){if(e.length!==0)return e.reduce(Vy)}function Vy(e,n){if(e===n)return e;if(e.parent&&e.parent===n.parent)return e.parent;{let a=ss(e),i=ss(n);for(;;){if(a.length===0)return e;if(i.length===0)return n;if(a[a.length-1]!==i[i.length-1])break;a.pop(),i.pop()}let m=a[a.length-1].parent;if(m)return m;throw new Error("The two nodes are not part of the same tree.")}}function ss(e){let n=[];for(let a=e;a;a=a.parent)n.push(a);return n}function Hn(e,n){if(e==n)return!0;if(!e||!n||e.type!=n.type)return!1;switch(e.type){case"Alternative":case"StringAlternative":{let a=n;return Q2(e.elements,a.elements)}case"Assertion":{let a=n;if(e.kind===a.kind){if(e.kind==="lookahead"||e.kind==="lookbehind"){let i=n;return e.negate===i.negate&&Q2(e.alternatives,i.alternatives)}return e.raw===a.raw}return!1}case"Backreference":{let a=n;return Hn(e.resolved,a.resolved)&&V1(e)==V1(a)}case"Character":{let a=n;return e.value===a.value}case"CharacterClass":{let a=n;return e.negate===a.negate&&e.unicodeSets===a.unicodeSets&&Q2(e.elements,a.elements)}case"CharacterClassRange":{let a=n;return Hn(e.min,a.min)&&Hn(e.max,a.max)}case"CharacterSet":{let a=n;return e.kind==="property"&&a.kind==="property"?e.negate===a.negate&&e.key===a.key&&e.value===a.value:e.raw===a.raw}case"ExpressionCharacterClass":{let a=n;return e.negate===a.negate&&Hn(e.expression,a.expression)}case"ClassIntersection":case"ClassSubtraction":{let a=n;return Hn(e.left,a.left)&&Hn(e.right,a.right)}case"Flags":{let a=n;return e.dotAll===a.dotAll&&e.global===a.global&&e.ignoreCase===a.ignoreCase&&e.multiline===a.multiline&&e.sticky===a.sticky&&e.unicode===a.unicode&&e.unicodeSets===a.unicodeSets}case"ClassStringDisjunction":case"CapturingGroup":case"Group":case"Pattern":{let a=n;return Q2(e.alternatives,a.alternatives)}case"Quantifier":{let a=n;return e.min===a.min&&e.max===a.max&&e.greedy===a.greedy&&Hn(e.element,a.element)}case"RegExpLiteral":{let a=n;return Hn(e.flags,a.flags)&&Hn(e.pattern,a.pattern)}default:throw pn(e)}}function Q2(e,n){if(e.length!==n.length)return!1;for(let a=0;a<e.length;a++)if(!Hn(e[a],n[a]))return!1;return!0}function mr(e,n,a,i,m){function t(l,u,p){var f,d;if(i.enter&&(u=i.enter(l,u,p)),(d=(f=i.continueInto)===null||f===void 0?void 0:f.call(i,l,u,p))===null||d===void 0||d)switch(l.type){case"Assertion":if(l.kind==="lookahead"||l.kind==="lookbehind"){let g=xa(l.kind),h=i.join(l.alternatives.map((y=>r(y,z2(i,u,p),g))),g);u=x(u,g,"assertion"),i.assert&&(u=i.assert(u,p,h,g))}break;case"Group":case"CapturingGroup":u=i.join(l.alternatives.map((g=>r(g,z2(i,u,p),p))),p);break;case"Quantifier":l.max===0||(u=l.min===0?i.join([u,t(l.element,z2(i,u,p),p)],p):t(l.element,u,p))}return i.leave&&(u=i.leave(l,u,p)),u}function r(l,u,p){var f,d;let g=p==="ltr"?0:l.elements.length-1,h=p==="ltr"?1:-1,y;for(;(y=l.elements[g])&&(u=t(y,u,p),!!((d=(f=i.continueAfter)===null||f===void 0?void 0:f.call(i,y,u,p))===null||d===void 0||d));g+=h);return u}function s(l,u,p){var f,d;let g=l.parent;if(g.type==="CharacterClass"||g.type==="CharacterClassRange"||g.type==="ClassIntersection"||g.type==="ClassSubtraction"||g.type==="ExpressionCharacterClass"||g.type==="StringAlternative")throw new Error("The given element cannot be part of a character class.");if(!((d=(f=i.continueAfter)===null||f===void 0?void 0:f.call(i,l,u,p))===null||d===void 0||d))return!1;if(g.type==="Quantifier")return g.max<=1?s(g,u,p):[g,s(g,u,p)];{let h=g.elements.indexOf(l)+(p==="ltr"?1:-1),y=g.elements[h];if(y)return y;{let C=g.parent;if(C.type==="Pattern")return"pattern";if(C.type==="Assertion")return o(C,u,p)?s(C,u,p):"assertion";if(C.type==="CapturingGroup"||C.type==="Group")return s(C,u,p);throw pn(C)}}}function o(l,u,p){return!!i.continueOutside&&i.continueOutside(l,u,p)}function x(l,u,p){return i.endPath?i.endPath(l,u,p):l}if(m||(m=mi(e)),e.type==="Alternative")if(e.elements.length===0&&(n="next"),n==="enter")c=e,e=m==="ltr"?c.elements[0]:c.elements[c.elements.length-1];else{let l=e.parent;if(l.type==="Pattern")return x(a,m,"pattern");if(l.type==="Assertion"&&!o(l,a,m))return x(a,m,"assertion");e=l}var c;return n==="enter"&&(a=t(e,a,m)),(function(l,u,p){for(;;){let f=s(l,u,p);for(;Array.isArray(f);){let[d,g]=f;u=i.join([u,t(d,z2(i,u,p),p)],p),f=g}if(f===!1)return u;if(f==="assertion"||f==="pattern")return x(u,p,f);u=t(f,u,p),l=f}})(e,a,m)}function z2(e,n,a){return e.fork?e.fork(n,a):n}var z9,ta;b.FirstLookChars=void 0,(z9=b.FirstLookChars||(b.FirstLookChars={})).all=function(e){return{char:b.Chars.all(e),exact:!0,edge:!0}},z9.edge=function(e){return{char:b.Chars.empty(e),exact:!0,edge:!0}},z9.toConsumed=function(e){return!e.edge&&e.char.isEmpty?{char:q.CharSet.empty(e.char.maximum),exact:!0,empty:!1}:{char:q.CharSet.empty(e.char.maximum),exact:!0,empty:!0,look:e}},b.FirstConsumedChars=void 0,(ta=b.FirstConsumedChars||(b.FirstConsumedChars={})).emptyConcat=function(e){return{char:b.Chars.empty(e),exact:!0,empty:!0,look:b.FirstLookChars.all(e)}},ta.emptyUnion=function(e){return{char:b.Chars.empty(e),exact:!0,empty:!1}},ta.toLook=function(e){if(e.empty){let n=(function(a,i){let m=a.char.union(i.char),t;return t=a.exact?!!i.exact||a.char.isSupersetOf(i.char):!!i.exact&&i.char.isSupersetOf(a.char),{char:m,exact:t}})(e,e.look);return{char:n.char,exact:n.exact,edge:e.look.edge}}return{char:e.char,exact:e.exact,edge:!1}},ta.union=function(e,n){let a=ai.fromFlags(n),i=[];for(let m of e)a.add(m),m.empty&&i.push(m.look);if(i.length>0){if(i.length===1)return{char:a.char,exact:a.exact,empty:!0,look:i[0]};let m=ai.fromFlags(n),t=!1;for(let r of i)m.add(r),t=t||r.edge;return{char:a.char,exact:a.exact,empty:!0,look:{char:m.char,exact:m.exact,edge:t}}}return{char:a.char,exact:a.exact,empty:!1}},ta.concat=function(e,n){let a=ai.fromFlags(n),i=b.FirstLookChars.all(n);for(let m of e){if(a.add(as(m,i)),!m.empty)return{char:a.char,exact:a.exact,empty:!1};{let t=as(i,m.look);if(i={char:t.char,exact:t.exact,edge:i.edge&&m.look.edge},!i.edge&&i.char.isEmpty)return{char:a.char,exact:a.exact,empty:!1}}}return{char:a.char,exact:a.exact,empty:!0,look:i}},ta.makeOptional=function(e){return{char:e.char,exact:e.exact,empty:!0,look:{char:q.CharSet.all(e.char.maximum),exact:!0,edge:!0}}};var de=class{constructor(n){this._currentWordBoundaries=[],n instanceof B1?(this._ltrCache=n.getFirstConsumedCharLTR,this._rtlCache=n.getFirstConsumedCharRTL):(this._ltrCache=new WeakMap,this._rtlCache=new WeakMap)}isCurrentWordBoundary(n){return this._currentWordBoundaries.some((a=>a===n))}pushWordBoundary(n){this._currentWordBoundaries.push(n)}popWordBoundary(){this._currentWordBoundaries.pop()}getCached(n,a){return a==="ltr"?this._ltrCache.get(n):this._rtlCache.get(n)}setCached(n,a,i){a==="ltr"?this._ltrCache.set(n,i):this._rtlCache.set(n,i)}};function ys(e,n,a){let i=new de(a);return w1(e)?X2(e,n,a,i):fe(e,n,a,i)}function X2(e,n,a,i){return b.FirstConsumedChars.union(e.map((m=>fe(m,n,a,i))),a)}function fe(e,n,a,i){let m=i.getCached(e,n);return m===void 0&&(m=(function(t,r,s,o){switch(t.type){case"Assertion":return(function(x,c,l,u){switch(x.kind){case"word":if(u.isCurrentWordBoundary(x))return p();{u.pushWordBoundary(x);let h=_s(x,gs(c),l,u);u.popWordBoundary();let y=b.Chars.word(l);return h.edge?h.char.isDisjointWith(y)?g(x.negate):p():h.char.isDisjointWith(y)?g(x.negate):h.char.isSubsetOf(y)?g(!x.negate):p()}case"end":case"start":return xa(x.kind)===c?l.multiline?d():f():p();case"lookahead":case"lookbehind":if(xa(x.kind)===c){if(x.negate){if(im(x,(C=>C!==x&&C.type==="Assertion")))return p();let h=X2(x.alternatives,c,l,u),y=ar(x.alternatives,l);return h.empty||!y?{char:b.Chars.empty(l),empty:!1,exact:!0}:h.exact&&y.max===1?b.FirstLookChars.toConsumed({char:h.char.negate(),edge:!0,exact:!0}):p()}{let h=X2(x.alternatives,c,l,u);return b.FirstLookChars.toConsumed(b.FirstConsumedChars.toLook(h))}}return p();default:throw pn(x)}function p(){return b.FirstLookChars.toConsumed({char:b.Chars.all(l),edge:!0,exact:!1})}function f(){return b.FirstLookChars.toConsumed(b.FirstLookChars.edge(l))}function d(){return b.FirstLookChars.toConsumed({char:b.Chars.lineTerminator(l),edge:!0,exact:!0})}function g(h){let y=b.Chars.word(l);return b.FirstLookChars.toConsumed({char:h?y.negate():y,edge:h,exact:!0})}})(t,r,s,o);case"Character":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":{let x=En(t,s);if(x.accept.isEmpty)return{char:x.chars,empty:!1,exact:!0};{let c=new Set;if(r==="ltr")for(let u of x.accept.wordSets)u.length>0&&c.add(u[0]);else for(let u of x.accept.wordSets)u.length>0&&c.add(u[u.length-1]);let l={char:x.chars.union(...c),empty:!1,exact:!0};return x.hasEmptyWord?b.FirstConsumedChars.makeOptional(l):l}}case"Quantifier":{if(t.max===0)return b.FirstConsumedChars.emptyConcat(s);let x=fe(t.element,r,s,o);return t.min===0?b.FirstConsumedChars.makeOptional(x):x}case"Alternative":{let x=t.elements;return r==="rtl"&&(x=[...x],x.reverse()),b.FirstConsumedChars.concat((function*(){for(let c of x)yield fe(c,r,s,o)})(),s)}case"CapturingGroup":case"Group":return X2(t.alternatives,r,s,o);case"Backreference":{if(E1(t,s))return b.FirstConsumedChars.emptyConcat(s);let x=fe(t.resolved,r,s,o);return x.exact&&x.char.size>1&&(x=Object.assign(Object.assign({},x),{exact:!1})),V1(t)?x:b.FirstConsumedChars.makeOptional(x)}default:throw pn(t)}})(e,n,a,i),i.setCached(e,n,m)),m}function Cs(e,n,a){return vs(e,n,a,new de(a))}function vs(e,n,a,i){return mr(e,"next",b.FirstConsumedChars.emptyConcat(a),{join:m=>b.FirstConsumedChars.union(m,a),enter(m,t,r){let s=fe(m,r,a,i);return b.FirstConsumedChars.concat([t,s],a)},continueInto:()=>!1,continueAfter:(m,t)=>t.empty,continueOutside:(m,t,r)=>xa(m.kind)!==r},n)}function ti(e,n,a){return _s(e,n,a,new de(a))}function _s(e,n,a,i){return b.FirstConsumedChars.toLook(vs(e,n,a,i))}function os(e,n,a,i){return mr(e,"next",{char:b.FirstConsumedChars.emptyConcat(a),contributors:[]},{join(m){let t=new Set;return m.forEach((r=>r.contributors.forEach((s=>t.add(s))))),{char:b.FirstConsumedChars.union(m.map((r=>r.char)),a),contributors:[...t]}},enter(m,t,r){let s=fe(m,r,a,i);return{char:b.FirstConsumedChars.concat([t.char,s],a),contributors:[...t.contributors,m]}},continueInto:()=>!1,continueAfter:(m,t)=>t.char.empty,continueOutside:(m,t,r)=>xa(m.kind)!==r},n)}function Ss(e,n,a,i={}){let m=B1.from(a);a=m;let{includeAfter:t=!1,onlyInside:r=!1,looseGroups:s=!1}=i,o=m.getLongestPrefix,x=`${n},${t},${r},${s}`,c=o.get(x);c===void 0&&(c=new WeakMap,o.set(x,c));let l=c.get(e);return l===void 0&&(l=(function(u,p,f,d){let{chars:g,complete:h}=ws(u,p,f,d);for(let y=0;y<g.length;y++)if(g[y].isEmpty)return g.slice(0,y);return h&&f.includeAfter&&!f.onlyInside?[...g,$y(u,p,d).char]:g})(e,n,{includeAfter:t,onlyInside:r,looseGroups:s,root:e},a),c.set(e,l)),l}var q9={chars:[],complete:!0},xs={chars:[],complete:!1};function ws(e,n,a,i){let{elements:m}=e,t=[],r=n==="ltr"?1:-1;for(let s=n==="ltr"?0:m.length-1;s>=0&&s<m.length;s+=r){let o=Z9(m[s],n,a,i);if(t.push(...o.chars),!o.complete)return{chars:t,complete:!1}}return{chars:t,complete:!0}}function Z9(e,n,a,i){switch(e.type){case"Assertion":return q9;case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":{let m=En(e,i);if(m.accept.isEmpty)return{chars:[m.chars],complete:!0};{let t=[];m.chars.isEmpty||t.push({chars:[m.chars],complete:!0});for(let r of m.accept.wordSets)t.push({chars:r,complete:!0});return cs(e,t,n,a,i)}}case"CapturingGroup":case"Group":return(function(m,t,r,s){let o=m.alternatives.map((x=>ws(x,t,r,s)));return cs(m,o,t,r,s)})(e,n,a,i);case"Quantifier":return(function(m,t,r,s){if(em(m,s))return q9;if(mm(m,s))return ls(m,r,t,s)?{chars:[b.FirstConsumedChars.toLook(nr(m,t,s)).char],complete:!1}:xs;let o=Z9(m.element,t,r,s);if(!o.complete)return o;if(o.chars.length===0)throw new Error(`Expected the quantifier '${m.raw}' to consume at least one character.`);let x=[];for(let c=0;c<m.min;c++)if(x.push(...o.chars),x.length>1e3)return{chars:x,complete:!1};if(m.min===m.max)return{chars:x,complete:!0};if(Es(m,r,t,s)){let c=ti(m,t,s);x.push(c.char.union(o.chars[0]))}return{chars:x,complete:!1}})(e,n,a,i);case"Backreference":return E1(e,i)?q9:V1(e)?Z9(e.resolved,n,Object.assign(Object.assign({},a),{includeAfter:!1}),i):ls(e,a,n,i)?{chars:[b.FirstConsumedChars.toLook(nr(e,n,i)).char],complete:!1}:xs;default:pn(e)}}function cs(e,n,a,i,m){if(n.length===1)return n[0];let t=[],r=!0,s=0;for(let o=0;r;o++){let x=[],c=!1;for(let u of n)o>=u.chars.length?c=!0:(x.push(u.chars[o]),o===u.chars.length-1&&!u.complete&&i.includeAfter&&(r=!1));if(x.length===0)break;if(c){if(r=!1,!Es(e,i,a,m))break;x.push(ti(e,a,m).char)}else if(!i.looseGroups&&(r&&x.some((u=>!u.equals(x[0])))&&s++,s>=2&&(r=!1,!i.includeAfter)))break;let l=x[0].union(...x.slice(1));t.push(l)}return{chars:t,complete:r}}function nr(e,n,a){let i=ys(e,n,a);return i.empty?b.FirstConsumedChars.concat([i,Cs(e,n,a)],a):i}function $y(e,n,a){let{elements:i}=e,m=n==="ltr"?1:-1,t=n==="rtl"?0:i.length-1;for(;t>=0&&t<i.length&&em(i[t],a);)t-=m;return t>=0&&t<i.length?ti(i[t],n,a):b.FirstConsumedChars.toLook(nr(e,n,a))}function ls(e,n,a,i){return!!n.includeAfter&&(!n.onlyInside||(function(m,t,r,s){return!mm(m,s)||nm(m,t,r,s)})(e,a,n.root,i))}function Es(e,n,a,i){return!!n.includeAfter&&(!n.onlyInside||nm(e,a,n.root,i))}function nm(e,n,a,i){let m=e.parent;if(m.type==="CharacterClass"||m.type==="CharacterClassRange"||m.type==="ClassIntersection"||m.type==="ClassSubtraction"||m.type==="ExpressionCharacterClass"||m.type==="StringAlternative")throw new Error("Expected an element outside a character class.");if(m.type==="Quantifier")return nm(m,n,a,i);let t=n==="ltr"?1:-1;for(let s=m.elements.indexOf(e)+t;s>=0&&s<m.elements.length;s+=t)if(!mm(m.elements[s],i))return!0;if(m===a)return!1;let r=m.parent;if(r.type==="Pattern")throw new Error("Expected the given element to be a descendant of the root alternative.");if(r.type==="Assertion")throw new Error;return nm(r,n,a,i)}function Wy(e,n,a){return hs(e),n==="unknown"?(function(i,m){let t=H9(i,"ltr",m),r=H9(i,"rtl",m),s=bs([...t,...r],(x=>x)),o=[];for(let x of s){let c=new Set;for(let l of x)l.forEach((u=>c.add(u)));o.push([...c])}return o})(e,a):H9(e,n,a)}var Qy={includeAfter:!0,looseGroups:!0};function H9(e,n,a){let i=(function(s){function o(x){let c=o.cache.get(x);return c===void 0&&(c=s(x),o.cache.set(x,c)),c}return o.cache=new Map,o})((s=>{let o=Ss(s,n,a,Qy),x=0;for(let c=o.length-1;c>=0&&o[c].isAll;c--)x++;return x>0&&(o=o.slice(0,o.length-x)),o})),m=new Set;for(let s of e)i(s).forEach((o=>m.add(o)));let t=new q.CharBase(m),r=[];for(let s of e)r.push({characters:i(s).map((o=>t.split(o))),alternative:s});return(function s(o,x){if(o.length<2)return[o];for(let u of o)if(x>=u.characters.length)return[o];let c=bs(o,(u=>u.characters[x])),l=[];for(let u of c)l.push(...s(u,x+1));return l})(r,0).map((s=>s.map((o=>o.alternative))))}function bs(e,n){if(e.length<2)return[e];let a=new K9(e.length),i=new Map;for(let r=0;r<e.length;r++){let s=e[r];for(let o of n(s)){let x=i.get(o);x===void 0?i.set(o,r):a.makeEqual(r,x)}}let m=a.getEquivalenceSets(),t=[];for(let r=0;r<m.count;r++)t.push([]);for(let r=0;r<e.length;r++)t[m.indexes[r]].push(e[r]);return t}function tr(e,n){let a=[],i=!0;return im(e,(m=>{if(m.type==="Character"||m.type==="CharacterClass"||m.type==="CharacterSet"||m.type==="ExpressionCharacterClass"){let t=En(m,n);if(a.push(t.chars),!t.accept.isEmpty){let r=new Set;for(let s of t.accept.wordSets)for(let o of s)r.add(o);a.push(b.Chars.empty(n).union(...r))}i=i&&!t.isEmpty}else if(m.type==="Backreference"&&!E1(m,n)){let t=tr(m.resolved,n);a.push(t.chars),i=i&&t.exact&&t.chars.size<2}return!1}),(m=>m.type!=="CharacterClass"&&m.type!=="ExpressionCharacterClass"&&(m.type!=="Assertion"||(i=!1,!1)))),{chars:b.Chars.empty(n).union(...a),exact:i}}function q2(e,n,a,i,m){let t=Wy(n,a,i);return!(!m&&!(function(r,s,o){let x=0,c=0;for(let l of s)Y2(l)&&(r.has(l)?x++:c++);return x>1||x===1&&c!==0?!1:c!==0?o.every((l=>!l.some(Y2)||l.every((u=>!r.has(u))))):x!==0?o.every((l=>l.length<2||!l.some(Y2))):!0})(e,n,t))&&t.every((r=>r.length<2||!!r.every((s=>!e.has(s)))||(function(s,o){let x=ar(s,o);return!!(x&&x.min===x.max)})(r,i)||(function(s,o,x){let c=(function(d,g){let h=us(d,"ltr",g),y=us(h.rest,"rtl",g);return{left:h.prefix,right:y.prefix,rest:y.rest}})(s.map((d=>d.elements)),x),l=[];for(let d of c.rest)l.push(...d);let u=b.Chars.empty(x).union(...l.map((d=>tr(d,x).chars)));if((o==="ltr"?c.right:c.left).some((d=>d.isDisjointWith(u))))return!0;let f=s[0].parent;return f.type==="Pattern"||f.type==="Assertion"?!1:ti(f,o,x).char.isDisjointWith(u)})(r,a,i)))}function us(e,n,a){let i=(function(m,t,r){let s=[];for(let o=0;;o++){let x=null;for(let c of m){let l=t==="ltr"?o:c.length-1-o;if(!(o>=0&&o<c.length))return s;{let u=c[l];switch(u.type){case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":{let p=En(u,r);if(!p.accept.isEmpty)return s;if(x===null)x=p.chars;else if(!x.equals(p.chars))return s;break}default:return s}}}if(x===null)throw new Error;s.push(x)}})(e,n,a);return i.length===0?{prefix:i,rest:e}:{prefix:i,rest:e.map((m=>{let t=n==="ltr"?i.length:0,r=n==="ltr"?m.length:m.length-i.length;return m.slice(t,r)}))}}b.canReorder=function(e,n,a={}){n=is(n);let{ignoreCapturingGroups:i=!1,matchingDirection:m}=a,t=(r=e)instanceof Set?r:new Set(r);var r;if(t.size<2)return!0;hs(t);let s=(function(x){if(x.size<=1)return[...x];let c;for(let f of x){c=f;break}if(!c)throw new Error;let l=c.parent.alternatives,u=x.size,p=0;for(let f=0;f<l.length;f++){let d=l[f];x.has(d)&&(u=Math.min(u,f),p=Math.max(p,f))}return l.slice(u,p+1)})(t),o=m??mi(s[0]);return o==="unknown"?q2(t,s,"ltr",n,i)&&q2(t,s,"rtl",n,i):q2(t,s,o,n,i)},b.canReorderDirectional=q2,b.containsCapturingGroup=Y2,b.createCache=function(e){return new B1(e)},b.followPaths=mr,b.getCapturingGroupNumber=function(e){let n=0;try{throw Gy.visitRegExpAST(ts(e),{onCapturingGroupEnter(a){if(n++,a===e)throw new Error}}),new Error("Unable to find the given capturing group in its parent pattern.")}catch{return n}},b.getClosestAncestor=ir,b.getConsumedChars=tr,b.getEffectiveMaximumRepetition=function(e){let n=1;for(let a=e.parent;a;a=a.parent)if(a.type==="Quantifier"){if(n*=a.max,n===0)return 0}else if(a.type==="Assertion")break;return n},b.getFirstCharAfter=ti,b.getFirstCharAfterWithContributors=function(e,n,a){return(function(i,m,t,r){let{char:s,contributors:o}=os(i,m,t,r);return{char:b.FirstConsumedChars.toLook(s),contributors:o}})(e,n,a,new de(a))},b.getFirstConsumedChar=ys,b.getFirstConsumedCharAfter=Cs,b.getFirstConsumedCharAfterWithContributors=function(e,n,a){return os(e,n,a,new de(a))},b.getLengthRange=ar,b.getLongestPrefix=Ss,b.getMatchingDirection=mi,b.getMatchingDirectionFromAssertionKind=xa,b.getPattern=ts,b.hasSomeAncestor=am,b.hasSomeDescendant=im,b.hasStrings=function e(n,a){switch(n.type){case"Character":case"CharacterClassRange":return!1;case"CharacterSet":return n.kind==="property"&&n.strings;case"CharacterClass":return!(n.negate||!n.unicodeSets)&&n.elements.some((i=>e(i,a)));case"ExpressionCharacterClass":return e(n.expression,a);case"ClassIntersection":case"ClassSubtraction":return!En(n,a).accept.isEmpty;case"ClassStringDisjunction":return n.alternatives.some((i=>e(i,a)));case"StringAlternative":return n.elements.length!==1;default:return pn(n)}},b.invertMatchingDirection=gs,b.isEmpty=function(e,n){return ps(e,(a=>K2(a,n)))},b.isEmptyBackreference=E1,b.isLengthRangeMinZero=mm,b.isPotentiallyEmpty=function(e,n){if(!w1(e))switch(e.type){case"Character":case"CharacterSet":case"CharacterClassRange":case"CharacterClass":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return Kn(e)}return ms(e,(a=>(function(i,m){return t(i);function t(r){switch(r.type){case"Alternative":return r.elements.every(t);case"Assertion":return!1;case"Backreference":return ds(r,i,m);case"Character":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":return Kn(r);case"CapturingGroup":case"Group":return r.alternatives.some(t);case"Quantifier":return r.min===0||t(r.element);default:throw pn(r)}}})(a,n)))},b.isPotentiallyZeroLength=function(e,n){if(!w1(e))switch(e.type){case"Character":case"CharacterSet":case"CharacterClassRange":case"CharacterClass":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return Kn(e)}return ms(e,(a=>fs(a,a,n)))},b.isStrictBackreference=V1,b.isZeroLength=em,b.matchesAllCharacters=ra,b.matchesNoCharacters=Z2,b.structurallyEqual=Hn,b.toCache=is,b.toCharSet=er,b.toUnicodeSet=En});var W6=Wi(a7=>{"use strict";Object.defineProperty(a7,"__esModule",{value:!0});var a1=$2(),N=rr(),U6=Rt();function vi(e,n){let a=new Error(n);throw a.data=e,a}function e7(e,n){if(n!==void 0&&!a1.JS.isFlags(n))throw new Error("Invalid flags");return a1.JS.toLiteral({type:"CharacterClass",characters:e},{flags:n})}function D6(e){switch(e.type){case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return!0;default:return!1}}function z1(e){return e.type==="Quantifier"&&D6(e.element)}function G6(e,n){if(Array.isArray(e)){if(e.length===0)return{consume:N.Chars.empty(n),assert:N.Chars.all(n)};if(e.length===1)return e[0]}let a=N.Chars.empty(n),i=N.Chars.all(n);for(let m of e)if(a=a.intersect(m.consume.union(m.assert)).union(m.consume.intersect(i)),i=i.intersect(m.assert),i.isEmpty&&a.isEmpty)break;return{consume:a,assert:i}}function B6(e,n){return V6(e,N.Chars.empty(n))}function V6(e,n){if(Array.isArray(e)&&e.length===1)return e[0];let a=n,i=n;for(let m of e)a=a.union(m.consume),i=i.union(m.assert);return{consume:a,assert:i}}function $6(e){return{consume:a1.CharSet.empty(e.consume.maximum),assert:e.consume.union(e.assert)}}function u1(e,n){if(Array.isArray(e))return B6(e.map((a=>u1(a,n))),n);switch(e.type){case"Alternative":return G6((function*(){for(let a of e.elements)yield u1(a,n)})(),n);case"Assertion":switch(e.kind){case"end":case"start":return n.multiline?{consume:N.Chars.empty(n),assert:N.Chars.lineTerminator(n)}:{consume:N.Chars.empty(n),assert:N.Chars.empty(n)};case"word":{let a=N.Chars.word(n),i=a.negate();for(let m of["ltr","rtl"]){let t=N.getFirstCharAfter(e,m,n);if(!t.edge){if(t.char.isSubsetOf(a))return{consume:N.Chars.empty(n),assert:e.negate?a:i};if(t.char.isSubsetOf(i))return{consume:N.Chars.empty(n),assert:e.negate?i:a}}}return e.negate?{consume:N.Chars.empty(n),assert:N.Chars.all(n)}:{consume:N.Chars.empty(n),assert:N.Chars.empty(n)}}case"lookahead":case"lookbehind":{let a=$6(u1(e.alternatives,n));return e.negate?{consume:N.Chars.empty(n),assert:a.assert.negate()}:a}}return vi(e);case"CapturingGroup":case"Group":case"Pattern":return u1(e.alternatives,n);case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return(function(a){let i=a1.CharSet.empty(a.chars.maximum),m=a1.CharSet.all(a.chars.maximum),t={consume:a.chars,assert:i};return a.isEmpty||a.accept.isEmpty?t:V6([t,...a.accept.wordSets.map((r=>{if(r.length===0)return{consume:i,assert:m};let s=r[0];for(let o=1;o<r.length;o++)s=s.intersect(r[o]);return{consume:s,assert:i}}))],a1.CharSet.empty(a.chars.maximum))})(N.toUnicodeSet(e,n));case"Quantifier":return e.max===0?{consume:N.Chars.empty(n),assert:N.Chars.all(n)}:e.min===0?{consume:u1(e.element,n).consume,assert:N.Chars.all(n)}:u1(e.element,n);case"RegExpLiteral":return u1(e.pattern,n);case"Backreference":if(N.isEmptyBackreference(e,n))return{consume:N.Chars.empty(n),assert:N.Chars.all(n)};{let a=u1(e.resolved,n);return N.isStrictBackreference(e)?a:{consume:a.consume,assert:N.Chars.all(n)}}case"CharacterClassRange":case"Flags":throw new Error("This doesn't make any sense");default:vi(e)}}function R6(e,n,a,i,m){return N.followPaths(e,"enter",0,{fork:t=>t,join:t=>t.every((r=>r===2))?2:t.some((r=>r===1))?1:0,assert:(t,r,s)=>s===1?s:t,continueAfter:(t,r)=>t!==e&&r===0,continueInto:(t,r)=>r===0,enter:(t,r)=>t===n?1:r,leave(t,r){if(r!==0)return r;switch(t.type){case"Assertion":case"Backreference":case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":{let s=u1(t,m),o=s.consume.union(s.assert);return a.isSubsetOf(o)?0:2}case"CapturingGroup":case"Group":case"Quantifier":return r;default:vi(t)}}},i)===1}function L6(e){let n=N.getEffectiveMaximumRepetition(e);return e.type==="Quantifier"&&(n*=e.max),n>20}function Ie(e){let n;if(e.min===0&&e.max===1)n="?";else if(e.min===0&&e.max===1/0)n="*";else if(e.min===1&&e.max===1/0)n="+";else{if(e.min===e.max)return e.min===1?"":`{${e.min}}`;n=e.max===1/0?`{${e.min},}`:`{${e.min},${e.max}}`}return e.greedy||(n+="?"),n}function N6(e,n,a){return e.element.raw===n.element.raw||!(!z1(e)||!z1(n))&&N.toUnicodeSet(e.element,a).equals(N.toUnicodeSet(n.element,a))}function e1(e,n){return e==="ltr"?n.join(""):[...n].reverse().join("")}function M6(e,n){return n===0?"":n===1?e.raw:e.raw+`{${n}}`}function n7(e){return N.hasSomeDescendant(e,(n=>n.type==="CapturingGroup"))}var Lm=class{constructor(n){this.source=n.pattern.raw,this.flags=n.flags.raw,this.patternOffset=n.pattern.start}replace(n,a){let i,m;if(Array.isArray(n)){i=1/0,m=-1/0;for(let r of n)i=Math.min(i,r.start),m=Math.max(m,r.end)}else i=n.start,m=n.end;let t=this.patternOffset;return{source:this.source.slice(0,i-t)+a+this.source.slice(m-t),flags:this.flags}}};function O_(e,n){let{startQuant:a,endQuant:i}=n;if(n7(a)||n7(i))return;let m=new Lm(e);if(a.parent===i.parent){let t=N.getMatchingDirection(a);if(t===(a.start<i.start?"ltr":"rtl")){let r=a.parent.elements,s=r.indexOf(a),o=r.indexOf(i),x=r.slice(Math.min(s,o)+1,Math.max(s,o));if(x.length===0)return(function(c,l,u,p,f){if(N6(p,f,c.flags))return l.replace([p,f],p.element.raw+Ie({min:p.min+f.min,max:1/0,greedy:p.greedy||f.greedy}));if(z1(p)&&z1(f)){let d=J6(c.flags,u,p,f);if(d)return l.replace(d.which,d.replacement)}})(e,m,t,a,i);if(x.length===1){let c=x[0];if(c.type==="Quantifier")return(function(l,u,p,f,d,g){if(g.max===0||g.min!==0||N.isPotentiallyZeroLength(f.element,l.flags)||N.isPotentiallyZeroLength(d.element,l.flags)||N.isPotentiallyZeroLength(g.element,l.flags))return;let h=N.getFirstConsumedChar(f.element,p,l.flags),y=N.getFirstConsumedChar(d.element,p,l.flags),C=N.getFirstConsumedChar(g.element,p,l.flags);function v(E){return f.parent.elements.length===3?E.join("|"):"(?:"+E.join("|")+")"}function S(){return g.element.raw+Ie(Object.assign(Object.assign({},g),{min:1}))}let w=g.greedy?"":"?";if(h.char.isDisjointWith(C.char)&&y.char.isDisjointWith(C.char)){if(N6(f,d,l.flags)){if(d.min===0)return u.replace([g,d],"(?:"+e1(p,[S(),d.raw])+")?"+w);if(f.min===0){if(n7(g))return u.replace([f,g],"(?:"+e1(p,[f.raw,S()])+")?"+w);{let E=e1(p,[S(),d.raw]),k=[e1(p,[f.element.raw+Ie(Object.assign(Object.assign({},f),{min:1})),"(?:"+E+")?"+w]),E];return g.greedy||k.reverse(),u.replace([f,g,d],v(k))}}}if(z1(f)&&z1(d)){let E=J6(l.flags,p,f,d);if(E){let{which:k,replacement:I}=E;if(I==="")return k===f?u.replace([f,g],"(?:"+e1(p,[f.raw,S()])+")?"+w):u.replace([g,d],"(?:"+e1(p,[S(),d.raw])+")?"+w);{let M=[e1(p,[f.raw,S(),d.raw]),e1(p,[f===k?I:f.raw,d===k?I:d.raw])];return g.greedy||M.reverse(),u.replace([f,g,d],v(M))}}}}})(e,m,t,a,i,c);if(D6(c))return(function(l,u,p,f,d,g){if(f.element.raw===d.element.raw&&f.element.raw===g.raw)return u.replace([f,g,d],f.element.raw+Ie({min:f.min+d.min+1,max:1/0,greedy:f.greedy||d.greedy}));if(z1(f)&&z1(d)&&f.greedy&&d.greedy){let h=N.toUnicodeSet(f.element,l.flags),y=N.toUnicodeSet(d.element,l.flags),C=N.toUnicodeSet(g,l.flags);if(!h.accept.isEmpty||!y.accept.isEmpty||!C.accept.isEmpty)return;let v=h.chars,S=y.chars,w=C.chars,E={type:"Concatenation",elements:[{type:"Quantifier",min:f.min,max:1/0,lazy:!1,alternatives:[{type:"Concatenation",elements:[{type:"CharacterClass",characters:v}]}]},{type:"CharacterClass",characters:w},{type:"Quantifier",min:d.min,max:1/0,lazy:!1,alternatives:[{type:"Concatenation",elements:[{type:"CharacterClass",characters:S}]}]}]};if(p==="rtl"&&E.elements.reverse(),!a1.JS.isFlags(l.flags))throw new Error("Invalid flags");let k=a1.DFA.fromFA(a1.NFA.fromRegex(E,{maxCharacter:v.maximum}));k.minimize();let I=k.toRegex(),M=a1.JS.toLiteral(I,{flags:l.flags}).source,$=I.alternatives.length>1?"(?:"+M+")":M;return u.replace([f,g,d],$)}})(e,m,t,a,i,c)}}}}function J6(e,n,a,i){let m=N.toUnicodeSet(a.element,e),t=N.toUnicodeSet(i.element,e);if(!m.accept.isEmpty||!t.accept.isEmpty)return;let r=m.chars,s=t.chars,o;if(o=r.isSubsetOf(s)?a:s.isSubsetOf(r)?i:void 0,o)return{which:o,replacement:M6(o.element,o.min)};let x=e7(s.without(r),e).source,c=i.element.raw+Ie({min:Math.max(0,i.min-1),max:1/0,greedy:i.greedy}),l;if(i.min===0){let u=i.greedy?"":"?";l=`(?:${e1(n,[x,c])})?${u}`}else{let u=e7(s.intersect(r),e).source,p=M6(i.element,i.min-1);l=`(?:${e1(n,[x,c])}|${e1(n,[u,p])})`}return{which:i,replacement:l}}var Om=()=>{};function Rm(e){return{set:e,pick:String.fromCodePoint(a1.Words.pickMostReadableCharacter(e)),literal:e7(e)}}function F6(e,n){return N.hasSomeAncestor(n,(a=>a===e))}var j6=new U6.RegExpParser;a7.analyse=function(e,n){let{pattern:a,flags:i}=(function(g){if("source"in g){let h=j6.parseFlags(g.flags);return{pattern:j6.parsePattern(g.source,void 0,void 0,h),flags:h}}return g})(e),{maxReports:m,reportTypes:t,assumeRejectingSuffix:r}=(function(g){var h,y,C;return{maxReports:(h=g?.maxReports)!==null&&h!==void 0?h:1/0,reportTypes:(y=g?.reportTypes)!==null&&y!==void 0?y:{},assumeRejectingSuffix:(C=g?.assumeRejectingSuffix)!==null&&C!==void 0&&C}})(n),s={parsed:{pattern:a,flags:i},literal:{source:a.raw,flags:i.raw},reports:[]};if(m<=0)return s;function o(g){s.reports.length<m&&t[g.type]!==!1&&((function(h,y){switch(y.type){case"Move":break;case"Self":y.fix=()=>(function(v,S){let{quant:w,parentQuant:E}=S;if(w.greedy!==E.greedy)return;let k=new Lm(v);if(w.parent.elements.length===1&&w.parent.parent.type==="Group"&&w.parent.parent.parent===E){if(w.parent.parent.alternatives.length===1){let I=w.min,M=w.max,$=E.min,Mn=E.max;if(M===1/0&&$===0?I<=1:$===Mn||M*$+1>=I*($+1)){let kn={min:I*$,max:M*Mn,greedy:w.greedy};return k.replace(E,w.element.raw+Ie(kn))}}if(E.max===1/0){if(w.min===1||w.min===0&&E.min===0)return k.replace(w,w.element.raw);if(w.min===0)return k.replace(w,w.element.raw+Ie({min:0,max:1,greedy:w.greedy}))}}})(h,y)||void 0;break;case"Trade":y.fix=()=>O_(h,y)||void 0;break;default:vi(y)}})(s.parsed,g),s.reports.push(g))}let x=(function(g){let h=new Map;return function(y){let C=h.get(y);return C===void 0&&(C=g(y),h.set(y,C)),C}})((g=>u1(g,i))),c={fork:g=>g,join:g=>B6(g,i),continueAfter:(g,h)=>!(h.assert.isEmpty&&h.consume.isEmpty)&&s.reports.length<m,continueInto:(g,h)=>!(h.assert.isEmpty&&h.consume.isEmpty)&&s.reports.length<m,leave(g,h){switch(g.type){case"Assertion":case"Backreference":case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return G6([h,x(g)],i);case"CapturingGroup":case"Group":case"Quantifier":return h;default:vi(g)}}},l=new Map,u=new Map;function p(g,h,y){let C=g.get(h);return C===void 0&&(C=new Set,g.set(h,C)),!!C.has(y)||(C.add(y),!1)}function f(g,h){let y=x(h).consume.intersect(g.consume.union(g.assert));if(y.isEmpty||r)return y;{let v=$6((C=h,N.followPaths(C,"next",{consume:N.Chars.empty(i),assert:N.Chars.all(i)},c))).assert;return y.without(v)}var C}function d(g,h,y){if(h.max!==1/0)return;let C=f(y,h);if(C.isEmpty)return;let v,S,w;g===h?(v=g,S=(function(E){let k=E.parent;for(;k;){if(k.type==="Quantifier")return k;k=k.parent}throw new Error("Cannot get parent quant of `"+E.raw+"`")})(g)):F6(h,g)?(v=g,S=h):F6(g,h)&&(v=h,S=g),v&&S&&(w=(function(E,k){let I,M=k.parent;for(;M;){if(M===E)return I;M.type==="Assertion"&&(I=M),M=M.parent}throw new Error("The given nodes are not parent and child.")})(S,v))?p(u,g,w)||o({type:"Trade",startQuant:g,endQuant:h,character:Rm(C),fix:Om,exponential:!1}):v&&S&&R6(S,v,C,"ltr",i)&&R6(S,v,C,"rtl",i)?p(l,v,S)||o({type:"Self",quant:v,parentQuant:S,character:Rm(C),fix:Om,exponential:L6(S)}):p(u,g,h)||o({type:"Trade",startQuant:g,endQuant:h,character:Rm(C),fix:Om,exponential:L6(N.getClosestAncestor(g,h))})}if(U6.visitRegExpAST(a,{onQuantifierLeave(g){if(g.max!==1/0||s.reports.length>=m)return;let h=x(g.element);h.consume.isEmpty||(N.followPaths(g,"next",h,Object.assign(Object.assign({},c),{enter:(y,C)=>(y.type==="Quantifier"&&d(g,y,C),C)})),N.followPaths(g,"enter",h,Object.assign(Object.assign({},c),{enter:(y,C)=>(y!==g&&y.type==="Quantifier"&&d(g,y,C),C),continueAfter:(y,C,v)=>c.continueAfter(y,C,v)&&y!==g})))}}),!i.sticky&&s.reports.length<m&&t.Move!==!1){let g=function(y,C){if(y.max!==1/0)return;let v=f(C,y);v.isEmpty||o({type:"Move",quant:y,character:Rm(v),fix:Om,exponential:!1})},h={consume:N.Chars.all(i),assert:N.Chars.empty(i)};for(let y of a.alternatives)y.elements.length!==0&&N.followPaths(y.elements[0],"enter",h,Object.assign(Object.assign({},c),{enter:(C,v)=>(C.type==="Quantifier"&&g(C,v),v)}))}return s}});var p8=Object.defineProperty,ut=(e,n)=>{let a={};for(var i in e)p8(a,i,{get:e[i],enumerable:!0});return n||p8(a,Symbol.toStringTag,{value:"Module"}),a};var _=lt(rr(),1);import R_ from"node:module";var Ls=2025,tm,rm;function zy(e){return e<65?!1:e<91?!0:e<97?!1:e<123?!0:Ms(e)}function Ns(e){return e<48?!1:e<58?!0:e<65?!1:e<91||e===95?!0:e<97?!1:e<123?!0:Ms(e)||qy(e)}function Ms(e){return Js(e,tm??(tm=Hy()))}function qy(e){return Js(e,rm??(rm=Ky()))}function Hy(){return Fs("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 6 n 2 6 h 15 1n 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 2 1 3 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 v 2 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 h e i f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 7 1j t e 1 b 17 r z 16 2 b z 3 a 6 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 6c 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t h3g 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 29 l g 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f d a 2 e 2 6 2 1 2 a 2 e 2 6 2 1 4 1f d 8m a l b 7 p 5 2 15 2 8 1y 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 7 p 13 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 13 r a m 6z 15 7 1 h 5 1l s b 0 9 l 17 h 1b k s m d 1g 1m 1 3 0 e 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o k 1 1s 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 v 9 2 0 3 0 2 11 2 0 q 0 2 0 19 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 12 6 56 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 j 20 5k w w 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 o 17 79 i g 0 2 c 2 x 3h 0 28 pl 2v 32 i 5f 219 2o g tr i 5 q 32y 6 g6 5a2 t 1cz fs 8 u i 26 i t j 1b h 3 w k 6 i c1 18 5w 1r x o 3 o 19 22 6 0 1v c 1t 1 2 0 f 4 a 5p1 16 v 2q 36 6pq 3 2 6 2 1 2 82 g 0 u 2 3 0 f 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1f9 u 7 5 7a 1p 43 18 b 6 h 0 8y t j 17 dh r 6d t 3 0 5s u 2 2 2 1 2 6 3 4 a 1 69 6 2 3 2 1 2 e 2 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyn x 3dp 3 4gd 3 5rk g h9 1wj f1 15v 3t6 6 6jt")}function Ky(){return Fs("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 1o 8 17 n 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1k 0 2 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 4 0 d 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 6 2 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 3 t 2 u 1 v 1 1t v a 0 3 9 y 2 2 a 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 u 3 b l 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1r el 1 1e 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 2p 0 n51 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 12 0 ig 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 7 9 w 4 8u 1 26 5 1z a 1e 3 3f 2 1i e w a 3 1 b 3 1a a 8 0 1a 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 3 0 4e b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 1w 8 2 0 3 0 2 3 2 4 2 0 f 1 2b h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 7 j 1m e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f 5j 7 3t 9 1i 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 1j 9 7e 3 a 1 2 0 1d 6 4 4 e a 44m 0 7 e 8uh r 1t3 9 2f 9 13 4 1o 6 q 9 ev 9 d2 0 2 1i 8 3 2a 0 c 1 f58 1 382 9 ef 19 3 m f3 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 2t 0 4h 6 a 9 9x 0 1q d dv d 6t 1 2 9 6h 0 3 0 8 1 6 0 d7 6 32 6 6 9 3o7 9 gvt3 6n")}function Js(e,n){let a=0,i=n.length/2|0,m=0,t=0,r=0;for(;a<i;)if(m=(a+i)/2|0,t=n[2*m],r=n[2*m+1],e<t)i=m;else if(e>r)a=m+1;else return!0;return!1}function Fs(e){let n=0;return e.split(" ").map(a=>n+=parseInt(a,36)|0)}var ha=class{constructor(n,a,i,m,t,r,s,o,x){this._raw2018=n,this._raw2019=a,this._raw2020=i,this._raw2021=m,this._raw2022=t,this._raw2023=r,this._raw2024=s,this._raw2025=o,this._raw2026=x}get es2018(){var n;return(n=this._set2018)!==null&&n!==void 0?n:this._set2018=new Set(this._raw2018.split(" "))}get es2019(){var n;return(n=this._set2019)!==null&&n!==void 0?n:this._set2019=new Set(this._raw2019.split(" "))}get es2020(){var n;return(n=this._set2020)!==null&&n!==void 0?n:this._set2020=new Set(this._raw2020.split(" "))}get es2021(){var n;return(n=this._set2021)!==null&&n!==void 0?n:this._set2021=new Set(this._raw2021.split(" "))}get es2022(){var n;return(n=this._set2022)!==null&&n!==void 0?n:this._set2022=new Set(this._raw2022.split(" "))}get es2023(){var n;return(n=this._set2023)!==null&&n!==void 0?n:this._set2023=new Set(this._raw2023.split(" "))}get es2024(){var n;return(n=this._set2024)!==null&&n!==void 0?n:this._set2024=new Set(this._raw2024.split(" "))}get es2025(){var n;return(n=this._set2025)!==null&&n!==void 0?n:this._set2025=new Set(this._raw2025.split(" "))}get es2026(){var n;return(n=this._set2026)!==null&&n!==void 0?n:this._set2026=new Set(this._raw2026.split(" "))}},Yy=new Set(["General_Category","gc"]),Xy=new Set(["Script","Script_Extensions","sc","scx"]),Zy=new ha("C Cased_Letter Cc Cf Close_Punctuation Cn Co Combining_Mark Connector_Punctuation Control Cs Currency_Symbol Dash_Punctuation Decimal_Number Enclosing_Mark Final_Punctuation Format Initial_Punctuation L LC Letter Letter_Number Line_Separator Ll Lm Lo Lowercase_Letter Lt Lu M Mark Math_Symbol Mc Me Mn Modifier_Letter Modifier_Symbol N Nd Nl No Nonspacing_Mark Number Open_Punctuation Other Other_Letter Other_Number Other_Punctuation Other_Symbol P Paragraph_Separator Pc Pd Pe Pf Pi Po Private_Use Ps Punctuation S Sc Separator Sk Sm So Space_Separator Spacing_Mark Surrogate Symbol Titlecase_Letter Unassigned Uppercase_Letter Z Zl Zp Zs cntrl digit punct","","","","","","","",""),ca=new ha("Adlam Adlm Aghb Ahom Anatolian_Hieroglyphs Arab Arabic Armenian Armi Armn Avestan Avst Bali Balinese Bamu Bamum Bass Bassa_Vah Batak Batk Beng Bengali Bhaiksuki Bhks Bopo Bopomofo Brah Brahmi Brai Braille Bugi Buginese Buhd Buhid Cakm Canadian_Aboriginal Cans Cari Carian Caucasian_Albanian Chakma Cham Cher Cherokee Common Copt Coptic Cprt Cuneiform Cypriot Cyrillic Cyrl Deseret Deva Devanagari Dsrt Dupl Duployan Egyp Egyptian_Hieroglyphs Elba Elbasan Ethi Ethiopic Geor Georgian Glag Glagolitic Gonm Goth Gothic Gran Grantha Greek Grek Gujarati Gujr Gurmukhi Guru Han Hang Hangul Hani Hano Hanunoo Hatr Hatran Hebr Hebrew Hira Hiragana Hluw Hmng Hung Imperial_Aramaic Inherited Inscriptional_Pahlavi Inscriptional_Parthian Ital Java Javanese Kaithi Kali Kana Kannada Katakana Kayah_Li Khar Kharoshthi Khmer Khmr Khoj Khojki Khudawadi Knda Kthi Lana Lao Laoo Latin Latn Lepc Lepcha Limb Limbu Lina Linb Linear_A Linear_B Lisu Lyci Lycian Lydi Lydian Mahajani Mahj Malayalam Mand Mandaic Mani Manichaean Marc Marchen Masaram_Gondi Meetei_Mayek Mend Mende_Kikakui Merc Mero Meroitic_Cursive Meroitic_Hieroglyphs Miao Mlym Modi Mong Mongolian Mro Mroo Mtei Mult Multani Myanmar Mymr Nabataean Narb Nbat New_Tai_Lue Newa Nko Nkoo Nshu Nushu Ogam Ogham Ol_Chiki Olck Old_Hungarian Old_Italic Old_North_Arabian Old_Permic Old_Persian Old_South_Arabian Old_Turkic Oriya Orkh Orya Osage Osge Osma Osmanya Pahawh_Hmong Palm Palmyrene Pau_Cin_Hau Pauc Perm Phag Phags_Pa Phli Phlp Phnx Phoenician Plrd Prti Psalter_Pahlavi Qaac Qaai Rejang Rjng Runic Runr Samaritan Samr Sarb Saur Saurashtra Sgnw Sharada Shavian Shaw Shrd Sidd Siddham SignWriting Sind Sinh Sinhala Sora Sora_Sompeng Soyo Soyombo Sund Sundanese Sylo Syloti_Nagri Syrc Syriac Tagalog Tagb Tagbanwa Tai_Le Tai_Tham Tai_Viet Takr Takri Tale Talu Tamil Taml Tang Tangut Tavt Telu Telugu Tfng Tglg Thaa Thaana Thai Tibetan Tibt Tifinagh Tirh Tirhuta Ugar Ugaritic Vai Vaii Wara Warang_Citi Xpeo Xsux Yi Yiii Zanabazar_Square Zanb Zinh Zyyy","Dogr Dogra Gong Gunjala_Gondi Hanifi_Rohingya Maka Makasar Medefaidrin Medf Old_Sogdian Rohg Sogd Sogdian Sogo","Elym Elymaic Hmnp Nand Nandinagari Nyiakeng_Puachue_Hmong Wancho Wcho","Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi","Cpmn Cypro_Minoan Old_Uyghur Ougr Tangsa Tnsa Toto Vith Vithkuqi","Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz","","",""),sr=new ha("AHex ASCII ASCII_Hex_Digit Alpha Alphabetic Any Assigned Bidi_C Bidi_Control Bidi_M Bidi_Mirrored CI CWCF CWCM CWKCF CWL CWT CWU Case_Ignorable Cased Changes_When_Casefolded Changes_When_Casemapped Changes_When_Lowercased Changes_When_NFKC_Casefolded Changes_When_Titlecased Changes_When_Uppercased DI Dash Default_Ignorable_Code_Point Dep Deprecated Dia Diacritic Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Ext Extender Gr_Base Gr_Ext Grapheme_Base Grapheme_Extend Hex Hex_Digit IDC IDS IDSB IDST IDS_Binary_Operator IDS_Trinary_Operator ID_Continue ID_Start Ideo Ideographic Join_C Join_Control LOE Logical_Order_Exception Lower Lowercase Math NChar Noncharacter_Code_Point Pat_Syn Pat_WS Pattern_Syntax Pattern_White_Space QMark Quotation_Mark RI Radical Regional_Indicator SD STerm Sentence_Terminal Soft_Dotted Term Terminal_Punctuation UIdeo Unified_Ideograph Upper Uppercase VS Variation_Selector White_Space XIDC XIDS XID_Continue XID_Start space","Extended_Pictographic","","EBase EComp EMod EPres ExtPict","","","","",""),nC=new ha("","","","","","","Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji RGI_Emoji_Flag_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence","","");function ks(e,n,a){return Yy.has(n)?e>=2018&&Zy.es2018.has(a):Xy.has(n)?e>=2018&&ca.es2018.has(a)||e>=2019&&ca.es2019.has(a)||e>=2020&&ca.es2020.has(a)||e>=2021&&ca.es2021.has(a)||e>=2022&&ca.es2022.has(a)||e>=2023&&ca.es2023.has(a):!1}function eC(e,n){return e>=2018&&sr.es2018.has(n)||e>=2019&&sr.es2019.has(n)||e>=2021&&sr.es2021.has(n)}function aC(e,n){return e>=2024&&nC.es2024.has(n)}var Ts=8,iC=9,js=10,mC=11,tC=12,Us=13,cm=33,Ds=35,pa=36,Gs=37,ge=38,ye=40,Ce=41,si=42,lm=43,_r=44,Rn=45,um=46,ri=47,$1=48,rC=49,sC=55,hm=57,pm=58,Bs=59,oi=60,xi=61,Sr=62,Yn=63,Vs=64,fm=65,oC=66,xC=68,$s=70,cC=80,lC=83,uC=87,hC=90,wr=95,dm=97,or=98,la=99,hr=100,Er=102,Ws=103,br=105,As=107,kr=109,pC=110,fC=112,dC=113,gC=114,gm=115,yC=116,om=117,pr=118,CC=119,vC=120,Qs=121,_C=122,ve=91,en=92,b1=93,ua=94,zs=96,_e=123,ci=124,Se=125,qs=126,SC=8204,wC=8205,EC=8232,bC=8233,kC=0,TC=1114111;function Hs(e){return e>=fm&&e<=hC||e>=dm&&e<=_C}function xm(e){return e>=$1&&e<=hm}function AC(e){return e>=$1&&e<=sC}function Is(e){return e>=$1&&e<=hm||e>=fm&&e<=$s||e>=dm&&e<=Er}function IC(e){return e===js||e===Us||e===EC||e===bC}function PC(e){return e>=kC&&e<=TC}function xr(e){return e>=dm&&e<=Er?e-dm+10:e>=fm&&e<=$s?e-fm+10:e-$1}function cr(e){return e>=55296&&e<=56319}function lr(e){return e>=56320&&e<=57343}function ur(e,n){return(e-55296)*1024+(n-56320)+65536}var fr=class{constructor(){this.groupName=new Set}clear(){this.groupName.clear()}isEmpty(){return!this.groupName.size}hasInPattern(n){return this.groupName.has(n)}hasInScope(n){return this.hasInPattern(n)}addToScope(n){this.groupName.add(n)}enterDisjunction(){}enterAlternative(){}leaveDisjunction(){}},ym=class e{constructor(n,a){this.parent=n,this.base=a??this}separatedFrom(n){var a,i;return this.base===n.base&&this!==n||n.parent&&this.separatedFrom(n.parent)?!0:(i=(a=this.parent)===null||a===void 0?void 0:a.separatedFrom(n))!==null&&i!==void 0?i:!1}child(){return new e(this,null)}sibling(){return new e(this.parent,this.base)}},dr=class{constructor(){this.branchID=new ym(null,null),this.groupNames=new Map}clear(){this.branchID=new ym(null,null),this.groupNames.clear()}isEmpty(){return!this.groupNames.size}enterDisjunction(){this.branchID=this.branchID.child()}enterAlternative(n){n!==0&&(this.branchID=this.branchID.sibling())}leaveDisjunction(){this.branchID=this.branchID.parent}hasInPattern(n){return this.groupNames.has(n)}hasInScope(n){let a=this.groupNames.get(n);if(!a)return!1;for(let i of a)if(!i.separatedFrom(this.branchID))return!0;return!1}addToScope(n){let a=this.groupNames.get(n);if(a){a.push(this.branchID);return}this.groupNames.set(n,[this.branchID])}},Ps={at(e,n,a){return a<n?e.charCodeAt(a):-1},width(e){return 1}},OC={at(e,n,a){return a<n?e.codePointAt(a):-1},width(e){return e>65535?2:1}},gr=class{constructor(){this._impl=Ps,this._s="",this._i=0,this._end=0,this._cp1=-1,this._w1=1,this._cp2=-1,this._w2=1,this._cp3=-1,this._w3=1,this._cp4=-1}get source(){return this._s}get index(){return this._i}get currentCodePoint(){return this._cp1}get nextCodePoint(){return this._cp2}get nextCodePoint2(){return this._cp3}get nextCodePoint3(){return this._cp4}reset(n,a,i,m){this._impl=m?OC:Ps,this._s=n,this._end=i,this.rewind(a)}rewind(n){let a=this._impl;this._i=n,this._cp1=a.at(this._s,this._end,n),this._w1=a.width(this._cp1),this._cp2=a.at(this._s,this._end,n+this._w1),this._w2=a.width(this._cp2),this._cp3=a.at(this._s,this._end,n+this._w1+this._w2),this._w3=a.width(this._cp3),this._cp4=a.at(this._s,this._end,n+this._w1+this._w2+this._w3)}advance(){if(this._cp1!==-1){let n=this._impl;this._i+=this._w1,this._cp1=this._cp2,this._w1=this._w2,this._cp2=this._cp3,this._w2=n.width(this._cp2),this._cp3=this._cp4,this._w3=n.width(this._cp3),this._cp4=n.at(this._s,this._end,this._i+this._w1+this._w2+this._w3)}}eat(n){return this._cp1===n?(this.advance(),!0):!1}eat2(n,a){return this._cp1===n&&this._cp2===a?(this.advance(),this.advance(),!0):!1}eat3(n,a,i){return this._cp1===n&&this._cp2===a&&this._cp3===i?(this.advance(),this.advance(),this.advance(),!0):!1}},yr=class extends SyntaxError{constructor(n,a){super(n),this.index=a}};function RC(e,n,a,i){let m="";if(e.kind==="literal"){let t=e.source.slice(e.start,e.end);t&&(m=`: ${t}`)}else if(e.kind==="pattern"){let t=e.source.slice(e.start,e.end),r=`${n.unicode?"u":""}${n.unicodeSets?"v":""}`;m=`: /${t}/${r}`}return new yr(`Invalid regular expression${m}: ${i}`,a)}var LC=new Set([ua,pa,en,um,si,lm,Yn,ye,Ce,ve,b1,_e,Se,ci]),NC=new Set([ge,cm,Ds,pa,Gs,si,lm,_r,um,pm,Bs,oi,xi,Sr,Yn,Vs,ua,zs,qs]),MC=new Set([ye,Ce,ve,b1,_e,Se,ri,Rn,en,ci]),JC=new Set([ge,Rn,cm,Ds,Gs,_r,pm,Bs,oi,xi,Sr,Vs,zs,qs]),Ks={global:Ws,ignoreCase:br,multiline:kr,unicode:om,sticky:Qs,dotAll:gm,hasIndices:hr,unicodeSets:pr},FC=Object.fromEntries(Object.entries(Ks).map(([e,n])=>[n,e]));function Os(e){return LC.has(e)}function Rs(e){return NC.has(e)}function jC(e){return MC.has(e)}function UC(e){return JC.has(e)}function DC(e){return zy(e)||e===pa||e===wr}function GC(e){return Ns(e)||e===pa||e===SC||e===wC}function Ys(e){return Hs(e)||e===wr}function BC(e){return Ys(e)||xm(e)}function VC(e){return e===br||e===kr||e===gm}var li=class{constructor(n){this._reader=new gr,this._unicodeMode=!1,this._unicodeSetsMode=!1,this._nFlag=!1,this._lastIntValue=0,this._lastRange={min:0,max:Number.POSITIVE_INFINITY},this._lastStrValue="",this._lastAssertionIsQuantifiable=!1,this._numCapturingParens=0,this._backreferenceNames=new Set,this._srcCtx=null,this._options=n??{},this._groupSpecifiers=this.ecmaVersion>=2025?new dr:new fr}validateLiteral(n,a=0,i=n.length){if(this._srcCtx={source:n,start:a,end:i,kind:"literal"},this._unicodeSetsMode=this._unicodeMode=this._nFlag=!1,this.reset(n,a,i),this.onLiteralEnter(a),this.eat(ri)&&this.eatRegExpBody()&&this.eat(ri)){let m=this.index,t=n.includes("u",m),r=n.includes("v",m);this.validateFlagsInternal(n,m,i),this.validatePatternInternal(n,a+1,m-1,{unicode:t,unicodeSets:r})}else if(a>=i)this.raise("Empty");else{let m=String.fromCodePoint(this.currentCodePoint);this.raise(`Unexpected character '${m}'`)}this.onLiteralLeave(a,i)}validateFlags(n,a=0,i=n.length){this._srcCtx={source:n,start:a,end:i,kind:"flags"},this.validateFlagsInternal(n,a,i)}validatePattern(n,a=0,i=n.length,m=void 0){this._srcCtx={source:n,start:a,end:i,kind:"pattern"},this.validatePatternInternal(n,a,i,m)}validatePatternInternal(n,a=0,i=n.length,m=void 0){let t=this._parseFlagsOptionToMode(m,i);this._unicodeMode=t.unicodeMode,this._nFlag=t.nFlag,this._unicodeSetsMode=t.unicodeSetsMode,this.reset(n,a,i),this.consumePattern(),!this._nFlag&&this.ecmaVersion>=2018&&!this._groupSpecifiers.isEmpty()&&(this._nFlag=!0,this.rewind(a),this.consumePattern())}validateFlagsInternal(n,a,i){let m=this.parseFlags(n,a,i);this.onRegExpFlags(a,i,m)}_parseFlagsOptionToMode(n,a){let i=!1,m=!1;n&&this.ecmaVersion>=2015&&(typeof n=="object"?(i=!!n.unicode,this.ecmaVersion>=2024&&(m=!!n.unicodeSets)):i=n),i&&m&&this.raise("Invalid regular expression flags",{index:a+1,unicode:i,unicodeSets:m});let t=i||m,r=i&&this.ecmaVersion>=2018||m||!!(this._options.strict&&this.ecmaVersion>=2023);return{unicodeMode:t,nFlag:r,unicodeSetsMode:m}}get strict(){return!!this._options.strict||this._unicodeMode}get ecmaVersion(){var n;return(n=this._options.ecmaVersion)!==null&&n!==void 0?n:Ls}onLiteralEnter(n){this._options.onLiteralEnter&&this._options.onLiteralEnter(n)}onLiteralLeave(n,a){this._options.onLiteralLeave&&this._options.onLiteralLeave(n,a)}onRegExpFlags(n,a,i){this._options.onRegExpFlags&&this._options.onRegExpFlags(n,a,i),this._options.onFlags&&this._options.onFlags(n,a,i.global,i.ignoreCase,i.multiline,i.unicode,i.sticky,i.dotAll,i.hasIndices)}onPatternEnter(n){this._options.onPatternEnter&&this._options.onPatternEnter(n)}onPatternLeave(n,a){this._options.onPatternLeave&&this._options.onPatternLeave(n,a)}onDisjunctionEnter(n){this._options.onDisjunctionEnter&&this._options.onDisjunctionEnter(n)}onDisjunctionLeave(n,a){this._options.onDisjunctionLeave&&this._options.onDisjunctionLeave(n,a)}onAlternativeEnter(n,a){this._options.onAlternativeEnter&&this._options.onAlternativeEnter(n,a)}onAlternativeLeave(n,a,i){this._options.onAlternativeLeave&&this._options.onAlternativeLeave(n,a,i)}onGroupEnter(n){this._options.onGroupEnter&&this._options.onGroupEnter(n)}onGroupLeave(n,a){this._options.onGroupLeave&&this._options.onGroupLeave(n,a)}onModifiersEnter(n){this._options.onModifiersEnter&&this._options.onModifiersEnter(n)}onModifiersLeave(n,a){this._options.onModifiersLeave&&this._options.onModifiersLeave(n,a)}onAddModifiers(n,a,i){this._options.onAddModifiers&&this._options.onAddModifiers(n,a,i)}onRemoveModifiers(n,a,i){this._options.onRemoveModifiers&&this._options.onRemoveModifiers(n,a,i)}onCapturingGroupEnter(n,a){this._options.onCapturingGroupEnter&&this._options.onCapturingGroupEnter(n,a)}onCapturingGroupLeave(n,a,i){this._options.onCapturingGroupLeave&&this._options.onCapturingGroupLeave(n,a,i)}onQuantifier(n,a,i,m,t){this._options.onQuantifier&&this._options.onQuantifier(n,a,i,m,t)}onLookaroundAssertionEnter(n,a,i){this._options.onLookaroundAssertionEnter&&this._options.onLookaroundAssertionEnter(n,a,i)}onLookaroundAssertionLeave(n,a,i,m){this._options.onLookaroundAssertionLeave&&this._options.onLookaroundAssertionLeave(n,a,i,m)}onEdgeAssertion(n,a,i){this._options.onEdgeAssertion&&this._options.onEdgeAssertion(n,a,i)}onWordBoundaryAssertion(n,a,i,m){this._options.onWordBoundaryAssertion&&this._options.onWordBoundaryAssertion(n,a,i,m)}onAnyCharacterSet(n,a,i){this._options.onAnyCharacterSet&&this._options.onAnyCharacterSet(n,a,i)}onEscapeCharacterSet(n,a,i,m){this._options.onEscapeCharacterSet&&this._options.onEscapeCharacterSet(n,a,i,m)}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){this._options.onUnicodePropertyCharacterSet&&this._options.onUnicodePropertyCharacterSet(n,a,i,m,t,r,s)}onCharacter(n,a,i){this._options.onCharacter&&this._options.onCharacter(n,a,i)}onBackreference(n,a,i){this._options.onBackreference&&this._options.onBackreference(n,a,i)}onCharacterClassEnter(n,a,i){this._options.onCharacterClassEnter&&this._options.onCharacterClassEnter(n,a,i)}onCharacterClassLeave(n,a,i){this._options.onCharacterClassLeave&&this._options.onCharacterClassLeave(n,a,i)}onCharacterClassRange(n,a,i,m){this._options.onCharacterClassRange&&this._options.onCharacterClassRange(n,a,i,m)}onClassIntersection(n,a){this._options.onClassIntersection&&this._options.onClassIntersection(n,a)}onClassSubtraction(n,a){this._options.onClassSubtraction&&this._options.onClassSubtraction(n,a)}onClassStringDisjunctionEnter(n){this._options.onClassStringDisjunctionEnter&&this._options.onClassStringDisjunctionEnter(n)}onClassStringDisjunctionLeave(n,a){this._options.onClassStringDisjunctionLeave&&this._options.onClassStringDisjunctionLeave(n,a)}onStringAlternativeEnter(n,a){this._options.onStringAlternativeEnter&&this._options.onStringAlternativeEnter(n,a)}onStringAlternativeLeave(n,a,i){this._options.onStringAlternativeLeave&&this._options.onStringAlternativeLeave(n,a,i)}get index(){return this._reader.index}get currentCodePoint(){return this._reader.currentCodePoint}get nextCodePoint(){return this._reader.nextCodePoint}get nextCodePoint2(){return this._reader.nextCodePoint2}get nextCodePoint3(){return this._reader.nextCodePoint3}reset(n,a,i){this._reader.reset(n,a,i,this._unicodeMode)}rewind(n){this._reader.rewind(n)}advance(){this._reader.advance()}eat(n){return this._reader.eat(n)}eat2(n,a){return this._reader.eat2(n,a)}eat3(n,a,i){return this._reader.eat3(n,a,i)}raise(n,a){var i,m,t;throw RC(this._srcCtx,{unicode:(i=a?.unicode)!==null&&i!==void 0?i:this._unicodeMode&&!this._unicodeSetsMode,unicodeSets:(m=a?.unicodeSets)!==null&&m!==void 0?m:this._unicodeSetsMode},(t=a?.index)!==null&&t!==void 0?t:this.index,n)}eatRegExpBody(){let n=this.index,a=!1,i=!1;for(;;){let m=this.currentCodePoint;if(m===-1||IC(m)){let t=a?"character class":"regular expression";this.raise(`Unterminated ${t}`)}if(i)i=!1;else if(m===en)i=!0;else if(m===ve)a=!0;else if(m===b1)a=!1;else if(m===ri&&!a||m===si&&this.index===n)break;this.advance()}return this.index!==n}consumePattern(){let n=this.index;this._numCapturingParens=this.countCapturingParens(),this._groupSpecifiers.clear(),this._backreferenceNames.clear(),this.onPatternEnter(n),this.consumeDisjunction();let a=this.currentCodePoint;if(this.currentCodePoint!==-1){a===Ce&&this.raise("Unmatched ')'"),a===en&&this.raise("\\ at end of pattern"),(a===b1||a===Se)&&this.raise("Lone quantifier brackets");let i=String.fromCodePoint(a);this.raise(`Unexpected character '${i}'`)}for(let i of this._backreferenceNames)this._groupSpecifiers.hasInPattern(i)||this.raise("Invalid named capture referenced");this.onPatternLeave(n,this.index)}countCapturingParens(){let n=this.index,a=!1,i=!1,m=0,t=0;for(;(t=this.currentCodePoint)!==-1;)i?i=!1:t===en?i=!0:t===ve?a=!0:t===b1?a=!1:t===ye&&!a&&(this.nextCodePoint!==Yn||this.nextCodePoint2===oi&&this.nextCodePoint3!==xi&&this.nextCodePoint3!==cm)&&(m+=1),this.advance();return this.rewind(n),m}consumeDisjunction(){let n=this.index,a=0;this._groupSpecifiers.enterDisjunction(),this.onDisjunctionEnter(n);do this.consumeAlternative(a++);while(this.eat(ci));this.consumeQuantifier(!0)&&this.raise("Nothing to repeat"),this.eat(_e)&&this.raise("Lone quantifier brackets"),this.onDisjunctionLeave(n,this.index),this._groupSpecifiers.leaveDisjunction()}consumeAlternative(n){let a=this.index;for(this._groupSpecifiers.enterAlternative(n),this.onAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeTerm(););this.onAlternativeLeave(a,this.index,n)}consumeTerm(){return this._unicodeMode||this.strict?this.consumeAssertion()||this.consumeAtom()&&this.consumeOptionalQuantifier():this.consumeAssertion()&&(!this._lastAssertionIsQuantifiable||this.consumeOptionalQuantifier())||this.consumeExtendedAtom()&&this.consumeOptionalQuantifier()}consumeOptionalQuantifier(){return this.consumeQuantifier(),!0}consumeAssertion(){let n=this.index;if(this._lastAssertionIsQuantifiable=!1,this.eat(ua))return this.onEdgeAssertion(n,this.index,"start"),!0;if(this.eat(pa))return this.onEdgeAssertion(n,this.index,"end"),!0;if(this.eat2(en,oC))return this.onWordBoundaryAssertion(n,this.index,"word",!0),!0;if(this.eat2(en,or))return this.onWordBoundaryAssertion(n,this.index,"word",!1),!0;if(this.eat2(ye,Yn)){let a=this.ecmaVersion>=2018&&this.eat(oi),i=!1;if(this.eat(xi)||(i=this.eat(cm))){let m=a?"lookbehind":"lookahead";return this.onLookaroundAssertionEnter(n,m,i),this.consumeDisjunction(),this.eat(Ce)||this.raise("Unterminated group"),this._lastAssertionIsQuantifiable=!a&&!this.strict,this.onLookaroundAssertionLeave(n,this.index,m,i),!0}this.rewind(n)}return!1}consumeQuantifier(n=!1){let a=this.index,i=0,m=0,t=!1;if(this.eat(si))i=0,m=Number.POSITIVE_INFINITY;else if(this.eat(lm))i=1,m=Number.POSITIVE_INFINITY;else if(this.eat(Yn))i=0,m=1;else if(this.eatBracedQuantifier(n))({min:i,max:m}=this._lastRange);else return!1;return t=!this.eat(Yn),n||this.onQuantifier(a,this.index,i,m,t),!0}eatBracedQuantifier(n){let a=this.index;if(this.eat(_e)){if(this.eatDecimalDigits()){let i=this._lastIntValue,m=i;if(this.eat(_r)&&(m=this.eatDecimalDigits()?this._lastIntValue:Number.POSITIVE_INFINITY),this.eat(Se))return!n&&m<i&&this.raise("numbers out of order in {} quantifier"),this._lastRange={min:i,max:m},!0}!n&&(this._unicodeMode||this.strict)&&this.raise("Incomplete quantifier"),this.rewind(a)}return!1}consumeAtom(){return this.consumePatternCharacter()||this.consumeDot()||this.consumeReverseSolidusAtomEscape()||!!this.consumeCharacterClass()||this.consumeCapturingGroup()||this.consumeUncapturingGroup()}consumeDot(){return this.eat(um)?(this.onAnyCharacterSet(this.index-1,this.index,"any"),!0):!1}consumeReverseSolidusAtomEscape(){let n=this.index;if(this.eat(en)){if(this.consumeAtomEscape())return!0;this.rewind(n)}return!1}consumeUncapturingGroup(){let n=this.index;return this.eat2(ye,Yn)?(this.onGroupEnter(n),this.ecmaVersion>=2025&&this.consumeModifiers(),this.eat(pm)||(this.rewind(n+1),this.raise("Invalid group")),this.consumeDisjunction(),this.eat(Ce)||this.raise("Unterminated group"),this.onGroupLeave(n,this.index),!0):!1}consumeModifiers(){let n=this.index,a=this.eatModifiers(),i=this.index,m=this.eat(Rn);if(!a&&!m)return!1;this.onModifiersEnter(n);let t=this.parseModifiers(n,i);if(this.onAddModifiers(n,i,t),m){let r=this.index;!this.eatModifiers()&&!a&&this.currentCodePoint===pm&&this.raise("Invalid empty flags");let s=this.parseModifiers(r,this.index);for(let[o]of Object.entries(s).filter(([,x])=>x))t[o]&&this.raise(`Duplicated flag '${String.fromCodePoint(Ks[o])}'`);this.onRemoveModifiers(r,this.index,s)}return this.onModifiersLeave(n,this.index),!0}consumeCapturingGroup(){let n=this.index;if(this.eat(ye)){let a=null;if(this.ecmaVersion>=2018){if(this.consumeGroupSpecifier())a=this._lastStrValue;else if(this.currentCodePoint===Yn)return this.rewind(n),!1}else if(this.currentCodePoint===Yn)return this.rewind(n),!1;return this.onCapturingGroupEnter(n,a),this.consumeDisjunction(),this.eat(Ce)||this.raise("Unterminated group"),this.onCapturingGroupLeave(n,this.index,a),!0}return!1}consumeExtendedAtom(){return this.consumeDot()||this.consumeReverseSolidusAtomEscape()||this.consumeReverseSolidusFollowedByC()||!!this.consumeCharacterClass()||this.consumeCapturingGroup()||this.consumeUncapturingGroup()||this.consumeInvalidBracedQuantifier()||this.consumeExtendedPatternCharacter()}consumeReverseSolidusFollowedByC(){let n=this.index;return this.currentCodePoint===en&&this.nextCodePoint===la?(this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,en),!0):!1}consumeInvalidBracedQuantifier(){return this.eatBracedQuantifier(!0)&&this.raise("Nothing to repeat"),!1}consumePatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&!Os(a)?(this.advance(),this.onCharacter(n,this.index,a),!0):!1}consumeExtendedPatternCharacter(){let n=this.index,a=this.currentCodePoint;return a!==-1&&a!==ua&&a!==pa&&a!==en&&a!==um&&a!==si&&a!==lm&&a!==Yn&&a!==ye&&a!==Ce&&a!==ve&&a!==ci?(this.advance(),this.onCharacter(n,this.index,a),!0):!1}consumeGroupSpecifier(){let n=this.index;if(this.eat(Yn)){if(this.eatGroupName()){if(!this._groupSpecifiers.hasInScope(this._lastStrValue))return this._groupSpecifiers.addToScope(this._lastStrValue),!0;this.raise("Duplicate capture group name")}this.rewind(n)}return!1}consumeAtomEscape(){return this.consumeBackreference()||this.consumeCharacterClassEscape()||this.consumeCharacterEscape()||this._nFlag&&this.consumeKGroupName()?!0:((this.strict||this._unicodeMode)&&this.raise("Invalid escape"),!1)}consumeBackreference(){let n=this.index;if(this.eatDecimalEscape()){let a=this._lastIntValue;if(a<=this._numCapturingParens)return this.onBackreference(n-1,this.index,a),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeCharacterClassEscape(){var n;let a=this.index;if(this.eat(hr))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!1),{};if(this.eat(xC))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"digit",!0),{};if(this.eat(gm))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!1),{};if(this.eat(lC))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"space",!0),{};if(this.eat(CC))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!1),{};if(this.eat(uC))return this._lastIntValue=-1,this.onEscapeCharacterSet(a-1,this.index,"word",!0),{};let i=!1;if(this._unicodeMode&&this.ecmaVersion>=2018&&(this.eat(fC)||(i=this.eat(cC)))){this._lastIntValue=-1;let m=null;if(this.eat(_e)&&(m=this.eatUnicodePropertyValueExpression())&&this.eat(Se))return i&&m.strings&&this.raise("Invalid property name"),this.onUnicodePropertyCharacterSet(a-1,this.index,"property",m.key,m.value,i,(n=m.strings)!==null&&n!==void 0?n:!1),{mayContainStrings:m.strings};this.raise("Invalid property name")}return null}consumeCharacterEscape(){let n=this.index;return this.eatControlEscape()||this.eatCControlLetter()||this.eatZero()||this.eatHexEscapeSequence()||this.eatRegExpUnicodeEscapeSequence()||!this.strict&&!this._unicodeMode&&this.eatLegacyOctalEscapeSequence()||this.eatIdentityEscape()?(this.onCharacter(n-1,this.index,this._lastIntValue),!0):!1}consumeKGroupName(){let n=this.index;if(this.eat(As)){if(this.eatGroupName()){let a=this._lastStrValue;return this._backreferenceNames.add(a),this.onBackreference(n-1,this.index,a),!0}this.raise("Invalid named reference")}return!1}consumeCharacterClass(){let n=this.index;if(this.eat(ve)){let a=this.eat(ua);this.onCharacterClassEnter(n,a,this._unicodeSetsMode);let i=this.consumeClassContents();return this.eat(b1)||(this.currentCodePoint===-1&&this.raise("Unterminated character class"),this.raise("Invalid character in character class")),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}return null}consumeClassContents(){if(this._unicodeSetsMode)return this.currentCodePoint===b1?{}:this.consumeClassSetExpression();let n=this.strict||this._unicodeMode;for(;;){let a=this.index;if(!this.consumeClassAtom())break;let i=this._lastIntValue;if(!this.eat(Rn))continue;if(this.onCharacter(this.index-1,this.index,Rn),!this.consumeClassAtom())break;let m=this._lastIntValue;if(i===-1||m===-1){n&&this.raise("Invalid character class");continue}i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(a,this.index,i,m)}return{}}consumeClassAtom(){let n=this.index,a=this.currentCodePoint;if(a!==-1&&a!==en&&a!==b1)return this.advance(),this._lastIntValue=a,this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(en)){if(this.consumeClassEscape())return!0;if(!this.strict&&this.currentCodePoint===la)return this._lastIntValue=en,this.onCharacter(n,this.index,this._lastIntValue),!0;(this.strict||this._unicodeMode)&&this.raise("Invalid escape"),this.rewind(n)}return!1}consumeClassEscape(){let n=this.index;if(this.eat(or))return this._lastIntValue=Ts,this.onCharacter(n-1,this.index,this._lastIntValue),!0;if(this._unicodeMode&&this.eat(Rn))return this._lastIntValue=Rn,this.onCharacter(n-1,this.index,this._lastIntValue),!0;let a=0;return!this.strict&&!this._unicodeMode&&this.currentCodePoint===la&&(xm(a=this.nextCodePoint)||a===wr)?(this.advance(),this.advance(),this._lastIntValue=a%32,this.onCharacter(n-1,this.index,this._lastIntValue),!0):!!this.consumeCharacterClassEscape()||this.consumeCharacterEscape()}consumeClassSetExpression(){let n=this.index,a=!1,i=null;if(this.consumeClassSetCharacter()){if(this.consumeClassSetRangeFromOperator(n))return this.consumeClassUnionRight({}),{};a=!1}else if(i=this.consumeClassSetOperand())a=i.mayContainStrings;else{let m=this.currentCodePoint;m===en&&(this.advance(),this.raise("Invalid escape")),m===this.nextCodePoint&&Rs(m)&&this.raise("Invalid set operation in character class"),this.raise("Invalid character in character class")}if(this.eat2(ge,ge)){for(;this.currentCodePoint!==ge&&(i=this.consumeClassSetOperand());)if(this.onClassIntersection(n,this.index),i.mayContainStrings||(a=!1),!this.eat2(ge,ge))return{mayContainStrings:a};this.raise("Invalid character in character class")}if(this.eat2(Rn,Rn)){for(;this.consumeClassSetOperand();)if(this.onClassSubtraction(n,this.index),!this.eat2(Rn,Rn))return{mayContainStrings:a};this.raise("Invalid character in character class")}return this.consumeClassUnionRight({mayContainStrings:a})}consumeClassUnionRight(n){let a=n.mayContainStrings;for(;;){let i=this.index;if(this.consumeClassSetCharacter()){this.consumeClassSetRangeFromOperator(i);continue}let m=this.consumeClassSetOperand();if(m){m.mayContainStrings&&(a=!0);continue}break}return{mayContainStrings:a}}consumeClassSetRangeFromOperator(n){let a=this.index,i=this._lastIntValue;if(this.eat(Rn)){if(this.consumeClassSetCharacter()){let m=this._lastIntValue;return(i===-1||m===-1)&&this.raise("Invalid character class"),i>m&&this.raise("Range out of order in character class"),this.onCharacterClassRange(n,this.index,i,m),!0}this.rewind(a)}return!1}consumeClassSetOperand(){let n=null;return(n=this.consumeNestedClass())||(n=this.consumeClassStringDisjunction())?n:this.consumeClassSetCharacter()?{}:null}consumeNestedClass(){let n=this.index;if(this.eat(ve)){let a=this.eat(ua);this.onCharacterClassEnter(n,a,!0);let i=this.consumeClassContents();return this.eat(b1)||this.raise("Unterminated character class"),a&&i.mayContainStrings&&this.raise("Negated character class may contain strings"),this.onCharacterClassLeave(n,this.index,a),i}if(this.eat(en)){let a=this.consumeCharacterClassEscape();if(a)return a;this.rewind(n)}return null}consumeClassStringDisjunction(){let n=this.index;if(this.eat3(en,dC,_e)){this.onClassStringDisjunctionEnter(n);let a=0,i=!1;do this.consumeClassString(a++).mayContainStrings&&(i=!0);while(this.eat(ci));if(this.eat(Se))return this.onClassStringDisjunctionLeave(n,this.index),{mayContainStrings:i};this.raise("Unterminated class string disjunction")}return null}consumeClassString(n){let a=this.index,i=0;for(this.onStringAlternativeEnter(a,n);this.currentCodePoint!==-1&&this.consumeClassSetCharacter();)i++;return this.onStringAlternativeLeave(a,this.index,n),{mayContainStrings:i!==1}}consumeClassSetCharacter(){let n=this.index,a=this.currentCodePoint;if((a!==this.nextCodePoint||!Rs(a))&&a!==-1&&!jC(a))return this._lastIntValue=a,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(en)){if(this.consumeCharacterEscape())return!0;if(UC(this.currentCodePoint))return this._lastIntValue=this.currentCodePoint,this.advance(),this.onCharacter(n,this.index,this._lastIntValue),!0;if(this.eat(or))return this._lastIntValue=Ts,this.onCharacter(n,this.index,this._lastIntValue),!0;this.rewind(n)}return!1}eatGroupName(){if(this.eat(oi)){if(this.eatRegExpIdentifierName()&&this.eat(Sr))return!0;this.raise("Invalid capture group name")}return!1}eatRegExpIdentifierName(){if(this.eatRegExpIdentifierStart()){for(this._lastStrValue=String.fromCodePoint(this._lastIntValue);this.eatRegExpIdentifierPart();)this._lastStrValue+=String.fromCodePoint(this._lastIntValue);return!0}return!1}eatRegExpIdentifierStart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===en&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&cr(i)&&lr(this.currentCodePoint)&&(i=ur(i,this.currentCodePoint),this.advance()),DC(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatRegExpIdentifierPart(){let n=this.index,a=!this._unicodeMode&&this.ecmaVersion>=2020,i=this.currentCodePoint;return this.advance(),i===en&&this.eatRegExpUnicodeEscapeSequence(a)?i=this._lastIntValue:a&&cr(i)&&lr(this.currentCodePoint)&&(i=ur(i,this.currentCodePoint),this.advance()),GC(i)?(this._lastIntValue=i,!0):(this.index!==n&&this.rewind(n),!1)}eatCControlLetter(){let n=this.index;if(this.eat(la)){if(this.eatControlLetter())return!0;this.rewind(n)}return!1}eatZero(){return this.currentCodePoint===$1&&!xm(this.nextCodePoint)?(this._lastIntValue=0,this.advance(),!0):!1}eatControlEscape(){return this.eat(Er)?(this._lastIntValue=tC,!0):this.eat(pC)?(this._lastIntValue=js,!0):this.eat(gC)?(this._lastIntValue=Us,!0):this.eat(yC)?(this._lastIntValue=iC,!0):this.eat(pr)?(this._lastIntValue=mC,!0):!1}eatControlLetter(){let n=this.currentCodePoint;return Hs(n)?(this.advance(),this._lastIntValue=n%32,!0):!1}eatRegExpUnicodeEscapeSequence(n=!1){let a=this.index,i=n||this._unicodeMode;if(this.eat(om)){if(i&&this.eatRegExpUnicodeSurrogatePairEscape()||this.eatFixedHexDigits(4)||i&&this.eatRegExpUnicodeCodePointEscape())return!0;(this.strict||i)&&this.raise("Invalid unicode escape"),this.rewind(a)}return!1}eatRegExpUnicodeSurrogatePairEscape(){let n=this.index;if(this.eatFixedHexDigits(4)){let a=this._lastIntValue;if(cr(a)&&this.eat(en)&&this.eat(om)&&this.eatFixedHexDigits(4)){let i=this._lastIntValue;if(lr(i))return this._lastIntValue=ur(a,i),!0}this.rewind(n)}return!1}eatRegExpUnicodeCodePointEscape(){let n=this.index;return this.eat(_e)&&this.eatHexDigits()&&this.eat(Se)&&PC(this._lastIntValue)?!0:(this.rewind(n),!1)}eatIdentityEscape(){let n=this.currentCodePoint;return this.isValidIdentityEscape(n)?(this._lastIntValue=n,this.advance(),!0):!1}isValidIdentityEscape(n){return n===-1?!1:this._unicodeMode?Os(n)||n===ri:this.strict?!Ns(n):this._nFlag?!(n===la||n===As):n!==la}eatDecimalEscape(){this._lastIntValue=0;let n=this.currentCodePoint;if(n>=rC&&n<=hm){do this._lastIntValue=10*this._lastIntValue+(n-$1),this.advance();while((n=this.currentCodePoint)>=$1&&n<=hm);return!0}return!1}eatUnicodePropertyValueExpression(){let n=this.index;if(this.eatUnicodePropertyName()&&this.eat(xi)){let a=this._lastStrValue;if(this.eatUnicodePropertyValue()){let i=this._lastStrValue;if(ks(this.ecmaVersion,a,i))return{key:a,value:i||null};this.raise("Invalid property name")}}if(this.rewind(n),this.eatLoneUnicodePropertyNameOrValue()){let a=this._lastStrValue;if(ks(this.ecmaVersion,"General_Category",a))return{key:"General_Category",value:a||null};if(eC(this.ecmaVersion,a))return{key:a,value:null};if(this._unicodeSetsMode&&aC(this.ecmaVersion,a))return{key:a,value:null,strings:!0};this.raise("Invalid property name")}return null}eatUnicodePropertyName(){for(this._lastStrValue="";Ys(this.currentCodePoint);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();return this._lastStrValue!==""}eatUnicodePropertyValue(){for(this._lastStrValue="";BC(this.currentCodePoint);)this._lastStrValue+=String.fromCodePoint(this.currentCodePoint),this.advance();return this._lastStrValue!==""}eatLoneUnicodePropertyNameOrValue(){return this.eatUnicodePropertyValue()}eatHexEscapeSequence(){let n=this.index;if(this.eat(vC)){if(this.eatFixedHexDigits(2))return!0;(this._unicodeMode||this.strict)&&this.raise("Invalid escape"),this.rewind(n)}return!1}eatDecimalDigits(){let n=this.index;for(this._lastIntValue=0;xm(this.currentCodePoint);)this._lastIntValue=10*this._lastIntValue+xr(this.currentCodePoint),this.advance();return this.index!==n}eatHexDigits(){let n=this.index;for(this._lastIntValue=0;Is(this.currentCodePoint);)this._lastIntValue=16*this._lastIntValue+xr(this.currentCodePoint),this.advance();return this.index!==n}eatLegacyOctalEscapeSequence(){if(this.eatOctalDigit()){let n=this._lastIntValue;if(this.eatOctalDigit()){let a=this._lastIntValue;n<=3&&this.eatOctalDigit()?this._lastIntValue=n*64+a*8+this._lastIntValue:this._lastIntValue=n*8+a}else this._lastIntValue=n;return!0}return!1}eatOctalDigit(){let n=this.currentCodePoint;return AC(n)?(this.advance(),this._lastIntValue=n-$1,!0):(this._lastIntValue=0,!1)}eatFixedHexDigits(n){let a=this.index;this._lastIntValue=0;for(let i=0;i<n;++i){let m=this.currentCodePoint;if(!Is(m))return this.rewind(a),!1;this._lastIntValue=16*this._lastIntValue+xr(m),this.advance()}return!0}eatModifiers(){let n=!1;for(;VC(this.currentCodePoint);)this.advance(),n=!0;return n}parseModifiers(n,a){let{ignoreCase:i,multiline:m,dotAll:t}=this.parseFlags(this._reader.source,n,a);return{ignoreCase:i,multiline:m,dotAll:t}}parseFlags(n,a,i){let m={global:!1,ignoreCase:!1,multiline:!1,unicode:!1,sticky:!1,dotAll:!1,hasIndices:!1,unicodeSets:!1},t=new Set;t.add(Ws),t.add(br),t.add(kr),this.ecmaVersion>=2015&&(t.add(om),t.add(Qs),this.ecmaVersion>=2018&&(t.add(gm),this.ecmaVersion>=2022&&(t.add(hr),this.ecmaVersion>=2024&&t.add(pr))));for(let r=a;r<i;++r){let s=n.charCodeAt(r);if(t.has(s)){let o=FC[s];m[o]&&this.raise(`Duplicated flag '${n[r]}'`,{index:a}),m[o]=!0}else this.raise(`Invalid flag '${n[r]}'`,{index:a})}return m}},$C={},WC={},QC={};function sm(e){return e.type==="Character"||e.type==="CharacterSet"||e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"||e.type==="ClassStringDisjunction"}var Cr=class{constructor(n){var a;this._node=$C,this._expressionBufferMap=new Map,this._flags=WC,this._backreferences=[],this._capturingGroups=[],this.source="",this.strict=!!n?.strict,this.ecmaVersion=(a=n?.ecmaVersion)!==null&&a!==void 0?a:Ls}get pattern(){if(this._node.type!=="Pattern")throw new Error("UnknownError");return this._node}get flags(){if(this._flags.type!=="Flags")throw new Error("UnknownError");return this._flags}onRegExpFlags(n,a,{global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}){this._flags={type:"Flags",parent:null,start:n,end:a,raw:this.source.slice(n,a),global:i,ignoreCase:m,multiline:t,unicode:r,sticky:s,dotAll:o,hasIndices:x,unicodeSets:c}}onPatternEnter(n){this._node={type:"Pattern",parent:null,start:n,end:n,raw:"",alternatives:[]},this._backreferences.length=0,this._capturingGroups.length=0}onPatternLeave(n,a){this._node.end=a,this._node.raw=this.source.slice(n,a);for(let i of this._backreferences){let m=i.ref,t=typeof m=="number"?[this._capturingGroups[m-1]]:this._capturingGroups.filter(r=>r.name===m);if(t.length===1){let r=t[0];i.ambiguous=!1,i.resolved=r}else i.ambiguous=!0,i.resolved=t;for(let r of t)r.references.push(i)}}onAlternativeEnter(n){let a=this._node;if(a.type!=="Assertion"&&a.type!=="CapturingGroup"&&a.type!=="Group"&&a.type!=="Pattern")throw new Error("UnknownError");this._node={type:"Alternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onAlternativeLeave(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onGroupEnter(n){let a=this._node;if(a.type!=="Alternative")throw new Error("UnknownError");let i={type:"Group",parent:a,start:n,end:n,raw:"",modifiers:null,alternatives:[]};this._node=i,a.elements.push(this._node)}onGroupLeave(n,a){let i=this._node;if(i.type!=="Group"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onModifiersEnter(n){let a=this._node;if(a.type!=="Group")throw new Error("UnknownError");this._node={type:"Modifiers",parent:a,start:n,end:n,raw:"",add:null,remove:null},a.modifiers=this._node}onModifiersLeave(n,a){let i=this._node;if(i.type!=="Modifiers"||i.parent.type!=="Group")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onAddModifiers(n,a,{ignoreCase:i,multiline:m,dotAll:t}){let r=this._node;if(r.type!=="Modifiers")throw new Error("UnknownError");r.add={type:"ModifierFlags",parent:r,start:n,end:a,raw:this.source.slice(n,a),ignoreCase:i,multiline:m,dotAll:t}}onRemoveModifiers(n,a,{ignoreCase:i,multiline:m,dotAll:t}){let r=this._node;if(r.type!=="Modifiers")throw new Error("UnknownError");r.remove={type:"ModifierFlags",parent:r,start:n,end:a,raw:this.source.slice(n,a),ignoreCase:i,multiline:m,dotAll:t}}onCapturingGroupEnter(n,a){let i=this._node;if(i.type!=="Alternative")throw new Error("UnknownError");this._node={type:"CapturingGroup",parent:i,start:n,end:n,raw:"",name:a,alternatives:[],references:[]},i.elements.push(this._node),this._capturingGroups.push(this._node)}onCapturingGroupLeave(n,a){let i=this._node;if(i.type!=="CapturingGroup"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onQuantifier(n,a,i,m,t){let r=this._node;if(r.type!=="Alternative")throw new Error("UnknownError");let s=r.elements.pop();if(s==null||s.type==="Quantifier"||s.type==="Assertion"&&s.kind!=="lookahead")throw new Error("UnknownError");let o={type:"Quantifier",parent:r,start:s.start,end:a,raw:this.source.slice(s.start,a),min:i,max:m,greedy:t,element:s};r.elements.push(o),s.parent=o}onLookaroundAssertionEnter(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t=this._node={type:"Assertion",parent:m,start:n,end:n,raw:"",kind:a,negate:i,alternatives:[]};m.elements.push(t)}onLookaroundAssertionLeave(n,a){let i=this._node;if(i.type!=="Assertion"||i.parent.type!=="Alternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onEdgeAssertion(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"Assertion",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onWordBoundaryAssertion(n,a,i,m){let t=this._node;if(t.type!=="Alternative")throw new Error("UnknownError");t.elements.push({type:"Assertion",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onAnyCharacterSet(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");m.elements.push({type:"CharacterSet",parent:m,start:n,end:a,raw:this.source.slice(n,a),kind:i})}onEscapeCharacterSet(n,a,i,m){let t=this._node;if(t.type!=="Alternative"&&t.type!=="CharacterClass")throw new Error("UnknownError");t.elements.push({type:"CharacterSet",parent:t,start:n,end:a,raw:this.source.slice(n,a),kind:i,negate:m})}onUnicodePropertyCharacterSet(n,a,i,m,t,r,s){let o=this._node;if(o.type!=="Alternative"&&o.type!=="CharacterClass")throw new Error("UnknownError");let x={type:"CharacterSet",parent:null,start:n,end:a,raw:this.source.slice(n,a),kind:i,strings:null,key:m};if(s){if(o.type==="CharacterClass"&&!o.unicodeSets||r||t!==null)throw new Error("UnknownError");o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}else o.elements.push(Object.assign(Object.assign({},x),{parent:o,strings:s,value:t,negate:r}))}onCharacter(n,a,i){let m=this._node;if(m.type!=="Alternative"&&m.type!=="CharacterClass"&&m.type!=="StringAlternative")throw new Error("UnknownError");m.elements.push({type:"Character",parent:m,start:n,end:a,raw:this.source.slice(n,a),value:i})}onBackreference(n,a,i){let m=this._node;if(m.type!=="Alternative")throw new Error("UnknownError");let t={type:"Backreference",parent:m,start:n,end:a,raw:this.source.slice(n,a),ref:i,ambiguous:!1,resolved:QC};m.elements.push(t),this._backreferences.push(t)}onCharacterClassEnter(n,a,i){let m=this._node,t={type:"CharacterClass",parent:m,start:n,end:n,raw:"",unicodeSets:i,negate:a,elements:[]};if(m.type==="Alternative"){let r=Object.assign(Object.assign({},t),{parent:m});this._node=r,m.elements.push(r)}else if(m.type==="CharacterClass"&&m.unicodeSets&&i){let r=Object.assign(Object.assign({},t),{parent:m,unicodeSets:i});this._node=r,m.elements.push(r)}else throw new Error("UnknownError")}onCharacterClassLeave(n,a){let i=this._node;if(i.type!=="CharacterClass"||i.parent.type!=="Alternative"&&i.parent.type!=="CharacterClass")throw new Error("UnknownError");let m=i.parent;i.end=a,i.raw=this.source.slice(n,a),this._node=m;let t=this._expressionBufferMap.get(i);if(!t)return;if(i.elements.length>0)throw new Error("UnknownError");this._expressionBufferMap.delete(i);let r={type:"ExpressionCharacterClass",parent:m,start:i.start,end:i.end,raw:i.raw,negate:i.negate,expression:t};if(t.parent=r,i!==m.elements.pop())throw new Error("UnknownError");m.elements.push(r)}onCharacterClassRange(n,a){let i=this._node;if(i.type!=="CharacterClass")throw new Error("UnknownError");let m=i.elements,t=m.pop();if(!t||t.type!=="Character")throw new Error("UnknownError");if(!i.unicodeSets){let o=m.pop();if(!o||o.type!=="Character"||o.value!==Rn)throw new Error("UnknownError")}let r=m.pop();if(!r||r.type!=="Character")throw new Error("UnknownError");let s={type:"CharacterClassRange",parent:i,start:n,end:a,raw:this.source.slice(n,a),min:r,max:t};r.parent=s,t.parent=s,m.push(s)}onClassIntersection(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBufferMap.get(m))!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassSubtraction"||r.type!=="ClassIntersection"&&!sm(r)||!sm(t))throw new Error("UnknownError");let s={type:"ClassIntersection",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBufferMap.set(m,s)}onClassSubtraction(n,a){var i;let m=this._node;if(m.type!=="CharacterClass"||!m.unicodeSets)throw new Error("UnknownError");let t=m.elements.pop(),r=(i=this._expressionBufferMap.get(m))!==null&&i!==void 0?i:m.elements.pop();if(!r||!t||r.type==="ClassIntersection"||r.type!=="ClassSubtraction"&&!sm(r)||!sm(t))throw new Error("UnknownError");let s={type:"ClassSubtraction",parent:m,start:n,end:a,raw:this.source.slice(n,a),left:r,right:t};r.parent=s,t.parent=s,this._expressionBufferMap.set(m,s)}onClassStringDisjunctionEnter(n){let a=this._node;if(a.type!=="CharacterClass"||!a.unicodeSets)throw new Error("UnknownError");this._node={type:"ClassStringDisjunction",parent:a,start:n,end:n,raw:"",alternatives:[]},a.elements.push(this._node)}onClassStringDisjunctionLeave(n,a){let i=this._node;if(i.type!=="ClassStringDisjunction"||i.parent.type!=="CharacterClass")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}onStringAlternativeEnter(n){let a=this._node;if(a.type!=="ClassStringDisjunction")throw new Error("UnknownError");this._node={type:"StringAlternative",parent:a,start:n,end:n,raw:"",elements:[]},a.alternatives.push(this._node)}onStringAlternativeLeave(n,a){let i=this._node;if(i.type!=="StringAlternative")throw new Error("UnknownError");i.end=a,i.raw=this.source.slice(n,a),this._node=i.parent}},k1=class{constructor(n){this._state=new Cr(n),this._validator=new li(this._state)}parseLiteral(n,a=0,i=n.length){this._state.source=n,this._validator.validateLiteral(n,a,i);let m=this._state.pattern,t=this._state.flags,r={type:"RegExpLiteral",parent:null,start:a,end:i,raw:n,pattern:m,flags:t};return m.parent=r,t.parent=r,r}parseFlags(n,a=0,i=n.length){return this._state.source=n,this._validator.validateFlags(n,a,i),this._state.flags}parsePattern(n,a=0,i=n.length,m=void 0){return this._state.source=n,this._validator.validatePattern(n,a,i,m),this._state.pattern}},vr=class{constructor(n){this._handlers=n}visit(n){switch(n.type){case"Alternative":this.visitAlternative(n);break;case"Assertion":this.visitAssertion(n);break;case"Backreference":this.visitBackreference(n);break;case"CapturingGroup":this.visitCapturingGroup(n);break;case"Character":this.visitCharacter(n);break;case"CharacterClass":this.visitCharacterClass(n);break;case"CharacterClassRange":this.visitCharacterClassRange(n);break;case"CharacterSet":this.visitCharacterSet(n);break;case"ClassIntersection":this.visitClassIntersection(n);break;case"ClassStringDisjunction":this.visitClassStringDisjunction(n);break;case"ClassSubtraction":this.visitClassSubtraction(n);break;case"ExpressionCharacterClass":this.visitExpressionCharacterClass(n);break;case"Flags":this.visitFlags(n);break;case"Group":this.visitGroup(n);break;case"Modifiers":this.visitModifiers(n);break;case"ModifierFlags":this.visitModifierFlags(n);break;case"Pattern":this.visitPattern(n);break;case"Quantifier":this.visitQuantifier(n);break;case"RegExpLiteral":this.visitRegExpLiteral(n);break;case"StringAlternative":this.visitStringAlternative(n);break;default:throw new Error(`Unknown type: ${n.type}`)}}visitAlternative(n){this._handlers.onAlternativeEnter&&this._handlers.onAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onAlternativeLeave&&this._handlers.onAlternativeLeave(n)}visitAssertion(n){this._handlers.onAssertionEnter&&this._handlers.onAssertionEnter(n),(n.kind==="lookahead"||n.kind==="lookbehind")&&n.alternatives.forEach(this.visit,this),this._handlers.onAssertionLeave&&this._handlers.onAssertionLeave(n)}visitBackreference(n){this._handlers.onBackreferenceEnter&&this._handlers.onBackreferenceEnter(n),this._handlers.onBackreferenceLeave&&this._handlers.onBackreferenceLeave(n)}visitCapturingGroup(n){this._handlers.onCapturingGroupEnter&&this._handlers.onCapturingGroupEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onCapturingGroupLeave&&this._handlers.onCapturingGroupLeave(n)}visitCharacter(n){this._handlers.onCharacterEnter&&this._handlers.onCharacterEnter(n),this._handlers.onCharacterLeave&&this._handlers.onCharacterLeave(n)}visitCharacterClass(n){this._handlers.onCharacterClassEnter&&this._handlers.onCharacterClassEnter(n),n.elements.forEach(this.visit,this),this._handlers.onCharacterClassLeave&&this._handlers.onCharacterClassLeave(n)}visitCharacterClassRange(n){this._handlers.onCharacterClassRangeEnter&&this._handlers.onCharacterClassRangeEnter(n),this.visitCharacter(n.min),this.visitCharacter(n.max),this._handlers.onCharacterClassRangeLeave&&this._handlers.onCharacterClassRangeLeave(n)}visitCharacterSet(n){this._handlers.onCharacterSetEnter&&this._handlers.onCharacterSetEnter(n),this._handlers.onCharacterSetLeave&&this._handlers.onCharacterSetLeave(n)}visitClassIntersection(n){this._handlers.onClassIntersectionEnter&&this._handlers.onClassIntersectionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassIntersectionLeave&&this._handlers.onClassIntersectionLeave(n)}visitClassStringDisjunction(n){this._handlers.onClassStringDisjunctionEnter&&this._handlers.onClassStringDisjunctionEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onClassStringDisjunctionLeave&&this._handlers.onClassStringDisjunctionLeave(n)}visitClassSubtraction(n){this._handlers.onClassSubtractionEnter&&this._handlers.onClassSubtractionEnter(n),this.visit(n.left),this.visit(n.right),this._handlers.onClassSubtractionLeave&&this._handlers.onClassSubtractionLeave(n)}visitExpressionCharacterClass(n){this._handlers.onExpressionCharacterClassEnter&&this._handlers.onExpressionCharacterClassEnter(n),this.visit(n.expression),this._handlers.onExpressionCharacterClassLeave&&this._handlers.onExpressionCharacterClassLeave(n)}visitFlags(n){this._handlers.onFlagsEnter&&this._handlers.onFlagsEnter(n),this._handlers.onFlagsLeave&&this._handlers.onFlagsLeave(n)}visitGroup(n){this._handlers.onGroupEnter&&this._handlers.onGroupEnter(n),n.modifiers&&this.visit(n.modifiers),n.alternatives.forEach(this.visit,this),this._handlers.onGroupLeave&&this._handlers.onGroupLeave(n)}visitModifiers(n){this._handlers.onModifiersEnter&&this._handlers.onModifiersEnter(n),n.add&&this.visit(n.add),n.remove&&this.visit(n.remove),this._handlers.onModifiersLeave&&this._handlers.onModifiersLeave(n)}visitModifierFlags(n){this._handlers.onModifierFlagsEnter&&this._handlers.onModifierFlagsEnter(n),this._handlers.onModifierFlagsLeave&&this._handlers.onModifierFlagsLeave(n)}visitPattern(n){this._handlers.onPatternEnter&&this._handlers.onPatternEnter(n),n.alternatives.forEach(this.visit,this),this._handlers.onPatternLeave&&this._handlers.onPatternLeave(n)}visitQuantifier(n){this._handlers.onQuantifierEnter&&this._handlers.onQuantifierEnter(n),this.visit(n.element),this._handlers.onQuantifierLeave&&this._handlers.onQuantifierLeave(n)}visitRegExpLiteral(n){this._handlers.onRegExpLiteralEnter&&this._handlers.onRegExpLiteralEnter(n),this.visitPattern(n.pattern),this.visitFlags(n.flags),this._handlers.onRegExpLiteralLeave&&this._handlers.onRegExpLiteralLeave(n)}visitStringAlternative(n){this._handlers.onStringAlternativeEnter&&this._handlers.onStringAlternativeEnter(n),n.elements.forEach(this.visit,this),this._handlers.onStringAlternativeLeave&&this._handlers.onStringAlternativeLeave(n)}};function Xs(e,n){return new k1(n).parseLiteral(String(e))}function we(e,n){new vr(n).visit(e)}var Cm={ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],AwaitExpression:["argument"],BinaryExpression:["left","right"],BlockStatement:["body"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:[],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXOpeningFragment:[],JSXSpreadAttribute:["argument"],JSXSpreadChild:["expression"],JSXText:[],LabeledStatement:["label","body"],Literal:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},zC=Object.keys(Cm);for(let e of zC)Object.freeze(Cm[e]);Object.freeze(Cm);var Tr=Cm;var qC=new Set(["parent","leadingComments","trailingComments"]);function HC(e){return!qC.has(e)&&e[0]!=="_"}function Zs(e){return Object.keys(e).filter(HC)}function KC(e,n){let a=n.range[0],i=e,m=!1;do{m=!1;for(let t of i.childScopes){let r=t.block.range;if(r[0]<=a&&a<r[1]){i=t,m=!0;break}}}while(m);return i}function fa(e,n){let a="",i=e;for(typeof n=="string"?a=n:(a=n.name,i=KC(i,n));i!=null;){let m=i.set.get(a);if(m!=null)return m;i=i.upper}return null}function Xn(e){return n=>!e(n)}function l1(e,n){return e.type==="Punctuator"&&e.value===n}function YC(e){return l1(e,"=>")}function XC(e){return l1(e,",")}function ZC(e){return l1(e,";")}function nv(e){return l1(e,":")}function ga(e){return l1(e,"(")}function m6(e){return l1(e,")")}function Ir(e){return l1(e,"[")}function ev(e){return l1(e,"]")}function av(e){return l1(e,"{")}function iv(e){return l1(e,"}")}function Pr(e){return["Block","Line","Shebang"].includes(e.type)}var BA=Xn(YC),VA=Xn(XC),$A=Xn(ZC),WA=Xn(nv),QA=Xn(ga),zA=Xn(m6),qA=Xn(Ir),HA=Xn(ev),KA=Xn(av),YA=Xn(iv),XA=Xn(Pr);var t6=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{},mv=Object.freeze(new Set(["Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","isFinite","isNaN","isPrototypeOf","JSON","Map","Math","NaN","Number","Object","parseFloat","parseInt","Promise","Proxy","Reflect","RegExp","Set","String","Symbol","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","undefined","unescape","WeakMap","WeakSet"])),Ar=new Set([Array.isArray,Array.of,Array.prototype.at,Array.prototype.concat,Array.prototype.entries,Array.prototype.every,Array.prototype.filter,Array.prototype.find,Array.prototype.findIndex,Array.prototype.flat,Array.prototype.includes,Array.prototype.indexOf,Array.prototype.join,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.slice,Array.prototype.some,Array.prototype.toString,Array.prototype.values,typeof BigInt=="function"?BigInt:void 0,Boolean,Date,Date.parse,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,escape,isFinite,isNaN,isPrototypeOf,Map,Map.prototype.entries,Map.prototype.get,Map.prototype.has,Map.prototype.keys,Map.prototype.values,...Object.getOwnPropertyNames(Math).filter(e=>e!=="random").map(e=>Math[e]).filter(e=>typeof e=="function"),Number,Number.isFinite,Number.isNaN,Number.parseFloat,Number.parseInt,Number.prototype.toExponential,Number.prototype.toFixed,Number.prototype.toPrecision,Number.prototype.toString,Object,Object.entries,Object.is,Object.isExtensible,Object.isFrozen,Object.isSealed,Object.keys,Object.values,parseFloat,parseInt,RegExp,Set,Set.prototype.entries,Set.prototype.has,Set.prototype.keys,Set.prototype.values,String,String.fromCharCode,String.fromCodePoint,String.raw,String.prototype.at,String.prototype.charAt,String.prototype.charCodeAt,String.prototype.codePointAt,String.prototype.concat,String.prototype.endsWith,String.prototype.includes,String.prototype.indexOf,String.prototype.lastIndexOf,String.prototype.normalize,String.prototype.padEnd,String.prototype.padStart,String.prototype.slice,String.prototype.startsWith,String.prototype.substr,String.prototype.substring,String.prototype.toLowerCase,String.prototype.toString,String.prototype.toUpperCase,String.prototype.trim,String.prototype.trimEnd,String.prototype.trimLeft,String.prototype.trimRight,String.prototype.trimStart,Symbol.for,Symbol.keyFor,unescape].filter(e=>typeof e=="function")),n6=new Set([Object.freeze,Object.preventExtensions,Object.seal]),tv=[[Map,new Set(["size"])],[RegExp,new Set(["dotAll","flags","global","hasIndices","ignoreCase","multiline","source","sticky","unicode"])],[Set,new Set(["size"])]];function rv(e,n){let a=e;for(;(typeof a=="object"||typeof a=="function")&&a!==null;){let i=Object.getOwnPropertyDescriptor(a,n);if(i)return i;a=Object.getPrototypeOf(a)}return null}function sv(e,n){let a=rv(e,n);return a!=null&&a.get!=null}function ui(e,n){let a=[];for(let i=0;i<e.length;++i){let m=e[i];if(m==null)a.length=i+1;else if(m.type==="SpreadElement"){let t=W(m.argument,n);if(t==null)return null;a.push(...t.value)}else{let t=W(m,n);if(t==null)return null;a.push(t.value)}}return a}function ov(e){return e!=null&&e.defs.length===0&&mv.has(e.name)&&e.name in t6}function xv(e){if(e.defs.length!==1)return!1;let n=e.defs[0];return!!(n.parent&&n.type==="Variable"&&(n.parent.kind==="const"||cv(e)))}function cv(e){let n=e.references,a=n.filter(m=>m.init).length,i=n.filter(m=>m.isReadOnly()).length;return a===1&&i+a===n.length}function lv(e,n){for(let i of e.references){let m=i.identifier;for(;m&&m.parent&&m.parent.type==="MemberExpression";)m=m.parent;if(!(!m||!m.parent)){if(m.parent.type==="AssignmentExpression"&&m.parent.left===m||m.parent.type==="UpdateExpression"&&m.parent.argument===m)return!0;if(m.parent.type==="CallExpression"&&m.parent.callee===m&&m.type==="MemberExpression"){let t=vm(m,n);if(a(t))return!0}}}return!1;function a(i){if(i==null||i.value==null)return!1;let m=i.value;return m==="copyWithin"||m==="fill"||m==="pop"||m==="push"||m==="reverse"||m==="shift"||m==="sort"||m==="splice"||m==="unshift"}}var e6=Object.freeze({ArrayExpression(e,n){let a=ui(e.elements,n);return a!=null?{value:a}:null},AssignmentExpression(e,n){return e.operator==="="?W(e.right,n):null},BinaryExpression(e,n){if(e.operator==="in"||e.operator==="instanceof")return null;let a=W(e.left,n),i=W(e.right,n);if(a!=null&&i!=null)switch(e.operator){case"==":return{value:a.value==i.value};case"!=":return{value:a.value!=i.value};case"===":return{value:a.value===i.value};case"!==":return{value:a.value!==i.value};case"<":return{value:a.value<i.value};case"<=":return{value:a.value<=i.value};case">":return{value:a.value>i.value};case">=":return{value:a.value>=i.value};case"<<":return{value:a.value<<i.value};case">>":return{value:a.value>>i.value};case">>>":return{value:a.value>>>i.value};case"+":return{value:a.value+i.value};case"-":return{value:a.value-i.value};case"*":return{value:a.value*i.value};case"/":return{value:a.value/i.value};case"%":return{value:a.value%i.value};case"**":return{value:a.value**i.value};case"|":return{value:a.value|i.value};case"^":return{value:a.value^i.value};case"&":return{value:a.value&i.value}}return null},CallExpression(e,n){let a=e.callee,i=ui(e.arguments,n);if(i!=null)if(a.type==="MemberExpression"){if(a.property.type==="PrivateIdentifier")return null;let m=W(a.object,n);if(m!=null){if(m.value==null&&(m.optional||e.optional))return{value:void 0,optional:!0};let t=vm(a,n);if(t!=null){let r=m.value,s=t.value;if(Ar.has(r[s]))return{value:r[s](...i)};if(n6.has(r[s]))return{value:i[0]}}}}else{let m=W(a,n);if(m!=null){if(m.value==null&&e.optional)return{value:void 0,optional:!0};let t=m.value;if(Ar.has(t))return{value:t(...i)};if(n6.has(t))return{value:i[0]}}}return null},ConditionalExpression(e,n){let a=W(e.test,n);return a!=null?a.value?W(e.consequent,n):W(e.alternate,n):null},ExpressionStatement(e,n){return W(e.expression,n)},Identifier(e,n){if(n!=null){let a=fa(n,e);if(a!=null){if(ov(a))return{value:t6[a.name]};if(xv(a)){let i=a.defs[0];if(i.node.id.type==="Identifier"){let m=W(i.node.init,n);return m&&typeof m.value=="object"&&m.value!==null&&lv(a,n)?null:m}}}}return null},Literal(e){let n=e;return(n.regex!=null||n.bigint!=null)&&n.value==null?null:{value:n.value}},LogicalExpression(e,n){let a=W(e.left,n);if(a!=null){if(e.operator==="||"&&a.value||e.operator==="&&"&&!a.value||e.operator==="??"&&a.value!=null)return a;let i=W(e.right,n);if(i!=null)return i}return null},MemberExpression(e,n){if(e.property.type==="PrivateIdentifier")return null;let a=W(e.object,n);if(a!=null){if(a.value==null&&(a.optional||e.optional))return{value:void 0,optional:!0};let i=vm(e,n);if(i!=null){if(!sv(a.value,i.value))return{value:a.value[i.value]};for(let[m,t]of tv)if(a.value instanceof m&&t.has(i.value))return{value:a.value[i.value]}}}return null},ChainExpression(e,n){let a=W(e.expression,n);return a!=null?{value:a.value}:null},NewExpression(e,n){let a=W(e.callee,n),i=ui(e.arguments,n);if(a!=null&&i!=null){let m=a.value;if(Ar.has(m))return{value:new m(...i)}}return null},ObjectExpression(e,n){let a={};for(let i of e.properties)if(i.type==="Property"){if(i.kind!=="init")return null;let m=vm(i,n),t=W(i.value,n);if(m==null||t==null)return null;a[m.value]=t.value}else if(i.type==="SpreadElement"||i.type==="ExperimentalSpreadProperty"){let m=W(i.argument,n);if(m==null)return null;Object.assign(a,m.value)}else return null;return{value:a}},SequenceExpression(e,n){let a=e.expressions[e.expressions.length-1];return W(a,n)},TaggedTemplateExpression(e,n){let a=W(e.tag,n),i=ui(e.quasi.expressions,n);if(a!=null&&i!=null){let m=a.value,t=e.quasi.quasis.map(r=>r.value.cooked);if(t.raw=e.quasi.quasis.map(r=>r.value.raw),m===String.raw)return{value:m(t,...i)}}return null},TemplateLiteral(e,n){let a=ui(e.expressions,n);if(a!=null){let i=e.quasis[0].value.cooked;for(let m=0;m<a.length;++m)i+=a[m],i+=e.quasis[m+1].value.cooked;return{value:i}}return null},UnaryExpression(e,n){if(e.operator==="delete")return null;if(e.operator==="void")return{value:void 0};let a=W(e.argument,n);if(a!=null)switch(e.operator){case"-":return{value:-a.value};case"+":return{value:+a.value};case"!":return{value:!a.value};case"~":return{value:~a.value};case"typeof":return{value:typeof a.value}}return null},TSAsExpression(e,n){return W(e.expression,n)},TSSatisfiesExpression(e,n){return W(e.expression,n)},TSTypeAssertion(e,n){return W(e.expression,n)},TSNonNullExpression(e,n){return W(e.expression,n)},TSInstantiationExpression(e,n){return W(e.expression,n)}});function W(e,n){return e!=null&&Object.hasOwnProperty.call(e6,e.type)?e6[e.type](e,n):null}function vm(e,n){let a=e.type==="Property"?e.key:e.property;return e.computed?W(a,n):a.type==="Identifier"?{value:a.name}:a.type==="Literal"?a.bigint?{value:a.bigint}:{value:String(a.value)}:null}function Or(e,n=null){try{return W(e,n)}catch{return null}}function hi(e,n=null){if(e&&e.type==="Literal"&&e.value===null){let i=e;if(i.regex)return`/${i.regex.pattern}/${i.regex.flags}`;if(i.bigint)return i.bigint}let a=Or(e,n);if(a)try{return String(a.value)}catch{}return null}function _m(e,n){switch(e.type){case"MemberExpression":return e.computed?hi(e.property,n):e.property.type==="PrivateIdentifier"?null:e.property.name;case"Property":case"MethodDefinition":case"PropertyDefinition":return e.computed?hi(e.key,n):e.key.type==="Literal"?String(e.key.value):e.key.type==="PrivateIdentifier"?null:e.key.name}return null}var uv=Object.freeze(new Set(["==","!=","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&","in"])),hv=Object.freeze(new Set(["-","+","!","~"]));function a6(e){return e!==null&&typeof e=="object"&&typeof e.type=="string"}var pv=Object.freeze(Object.assign(Object.create(null),{$visit(e,n,a){let{type:i}=e;return typeof this[i]=="function"?this[i](e,n,a):this.$visitChildren(e,n,a)},$visitChildren(e,n,a){let{type:i}=e;for(let m of a[i]||Zs(e)){let t=e[m];if(Array.isArray(t)){for(let r of t)if(a6(r)&&this.$visit(r,n,a))return!0}else if(a6(t)&&this.$visit(t,n,a))return!0}return!1},ArrowFunctionExpression(){return!1},AssignmentExpression(){return!0},AwaitExpression(){return!0},BinaryExpression(e,n,a){return n.considerImplicitTypeConversion&&uv.has(e.operator)&&(e.left.type!=="Literal"||e.right.type!=="Literal")?!0:this.$visitChildren(e,n,a)},CallExpression(){return!0},FunctionExpression(){return!1},ImportExpression(){return!0},MemberExpression(e,n,a){return n.considerGetters||n.considerImplicitTypeConversion&&e.computed&&e.property.type!=="Literal"?!0:this.$visitChildren(e,n,a)},MethodDefinition(e,n,a){return n.considerImplicitTypeConversion&&e.computed&&e.key.type!=="Literal"?!0:this.$visitChildren(e,n,a)},NewExpression(){return!0},Property(e,n,a){return n.considerImplicitTypeConversion&&e.computed&&e.key.type!=="Literal"?!0:this.$visitChildren(e,n,a)},PropertyDefinition(e,n,a){return n.considerImplicitTypeConversion&&e.computed&&e.key.type!=="Literal"?!0:this.$visitChildren(e,n,a)},UnaryExpression(e,n,a){return e.operator==="delete"||n.considerImplicitTypeConversion&&hv.has(e.operator)&&e.argument.type!=="Literal"?!0:this.$visitChildren(e,n,a)},UpdateExpression(){return!0},YieldExpression(){return!0}}));function Rr(e,n,a={}){let{considerGetters:i=!1,considerImplicitTypeConversion:m=!1}=a;return pv.$visit(e,{considerGetters:i,considerImplicitTypeConversion:m},n.visitorKeys||Tr)}function fv(e,n){let a=e.parent;if(!a)return null;switch(a.type){case"CallExpression":case"NewExpression":return a.arguments.length===1&&a.arguments[0]===e?n.getTokenAfter(a.typeArguments||a.typeParameters||a.callee,ga):null;case"DoWhileStatement":return a.test===e?n.getTokenAfter(a.body,ga):null;case"IfStatement":case"WhileStatement":return a.test===e?n.getFirstToken(a,1):null;case"ImportExpression":return a.source===e?n.getFirstToken(a,1):null;case"SwitchStatement":return a.discriminant===e?n.getFirstToken(a,1):null;case"WithStatement":return a.object===e?n.getFirstToken(a,1):null;default:return null}}function r6(e,n,a){let i,m,t,r,s;if(typeof e=="number"){if(i=e|0,m=n,t=a,!(i>=1))throw new TypeError("'times' should be a positive integer.")}else i=1,m=e,t=n;if(m==null||m.parent==null||m.parent.type==="CatchClause"&&m.parent.param===m)return!1;r=s=m;do r=t.getTokenBefore(r),s=t.getTokenAfter(s);while(r!=null&&s!=null&&ga(r)&&m6(s)&&r!==fv(m,t)&&--i>0);return i===0}var dv=/^(?:Import|Export(?:All|Default|Named))Declaration$/u;function gv(e){return dv.test(e.type)&&e.source!=null}var Ee=Function.call.bind(Object.hasOwnProperty),Q=Symbol("read"),be=Symbol("call"),da=Symbol("construct"),s6=Symbol("esm"),yv={require:{[be]:!0}};function i6(e){return e==null||e.defs.length!==0||e.references.some(n=>n.isWrite())}function Cv(e){let n=e.parent;if(n)switch(n.type){case"ConditionalExpression":return n.consequent===e||n.alternate===e;case"LogicalExpression":return!0;case"SequenceExpression":return n.expressions[n.expressions.length-1]===e;case"ChainExpression":return!0;case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":case"TSInstantiationExpression":return!0;default:return!1}return!1}var T1=class{constructor(n,a={}){let{mode:i="strict",globalObjectNames:m=["global","globalThis","self","window"]}=a;this.variableStack=[],this.globalScope=n,this.mode=i,this.globalObjectNames=m.slice(0)}*iterateGlobalReferences(n){for(let a of Object.keys(n)){let i=n[a],m=[a],t=this.globalScope.set.get(a);i6(t)||(yield*this._iterateVariableReferences(t,m,i,!0))}for(let a of this.globalObjectNames){let i=[],m=this.globalScope.set.get(a);i6(m)||(yield*this._iterateVariableReferences(m,i,n,!1))}}*iterateCjsReferences(n){for(let{node:a}of this.iterateGlobalReferences(yv)){let i=hi(a.arguments[0]);if(i==null||!Ee(n,i))continue;let m=n[i],t=[i];m[Q]&&(yield{node:a,path:t,type:Q,info:m[Q]}),yield*this._iteratePropertyReferences(a,t,m)}}*iterateEsmReferences(n){let a=this.globalScope.block;for(let i of a.body){if(!gv(i))continue;let m=i.source.value;if(!Ee(n,m))continue;let t=n[m],r=[m];if(t[Q]&&(yield{node:i,path:r,type:Q,info:t[Q]}),i.type==="ExportAllDeclaration")for(let s of Object.keys(t)){let o=t[s];o[Q]&&(yield{node:i,path:r.concat(s),type:Q,info:o[Q]})}else for(let s of i.specifiers){let o=Ee(t,s6),x=this._iterateImportReferences(s,r,o?t:this.mode==="legacy"?{default:t,...t}:{default:t});if(o)yield*x;else for(let c of x)c.path=c.path.filter(vv),(c.path.length>=2||c.type!==Q)&&(yield c)}}}*iteratePropertyReferences(n,a){yield*this._iteratePropertyReferences(n,[],a)}*_iterateVariableReferences(n,a,i,m){if(!this.variableStack.includes(n)){this.variableStack.push(n);try{for(let t of n.references){if(!t.isRead())continue;let r=t.identifier;m&&i[Q]&&(yield{node:r,path:a,type:Q,info:i[Q]}),yield*this._iteratePropertyReferences(r,a,i)}}finally{this.variableStack.pop()}}}*_iteratePropertyReferences(n,a,i){let m=n;for(;Cv(m);)m=m.parent;let t=m.parent;if(t){if(t.type==="MemberExpression"){if(t.object===m){let r=_m(t);if(r==null||!Ee(i,r))return;a=a.concat(r);let s=i[r];s[Q]&&(yield{node:t,path:a,type:Q,info:s[Q]}),yield*this._iteratePropertyReferences(t,a,s)}return}if(t.type==="CallExpression"){t.callee===m&&i[be]&&(yield{node:t,path:a,type:be,info:i[be]});return}if(t.type==="NewExpression"){t.callee===m&&i[da]&&(yield{node:t,path:a,type:da,info:i[da]});return}if(t.type==="AssignmentExpression"){t.right===m&&(yield*this._iterateLhsReferences(t.left,a,i),yield*this._iteratePropertyReferences(t,a,i));return}if(t.type==="AssignmentPattern"){t.right===m&&(yield*this._iterateLhsReferences(t.left,a,i));return}t.type==="VariableDeclarator"&&t.init===m&&(yield*this._iterateLhsReferences(t.id,a,i))}}*_iterateLhsReferences(n,a,i){if(n.type==="Identifier"){let m=fa(this.globalScope,n);m!=null&&(yield*this._iterateVariableReferences(m,a,i,!1));return}if(n.type==="ObjectPattern"){for(let m of n.properties){let t=_m(m);if(t==null||!Ee(i,t))continue;let r=a.concat(t),s=i[t];s[Q]&&(yield{node:m,path:r,type:Q,info:s[Q]}),yield*this._iterateLhsReferences(m.value,r,s)}return}n.type==="AssignmentPattern"&&(yield*this._iterateLhsReferences(n.left,a,i))}*_iterateImportReferences(n,a,i){let m=n.type;if(m==="ImportSpecifier"||m==="ImportDefaultSpecifier"){let t=m==="ImportDefaultSpecifier"?"default":n.imported.type==="Identifier"?n.imported.name:n.imported.value;if(!Ee(i,t))return;a=a.concat(t);let r=i[t];r[Q]&&(yield{node:n,path:a,type:Q,info:r[Q]}),yield*this._iterateVariableReferences(fa(this.globalScope,n.local),a,r,!1);return}if(m==="ImportNamespaceSpecifier"){yield*this._iterateVariableReferences(fa(this.globalScope,n.local),a,i,!1);return}if(m==="ExportSpecifier"){let t=n.local.type==="Identifier"?n.local.name:n.local.value;if(!Ee(i,t))return;a=a.concat(t);let r=i[t];r[Q]&&(yield{node:n,path:a,type:Q,info:r[Q]})}}};T1.READ=Q;T1.CALL=be;T1.CONSTRUCT=da;T1.ESM=s6;function vv(e,n){return!(n===1&&e==="default")}var O=lt($2(),1);function u6(e){return e.text!==void 0&&e.text!==""?`'${e.type}' with value '${e.text}'`:`'${e.type}'`}var Jr=class h6 extends Error{token;constructor(n){super(`No parslet found for token: ${u6(n)}`),this.token=n,Object.setPrototypeOf(this,h6.prototype)}getToken(){return this.token}},Sv=class p6 extends Error{token;constructor(n){super(`The parsing ended early. The next token was: ${u6(n)}`),this.token=n,Object.setPrototypeOf(this,p6.prototype)}getToken(){return this.token}},an=class f6 extends Error{constructor(n,a){let i=`Unexpected type: '${n.type}'.`;a!==void 0&&(i+=` Message: ${a}`),super(i),Object.setPrototypeOf(this,f6.prototype)}},W1=["module","keyof","event","external","readonly","is","typeof","in","null","undefined","function","asserts","infer","extends","import"],d6=["false","null","true","void"];[...d6];var Lr={always:["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with"],strictMode:["let","static","yield"],moduleOrAsyncFunctionBodies:["await"]},o6={always:["enum"],strictMode:["implements","interface","package","private","protected","public"]},wv=["arguments","eval"];function di(e,n){let a;if(n.type==="JsdocTypeName")a=n.value;else if(n.type==="JsdocTypeParenthesis"){let i=n;for(;i.type==="JsdocTypeParenthesis";)i=i.element;if(i.type==="JsdocTypeName")a=i.value;else return n}else return n;if(Lr.always.includes(a)&&!d6.includes(a)&&(a!=="this"||e.classContext!==!0))throw new Error(`Unexpected reserved keyword "${a}"`);if(o6.always.includes(a))throw new Error(`Unexpected future reserved keyword "${a}"`);if(e.module!==void 0&&e.module||e.strictMode!==void 0&&e.strictMode){if(Lr.strictMode.includes(a))throw new Error(`Unexpected reserved keyword "${a}" for strict mode`);if(o6.strictMode.includes(a))throw new Error(`Unexpected future reserved keyword "${a}" for strict mode`);if(wv.includes(a))throw new Error(`The item "${a}" is not an identifier in strict mode`)}if((e.module!==void 0&&e.module||e.asyncFunctionBody!==void 0&&e.asyncFunctionBody)&&Lr.moduleOrAsyncFunctionBodies.includes(a))throw new Error(`Unexpected reserved keyword "${a}" for modules or async function bodies`);return n}function Z(e){if(e===void 0)throw new Error("Unexpected undefined");if(e.type==="JsdocTypeKeyValue"||e.type==="JsdocTypeParameterList"||e.type==="JsdocTypeProperty"||e.type==="JsdocTypeReadonlyProperty"||e.type==="JsdocTypeObjectField"||e.type==="JsdocTypeJsdocObjectField"||e.type==="JsdocTypeIndexSignature"||e.type==="JsdocTypeMappedType"||e.type==="JsdocTypeTypeParameter"||e.type==="JsdocTypeCallSignature"||e.type==="JsdocTypeConstructorSignature"||e.type==="JsdocTypeMethodSignature"||e.type==="JsdocTypeIndexedAccessIndex"||e.type==="JsdocTypeComputedProperty"||e.type==="JsdocTypeComputedMethod")throw new an(e);return e}function Mr(e){return e.type==="JsdocTypeKeyValue"?Em(e):Z(e)}function Ev(e){return e.type==="JsdocTypeName"?e:Em(e)}function Em(e){if(e.type!=="JsdocTypeKeyValue")throw new an(e);return e}function bv(e){if(e.type==="JsdocTypeVariadic"){if(e.element?.type==="JsdocTypeName")return e;throw new an(e)}if(e.type!=="JsdocTypeNumber"&&e.type!=="JsdocTypeName")throw new an(e);return e}function kv(e){if(e.type==="JsdocTypeTuple"||e.type==="JsdocTypeGeneric"&&e.meta.brackets==="square")return e;throw new an(e)}function Nr(e){return e.type==="JsdocTypeIndexSignature"||e.type==="JsdocTypeMappedType"}var Zn=class{grammar;_lexer;baseParser;externalParsers;module;strictMode;asyncFunctionBody;classContext;rangeStart;range;locStart;loc;constructor(e,n,a,{module:i,strictMode:m,asyncFunctionBody:t,classContext:r,range:s=!1,rangeStart:o=0,loc:x=!1,locStart:c={line:1,column:0},externalParsers:l}={}){this.grammar=e,this._lexer=n,this.baseParser=a,this.externalParsers=l,this.module=i,this.strictMode=m,this.asyncFunctionBody=t,this.classContext=r,this.rangeStart=o,this.range=s,this.locStart=c,this.loc=x}get lexer(){return this._lexer}parse(){let e=this.parseType(0);if(this.lexer.current.type!=="EOF")throw new Sv(this.lexer.current);return e}parseType(e){return Z(this.parseIntermediateType(e))}parseIntermediateType(e){let n=this.tryParslets(null,e);if(n===null)throw new Jr(this.lexer.current);return this.parseInfixIntermediateType(n,e)}parseInfixIntermediateType(e,n){let a=this.tryParslets(e,n);for(;a!==null;)e=a,a=this.tryParslets(e,n);return e}tryParslets(e,n){for(let a of this.grammar){let i=this.rangeStart,m=this.locStart.line,t=this.locStart.column,r=a(this,n,e);if(r!==null)return this.range&&(r.range=[i,this.rangeStart]),this.loc&&(r.loc={end:{line:this.locStart.line,column:this.locStart.column},start:{line:m,column:t}}),r}return null}consume(e){return Array.isArray(e)||(e=[e]),e.includes(this.lexer.current.type)?(this.range&&(this.rangeStart+=this.lexer.current?.reduced??0),this.loc&&(this.locStart.line+=this.lexer.current?.line??0,this.locStart.column=(this.lexer.current?.line??0)>0?this.lexer.current?.column??0:this.locStart.column+(this.lexer.current?.column??0)),this._lexer=this.lexer.advance(),!0):!1}acceptLexerState(e){this._lexer=e.lexer}};function g6(e){return e==="}"||e==="EOF"||e==="|"||e===","||e===")"||e===">"}var Fr=(e,n,a)=>{let i=e.lexer.current.type,m=e.lexer.next.type,t=a?.type==="JsdocTypeInfer";return a===null&&i==="?"&&!g6(m)||a!==null&&!t&&i==="?"&&12>n?(e.consume("?"),a===null?{type:"JsdocTypeNullable",element:e.parseType(12),meta:{position:"prefix"}}:{type:"JsdocTypeNullable",element:Z(a),meta:{position:"suffix"}}):null};function D(e){let n=(a,i,m)=>{let t=a.lexer.current.type,r=a.lexer.next.type;if(m===null){if("parsePrefix"in e&&e.accept(t,r))return e.parsePrefix(a)}else if("parseInfix"in e&&e.precedence>i&&e.accept(t,r))return e.parseInfix(a,m);return null};return Object.defineProperty(n,"name",{value:e.name}),n}var bm=D({name:"optionalParslet",accept:e=>e==="=",precedence:11,parsePrefix:e=>(e.consume("="),{type:"JsdocTypeOptional",element:e.parseType(11),meta:{position:"prefix"}}),parseInfix:(e,n)=>(e.consume("="),{type:"JsdocTypeOptional",element:Z(n),meta:{position:"suffix"}})}),km=D({name:"numberParslet",accept:e=>e==="Number",parsePrefix:e=>{let n=e.lexer.current.text;if(e.consume("Number"),n.endsWith("n")){let a=n.slice(0,-1);return{type:"JsdocTypeBigInt",value:BigInt(a).toString()}}return{type:"JsdocTypeNumber",value:parseFloat(n)}}}),Tv=D({name:"parenthesisParslet",accept:e=>e==="(",parsePrefix:e=>{if(e.consume("("),e.consume(")"))return{type:"JsdocTypeParameterList",elements:[]};let n=e.parseIntermediateType(0);if(!e.consume(")"))throw new Error("Unterminated parenthesis");return n.type==="JsdocTypeParameterList"?n:n.type==="JsdocTypeKeyValue"?{type:"JsdocTypeParameterList",elements:[n]}:{type:"JsdocTypeParenthesis",element:Z(n)}}}),Av=D({name:"specialTypesParslet",accept:(e,n)=>e==="?"&&g6(n)||e==="null"||e==="undefined"||e==="*",parsePrefix:e=>{if(e.consume("null"))return{type:"JsdocTypeNull"};if(e.consume("undefined"))return{type:"JsdocTypeUndefined"};if(e.consume("*"))return{type:"JsdocTypeAny"};if(e.consume("?"))return{type:"JsdocTypeUnknown"};throw new Error(`Unacceptable token: ${e.lexer.current.text}`)}}),Iv=D({name:"notNullableParslet",accept:e=>e==="!",precedence:12,parsePrefix:e=>(e.consume("!"),{type:"JsdocTypeNotNullable",element:e.parseType(12),meta:{position:"prefix"}}),parseInfix:(e,n)=>(e.consume("!"),{type:"JsdocTypeNotNullable",element:Z(n),meta:{position:"suffix"}})});function Pv({allowTrailingComma:e}){return D({name:"parameterListParslet",accept:n=>n===",",precedence:1,parseInfix:(n,a)=>{let i=[Mr(a)];n.consume(",");do try{let m=n.parseIntermediateType(1);i.push(Mr(m))}catch(m){if(e&&m instanceof Jr)break;throw m}while(n.consume(","));if(i.length>0&&i.slice(0,-1).some(m=>m.type==="JsdocTypeVariadic"))throw new Error("Only the last parameter may be a rest parameter");return{type:"JsdocTypeParameterList",elements:i}}})}var ke=D({name:"genericParslet",accept:(e,n)=>e==="<"||e==="."&&n==="<",precedence:17,parseInfix:(e,n)=>{let a=e.consume(".");e.consume("<");let i=[];do if(e.consume("infer")){let m=e.parseIntermediateType(12);if(m.type!=="JsdocTypeName")throw new an(m,"A typescript infer always has to have a name.");i.push({type:"JsdocTypeInfer",element:m})}else i.push(e.parseType(1));while(e.consume(","));if(!e.consume(">"))throw new Error("Unterminated generic parameter list");return{type:"JsdocTypeGeneric",left:Z(n),elements:i,meta:{brackets:"angle",dot:a}}}}),Ov=D({name:"unionParslet",accept:e=>e==="|",precedence:5,parseInfix:(e,n)=>{e.consume("|");let a=[];do a.push(e.parseType(5));while(e.consume("|"));return{type:"JsdocTypeUnion",elements:[di(e,Z(n)),...a.map(i=>di(e,i))]}}}),jr=[Fr,bm,km,Tv,Av,Iv,Pv({allowTrailingComma:!0}),ke,Ov,bm];function Te({allowSquareBracketsOnAnyType:e,allowJsdocNamePaths:n,pathGrammar:a}){return function(m,t,r){if(r===null||t>=18)return null;let s=m.lexer.current.type,o=m.lexer.next.type;if(!(s==="."&&o!=="<"||s==="["&&(e||r.type==="JsdocTypeName")||n&&(s==="~"||s==="#")))return null;let x,c=!1;m.consume(".")?x="property":m.consume("[")?(x="property-brackets",c=!0):m.consume("~")?x="inner":(m.consume("#"),x="instance");let l=c&&e?m:a!==null?new Zn(a,m.lexer,m):m,u=l.parseType(c&&e?0:18);m.acceptLexerState(l);let p;switch(u.type){case"JsdocTypeName":p={type:"JsdocTypeProperty",value:u.value,meta:{quote:void 0}};break;case"JsdocTypeNumber":p={type:"JsdocTypeProperty",value:u.value.toString(10),meta:{quote:void 0}};break;case"JsdocTypeBigInt":throw new an(u,"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'");case"JsdocTypeStringValue":p={type:"JsdocTypeProperty",value:u.value,meta:{quote:u.meta.quote}};break;case"JsdocTypeSpecialNamePath":if(u.specialType==="event")p=u;else throw new an(u,"Type 'JsdocTypeSpecialNamePath' is only allowed with specialType 'event'");break;default:if(!c||!e)throw new an(u,"Expecting 'JsdocTypeName', 'JsdocTypeNumber', 'JsdocStringValue' or 'JsdocTypeSpecialNamePath'");p={type:"JsdocTypeIndexedAccessIndex",right:u}}if(c&&!m.consume("]")){let f=m.lexer.current;throw new Error(`Unterminated square brackets. Next token is '${f.type}' with text '${f.text}'`)}return{type:"JsdocTypeNamePath",left:Z(r),right:p,pathType:x}}}function Cn({allowedAdditionalTokens:e}){return D({name:"nameParslet",accept:n=>n==="Identifier"||n==="this"||n==="new"||e.includes(n),parsePrefix:n=>{let{type:a,text:i}=n.lexer.current;return n.consume(a),{type:"JsdocTypeName",value:i}}})}var yi=D({name:"stringValueParslet",accept:e=>e==="StringValue",parsePrefix:e=>{let n=e.lexer.current.text;return e.consume("StringValue"),{type:"JsdocTypeStringValue",value:n.slice(1,-1),meta:{quote:n.startsWith("'")?"single":"double"}}}});function Ae({pathGrammar:e,allowedTypes:n}){return D({name:"specialNamePathParslet",accept:a=>n.includes(a),parsePrefix:a=>{let i=a.lexer.current.type;if(a.consume(i),!a.consume(":"))return{type:"JsdocTypeName",value:i};let m,t=a.lexer.current;if(a.consume("StringValue"))m={type:"JsdocTypeSpecialNamePath",value:t.text.slice(1,-1),specialType:i,meta:{quote:t.text.startsWith("'")?"single":"double"}};else{let o="",x=["Identifier","@","/"];for(;x.some(c=>a.consume(c));)o+=t.text,t=a.lexer.current;m={type:"JsdocTypeSpecialNamePath",value:o,specialType:i,meta:{quote:void 0}}}let r=new Zn(e,a.lexer,a),s=r.parseInfixIntermediateType(m,0);return a.acceptLexerState(r),Z(s)}})}var x6=[Cn({allowedAdditionalTokens:["external","module"]}),yi,km,Te({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:null})],Un=[...x6,Ae({allowedTypes:["event"],pathGrammar:x6}),Cn({allowedAdditionalTokens:W1})];function Ci(e){let n;if(e.type==="JsdocTypeParameterList")n=e.elements;else if(e.type==="JsdocTypeParenthesis")n=[e.element];else throw new an(e);return n.map(a=>Mr(a))}function Rv(e){let n=Ci(e);if(n.some(a=>a.type==="JsdocTypeKeyValue"))throw new Error("No parameter should be named");return n}function Ur({allowNamedParameters:e,allowNoReturnType:n,allowWithoutParenthesis:a,allowNewAsFunctionKeyword:i}){return D({name:"functionParslet",accept:(m,t)=>m==="function"||i&&m==="new"&&t==="(",parsePrefix:m=>{let t=m.consume("new");m.consume("function");let r=m.lexer.current.type==="(";if(!r){if(!a)throw new Error("function is missing parameter list");return{type:"JsdocTypeName",value:"function"}}let s={type:"JsdocTypeFunction",parameters:[],arrow:!1,constructor:t,parenthesis:r},o=m.parseIntermediateType(14);if(e===void 0)s.parameters=Rv(o);else{if(t&&o.type==="JsdocTypeFunction"&&o.arrow)return s=o,s.constructor=!0,s;s.parameters=Ci(o);for(let x of s.parameters)if(x.type==="JsdocTypeKeyValue"&&!e.includes(x.key))throw new Error(`only allowed named parameters are ${e.join(", ")} but got ${x.type}`)}if(m.consume(":"))s.returnType=m.parseType(7);else if(!n)throw new Error("function is missing return type");return s}})}function Dr({allowPostfix:e,allowEnclosingBrackets:n}){return D({name:"variadicParslet",accept:a=>a==="...",precedence:7,parsePrefix:a=>{a.consume("...");let i=n&&a.consume("[");try{let m=a.parseType(7);if(i&&!a.consume("]"))throw new Error("Unterminated variadic type. Missing ']'");return{type:"JsdocTypeVariadic",element:Z(m),meta:{position:"prefix",squareBrackets:i}}}catch(m){if(m instanceof Jr){if(i)throw new Error("Empty square brackets for variadic are not allowed.",{cause:m});return{type:"JsdocTypeVariadic",meta:{position:void 0,squareBrackets:!1}}}else throw m}},parseInfix:e?(a,i)=>(a.consume("..."),{type:"JsdocTypeVariadic",element:Z(i),meta:{position:"suffix",squareBrackets:!1}}):void 0})}var y6=D({name:"symbolParslet",accept:e=>e==="(",precedence:10,parseInfix:(e,n)=>{if(n.type!=="JsdocTypeName")throw new Error("Symbol expects a name on the left side. (Reacting on '(')");e.consume("(");let a={type:"JsdocTypeSymbol",value:n.value};if(!e.consume(")")&&(a.element=bv(e.parseIntermediateType(10)),!e.consume(")")))throw new Error("Symbol does not end after value");return a}}),Q1=D({name:"arrayBracketsParslet",precedence:16,accept:(e,n)=>e==="["&&n==="]",parseInfix:(e,n)=>(e.consume("["),e.consume("]"),{type:"JsdocTypeGeneric",left:{type:"JsdocTypeName",value:"Array"},elements:[Z(n)],meta:{brackets:"square",dot:!1}})});function C6(e,n){let a=[];if(e.consume("<")){do{let i,m=e.parseIntermediateType(10);if(m.type==="JsdocTypeOptional"&&(m=m.element,i=e.parseType(10)),m.type!=="JsdocTypeName")throw new an(m);let t;e.consume("extends")&&(t=e.parseType(10),t.type==="JsdocTypeOptional"&&(t=t.element,i=e.parseType(10)));let r={type:"JsdocTypeTypeParameter",name:m};if(t!==void 0&&(r.constraint=t),i!==void 0&&(r.defaultValue=i),a.push(r),e.consume(">"))break}while(e.consume(","));n.typeParameters=a}}var Lv=D({name:"functionPropertyParslet",accept:(e,n)=>e==="new"&&(n==="("||n==="<")||e==="Identifier"&&(n==="("||n==="<")||e==="StringValue"&&(n==="("||n==="<")||e==="("||e==="<",parsePrefix:e=>{let n,a={type:"JsdocTypeName",value:"void"};if(e.consume("new"))n={type:"JsdocTypeConstructorSignature",parameters:[],returnType:a};else{let i=e.lexer.current.text;if(e.consume("Identifier"))n={type:"JsdocTypeMethodSignature",name:i,meta:{quote:void 0},parameters:[],returnType:a};else{let m=e.lexer.current.text;e.consume("StringValue")?n={type:"JsdocTypeMethodSignature",name:m.slice(1,-1),meta:{quote:m.startsWith('"')?"double":"single"},parameters:[],returnType:a}:n={type:"JsdocTypeCallSignature",parameters:[],returnType:a}}}if(C6(e,n),e.lexer.current.type!=="(")throw new Error("function property is missing parameter list");return n}});function Gr({signatureGrammar:e,objectFieldGrammar:n,allowKeyTypes:a}){return D({name:"objectParslet",accept:i=>i==="{",parsePrefix:i=>{i.consume("{");let m={type:"JsdocTypeObject",meta:{separator:"comma"},elements:[]};if(!i.consume("}")){let t,r=new Zn(n,i.lexer,i,i.externalParsers?.computedPropertyParser!==void 0?{externalParsers:{computedPropertyParser:i.externalParsers.computedPropertyParser}}:void 0);for(;;){r.acceptLexerState(i);let s=r.parseIntermediateType(2);i.acceptLexerState(r),s===void 0&&a&&(s=i.parseIntermediateType(2));let o=!1;if(s.type==="JsdocTypeNullable"&&(o=!0,s=s.element),e!==void 0&&o&&(s.type==="JsdocTypeName"||s.type==="JsdocTypeStringValue")&&(i.lexer.current.type==="("||i.lexer.current.type==="<")){let x={type:"JsdocTypeMethodSignature",name:s.value,optional:!0,meta:{quote:s.type==="JsdocTypeStringValue"?s.meta.quote:void 0},parameters:[],returnType:{type:"JsdocTypeName",value:"void"}};C6(i,x),s=x}if(s.type==="JsdocTypeNumber"||s.type==="JsdocTypeName"||s.type==="JsdocTypeStringValue"){let x;s.type==="JsdocTypeStringValue"&&(x=s.meta.quote),m.elements.push({type:"JsdocTypeObjectField",key:s.value.toString(),right:void 0,optional:o,readonly:!1,meta:{quote:x}})}else if(e!==void 0&&(s.type==="JsdocTypeCallSignature"||s.type==="JsdocTypeConstructorSignature"||s.type==="JsdocTypeMethodSignature")){let x=new Zn([...e,...i.grammar.flatMap(u=>u.name==="keyValueParslet"?[]:[u])],i.lexer,i);x.acceptLexerState(i);let c=x.parseIntermediateType(2);i.acceptLexerState(x),s.parameters=Ci(c);let l=i.parseType(2);s.returnType=l,m.elements.push(s)}else if(s.type==="JsdocTypeObjectField"||s.type==="JsdocTypeJsdocObjectField")m.elements.push(s);else if(s.type==="JsdocTypeReadonlyProperty"&&s.element.type==="JsdocTypeObjectField"){if(typeof s.element.key=="object"&&s.element.key.type==="JsdocTypeComputedMethod")throw new Error("Computed method may not be readonly");s.element.readonly=!0,m.elements.push(s.element)}else throw new an(s);if(i.lexer.current.startOfLine)t??="linebreak",i.consume(",")||i.consume(";");else if(i.consume(","))i.lexer.current.startOfLine?t="comma-and-linebreak":t="comma";else if(i.consume(";"))i.lexer.current.startOfLine?t="semicolon-and-linebreak":t="semicolon";else break;if(i.lexer.current.type==="}")break}if(m.meta.separator=t??"comma",(t??"").endsWith("linebreak")&&(m.meta.propertyIndent=" "),!i.consume("}"))throw new Error("Unterminated record type. Missing '}'")}return m}})}function Br({allowSquaredProperties:e,allowKeyTypes:n,allowReadonly:a,allowOptional:i}){return D({name:"objectFieldParslet",precedence:3,accept:m=>m===":",parseInfix:(m,t)=>{let r=!1,s=!1;if(i&&t.type==="JsdocTypeNullable"&&(r=!0,t=t.element),a&&t.type==="JsdocTypeReadonlyProperty"&&(s=!0,t=t.element),t.type==="JsdocTypeBigInt")throw new an(t);let o=m.baseParser??m;if(o.acceptLexerState(m),t.type==="JsdocTypeNumber"||t.type==="JsdocTypeName"||t.type==="JsdocTypeStringValue"||Nr(t)){if(Nr(t)&&!e)throw new an(t);o.consume(":");let x;t.type==="JsdocTypeStringValue"&&(x=t.meta.quote);let c=o.parseType(3);return m.acceptLexerState(o),{type:"JsdocTypeObjectField",key:Nr(t)?t:t.value.toString(),right:c,optional:r,readonly:s,meta:{quote:x}}}else{if(!n)throw new an(t);o.consume(":");let x=o.parseType(3);return m.acceptLexerState(o),{type:"JsdocTypeJsdocObjectField",left:Z(t),right:x}}}})}function gi({allowOptional:e,allowVariadic:n,acceptParameterList:a}){return D({name:"keyValueParslet",precedence:3,accept:i=>i===":",parseInfix:(i,m)=>{let t=!1,r=!1;if(e&&m.type==="JsdocTypeNullable"&&(t=!0,m=m.element),n&&m.type==="JsdocTypeVariadic"&&m.element!==void 0&&(r=!0,m=m.element),m.type!=="JsdocTypeName"){if(a!==void 0&&m.type==="JsdocTypeParameterList")return i.consume(":"),m;throw new an(m)}i.consume(":");let s=i.parseType(3);return{type:"JsdocTypeKeyValue",key:m.value,right:s,optional:t,variadic:r}}})}var c6=[...jr,Ur({allowWithoutParenthesis:!0,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),yi,Ae({allowedTypes:["module","external","event"],pathGrammar:Un}),Dr({allowEnclosingBrackets:!0,allowPostfix:!0}),Cn({allowedAdditionalTokens:["keyof"]}),y6,Q1,Te({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:Un})],Nv=[...c6,Gr({objectFieldGrammar:[Cn({allowedAdditionalTokens:["typeof","module","in"]}),Br({allowSquaredProperties:!1,allowKeyTypes:!0,allowOptional:!1,allowReadonly:!1}),...c6],allowKeyTypes:!0}),gi({allowOptional:!0,allowVariadic:!0})],ZA=[ke,Q1,Cn({allowedAdditionalTokens:W1})],Mv=[ke,Q1,Cn({allowedAdditionalTokens:W1}),Te({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:Un})],nI=[Ae({allowedTypes:["module","external","event"],pathGrammar:Un}),...Mv],v6=D({name:"typeOfParslet",accept:e=>e==="typeof",parsePrefix:e=>(e.consume("typeof"),{type:"JsdocTypeTypeof",element:e.parseType(13)})}),Jv=[Cn({allowedAdditionalTokens:["typeof","module","keyof","event","external","in"]}),Fr,bm,yi,km,Br({allowSquaredProperties:!1,allowKeyTypes:!1,allowOptional:!1,allowReadonly:!1})],Fv=[...jr,Gr({allowKeyTypes:!1,objectFieldGrammar:Jv}),Cn({allowedAdditionalTokens:["event","external","in"]}),v6,Ur({allowWithoutParenthesis:!1,allowNamedParameters:["this","new"],allowNoReturnType:!0,allowNewAsFunctionKeyword:!1}),Dr({allowEnclosingBrackets:!1,allowPostfix:!1}),Cn({allowedAdditionalTokens:["keyof"]}),Ae({allowedTypes:["module"],pathGrammar:Un}),Te({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:Un}),gi({allowOptional:!1,allowVariadic:!1}),y6],eI=[ke,Q1,Cn({allowedAdditionalTokens:W1})],jv=[ke,Q1,Cn({allowedAdditionalTokens:W1}),Te({allowSquareBracketsOnAnyType:!1,allowJsdocNamePaths:!0,pathGrammar:Un})],aI=[Ae({allowedTypes:["module"],pathGrammar:Un}),...jv],Uv=D({name:"assertsParslet",accept:e=>e==="asserts",parsePrefix:e=>{e.consume("asserts");let n=e.parseIntermediateType(10);if(n.type!=="JsdocTypeName")throw new an(n,"A typescript asserts always has to have a name.");return e.consume("is")?{type:"JsdocTypeAsserts",left:n,right:Z(e.parseIntermediateType(8))}:{type:"JsdocTypeAssertsPlain",element:n}}});function Dv({allowQuestionMark:e}){return D({name:"tupleParslet",accept:n=>n==="[",parsePrefix:n=>{n.consume("[");let a={type:"JsdocTypeTuple",elements:[]};if(n.consume("]"))return a;let i=n.parseIntermediateType(0);if(i.type==="JsdocTypeParameterList"?i.elements[0].type==="JsdocTypeKeyValue"?a.elements=i.elements.map(Em):a.elements=i.elements.map(Z):i.type==="JsdocTypeKeyValue"?a.elements=[Em(i)]:a.elements=[Z(i)],!n.consume("]"))throw new Error("Unterminated '['");if(!e&&a.elements.some(m=>m.type==="JsdocTypeUnknown"))throw new Error("Question mark in tuple not allowed");return a}})}var Gv=D({name:"keyOfParslet",accept:e=>e==="keyof",parsePrefix:e=>(e.consume("keyof"),{type:"JsdocTypeKeyof",element:Z(e.parseType(13))})}),Bv=D({name:"inferParslet",accept:e=>e==="infer",parsePrefix:e=>{e.consume("infer");let n=e.parseIntermediateType(12);if(n.type!=="JsdocTypeName")throw new an(n,"A typescript infer always has to have a name.");return{type:"JsdocTypeInfer",element:n}}}),Vv=D({name:"importParslet",accept:e=>e==="import",parsePrefix:e=>{if(e.consume("import"),!e.consume("("))throw new Error("Missing parenthesis after import keyword");let n=e.parseType(7);if(n.type!=="JsdocTypeStringValue")throw new Error("Only string values are allowed as paths for imports");if(!e.consume(")"))throw new Error("Missing closing parenthesis after import keyword");return{type:"JsdocTypeImport",element:n}}}),$v=D({name:"readonlyPropertyParslet",accept:(e,n)=>e==="readonly"&&n!==":"&&n!=="?",parsePrefix:e=>(e.consume("readonly"),{type:"JsdocTypeReadonlyProperty",element:e.parseIntermediateType(3)})}),Wv=D({name:"arrowFunctionParslet",precedence:15,accept:e=>e==="=>",parseInfix:(e,n)=>(e.consume("=>"),{type:"JsdocTypeFunction",parameters:Ci(n).map(Ev),arrow:!0,constructor:!1,parenthesis:!0,returnType:e.parseType(2)})}),Qv=D({name:"genericArrowFunctionParslet",accept:e=>e==="<",parsePrefix:e=>{let n=[];e.consume("<");do{let i,m=e.parseIntermediateType(10);if(m.type==="JsdocTypeOptional"&&(m=m.element,i=e.parseType(10)),m.type!=="JsdocTypeName")throw new an(m);let t;e.consume("extends")&&(t=e.parseType(10),t.type==="JsdocTypeOptional"&&(t=t.element,i=e.parseType(10)));let r={type:"JsdocTypeTypeParameter",name:m};if(t!==void 0&&(r.constraint=t),i!==void 0&&(r.defaultValue=i),n.push(r),e.consume(">"))break}while(e.consume(","));let a=e.parseIntermediateType(10);return a.typeParameters=n,a}}),zv=D({name:"intersectionParslet",accept:e=>e==="&",precedence:6,parseInfix:(e,n)=>{e.consume("&");let a=[];do a.push(e.parseType(6));while(e.consume("&"));return{type:"JsdocTypeIntersection",elements:[di(e,Z(n)),...a.map(i=>di(e,i))]}}}),qv=D({name:"predicateParslet",precedence:8,accept:e=>e==="is",parseInfix:(e,n)=>{if(n.type!=="JsdocTypeName")throw new an(n,"A typescript predicate always has to have a name on the left side.");return e.consume("is"),{type:"JsdocTypePredicate",left:n,right:Z(e.parseIntermediateType(8))}}}),Hv=new RegExp("^\\s*\\n\\s*","v"),fi=class pi{text="";lexerRules;current;next;previous;static create(n,a){let i=this.read(n,a);a=i.text;let m=this.read(n,a);return a=m.text,new pi(n,a,void 0,i.token,m.token)}constructor(n,a,i,m,t){this.lexerRules=n,this.text=a,this.previous=i,this.current=m,this.next=t}static read(n,a,i=!1){i||=Hv.test(a);let m=a.length,t=new RegExp("^\\s+","v").exec(a)?.[0]??"";a=a.trimStart();let r=m-a.length;for(let s of n){let o=s(a);if(o!==null){let x=t.split(`
25
+ `),c=o.text.split(`
26
+ `),l={...o,startOfLine:i,reduced:r+o.text.length,line:x.length+c.length-2,column:c.length===1?(x.at(-1)?.length??0)+(c.at(-1)?.length??0):c.at(-1)?.length??0};return a=a.slice(l.text.length),{text:a,token:l}}}throw new Error(`Unexpected Token ${a}`)}remaining(){return this.next.text+this.text}advance(){let n=pi.read(this.lexerRules,this.text);return new pi(this.lexerRules,n.text,this.current,this.next,n.token)}clone(){return new pi(this.lexerRules,this.text,this.previous,this.current,this.next)}},Kv=D({name:"objectSquarePropertyParslet",accept:e=>e==="[",parsePrefix:e=>{if(e.baseParser===void 0)throw new Error("Only allowed inside object grammar");e.consume("[");let n,a=!1;if(e.externalParsers?.computedPropertyParser!==void 0)try{let m=e.lexer.clone(),t=new Zn(e.grammar,m,e.baseParser,{externalParsers:e.externalParsers}),r=t.parseIntermediateType(2),s=r?.type==="JsdocTypeName"&&t.consume("in");(r?.type==="JsdocTypeObjectField"&&typeof r.key=="string"&&!r.optional&&!r.readonly&&r.right!==void 0||s)&&(a=!0)}catch{}if(a||e.externalParsers?.computedPropertyParser===void 0)try{n=e.parseIntermediateType(2)}catch(m){throw new Error("Error parsing value inside square bracketed property.",{cause:m})}let i;if(n?.type==="JsdocTypeObjectField"&&typeof n.key=="string"&&!n.optional&&!n.readonly&&n.right!==void 0){let m=n.key;if(!e.consume("]"))throw new Error("Unterminated square brackets");if(!e.consume(":"))throw new Error("Incomplete index signature");let t=e.baseParser;t.acceptLexerState(e),n.key={type:"JsdocTypeIndexSignature",key:m,right:n.right},n.optional=!1,n.meta.quote=void 0,i=n;let r=t.parseType(4);i.right=r,e.acceptLexerState(t)}else if(n?.type==="JsdocTypeName"&&e.consume("in")){let m=e.baseParser;m.acceptLexerState(e);let t=m.parseType(4);if(!m.consume("]"))throw new Error("Unterminated square brackets");let r=m.consume("?");if(!m.consume(":"))throw new Error("Incomplete mapped type clause: missing colon");let s=m.parseType(4);i={type:"JsdocTypeObjectField",optional:r,readonly:!1,meta:{quote:void 0},key:{type:"JsdocTypeMappedType",key:n.value,right:t},right:s},e.acceptLexerState(m)}else{if(e.externalParsers?.computedPropertyParser!==void 0){let c=e.lexer.current.text+e.lexer.remaining(),l=c;for(;l!=="";){try{n=e.externalParsers.computedPropertyParser(l);break}catch{}l=l.slice(0,-1)}c=c.slice(l.length);let u=new Zn(e.grammar,fi.create(e.lexer.lexerRules,c),e.baseParser,{externalParsers:{computedPropertyParser:e.externalParsers.computedPropertyParser}});e.acceptLexerState(u)}if(!e.consume("]"))throw new Error("Unterminated square brackets");let m=e.consume("?"),t=[];if(e.consume("<"))do{let c,l=e.parseIntermediateType(10);if(l.type==="JsdocTypeOptional"&&(l=l.element,c=e.parseType(10)),l.type!=="JsdocTypeName")throw new an(l);let u;e.consume("extends")&&(u=e.parseType(10),u.type==="JsdocTypeOptional"&&(u=u.element,c=e.parseType(10)));let p={type:"JsdocTypeTypeParameter",name:l};if(u!==void 0&&(p.constraint=u),c!==void 0&&(p.defaultValue=c),t.push(p),e.consume(">"))break}while(e.consume(","));let r,s,o=()=>{m||(m=e.consume("?"))},x;if(e.lexer.current.type==="("){let c=new Zn([gi({allowVariadic:!0,allowOptional:!0,acceptParameterList:!0}),...e.baseParser.grammar.flatMap(d=>d.name==="keyValueParslet"?[]:[d])],e.lexer,e);c.acceptLexerState(e);let l=c.parseIntermediateType(2);e.acceptLexerState(c);let u=Ci(l);r="JsdocTypeComputedMethod",o(),e.consume(":");let p=e.baseParser;p.acceptLexerState(e);let f=p.parseType(4);e.acceptLexerState(p),s={type:r,optional:m,value:n,parameters:u,returnType:f},t.length>0&&(s.typeParameters=t)}else{if(r="JsdocTypeComputedProperty",o(),!e.consume(":"))throw new Error("Incomplete computed property: missing colon");let c=e.baseParser;c.acceptLexerState(e),x=c.parseType(4),e.acceptLexerState(c),s={type:r,value:n}}i={type:"JsdocTypeObjectField",optional:r==="JsdocTypeComputedMethod"?!1:m,readonly:!1,meta:{quote:void 0},key:s,right:x}}return i}}),Yv=D({name:"readonlyArrayParslet",accept:e=>e==="readonly",parsePrefix:e=>(e.consume("readonly"),{type:"JsdocTypeReadonlyArray",element:kv(e.parseIntermediateType(0))})}),Xv=D({name:"conditionalParslet",precedence:8,accept:e=>e==="extends",parseInfix:(e,n)=>{e.consume("extends");let a=Z(e.parseType(13));e.consume("?");let i=e.parseType(3);return e.consume(":"),{type:"JsdocTypeConditional",checksType:Z(n),extendsType:a,trueType:i,falseType:e.parseType(8)}}});function K(e){return n=>n.startsWith(e)?{type:e,text:e}:null}function Zv(e){let n=0,a,i=e[0],m=!1;if(i!=="'"&&i!=='"')return null;for(;n<e.length;){if(n++,a=e[n],!m&&a===i){n++;break}m=!m&&a==="\\"}if(a!==i)throw new Error("Unterminated String");return e.slice(0,n)}function n_(e){let n=0,a,i=e[0],m=!1;if(i!=="`")return null;for(;n<e.length;){if(n++,a=e[n],!m&&a===i){n++;break}m=!m&&a==="\\"}if(a!==i)throw new Error("Unterminated template literal");return e.slice(0,n)}function e_(e){let n=0,a=e[0],i=!1;if(a==="`"||a==="$"&&e[1]==="{")return null;for(;n<e.length;){n++;let m=e[n];if(!i&&(m==="`"||m==="$"&&e[n+1]==="{"))break;i=!i&&m==="\\"}return e.slice(0,n)}var a_=new RegExp("[$_\\p{ID_Start}]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","v"),_6=new RegExp("[$\\p{ID_Continue}\\u200C\\u200D]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","v"),i_=new RegExp("[$\\-\\p{ID_Continue}\\u200C\\u200D]|\\\\u\\p{Hex_Digit}{4}|\\\\u\\{0*(?:\\p{Hex_Digit}{1,5}|10\\p{Hex_Digit}{4})\\}","v");function S6(e){return function(n){let a=n[0];if(!a_.test(a))return null;let i=1;do{if(a=n[i],!e.test(a))break;i++}while(i<n.length);return n.slice(0,i)}}var w6=new RegExp("^(?:-?\\d+n)","v"),m_=new RegExp("^(?:-?(?:(?:\\d*\\.\\d+|\\d+)(?:[Ee][+\\-]?\\d+)?))","v"),t_=new RegExp("^(?:NaN|-?(?:(?:\\d*\\.\\d+|\\d+)(?:[Ee][+\\-]?\\d+)?|Infinity))","v");function E6(e){return function(a){return e.exec(a)?.[0]??null}}var b6=e=>{let n=S6(i_)(e);return n===null?null:{type:"Identifier",text:n}},r_=e=>{let n=S6(_6)(e);return n===null?null:{type:"Identifier",text:n}};function fn(e){return n=>{if(!n.startsWith(e))return null;let a=n[e.length];return a!==void 0&&_6.test(a)?null:{type:e,text:e}}}var s_=e=>{let n=Zv(e);return n===null?null:{type:"StringValue",text:n}},o_=e=>{let n=n_(e);return n===null?null:{type:"TemplateLiteral",text:n}},k6=e=>e.length>0?null:{type:"EOF",text:""},x_=e=>{let n=w6.exec(e)?.[0];if(n!==void 0)return{type:"Number",text:n};let a=E6(m_)(e);return a===null?null:{type:"Number",text:a}},c_=e=>{let n=w6.exec(e)?.[0];if(n!==void 0)return{type:"Number",text:n};let a=E6(t_)(e);return a===null?null:{type:"Number",text:a}},Vr=[k6,K("=>"),K("("),K(")"),K("{"),K("}"),K("["),K("]"),K("|"),K("&"),K("<"),K(">"),K(","),K(";"),K("*"),K("?"),K("!"),K("="),K(":"),K("..."),K("."),K("#"),K("~"),K("/"),K("@"),fn("undefined"),fn("null"),fn("function"),fn("this"),fn("new"),fn("module"),fn("event"),fn("extends"),fn("external"),fn("infer"),fn("typeof"),fn("keyof"),fn("readonly"),fn("import"),fn("is"),fn("in"),fn("asserts"),x_,r_,s_,o_],l6=Vr.toSpliced(-4,2,c_,b6),l_=e=>{let n=b6(e);return n?.text.includes("-")===!0?n:null},iI=[k6,l_,...Vr.slice(1)],u_=D({name:"templateLiteralParslet",accept:e=>e==="TemplateLiteral",parsePrefix:e=>{let n=e.lexer.current.text;e.consume("TemplateLiteral");let a=[],i=[],m=n.slice(1,-1),t=()=>{let r=e_(m)??"";a.push(r.replace(new RegExp("\\\\`","gv"),"`")),m=m.slice(r.length)};for(t();m.startsWith("${");){{m=m.slice(2);let r,s,o=m,x="";for(;;)try{r=new Zn(e.grammar,fi.create(e.lexer.lexerRules,o)),s=r.parseType(0);break}catch{x=o.slice(-1)+x,o=o.slice(0,-1)}if(i.push(s),r.lexer.current.text!=="}")throw new Error("unterminated interpolation");m=r.lexer.remaining()+x}t()}return{type:"JsdocTypeTemplateLiteral",literals:a,interpolations:i}}}),h_=(e,n,a)=>a!==null||e.lexer.current.type!=="Identifier"||e.lexer.current.text!=="unique"||e.lexer.next.type!=="Identifier"||e.lexer.next.text!=="symbol"?null:(e.consume("Identifier"),e.consume("Identifier"),{type:"JsdocTypeUniqueSymbol"}),p_=[Lv,$v,Cn({allowedAdditionalTokens:W1}),Fr,bm,yi,km,Br({allowSquaredProperties:!0,allowKeyTypes:!1,allowOptional:!0,allowReadonly:!0}),Kv],f_=[...jr,Gr({allowKeyTypes:!1,objectFieldGrammar:p_,signatureGrammar:[gi({allowVariadic:!0,allowOptional:!0,acceptParameterList:!0})]}),Yv,v6,Gv,Bv,Vv,yi,Ur({allowWithoutParenthesis:!0,allowNoReturnType:!0,allowNamedParameters:["this","new","args"],allowNewAsFunctionKeyword:!0}),Dv({allowQuestionMark:!1}),Dr({allowEnclosingBrackets:!1,allowPostfix:!1}),Uv,Xv,h_,Cn({allowedAdditionalTokens:["event","external","in"]}),Ae({allowedTypes:["module"],pathGrammar:Un}),Q1,Wv,Qv,Te({allowSquareBracketsOnAnyType:!0,allowJsdocNamePaths:!1,pathGrammar:Un}),zv,qv,u_,gi({allowVariadic:!0,allowOptional:!0})],mI=[ke,Q1,Cn({allowedAdditionalTokens:W1})],d_=[ke,Q1,Cn({allowedAdditionalTokens:W1}),Te({allowSquareBracketsOnAnyType:!0,allowJsdocNamePaths:!0,pathGrammar:Un})],tI=[Ae({allowedTypes:["module"],pathGrammar:Un}),...d_];function g_(e,n,{range:a=!1,rangeStart:i,loc:m=!1,locStart:t={column:0,line:1},module:r=!0,strictMode:s=!0,asyncFunctionBody:o=!0,classContext:x=!1,computedPropertyParser:c}={}){let l;switch(n){case"closure":l=new Zn(Fv,fi.create(l6,e),void 0,{module:r,strictMode:s,asyncFunctionBody:o,classContext:x,range:a,rangeStart:i,loc:m,locStart:t});break;case"jsdoc":l=new Zn(Nv,fi.create(l6,e),void 0,{module:r,strictMode:s,asyncFunctionBody:o,classContext:x,range:a,rangeStart:i,loc:m,locStart:t});break;case"typescript":l=new Zn(f_,fi.create(Vr,e),void 0,{module:r,strictMode:s,asyncFunctionBody:o,classContext:x,range:a,rangeStart:i,loc:m,locStart:t,externalParsers:{computedPropertyParser:c}})}let u=l.parse();return di(l,u)}function $r(e,n=["typescript","closure","jsdoc"],{module:a=!0,strictMode:i=!0,asyncFunctionBody:m=!0,classContext:t=!1,computedPropertyParser:r,range:s,rangeStart:o,loc:x=!1,locStart:c={column:0,line:1}}={}){let l;for(let u of n)try{return g_(e,u,{module:a,strictMode:i,asyncFunctionBody:m,classContext:t,computedPropertyParser:r,range:s,rangeStart:o,loc:x,locStart:c})}catch(p){l=p}throw l}function Sm(e,n,a){return e==="prefix"?a+n:n+a}function wm(e,n){switch(n){case"double":return`"${e}"`;case"single":return`'${e}'`;case void 0:return e}}function y_({computedPropertyStringifier:e}={}){return{JsdocTypeParenthesis:(n,a)=>`(${n.element!==void 0?a(n.element):""})`,JsdocTypeKeyof:(n,a)=>`keyof ${a(n.element)}`,JsdocTypeFunction:(n,a)=>{if(n.arrow){if(n.returnType===void 0)throw new Error("Arrow function needs a return type.");let i=`${n.typeParameters!==void 0?`<${n.typeParameters.map(a).join(`,${n.meta?.typeParameterSpacing??" "}`)}>${n.meta?.postGenericSpacing??""}`:""}(${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})${n.meta?.preReturnMarkerSpacing??" "}=>${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`;return n.constructor&&(i=`new ${i}`),i}else{let i=n.constructor?"new":"function";return n.parenthesis&&(i+=`(${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})`,n.returnType!==void 0&&(i+=`${n.meta?.preReturnMarkerSpacing??""}:${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`)),i}},JsdocTypeName:n=>n.value,JsdocTypeInfer:(n,a)=>`infer ${a(n.element)}`,JsdocTypeUniqueSymbol:()=>"unique symbol",JsdocTypeTuple:(n,a)=>`[${n.elements.map(a).join(`,${n.meta?.elementSpacing??" "}`)}]`,JsdocTypeVariadic:(n,a)=>n.meta.position===void 0?"...":Sm(n.meta.position,a(n.element),"..."),JsdocTypeNamePath:(n,a)=>{let i=a(n.left),m=a(n.right);switch(n.pathType){case"inner":return`${i}~${m}`;case"instance":return`${i}#${m}`;case"property":return`${i}.${m}`;case"property-brackets":return`${i}[${m}]`}},JsdocTypeStringValue:n=>wm(n.value,n.meta.quote),JsdocTypeAny:()=>"*",JsdocTypeGeneric:(n,a)=>{if(n.meta.brackets==="square"){let i=n.elements[0],m=a(i);return i.type==="JsdocTypeUnion"||i.type==="JsdocTypeIntersection"?`(${m})[]`:`${m}[]`}else return`${a(n.left)}${n.meta.dot?".":""}<${n.elements.map(a).join(`,${n.meta.elementSpacing??" "}`)}>`},JsdocTypeImport:(n,a)=>`import(${a(n.element)})`,JsdocTypeObjectField:(n,a)=>{let i="";n.readonly&&(i+="readonly ");let m=!1;return typeof n.key=="string"?i+=wm(n.key,n.meta.quote):(n.key.type==="JsdocTypeComputedMethod"&&(m=!0),i+=a(n.key)),i+=n.meta.postKeySpacing??"",!m&&n.optional&&(i+="?",i+=n.meta.postOptionalSpacing??""),n.right===void 0?i:`${i}:${n.meta.postColonSpacing??" "}${a(n.right)}`},JsdocTypeJsdocObjectField:(n,a)=>`${a(n.left)}: ${a(n.right)}`,JsdocTypeKeyValue:(n,a)=>{let i=n.key;return n.optional?i+=`${n.meta?.postKeySpacing??""}?${n.meta?.postOptionalSpacing??""}`:n.variadic?i=`...${n.meta?.postVariadicSpacing??""}${i}`:n.right!==void 0&&(i+=n.meta?.postKeySpacing??""),n.right===void 0?i:`${i}:${n.meta?.postColonSpacing??" "}${a(n.right)}`},JsdocTypeSpecialNamePath:n=>`${n.specialType}:${wm(n.value,n.meta.quote)}`,JsdocTypeNotNullable:(n,a)=>Sm(n.meta.position,a(n.element),"!"),JsdocTypeNull:()=>"null",JsdocTypeNullable:(n,a)=>Sm(n.meta.position,a(n.element),"?"),JsdocTypeNumber:n=>n.value.toString(),JsdocTypeBigInt:n=>`${n.value}n`,JsdocTypeObject:(n,a)=>{let i=(n.meta.separator??"").endsWith("linebreak"),m=n.meta.separator==="comma-and-linebreak"?`,
27
+ `:n.meta.separator==="semicolon-and-linebreak"?`;
28
+ `:n.meta.separator==="linebreak"?`
29
+ `:"",t=n.meta.separatorForSingleObjectField??!1,r=n.meta.trailingPunctuation??!1,s=n.meta.bracketSpacing??"";return`{${(i&&(t||n.elements.length>1)?`
30
+ ${n.meta.propertyIndent??""}`:s)+n.elements.map(a).join(n.meta.separator==="comma"?", ":i?m+(n.meta.propertyIndent??""):"; ")+(t&&n.elements.length===1?n.meta.separator==="comma"?",":i?m:";":r&&n.meta.separator!==void 0?n.meta.separator.startsWith("comma")?",":n.meta.separator.startsWith("semicolon")?";":"":"")+(i&&n.elements.length>1?`
31
+ `:s)}}`},JsdocTypeOptional:(n,a)=>Sm(n.meta.position,a(n.element),"="),JsdocTypeSymbol:(n,a)=>`${n.value}(${n.element!==void 0?a(n.element):""})`,JsdocTypeTypeof:(n,a)=>`typeof ${a(n.element)}`,JsdocTypeUndefined:()=>"undefined",JsdocTypeUnion:(n,a)=>n.elements.map(a).join(n.meta?.spacing===void 0?" | ":`${n.meta.spacing}|${n.meta.spacing}`),JsdocTypeUnknown:()=>"?",JsdocTypeIntersection:(n,a)=>n.elements.map(a).join(" & "),JsdocTypeProperty:n=>wm(n.value,n.meta.quote),JsdocTypePredicate:(n,a)=>`${a(n.left)} is ${a(n.right)}`,JsdocTypeIndexSignature:(n,a)=>`[${n.key}: ${a(n.right)}]`,JsdocTypeMappedType:(n,a)=>`[${n.key} in ${a(n.right)}]`,JsdocTypeAsserts:(n,a)=>`asserts ${a(n.left)} is ${a(n.right)}`,JsdocTypeReadonlyArray:(n,a)=>`readonly ${a(n.element)}`,JsdocTypeAssertsPlain:(n,a)=>`asserts ${a(n.element)}`,JsdocTypeConditional:(n,a)=>`${a(n.checksType)} extends ${a(n.extendsType)} ? ${a(n.trueType)} : ${a(n.falseType)}`,JsdocTypeTypeParameter:(n,a)=>`${a(n.name)}${n.constraint!==void 0?` extends ${a(n.constraint)}`:""}${n.defaultValue!==void 0?`${n.meta?.defaultValueSpacing??" "}=${n.meta?.defaultValueSpacing??" "}${a(n.defaultValue)}`:""}`,JsdocTypeCallSignature:(n,a)=>`${n.typeParameters!==void 0?`<${n.typeParameters.map(a).join(`,${n.meta?.typeParameterSpacing??" "}`)}>${n.meta?.postGenericSpacing??""}`:""}(${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})${n.meta?.preReturnMarkerSpacing??""}:${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`,JsdocTypeConstructorSignature:(n,a)=>`new${n.meta?.postNewSpacing??" "}${n.typeParameters!==void 0?`<${n.typeParameters.map(a).join(`,${n.meta?.typeParameterSpacing??" "}`)}>${n.meta?.postGenericSpacing??""}`:""}(${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})${n.meta?.preReturnMarkerSpacing??""}:${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`,JsdocTypeMethodSignature:(n,a)=>{let i=n.meta.quote==="double"?'"':n.meta.quote==="single"?"'":"";return`${i}${n.name}${i}${n.optional===!0?"?":""}${n.meta.postMethodNameSpacing??""}${n.typeParameters!==void 0?`<${n.typeParameters.map(a).join(`,${n.meta.typeParameterSpacing??" "}`)}>${n.meta.postGenericSpacing??""}`:""}(${n.parameters.map(a).join(`,${n.meta.parameterSpacing??" "}`)})${n.meta.preReturnMarkerSpacing??""}:${n.meta.postReturnMarkerSpacing??" "}${a(n.returnType)}`},JsdocTypeIndexedAccessIndex:(n,a)=>a(n.right),JsdocTypeTemplateLiteral:(n,a)=>`\`${n.literals.slice(0,-1).map((i,m)=>`${i.replace(new RegExp("`","gv"),"\\`")}\${${a(n.interpolations[m])}}`).join("")+n.literals.slice(-1)[0].replace(new RegExp("`","gv"),"\\`")}\``,JsdocTypeComputedProperty:(n,a)=>{if(n.value.type.startsWith("JsdocType"))return`[${a(n.value)}]`;if(e===void 0)throw new Error("Must have a computed property stringifier");return`[${e(n.value).replace(new RegExp(";$","v"),"")}]`},JsdocTypeComputedMethod:(n,a)=>{if(n.value.type.startsWith("JsdocType"))return`[${a(n.value)}]${n.optional?"?":""}${n.typeParameters!==void 0?`<${n.typeParameters.map(a).join(`,${n.meta?.typeParameterSpacing??" "}`)}>${n.meta?.postGenericSpacing??""}`:""}(${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})${n.meta?.preReturnMarkerSpacing??""}:${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`;if(e===void 0)throw new Error("Must have a computed property stringifier");return`[${e(n.value).replace(new RegExp(";$","v"),"")}](${n.parameters.map(a).join(`,${n.meta?.parameterSpacing??" "}`)})${n.meta?.preReturnMarkerSpacing??""}:${n.meta?.postReturnMarkerSpacing??" "}${a(n.returnType)}`}}}var rI=y_();var n1;(function(e){e.start="/**",e.nostart="/***",e.delim="*",e.end="*/"})(n1||(n1={}));function Wr(e){return/^\s+$/.test(e)}function T6(e){let n=e.match(/\r+$/);return n==null?["",e]:[e.slice(-n[0].length),e.slice(0,-n[0].length)]}function A1(e){let n=e.match(/^\s+/);return n==null?["",e]:[e.slice(0,n[0].length),e.slice(n[0].length)]}function A6(e){return e.split(/\n/)}function I6(e={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},e)}function Qr(e={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},e)}var v_=/^@[^\s/]+(?=\s|$)/;function zr({fence:e="```"}={}){let n=__(e),a=(i,m)=>n(i)?!m:m;return function(m){let t=[[]],r=!1;for(let s of m)v_.test(s.tokens.description)&&!r?t.push([s]):t[t.length-1].push(s),r=a(s.tokens.description,r);return t}}function __(e){return typeof e=="string"?n=>n.split(e).length%2===0:e}function qr({startLine:e=0,markers:n=n1}={}){let a=null,i=e;return function(t){let r=t,s=Qr();if([s.lineEnd,r]=T6(r),[s.start,r]=A1(r),a===null&&r.startsWith(n.start)&&!r.startsWith(n.nostart)&&(a=[],s.delimiter=r.slice(0,n.start.length),r=r.slice(n.start.length),[s.postDelimiter,r]=A1(r)),a===null)return i++,null;let o=r.trimEnd().endsWith(n.end);if(s.delimiter===""&&r.startsWith(n.delim)&&!r.startsWith(n.end)&&(s.delimiter=n.delim,r=r.slice(n.delim.length),[s.postDelimiter,r]=A1(r)),o){let x=r.trimEnd();s.end=r.slice(x.length-n.end.length),r=x.slice(0,-n.end.length)}if(s.description=r,a.push({number:i,source:t,tokens:s}),i++,o){let x=a.slice();return a=null,x}return null}}function Hr({tokenizers:e}){return function(a){var i;let m=I6({source:a});for(let t of e)if(m=t(m),!((i=m.problems[m.problems.length-1])===null||i===void 0)&&i.critical)break;return m}}function Tm(){return e=>{let{tokens:n}=e.source[0],a=n.description.match(/\s*(@(\S+))(\s*)/);return a===null?(e.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:e.source[0].number,critical:!0}),e):(a[1].includes("/")||(n.tag=a[1],n.postTag=a[3],n.description=n.description.slice(a[0].length),e.tag=a[2]),e)}}function Am(e="compact"){let n=w_(e);return a=>{let i=0,m=[],t=!1,r=!0;for(let{tokens:x}of a.source.values()){let c="";if(!t&&x.description.trim())t=!0;else if(!t)continue;if(r&&x.description[0]!=="{")return a;r=!1;for(let l of x.description)if(l==="{"&&i++,l==="}"&&i--,c+=l,i===0)break;if(m.push([x,c]),i===0)break}if(!t)return a;if(i!==0)return a.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:a.source[0].number,critical:!0}),a;let s=[],o=m[0][0].postDelimiter.length;for(let[x,[c,l]]of m.entries())c.type=l,x>0&&(c.type=c.postDelimiter.slice(o)+l,c.postDelimiter=c.postDelimiter.slice(0,o)),[c.postType,c.description]=A1(c.description.slice(l.length)),s.push(c.type);return s[0]=s[0].slice(1),s[s.length-1]=s[s.length-1].slice(0,-1),a.type=n(s),a}}var S_=e=>e.trim();function w_(e){return e==="compact"?n=>n.map(S_).join(""):e==="preserve"?n=>n.join(`
32
+ `):e}var P6=e=>e&&e.startsWith('"')&&e.endsWith('"');function Im(){let e=(n,{tokens:a},i)=>a.type===""?n:i;return n=>{let a=n.source.reduce(e,0),i;if(n.type)do{if({tokens:i}=n.source[a],i.description.trim())break;a++}while(n.source[a]);else({tokens:i}=n.source[a]);let m=i.description.trimStart(),t=m.split('"');if(t.length>1&&t[0]===""&&t.length%2===1)return n.name=t[1],i.name=`"${t[1]}"`,[i.postName,i.description]=A1(m.slice(i.name.length)),n;let r=0,s="",o=!1,x;for(let l of m){if(r===0&&Wr(l))break;l==="["&&r++,l==="]"&&r--,s+=l}if(r!==0)return n.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:n.source[0].number,critical:!0}),n;let c=s;if(s[0]==="["&&s[s.length-1]==="]"){o=!0,s=s.slice(1,-1);let l=s.split("=");if(s=l[0].trim(),l[1]!==void 0&&(x=l.slice(1).join("=").trim()),s==="")return n.problems.push({code:"spec:name:empty-name",message:"empty name",line:n.source[0].number,critical:!0}),n;if(x==="")return n.problems.push({code:"spec:name:empty-default",message:"empty default value",line:n.source[0].number,critical:!0}),n;if(!P6(x)&&/=(?!>)/.test(x||""))return n.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:n.source[0].number,critical:!0}),n}if(!o){let l=s.search(/=(?!>)/);if(l!==-1){let u=s.slice(0,l).trim(),p=s.slice(l+1).trim();if(u==="")return n.problems.push({code:"spec:name:empty-name",message:"empty name",line:n.source[0].number,critical:!0}),n;if(p==="")return n.problems.push({code:"spec:name:empty-default",message:"empty default value",line:n.source[0].number,critical:!0}),n;if(/^[\p{ID_Start}$_\.][\p{ID_Continue}$_\u200c\u200d\.]*=/u.test(s)){if(!P6(p)&&/=(?!>)/.test(p))return n.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:n.source[0].number,critical:!0}),n;s=u,x=p}}}return n.optional=o,n.name=s,i.name=c,x!==void 0&&(n.default=x),[i.postName,i.description]=A1(m.slice(i.name.length)),n}}function Pm(e="compact",n=n1){let a=Kr(e);return i=>(i.description=a(i.source,n),i)}function Kr(e){return e==="compact"?E_:e==="preserve"?T_:e}function E_(e,n=n1){return e.map(({tokens:{description:a}})=>a.trim()).filter(a=>a!=="").join(" ")}var b_=(e,{tokens:n},a)=>n.type===""?e:a,k_=({tokens:e})=>(e.delimiter===""?e.start:e.postDelimiter.slice(1))+e.description;function T_(e,n=n1){if(e.length===0)return"";e[0].tokens.description===""&&e[0].tokens.delimiter===n.start&&(e=e.slice(1));let a=e[e.length-1];return a!==void 0&&a.tokens.description===""&&a.tokens.end.endsWith(n.end)&&(e=e.slice(0,-1)),e=e.slice(e.reduce(b_,0)),e.map(k_).join(`
33
+ `)}function Yr({startLine:e=0,fence:n="```",spacing:a="compact",markers:i=n1,tokenizers:m=[Tm(),Am(a),Im(),Pm(a)]}={}){if(e<0||e%1>0)throw new Error("Invalid startLine");let t=qr({startLine:e,markers:i}),r=zr({fence:n}),s=Hr({tokenizers:m}),o=Kr(a);return function(x){let c=[];for(let l of A6(x)){let u=t(l);if(u===null)continue;let p=r(u),f=p.slice(1).map(s);c.push({description:o(p[0],i),tags:f,source:u,problems:f.reduce((d,g)=>d.concat(g.problems),[])})}return c}}function A_(e){return e.start+e.delimiter+e.postDelimiter+e.tag+e.postTag+e.type+e.postType+e.name+e.postName+e.description+e.end+e.lineEnd}function Xr(){return e=>e.source.map(({tokens:n})=>A_(n)).join(`
34
+ `)}var I_={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0};var VI=Object.keys(I_);function O6(e,n={}){return Yr(n)(e)}var xP=Xr();var X7=lt(W6(),1);function L_(e){return a3([...e].map(n=>({value:n})),()=>({}))}function a3(e,n){let a=[],i,m=0;for(;i=e[m++];){if(i.value==="$"){let s=e[m++];if(s){if(s.value==="$"||s.value==="&"||s.value==="`"||s.value==="'"){a.push({type:"DollarElement",kind:s.value,...n(i,s)});continue}if(t(i,s)||r(i,s))continue;m--}}a.push({type:"CharacterElement",value:i.value,...n(i,i)})}return a;function t(s,o){if(!/^\d$/u.test(o.value))return!1;if(o.value==="0"){let c=e[m++];if(c){if(/^[1-9]$/u.test(c.value)){let l=Number(c.value);return a.push({type:"ReferenceElement",ref:l,refText:o.value+c.value,...n(s,c)}),!0}m--}return!1}let x=Number(o.value);return a.push({type:"ReferenceElement",ref:x,refText:o.value,...n(s,o)}),!0}function r(s,o){if(o.value!=="<")return!1;let x=m,c;for(;c=e[m++];)if(c.value===">"){let l=e.slice(x,m-1).map(u=>u.value).join("");return a.push({type:"ReferenceElement",ref:l,refText:l,...n(s,c)}),!0}return m=x,!1}}var N_="\\".codePointAt(0),M_="`".codePointAt(0),i7="\r".codePointAt(0),Nm=`
35
+ `.codePointAt(0),J_="{".codePointAt(0),Q6="a".codePointAt(0),z6="A".codePointAt(0),F_="n".codePointAt(0),j_="r".codePointAt(0),U_="t".codePointAt(0),D_="b".codePointAt(0),G_="v".codePointAt(0),B_="f".codePointAt(0),V_="u".codePointAt(0),$_="x".codePointAt(0),m7="0".codePointAt(0),W_="7".codePointAt(0),Q_="8".codePointAt(0),q6="9".codePointAt(0),i3=class{source;pos;end;ecmaVersion;constructor(e,n){this.source=e,this.pos=n.start,this.end=n.end??null,this.ecmaVersion=n.ecmaVersion}*parseTokens(e){let n=e===M_,a=this.end??this.source.length;for(;this.pos<a;){let i=this.pos,m=this.source.codePointAt(i);if(m==null)throw new Error("Unterminated string constant");if(this.pos=H6(i,m),m===e)break;if(m===N_){let{value:t,kind:r}=this.readEscape(n);yield{type:"EscapeToken",kind:r,value:t,range:[i,this.pos]}}else if(m===i7||m===Nm)if(n)m===i7&&this.source.codePointAt(this.pos)===Nm&&this.pos++,yield{type:"CharacterToken",value:`
36
+ `,range:[i,this.pos]};else throw new Error("Unterminated string constant");else{if(this.ecmaVersion>=2019&&(m===8232||m===8233)&&!n)throw new Error("Unterminated string constant");yield{type:"CharacterToken",value:String.fromCodePoint(m),range:[i,this.pos]}}}}readEscape(e){let n=this.source.codePointAt(this.pos);if(n==null)throw new Error("Invalid or unexpected token");switch(this.pos=H6(this.pos,n),n){case F_:return{value:`
37
+ `,kind:"special"};case j_:return{value:"\r",kind:"special"};case U_:return{value:" ",kind:"special"};case D_:return{value:"\b",kind:"special"};case G_:return{value:"\v",kind:"special"};case B_:return{value:"\f",kind:"special"};case i7:this.source.codePointAt(this.pos)===Nm&&this.pos++;case Nm:return{value:"",kind:"eol"};case $_:return{value:String.fromCodePoint(this.readHex(2)),kind:"hex"};case V_:return{value:String.fromCodePoint(this.readUnicode()),kind:"unicode"};default:if(m7<=n&&n<=W_){let a=/^[0-7]+/u.exec(this.source.slice(this.pos-1,this.pos+2))[0],i=parseInt(a,8);i>255&&(a=a.slice(0,-1),i=parseInt(a,8)),this.pos+=a.length-1;let m=this.source.codePointAt(this.pos);if((a!=="0"||m===Q_||m===q6)&&e)throw new Error("Octal literal in template string");return{value:String.fromCodePoint(i),kind:"octal"}}return{value:String.fromCodePoint(n),kind:"char"}}}readUnicode(){let e=this.source.codePointAt(this.pos);if(e===J_){if(this.ecmaVersion<2015)throw new Error(`Unexpected character '${String.fromCodePoint(e)}'`);this.pos++;let n=this.source.indexOf("}",this.pos);if(n<0)throw new Error("Invalid Unicode escape sequence");let a=this.readHex(n-this.pos);if(this.pos++,a>1114111)throw new Error("Code point out of bounds");return a}return this.readHex(4)}readHex(e){let n=0;for(let a=0;a<e;a++,this.pos++){let i=this.source.codePointAt(this.pos);if(i==null)throw new Error("Invalid hexadecimal escape sequence");let m;if(Q6<=i)m=i-Q6+10;else if(z6<=i)m=i-z6+10;else if(m7<=i&&i<=q6)m=i-m7;else throw new Error("Invalid hexadecimal escape sequence");if(m>=16)throw new Error("Invalid hexadecimal escape sequence");n=n*16+m}return n}};function H6(e,n){return e+(n>=65536?2:1)}function z_(e,n){let a=n?.start??0,i=e.codePointAt(a),m=n?.ecmaVersion??1/0,t=new i3(e,{start:a+1,end:n?.end,ecmaVersion:m>=6&&m<2015?m+2009:m}),r=[...t.parseTokens(i)];return{tokens:r,get value(){return r.map(s=>s.value).join("")},range:[a,t.pos]}}function*q_(e,n){let a=n?.start??0,i=n?.ecmaVersion??1/0;yield*new i3(e,{start:a,end:n?.end,ecmaVersion:i>=6&&i<2015?i+2009:i}).parseTokens()}function Sn(e){return e?e.parent:null}function nt(e,n){return fa(et(e,n),n)}function m3(e,n){let a=nt(e,n);if(!a||a.defs.length!==1)return null;let i=a.defs[0];return i.type!=="Variable"||i.node.id.type!=="Identifier"?null:a}function Ne(e,n){if(n.type==="BinaryExpression"||n.type==="MemberExpression"||n.type==="Identifier"||n.type==="TemplateLiteral"){let a=Gn(e,n);return a&&String(a.value)}return hi(n,et(e,n))}function Gn(e,n){if(n.type==="BinaryExpression"){if(n.operator==="+"){let a=Gn(e,n.left);if(a==null)return null;let i=Gn(e,n.right);return i==null?null:{value:a.value+i.value}}}else if(n.type==="MemberExpression"){if(r3(n,e)==="source"){let a=Gn(e,n.object);if(a&&a.value instanceof RegExp)return{value:a.value.source}}}else if(n.type==="TemplateLiteral"){let a=[];for(let m of n.expressions){let t=Gn(e,m);if(!t)return null;a.push(t)}let i=n.quasis[0].value.cooked;for(let m=0;m<a.length;++m)i+=String(a[m].value),i+=n.quasis[m+1].value.cooked;return{value:i}}else if(n.type==="Identifier"){let a=b7(e,n);if(a!==n)return Gn(e,a)}return Or(n,et(e,n))}function et(e,n){let a=e.sourceCode.scopeManager,i=n;for(;i;i=i.parent||null){let m=a.acquire(i,!1);if(m)return m.type==="function-expression-name"?m.childScopes[0]:m}return a.scopes[0]}function H_(e,n){let a=n,i=new Set;for(;;){if(i.has(a))return null;i.add(a);let m=nt(e,a);if(!m)return null;if(m.defs.length===1){let t=m.defs[0];if(t.node.type==="FunctionDeclaration")return t.node;if(t.type==="Variable"&&t.parent.kind==="const"&&t.node.init){if(t.node.init.type==="FunctionExpression"||t.node.init.type==="ArrowFunctionExpression")return t.node.init;if(t.node.init.type==="Identifier"){a=t.node.init;continue}}}return null}}function d1(e,n){let a=e.callee;if(a.type!=="MemberExpression"||a.computed||a.property.type!=="Identifier")return!1;let i=n[a.property.name];return!(e.arguments.length!==i||e.arguments.some(m=>m.type==="SpreadElement")||a.object.type==="Super")}function at(e,n){return a3(z_(e.sourceCode.text,{start:n.range[0],end:n.range[1]}).tokens.filter(a=>a.value),(a,i)=>({range:[a.range[0],i.range[1]]}))}function t3(e,n,a,i){if(!n.range||n.value.length<i)return null;try{let m=e.text.slice(n.range[0]+1,n.range[1]-1),t=0,r=null;for(let s of q_(m)){let o=t+s.value.length;if(r==null&&t<=a&&a<o&&(r=s.range[0]),r!=null&&t<i&&i<=o){let x=s.range[1],c=n.range[0]+1;return[c+r,c+x]}t=o}}catch{}return null}function m1(e){return e.type==="Literal"&&"regex"in e}function ji(e){return e.type==="Literal"&&typeof e.value=="string"}function r3(e,n){let a=e.property;return a.type==="PrivateIdentifier"?null:e.computed?n?Ne(n,a):ji(a)?a.value:null:a.name}function s3(e,n){return{start:e.getLocFromIndex(n[0]),end:e.getLocFromIndex(n[1])}}function it(e,n){if(n.type==="Identifier"){let a=m3(e,n);if(!a)return n;let i=a.defs[0],m=Sn(i.parent);if(m&&m.type==="ExportNamedDeclaration"||a.references.length!==2)return n;let[t,r]=a.references;return!(t.init&&t.writeExpr&&t.writeExpr===i.node.init)||r.identifier!==n?n:it(e,i.node.init)}return n}function b7(e,n){if(n.type==="Identifier"){let a=m3(e,n);if(a){let i=a.defs[0];if(i.node.init){if(i.parent.kind==="const")return b7(e,i.node.init);let m=a.references,t=m.filter(s=>s.init).length,r=m.filter(s=>s.isReadOnly()).length;if(t===1&&r+t===m.length)return b7(e,i.node.init)}}}return n}function*Ta(e,n){yield*o3(e,n,{variables:new Set,functions:new Map})}function*K_(e,n){yield*x3(e,n,{variables:new Set,functions:new Map})}function*o3(e,n,a){let i=e,m=Sn(i);for(;m?.type==="ChainExpression"||m?.type==="TSNonNullExpression"||m?.type==="TSAsExpression";)i=m,m=Sn(i);if(!m||m.type==="ExpressionStatement"){yield{node:i,type:"unused"};return}if(m.type==="MemberExpression")m.object===i?yield{node:i,type:"member",memberExpression:m}:yield{node:i,type:"unknown"};else if(m.type==="AssignmentExpression")m.right===i&&m.operator==="="?yield*k7(i,m.left,n,a):yield{node:i,type:"unknown"};else if(m.type==="VariableDeclarator")m.init===i?(Sn(Sn(m))?.type==="ExportNamedDeclaration"&&(yield{node:i,type:"exported"}),yield*k7(i,m.id,n,a)):yield{node:i,type:"unknown"};else if(m.type==="CallExpression"){let t=m.arguments.indexOf(i);if(t>-1){if(m.callee.type==="Identifier"){let r=H_(n,m.callee);if(r){yield*X_(i,r,t,n,a);return}}yield{node:i,type:"argument",callExpression:m}}else yield{node:i,type:"call"}}else m.type==="ExportSpecifier"||m.type==="ExportDefaultDeclaration"?yield{node:i,type:"exported"}:m.type==="ForOfStatement"?m.right===i?yield{node:i,type:"iteration",for:m}:yield{node:i,type:"unknown"}:m.type==="IfStatement"||m.type==="ConditionalExpression"||m.type==="LogicalExpression"||m.type==="UnaryExpression"?Y_(m,i)||(yield{node:i,type:"unknown"}):yield{node:i,type:"unknown"}}function Y_(e,n){return e.type==="IfStatement"||e.type==="ConditionalExpression"?e.test===n:e.type==="LogicalExpression"?e.operator==="&&"&&e.left===n:e.type==="UnaryExpression"?e.operator==="!"&&e.argument===n:!1}function*k7(e,n,a,i){let m=n;for(;m.type==="AssignmentPattern";)m=m.left;m.type==="Identifier"?yield*x3(m,a,i):m.type==="ObjectPattern"||m.type==="ArrayPattern"?yield{node:e,type:"destructuring",pattern:m}:yield{node:e,type:"unknown"}}function*x3(e,n,a){let i=nt(n,e);if(!i){yield{node:e,type:"unknown"};return}if(a.variables.has(i))return;a.variables.add(i),i.eslintUsed&&(yield{node:e,type:"exported"});let m=i.references.filter(t=>t.isRead());if(!m.length){yield{node:e,type:"unused"};return}for(let t of m)t.identifier.type!=="JSXIdentifier"&&(yield*o3(t.identifier,n,a))}function*X_(e,n,a,i,m){let t=m.functions.get(n);if(t||(t=new Set,m.functions.set(n,t)),t.has(a))return;t.add(a);let r=n.params.slice(0,a+1),s=r[a];if(!s||r.some(o=>o?.type==="RestElement")){yield{node:e,type:"unknown"};return}yield*k7(e,s,i,m)}function*p1(e,n){if(K6(e)){yield*Y6(e,n);return}for(let a of Ta(e,n))if(a.type==="member")yield*Z_(a.memberExpression,n);else if(a.type==="destructuring")yield*I1(a.pattern,n);else if(a.type==="iteration")yield*aS(a.for,n);else{if(a.node!==e&&K6(a.node)){yield*Y6(a.node,n);return}yield{type:"unknown",node:a.node}}}function*c3(e,n){yield*I1(e,n)}function K6(e){let n=Sn(e);if(n?.type==="SpreadElement"){let a=Sn(n);if(a?.type==="ObjectExpression"||a?.type==="ArrayExpression")return!0}return!1}function*Z_(e,n){let a=l3(e,n);if(a==null){yield{type:"unknown",node:e,*extractPropertyReferences(){yield*p1(e,n)}};return}yield{type:"member",name:a,node:e,*extractPropertyReferences(){yield*p1(e,n)}}}function*nS(e,n){for(let a of e.properties){if(a.type==="RestElement"){yield*I1(a.argument,n);continue}let i=l3(a,n);if(i==null){yield{type:"unknown",node:e,*extractPropertyReferences(){yield*I1(a.value,n)}};continue}yield{type:"destructuring",name:i,node:a,*extractPropertyReferences(){yield*I1(a.value,n)}}}}function*eS(e,n){let a=0;for(;a<e.elements.length;a++){let i=e.elements[a];if(i){if(i.type==="RestElement"){for(let m of I1(i.argument,n))yield u3(m,a);a++;break}yield{type:"destructuring",name:String(a),node:i,*extractPropertyReferences(){yield*I1(i,n)}}}}for(;a<e.elements.length;a++){let i=e.elements[a];i&&(yield{type:"unknown",node:i,*extractPropertyReferences(){yield*I1(i,n)}})}}function*aS(e,n){yield{type:"iteration",node:e,*extractPropertyReferences(){let a=e.left;a.type==="VariableDeclaration"&&(a=a.declarations[0].id),yield*I1(a,n)}}}function*I1(e,n){let a=e;for(;a.type==="AssignmentPattern";)a=a.left;if(a.type==="Identifier")for(let i of K_(a,n))yield*p1(i.node,n);else a.type==="ObjectPattern"?yield*nS(a,n):a.type==="ArrayPattern"?yield*eS(a,n):yield{type:"unknown",node:a}}function*Y6(e,n){let a=e.parent,i=a.parent;if(i.type==="ObjectExpression")yield*p1(i,n);else if(i.type==="ArrayExpression"){let m=i.elements.indexOf(a);if(m===0){yield*p1(i,n);return}if(i.elements.slice(0,m).some(t=>t?.type==="SpreadElement"))for(let t of p1(i,n))yield{type:"unknown",node:t.node,extractPropertyReferences:t.extractPropertyReferences};else for(let t of p1(i,n))yield u3(t,-m)}}function l3(e,n){if(e.type==="MemberExpression"){if(e.computed)return e.property.type==="Literal"&&(typeof e.property.value=="string"||typeof e.property.value=="number")?String(e.property.value):Ne(n,e.property);if(e.property.type==="Identifier")return e.property.name}if(e.type==="Property"){if(e.key.type==="Literal"&&(typeof e.key.value=="string"||typeof e.key.value=="number"))return String(e.key.value);if(e.computed)return Ne(n,e.key);if(e.key.type==="Identifier")return e.key.name}return null}function u3(e,n){if(e.type==="member"||e.type==="destructuring"){let a=Number(e.name)+n;if(!Number.isNaN(a))return{...e,name:String(a)}}return e}function Wm(e){return e?m1(e)?[e.range[1]-e.regex.flags.length,e.range[1]]:ji(e)?[e.range[0]+1,e.range[1]-1]:null:null}function Z7(e,n,a){let i=Wm(a);return i==null?a?.loc??n.loc:(i[0]===i[1]&&i[0]--,{start:e.getLocFromIndex(i[0]),end:e.getLocFromIndex(i[1])})}function iS(e,n,a){if(!n||!a)return null;if(m1(n)){let i=n.regex.flags.indexOf(a);if(i===-1)return null;let m=n.range[1]-n.regex.flags.length+i;return[m,m+1]}if(ji(n)){let i=n.value.indexOf(a);return i===-1?null:t3(e,n,i,i+1)}return null}function h3(e,n,a,i){let m=iS(e,a,i);return m==null?a?.loc??n.loc:{start:e.getLocFromIndex(m[0]),end:e.getLocFromIndex(m[1])}}var X6=class T7{range;type;constructor(n,a){if(!n||n[0]<0||n[0]>n[1])throw new Error(`Invalid range: ${JSON.stringify(n)}`);this.range=n,this.type=a}static fromLiteral(n,a,i,m){if(!n.range)return null;let t=m.start-i.start,r=m.end-i.start;if(m1(n)){let s=n.range[0]+1;return new T7([s+t,s+r],"RegExp")}if(ji(n)){let s=t3(a,n,t,r);if(s){let o=a.text[n.range[0]];return new T7(s,o==="'"?"SingleQuotedString":"DoubleQuotedString")}}return null}getAstLocation(n){return s3(n,this.range)}escape(n){if(this.type==="DoubleQuotedString"||this.type==="SingleQuotedString"){let a=n.replace(/\\/gu,"\\\\").replace(/\n/gu,"\\n").replace(/\r/gu,"\\r").replace(/\t/gu,"\\t");return this.type==="DoubleQuotedString"?a.replace(/"/gu,'\\"'):a.replace(/'/gu,"\\'")}return n.replace(/\n/gu,"\\n").replace(/\r/gu,"\\r")}replace(n,a){return n.replaceTextRange(this.range,this.escape(a))}remove(n){return n.removeRange(this.range)}insertAfter(n,a){return n.insertTextAfterRange(this.range,this.escape(a))}insertBefore(n,a){return n.insertTextBeforeRange(this.range,this.escape(a))}},t7=class{sourceCode;node;value;start;end;constructor(e,n,a,i){this.sourceCode=e,this.node=n,this.value=a,this.start=i,this.end=i+a.length}contains(e){return this.start<=e.start&&e.end<=this.end}getOwnedRegExpLiteral(){return m1(this.node)?this.node:this.node.type==="MemberExpression"&&this.node.object.type!=="Super"&&m1(this.node.object)&&r3(this.node)==="source"?this.node.object:null}getReplaceRange(e){if(!this.contains(e))return null;let n=this.getOwnedRegExpLiteral();return n?X6.fromLiteral(n,this.sourceCode,this,e):this.node.type==="Literal"?X6.fromLiteral(this.node,this.sourceCode,this,e):null}getAstRange(e){let n=this.getReplaceRange(e);return n?n.range:this.node.range}},Z6=class va{sourceCode;node;value;segments;regexpValue;isStringValue(){return this.regexpValue===null}constructor(n,a,i,m,t){this.sourceCode=n,this.node=a,this.value=i,this.segments=m,this.regexpValue=t}static fromExpression(n,a){if(a=it(n,a),m1(a))return va.fromRegExpLiteral(n,a);let i=n.sourceCode,m=Dm(n,a),t=[],r="";for(let s of m){if(s.type==="PrivateIdentifier")return null;let o=Gn(n,s);if(!o)return null;if(m.length===1&&o.value instanceof RegExp)return va.fromRegExpObject(n,s,o.value.source,o.value.flags);if(typeof o.value!="string")return null;t.push(new t7(i,s,o.value,r.length)),r+=o.value}return new va(i,a,r,t,null)}static fromRegExpObject(n,a,i,m){let t=n.sourceCode;return new va(t,a,i,[new t7(t,a,i,0)],{source:i,flags:m,ownedNode:null})}static fromRegExpLiteral(n,a){let i=n.sourceCode;return new va(i,a,a.regex.pattern,[new t7(i,a,a.regex.pattern,0)],{source:a.regex.pattern,flags:a.regex.flags,ownedNode:a})}getSegment(n){let a=this.getSegments(n);return a.length===1?a[0]:null}getSegments(n){return this.segments.filter(a=>a.start<n.end&&n.start<a.end)}getReplaceRange(n){let a=this.getSegment(n);return a?a.getReplaceRange(n):null}getAstRange(n){let a=this.getSegments(n);if(a.length===1)return a[0].getAstRange(n);let i=1/0,m=-1/0;for(let t of a)i=Math.min(i,t.node.range[0]),m=Math.max(m,t.node.range[1]);return i>m?this.node.range:[i,m]}getAstLocation(n){return s3(this.sourceCode,this.getAstRange(n))}getOwnedRegExpLiterals(){let n=[];for(let a of this.segments){let i=a.getOwnedRegExpLiteral();i&&n.push(i)}return n}};function Dm(e,n){if(n.type==="BinaryExpression"&&n.operator==="+")return[...n.left.type!=="PrivateIdentifier"?Dm(e,n.left):[n.left],...Dm(e,n.right)];let a=it(e,n);return a!==n?Dm(e,a):[n]}var p3={toString:{},toLocaleString:{},pop:{result:"element"},push:{},concat:{result:"array"},join:{},reverse:{result:"array"},shift:{result:"element"},slice:{result:"array"},sort:{elementParameters:[0,1],result:"array"},splice:{result:"array"},unshift:{},indexOf:{},lastIndexOf:{},every:{elementParameters:[0]},some:{elementParameters:[0]},forEach:{elementParameters:[0]},map:{elementParameters:[0]},filter:{elementParameters:[0],result:"array"},reduce:{elementParameters:[1]},reduceRight:{elementParameters:[1]},find:{elementParameters:[0],result:"element"},findIndex:{elementParameters:[0]},fill:{},copyWithin:{result:"array"},entries:{},keys:{},values:{result:"iterator"},includes:{},flatMap:{elementParameters:[0]},flat:{},at:{result:"element"},findLast:{elementParameters:[0],result:"element"},findLastIndex:{elementParameters:[0]},toReversed:{result:"array"},toSorted:{elementParameters:[0,1],result:"array"},toSpliced:{result:"array"},with:{result:"array"},toArray:{result:"array"},take:{result:"iterator"},drop:{result:"iterator"}};function*mS(e,n,a,i,m,t){let r={flags:n,countOfCapturingGroup:i,context:m,isString:t.strictTypes?s=>a.isString(s):s=>a.maybeString(s)};for(let s of Ta(e,m))s.type==="argument"?yield*tS(s.callExpression,s.node,r):s.type==="member"?yield*rS(s.memberExpression,s.node,r):yield{type:"UnknownUsage",node:s.node}}function*tS(e,n,a){if(d1(e,{match:1,search:1,replace:2,replaceAll:2,matchAll:1,split:1})&&e.arguments[0]===n){if(!a.isString(e.callee.object)){yield{type:"UnknownUsage",node:n};return}e.callee.property.name==="match"?yield*sS(e,n,a):e.callee.property.name==="search"?yield{type:"WithoutRef",node:n,on:"search"}:e.callee.property.name==="replace"||e.callee.property.name==="replaceAll"?yield*oS(e,n,a,e.callee.property.name):e.callee.property.name==="matchAll"?yield*f3(e,n,a):e.callee.property.name==="split"&&(yield{type:"Split",node:e})}}function*rS(e,n,a){let i=C3(e);!i||!d1(i,{test:1,exec:1})||(i.callee.property.name==="test"?yield{type:"WithoutRef",node:n,on:"test"}:i.callee.property.name==="exec"&&(yield*xS(i,n,a)))}function*sS(e,n,a){if(a.flags.global)yield{type:"WithoutRef",node:n,on:"match"};else{let i=!1;for(let m of d3(e,a))i=!0,yield m;i||(yield{type:"WithoutRef",node:n,on:"match"})}}function*oS(e,n,a,i){let m=e.arguments[1];if(m.type==="FunctionExpression"||m.type==="ArrowFunctionExpression")yield*uS(m,n,i,a);else{let t=e.arguments[1];if(!t){yield{type:"UnknownUsage",node:n,on:i};return}if(t.type==="Literal")yield*cS(t,n,i,a);else{let r=Gn(a.context,t);if(!r||typeof r.value!="string"){yield{type:"UnknownUsage",node:n,on:i};return}yield*lS(r.value,n,i)}}}function*f3(e,n,a){let i=!1;for(let m of p1(e,a.context)){if(!m.extractPropertyReferences){yield{type:"UnknownUsage",node:n,on:"matchAll"};return}if(Ui(m)){if(m.type==="member"&&fS(m.name)){let t=C3(m.node);if(t){for(let r of pS(t,m.name,n,a))if(i=!0,yield r,r.type==="UnknownRef")return}continue}if(Number.isNaN(Number(m.name)))continue}for(let t of m.extractPropertyReferences())for(let r of Qm(t))if(i=!0,yield r,r.type==="UnknownRef")return}i||(yield{type:"WithoutRef",node:n,on:"matchAll"})}function*xS(e,n,a){let i=!1;for(let m of d3(e,a))i=!0,yield m;i||(yield{type:"WithoutRef",node:n,on:"exec"})}function*d3(e,n){for(let a of p1(e,n.context))for(let i of Qm(a))if(yield i,i.type==="UnknownRef")return}function*cS(e,n,a,i){let m=!1;for(let t of at(i.context,e))t.type==="ReferenceElement"&&(m=!0,typeof t.ref=="number"?yield{type:"ReplacementRef",kind:"index",ref:t.ref,range:t.range}:yield{type:"ReplacementRef",kind:"name",ref:t.ref,range:t.range});m||(yield{type:"WithoutRef",node:n,on:a})}function*lS(e,n,a){let i=!1;for(let m of L_(e))m.type==="ReferenceElement"&&(i=!0,typeof m.ref=="number"?yield{type:"ReplacementRef",kind:"index",ref:m.ref}:yield{type:"ReplacementRef",kind:"name",ref:m.ref});i||(yield{type:"WithoutRef",node:n,on:a})}function*uS(e,n,a,i){if(e.params.length<2&&!e.params.some(m=>m.type==="RestElement")){yield{type:"WithoutRef",node:n,on:a};return}for(let m=0;m<e.params.length;m++){let t=e.params[m];if(t.type==="RestElement"){yield{type:"UnknownRef",kind:"replacerFunction",arg:t};return}if(m!==0){if(m<=i.countOfCapturingGroup)yield{type:"ReplacerFunctionRef",kind:"index",ref:m,arg:t};else if(i.countOfCapturingGroup+3===m)if(t.type==="Identifier"||t.type==="ObjectPattern")for(let r of c3(t,i.context))Ui(r)?yield{type:"ReplacerFunctionRef",kind:"name",ref:r.name,prop:r}:yield{type:"ReplacerFunctionRef",kind:"name",ref:null,prop:r,arg:null};else yield{type:"ReplacerFunctionRef",kind:"name",ref:null,arg:t,prop:null}}}}function*Qm(e){if(Ui(e))if(e.name==="groups")for(let n of e.extractPropertyReferences())yield y3(n);else if(e.name==="indices")for(let n of e.extractPropertyReferences())yield*hS(n);else{if(e.name==="input"||e.name==="index")return;yield g3(e)}else yield{type:"UnknownRef",kind:"array",prop:e}}function*hS(e){if(Ui(e))if(e.name==="groups")for(let n of e.extractPropertyReferences())yield y3(n);else yield g3(e);else yield{type:"UnknownRef",kind:"array",prop:e}}function*pS(e,n,a,i){let m=p3[n];if(m.elementParameters&&e.arguments[0]&&(e.arguments[0].type==="FunctionExpression"||e.arguments[0].type==="ArrowFunctionExpression")){let t=e.arguments[0];for(let r of m.elementParameters){let s=t.params[r];if(s)for(let o of c3(s,i.context))yield*Qm(o)}}if(m.result)if(m.result==="element")for(let t of p1(e,i.context))yield*Qm(t);else(m.result==="array"||m.result==="iterator")&&(yield*f3(e,a,i))}function Ui(e){return e.type==="destructuring"||e.type==="member"}function g3(e){let n=Number(e.name);return Number.isFinite(n)?{type:"ArrayRef",kind:"index",ref:n,prop:e}:{type:"ArrayRef",kind:"index",ref:null,prop:e}}function y3(e){return Ui(e)?{type:"ArrayRef",kind:"name",ref:e.name,prop:e}:{type:"ArrayRef",kind:"name",ref:null,prop:e}}function C3(e){let n=Sn(e);return!n||n.type!=="CallExpression"||n.callee!==e?null:n}function fS(e){return!!p3[e]}function dS(e,n){let a=new Set;for(let i of gS(e,n)){if(i===3)return 3;a.add(i)}return a.has(0)?a.has(1)?2:0:a.has(1)?1:3}function*gS(e,n){for(let a of Ta(e,n))if(a.type==="member")yield*yS(a.memberExpression,n);else if(a.type==="destructuring")a.pattern.type==="ObjectPattern"&&(yield*CS(a.pattern,n));else if(a.type!=="unused")if(a.type==="argument")if(a.callExpression.arguments[0]===a.node&&a.callExpression.callee.type==="MemberExpression"){let i=a.callExpression.callee,m=i.computed?Ne(n,i.property):i.property.name;m==="match"||m==="matchAll"||m==="split"||m==="replace"||m==="replaceAll"||m==="search"?yield 1:yield 3}else yield 3;else yield 3}function*yS(e,n){yield*v3(e.computed?Ne(n,e.property):e.property.name)}function*v3(e){let n=e;if(n==="source"){yield 0;return}n==="compile"||n==="dotAll"||n==="flags"||n==="global"||n==="ignoreCase"||n==="multiline"||n==="sticky"||n==="unicode"||(yield 1)}function*CS(e,n){for(let a of e.properties){if(a.type==="RestElement")continue;let i;a.computed?i=Ne(n,a.key):i=a.key.type==="Identifier"?a.key.name:String(a.key.value),yield*v3(i)}}function z(e){throw new Error(`Invalid value: ${e}`)}function Nn(e){let n;return()=>(n===void 0&&(n=e()),n)}function X1(e){let n=new WeakMap;return a=>{let i=n.get(a);return i===void 0&&(i=e(a),n.set(a,i)),i}}function vS(e){return[...e].map(n=>n.codePointAt(0))}function _3(e){return[...e].reverse()}var S3="&!#$%*+,.:;<=>?@^`~-",Oi=new Set(S3),_S=new Set(vS(S3)),SS=/&&|!!|##|\$\$|%%|\*\*|\+\+|,,|\.\.|::|;;|<<|==|>>|\?\?|@@|\^\^|``|~~|--/u;function Ri(e){return/^\\[0-7]{1,3}$/u.test(e)}function A7(e){return/^\\c[A-Za-z]$/u.test(e)}function wS(e){return/^\\x[\dA-Fa-f]{2}$/u.test(e)}function ES(e){return/^\\u[\dA-Fa-f]{4}$/u.test(e)}function bS(e){return/^\\u\{[\dA-Fa-f]{1,8}\}$/u.test(e)}function Di(e){return e[0]!=="\\"?null:Ri(e)?"octal":A7(e)?"control":wS(e)?"hexadecimal":ES(e)?"unicode":bS(e)?"unicode code point":null}function zm(e){return Di(e)!==null}function n5(e){let n=Di(e);return n==="hexadecimal"||n==="unicode"||n==="unicode code point"}var e5=new Map;function kS(e){let n=e5.get(e);return n===void 0&&(n={dotAll:e.includes("s"),global:e.includes("g"),hasIndices:e.includes("d"),ignoreCase:e.includes("i"),multiline:e.includes("m"),sticky:e.includes("y"),unicode:e.includes("u"),unicodeSets:e.includes("v")},e5.set(e,n)),n}function r7(e,n,a){let i=(0,_.getFirstConsumedChar)(e,n,a);return i.empty?_.FirstConsumedChars.concat([i,(0,_.getFirstConsumedCharAfter)(e,n,a)],a):i}function w3(e){let n=[];we(e,{onCapturingGroupEnter(i){n.push(i)}}),n.sort((i,m)=>i.start-m.start);let a=new Set;for(let i of n)i.name!==null&&a.add(i.name);return{groups:n,names:a,count:n.length}}function Gm(e){return(0,_.hasSomeDescendant)(e,n=>n.type==="CapturingGroup")}var TS=new k1;function AS(e,n){if(e.type==="Literal"){if("regex"in e&&e.regex)try{return TS.parsePattern(e.regex.pattern,0,e.regex.pattern.length,{unicode:e.regex.flags.includes("u"),unicodeSets:e.regex.flags.includes("v")})}catch{return null}return null}let a=Gn(n,e);if(!a||!(a.value instanceof RegExp))return null;try{return Xs(a.value)}catch{return null}}function Si(e,n,a){if(e.type==="Character"){if(n.type==="Character"){if(e.value===n.value)return!0}else if(n.type==="CharacterSet")return!1}else if(e.type==="CharacterSet"){if(n.type==="Character")return!1;if(n.type==="CharacterSet")return e.raw===n.raw}else if(e.type==="CharacterClassRange"&&n.type==="CharacterClassRange")return e.min.value===n.min.value&&e.max.value===n.max.value;return e.raw===n.raw?!0:(0,_.toUnicodeSet)(e,a).equals((0,_.toUnicodeSet)(n,a))}var IS={Alternative(e,n,a,i){return i5(e.elements,n.elements,a,i)},Assertion(e,n,a,i){return e.kind==="start"||e.kind==="end"?e.kind===n.kind:e.kind==="word"?n.kind==="word"&&e.negate===n.negate:(e.kind==="lookahead"||e.kind==="lookbehind")&&n.kind===e.kind&&e.negate===n.negate?ya(e.alternatives,n.alternatives,a,i):!1},Backreference(e,n){return e.ref===n.ref},CapturingGroup(e,n,a,i){return e.name===n.name&&ya(e.alternatives,n.alternatives,a,i)},Character(e,n,a){return Si(e,n,a)},CharacterClass(e,n,a){return Si(e,n,a)},CharacterClassRange(e,n,a){return Si(e,n,a)},CharacterSet(e,n,a){return Si(e,n,a)},ClassIntersection(e,n,a,i){return ya([e.left,e.right],[n.left,n.right],a,i)},ClassStringDisjunction(e,n,a,i){return ya(e.alternatives,n.alternatives,a,i)},ClassSubtraction(e,n,a,i){return bn(e.left,n.left,a,i)&&bn(e.right,n.right,a,i)},ExpressionCharacterClass(e,n,a){return e.negate===n.negate&&bn(e.expression,n.expression,a)},Flags(e,n){return e.dotAll===n.dotAll&&e.global===n.global&&e.ignoreCase===n.ignoreCase&&e.multiline===n.multiline&&e.hasIndices===n.hasIndices&&e.sticky===n.sticky&&e.unicode===n.unicode&&e.unicodeSets===n.unicodeSets},Group(e,n,a,i){return ya(e.alternatives,n.alternatives,a,i)},ModifierFlags(e,n){return e.dotAll===n.dotAll&&e.ignoreCase===n.ignoreCase&&e.multiline===n.multiline},Modifiers(e,n,a,i){return bn(e.add,n.add,a,i)&&(e.remove==null&&n.remove==null||e.remove!=null&&n.remove!=null&&bn(e.remove,n.remove,a,i))},Pattern(e,n,a,i){return ya(e.alternatives,n.alternatives,a,i)},Quantifier(e,n,a,i){return e.min===n.min&&e.max===n.max&&e.greedy===n.greedy&&bn(e.element,n.element,a,i)},RegExpLiteral(e,n,a,i){return bn(e.pattern,n.pattern,a,i)&&bn(e.flags,n.flags,a,i)},StringAlternative(e,n,a,i){return i5(e.elements,n.elements,a,i)}};function a5(e){return e.type==="Character"||e.type==="CharacterClass"||e.type==="CharacterClassRange"||e.type==="CharacterSet"}function bn(e,n,a,i){if(a5(e)&&a5(n))return Si(e,n,a);if(e.type!==n.type)return!1;if(i){let m=i(e,n);if(m!=null)return m}return/[(*+?[\\{|]/u.test(e.raw)||/[(*+?[\\{|]/u.test(n.raw)?IS[e.type](e,n,a,i):e.raw===n.raw}function i5(e,n,a,i){if(e.length!==n.length)return!1;for(let m=0;m<e.length;m++){let t=e[m],r=n[m];if(!bn(t,r,a,i))return!1}return!0}function ya(e,n,a,i){if(e.length!==n.length)return!1;let m=[...n];for(let t of e){let r=m.findIndex(s=>bn(t,s,a,i));if(r>=0)m.splice(r,1);else return!1}return!0}var I7=class E3{type="NormalizedOther";node;static fromNode(n){return new E3(n)}constructor(n){this.node=n}},m5=class P7{type="NormalizedCharacter";charSet;static fromElement(n,a){return new P7((0,_.toCharSet)(n,a.flags))}static fromChars(n){return new P7(n)}constructor(n){this.charSet=n}},K1=class Pe{type="NormalizedAlternative";raw;elements;static fromAlternative(n,a){let i=[...Pe.normalizedElements(function*(){for(let m of n.elements){let t=Z1(m,a);t.type==="NormalizedAlternative"?yield*t.elements:yield t}})];return i.length===1?i[0]:new Pe(i,n)}static fromQuantifier(n,a){let i=[...Pe.normalizedElements(function*(){let m=Z1(n.element,a);for(let t=0;t<n.min;t++)yield m})];return i.length===1?i[0]:new Pe(i,n)}static fromElements(n,a){let i=[...Pe.normalizedElements(function*(){yield*n})];return new Pe(i,a)}static*normalizedElements(n){for(let a of n())a.type==="NormalizedAlternative"?yield*a.elements:yield a}constructor(n,a){this.raw=a.raw,this.elements=n}},t5=class O7{type="NormalizedDisjunctions";raw;getAlternatives;normalizedAlternatives;static fromNode(n,a){return n.alternatives.length===1?K1.fromAlternative(n.alternatives[0],a):new O7(n,()=>n.alternatives.map(i=>{let m=Z1(i,a);return m.type==="NormalizedAlternative"?m:K1.fromElements([m],i)}))}static fromAlternatives(n,a){return new O7(a,()=>n)}constructor(n,a){this.raw=n.raw,this.getAlternatives=a}get alternatives(){return this.normalizedAlternatives||(this.normalizedAlternatives=this.getAlternatives()),this.normalizedAlternatives}},PS=class b3{type="NormalizedLookaroundAssertion";raw;node;options;normalizedAlternatives;static fromNode(n,a){return new b3(n,a)}constructor(n,a){this.raw=n.raw,this.node=n,this.options=a}get alternatives(){if(this.normalizedAlternatives)return this.normalizedAlternatives;this.normalizedAlternatives=[];for(let n of this.node.alternatives){let a=Z1(n,this.options);a.type==="NormalizedAlternative"?this.normalizedAlternatives.push(a):this.normalizedAlternatives.push(K1.fromElements([a],n))}return this.normalizedAlternatives}get kind(){return this.node.kind}get negate(){return this.node.negate}},OS=class R7{type="NormalizedOptional";raw;max;node;options;normalizedElement;static fromQuantifier(n,a){let i=null;n.min>0&&(i=K1.fromQuantifier(n,a));let m=n.max-n.min;if(m>0){let t=new R7(n,a,m);return i?i.type==="NormalizedAlternative"?K1.fromElements([...i.elements,t],n):K1.fromElements([i,t],n):t}return i||I7.fromNode(n)}constructor(n,a,i){this.raw=n.raw,this.max=i,this.node=n,this.options=a}get element(){return this.normalizedElement??(this.normalizedElement=Z1(this.node.element,this.options))}decrementMax(n=1){if(this.max<=n)return null;if(this.max===1/0)return this;let a=new R7(this.node,this.options,this.max-n);return a.normalizedElement=this.normalizedElement,a}};function r5(e,n,a){return Re(Z1(e,a),Z1(n,a),a)}function Re(e,n,a){return n.type==="NormalizedDisjunctions"?n.alternatives.every(i=>Re(e,i,a)):e.type==="NormalizedDisjunctions"?o5(e.alternatives,n,a):e.type==="NormalizedAlternative"?n.type==="NormalizedAlternative"?h1(e.elements,n.elements,a):h1(e.elements,[n],a):n.type==="NormalizedAlternative"?h1([e],n.elements,a):e.type==="NormalizedOptional"||n.type==="NormalizedOptional"?h1([e],[n],a):e.type==="NormalizedOther"||n.type==="NormalizedOther"?e.type==="NormalizedOther"&&n.type==="NormalizedOther"?bn(e.node,n.node,a.flags):!1:e.type==="NormalizedLookaroundAssertion"||n.type==="NormalizedLookaroundAssertion"?e.type==="NormalizedLookaroundAssertion"&&n.type==="NormalizedLookaroundAssertion"?e.kind===n.kind&&!e.negate&&!n.negate?n.alternatives.every(i=>o5(e.alternatives,i,a)):bn(e.node,n.node,a.flags):!1:n.type==="NormalizedCharacter"?n.charSet.isSubsetOf(e.charSet):!1}var s5=new WeakMap;function Z1(e,n){let a=s5.get(e);return a||(a=RS(e,n),s5.set(e,a),a)}function RS(e,n){switch(e.type){case"CharacterSet":case"CharacterClass":case"Character":case"CharacterClassRange":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":{let a=(0,_.toUnicodeSet)(e,n.flags);if(a.accept.isEmpty)return m5.fromChars(a.chars);let i=a.wordSets.map(m=>K1.fromElements(m.map(m5.fromChars),e));return t5.fromAlternatives(i,e)}case"Alternative":return K1.fromAlternative(e,n);case"Quantifier":return OS.fromQuantifier(e,n);case"CapturingGroup":case"Group":case"Pattern":return t5.fromNode(e,n);case"Assertion":return e.kind==="lookahead"||e.kind==="lookbehind"?PS.fromNode(e,n):I7.fromNode(e);case"RegExpLiteral":return Z1(e.pattern,n);case"Backreference":case"Flags":case"ModifierFlags":case"Modifiers":return I7.fromNode(e);default:return z(e)}}function o5(e,n,a){for(let i of e)if(Re(i,n,a))return!0;return!1}function h1(e,n,a){let i=a.canOmitRight?x5(e):[...e],m=a.canOmitRight?x5(n):[...n];for(;i.length&&m.length;){let t=i.shift(),r=m.shift();if(r.type==="NormalizedOptional")if(t.type==="NormalizedOptional"){if(!Re(t.element,r.element,a))return!1;let s=t.decrementMax(r.max);if(s)return h1([s,...i],m,a);let o=r.decrementMax(t.max);if(o)return h1(i,[o,...m],a)}else{if(!Re(t,r.element,a)||!h1([t,...i],m,a))return!1;let s=r.decrementMax();if(s)return h1(i,[s,...m],a)}else if(t.type==="NormalizedOptional"){if(h1(i,[r,...m],a))return!0;if(!Re(t.element,r,a))return!1;let s=t.decrementMax();if(s&&h1([s,...i],m,a))return!0}else if(!Re(t,r,a))return!1}return!a.canOmitRight&&m.length?!1:!i.length}function x5(e){for(let n=e.length-1;n>=0;n--)if(e[n].type!=="NormalizedOptional")return e.slice(0,n+1);return[]}function Aa(e){return[e.element.end-e.start,e.raw.length-(e.greedy?0:1)]}function P1(e){if(e.max<e.min||e.min<0||!Number.isInteger(e.min)||!(Number.isInteger(e.max)||e.max===1/0))throw new Error(`Invalid quantifier { min: ${e.min}, max: ${e.max} }`);let n;return e.min===0&&e.max===1?n="?":e.min===0&&e.max===1/0?n="*":e.min===1&&e.max===1/0?n="+":e.min===e.max?n=`{${e.min}}`:e.max===1/0?n=`{${e.min},}`:n=`{${e.min},${e.max}}`,e.greedy===!1?`${n}?`:n}var k3=X1(e=>e.ignoreCase?e:(0,_.toCache)({...e,ignoreCase:!0})),LS=X1(e=>e.ignoreCase===!1?e:(0,_.toCache)({...e,ignoreCase:!1}));function qm(e,n,a=!0){let i=!!(n.unicode||n.unicodeSets),m=k3(n),t=LS(n);function r(s){switch(s.type){case"Character":return(0,_.toCharSet)(s,m).size!==1;case"CharacterClassRange":return!(0,_.toCharSet)(s,m).equals((0,_.toCharSet)(s,t));case"CharacterSet":switch(s.kind){case"word":return i;case"property":return!(0,_.toUnicodeSet)(s,m).equals((0,_.toUnicodeSet)(s,t));default:return!1}case"CharacterClass":return a?!(0,_.toUnicodeSet)(s,m).equals((0,_.toUnicodeSet)(s,t)):s.elements.some(r);case"ExpressionCharacterClass":return r(s.expression);case"ClassIntersection":case"ClassSubtraction":return!(0,_.toUnicodeSet)(s,m).equals((0,_.toUnicodeSet)(s,t));case"ClassStringDisjunction":return a?!(0,_.toUnicodeSet)(s,m).equals((0,_.toUnicodeSet)(s,t)):s.alternatives.some(r);case"StringAlternative":return s.elements.some(r);default:return z(s)}}return(0,_.hasSomeDescendant)(e,s=>{switch(s.type){case"Assertion":return i&&s.kind==="word";case"Backreference":{let o=NS(s).filter(x=>!(0,_.hasSomeDescendant)(e,x));return o.length===0?!1:!(0,_.isEmptyBackreference)(s,n)&&o.some(x=>qm(x,n))}case"Character":case"CharacterClassRange":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":case"ClassIntersection":case"ClassSubtraction":case"ClassStringDisjunction":case"StringAlternative":return r(s);default:return!1}},s=>s.type!=="CharacterClass"&&s.type!=="CharacterClassRange"&&s.type!=="ExpressionCharacterClass"&&s.type!=="ClassStringDisjunction")}function NS(e){return[e.resolved].flat().filter(n=>{let a=(0,_.getClosestAncestor)(e,n);return a!==n&&a.type==="Alternative"})}var Li=X1(e=>(0,_.hasSomeDescendant)(e,n=>n.type==="Assertion")),c5=X1(e=>X1(n=>(0,_.getConsumedChars)(n,e))),H1={canSimplify:!1};function T3(e,n,a){if(e.min===e.max||(0,_.isZeroLength)(e,n)||Li(e))return H1;let i=(0,_.getMatchingDirection)(e),m=Ti(e,i,n);return m?A3(m,{direction:i,flags:n,parser:a,quantifier:e}):H1}function A3(e,n){let{direction:a,flags:i,parser:m,quantifier:t}=n,r=P3(e,t,a,i);if(!r)return H1;let s=[...r],o={canSimplify:!0,dependencies:s},x=l5(r,l=>MS(l,t.element,i));if(typeof x=="boolean")return x?o:H1;let c=l5(x,l=>FS(l,t.element,m));return typeof c=="boolean"?c?o:H1:c.every(l=>{let u=I3(l,a,i);if(!u)return!1;let p=A3(u,n);return p.canSimplify&&s.push(...p.dependencies),p.canSimplify})?o:H1}function l5(e,n){let a=[];for(let i of e){let m=n(i);if(m===!1)return!1;m===void 0&&a.push(i)}return a.length===0?!0:a}function MS(e,n,a){if(!e.greedy||!JS(e,a))return!1;let i=c5(a)(e.element),m=c5(a)(n);if(i.chars.isDisjointWith(m.chars)||m.exact&&!m.chars.without(i.chars).isEmpty)return!1;if(!(Li(e)||Li(n))&&(e.element.type==="Character"||e.element.type==="CharacterClass"||e.element.type==="CharacterSet")){if(e.max!==1/0)return!1;if(i.exact&&i.chars.isSupersetOf(m.chars))return!0}}function JS(e,n){return(0,_.hasSomeDescendant)(e,a=>a.type==="Quantifier"&&a.max===1/0&&!(0,_.isZeroLength)(a.element,n),a=>a.type!=="Assertion")}function u5(e,n){let{expression:a,maxCharacter:i}=n.parseElement(e,{maxNodes:1e3,assertions:"throw",backreferences:"throw"});return O.NFA.fromRegex(a,{maxCharacter:i},{},new O.NFA.LimitedNodeFactory(1e3))}function FS(e,n,a){if(!(Li(e)||Li(n)))try{let i=u5(e,a),m=O.DFA.fromFA(i,new O.DFA.LimitedNodeFactory(1e3)),t=u5(n,a);t.quantify(0,1),i.append(t);let r=O.DFA.fromFA(i,new O.DFA.LimitedNodeFactory(1e3));return m.minimize(),r.minimize(),m.structurallyEqual(r)}catch{}}function I3(e,n,a){if(!(0,_.isPotentiallyZeroLength)(e,a))return Hm(e.element,n,a)}function P3(e,n,a,i){let m=[];for(let t of e)if((0,_.hasSomeDescendant)(t,n)){let r=I3(t,a,i);if(r===void 0)return;let s=P3(r,n,a,i);if(s===void 0)return;m.push(...s)}else m.push(t);return m}function O3(e){let n=[];for(let a of e){if(a===void 0)return;n.push(...a)}if(n.length!==0)return[...new Set(n)]}function Hm(e,n,a){switch(e.type){case"Assertion":case"Backreference":case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return;case"Quantifier":return[e];case"Group":case"CapturingGroup":return O3(e.alternatives.map(i=>Hm(i,n,a)));case"Alternative":{let i=n==="ltr"?_3(e.elements):e.elements;for(let t of i)if(!(0,_.isEmpty)(t,a))return t.type==="Quantifier"?[t]:void 0;let{parent:m}=e;return m.type==="Pattern"||m.type==="Assertion"?void 0:Ti(m,n,a)}default:return z(e)}}function jS(e,n){let a=e;for(;;){let i=a.parent;if(i.type==="Quantifier"){if(i.max>1)return!0;a=i;continue}if(i.type!=="Alternative")return!0;let{elements:m}=i,t=m.indexOf(a);if(((0,_.getMatchingDirection)(a)==="ltr"?m.slice(t+1):m.slice(0,t)).some(s=>!(0,_.isEmpty)(s,n)))return!0;let r=i.parent;if(r.type==="Pattern"||r.type==="Assertion"&&r.kind==="lookahead")return!1;a=r}}function Ti(e,n,a){let i=e.parent;if(i.type==="Quantifier")return i.max===0?void 0:i.max===1?Ti(i,n,a):O3([Ti(i,n,a),Hm(i.element,n,a)]);if(i.type!=="Alternative")return;let m=n==="ltr"?-1:1,{elements:t}=i,r=t.indexOf(e);for(let s=r+m;s>=0&&s<t.length;s+=m){let o=i.elements[s];if(!(0,_.isEmpty)(o,a))return Hm(o,n,a)}if(i.parent.type!=="Pattern"){if(i.parent.type==="Assertion"){let s=i.parent;if(s.kind!=="lookahead"||s.negate||jS(s,a))return}return Ti(i.parent,n,a)}}var s7=R_.createRequire(import.meta.url);function R3(e){let n=e.sourceCode,a=wn(),i=n.parserServices.esTreeNodeToTSNodeMap,m=!!(a&&i),t=m&&n.parserServices.hasFullTypeInformation!==!1,r=t&&n.parserServices.program&&n.parserServices.program.getTypeChecker()||null;return{tsNodeMap:i||new Map,checker:r,usedTS:m,hasFullTypeInformation:t}}var US;function wn(){try{return US??=s7("typescript")}catch(e){if(e.code==="MODULE_NOT_FOUND"||typeof s7>"u"||typeof s7.define=="function"||typeof e.message=="string"&&e.message.includes("Dynamic require")&&e.message.includes("is not supported"))return;throw e}}function DS(e){let n=wn();return mt(e)&&(e.objectFlags&(n.ObjectFlags.ArrayLiteral|n.ObjectFlags.EvolvingArray|n.ObjectFlags.Tuple))!==0}function L3(e){let n=wn();return mt(e)&&(e.objectFlags&n.ObjectFlags.ClassOrInterface)!==0}function mt(e){let n=wn();return(e.flags&n.TypeFlags.Object)!==0}function GS(e){let n=wn();return mt(e)&&(e.objectFlags&n.ObjectFlags.Reference)!==0}function N3(e){let n=wn();return(e.flags&n.TypeFlags.UnionOrIntersection)!==0}function BS(e){let n=wn();return(e.flags&n.TypeFlags.TypeParameter)!==0}function M3(e){let n=wn();return(e.flags&n.TypeFlags.Any)!==0}function VS(e){let n=wn();return(e.flags&n.TypeFlags.Unknown)!==0}function $S(e){let n=wn();return(e.flags&n.TypeFlags.StringLike)!==0}function WS(e){let n=wn();return(e.flags&n.TypeFlags.NumberLike)!==0}function QS(e){let n=wn();return(e.flags&n.TypeFlags.BooleanLike)!==0}function zS(e){let n=wn();return(e.flags&n.TypeFlags.BigIntLike)!==0}function qS(e){let n=wn();return(e.flags&n.TypeFlags.Null)!==0}var J3=class{params=[];isEmpty(){return this.params.length===0}add(e,n){let a=e.shift();if(e.length>0){for(let i of this.params)if(i.name===a){i.add(e,n);return}}this.params.push(new HS(a||null,n))}get(e){let{name:n,index:a}=e.shift();if(n){for(let i of this.params)if(i.name===n)return e.length?i.get(e):i.param}if(a!=null){let i=this.params[a];if(i)return e.length?i.get(e):i.param}return null}},HS=class extends J3{name;param;constructor(e,n){super(),this.name=e,this.param=n}},KS={param:["param","arg","argument"],returns:["returns","return"],type:["type"]},YS=class{parsed;params=null;constructor(e){this.parsed=e}getTag(e){for(let n of this.genTags(e))return n;return null}parseParams(){if(this.params)return this.params;let e=this.params=new J3;for(let n of this.genTags("param")){let a=(n.name||"").split(/\./u);e.add(a,n)}return e}*genTags(e){let n=KS[e];for(let a of this.parsed.tags)n.includes(a.tag)&&(yield a)}};function Mm(e,n){let a=n.sourceCode,i=XS(e,a);if(i)try{let m=O6(`/*${i.value}*/`)[0];return new YS(m)}catch{}return null}function XS(e,n){let a=e,i=null;for(;a;){if(i=n.getTokenBefore(a,{includeComments:!0}),!i)return null;if(i.type==="Keyword"&&a.type==="VariableDeclarator"&&(i.value==="const"||i.value==="let"||i.value==="var")){a=i;continue}if(i.type==="Punctuator"&&i.value==="("){a=i;continue}if(Pr(i)&&i.type==="Line"){a=i;continue}break}return i&&i.type==="Block"&&i.value[0]==="*"?i:null}function ZS(e){try{return $r(e)}catch{return e.trim()==="function"?$r("Function"):null}}function V(e){return!(!e||typeof e=="string")}function O1(e,n){return e===n?!0:V(e)&&V(n)?e.equals(n):!1}function xn(e,n){return e==null?!1:typeof e=="string"?e===n:e.has(n)}function Y(e){return Object.assign(Object.create(null),e)}var L7=class{generator;unknownIndex=null;constructor(e){let n=this;this.generator=e?function*(){let a=0;for(let i of e())i!=null?yield i:n.unknownIndex??=a,a++}:()=>[][Symbol.iterator]()}has(e){for(let n of this.generator())if(typeof n=="string"){if(n===e)return!0}else if(n.has(e))return!0;return!1}isOneType(){let e=null;for(let n of this.all())if(e==null)e=n;else if(!O1(e,n))return!1;return!0}*tuple(){let e=0;for(let n of this.generator()){if(this.unknownIndex!=null&&e<this.unknownIndex)return;yield n,e++}}*all(){let e=new Set;for(let n of this.generator())e.has(n)||(e.add(n),yield n)}*strings(){let e=new Set;for(let n of this.all())if(typeof n=="string"){let a=n;e.has(a)||(e.add(n),yield a)}else for(let a of n.typeNames())e.has(a)||(e.add(n),yield a)}};function Ni(e){return e==null?null:typeof e=="string"?e:e.typeNames().join("|")}var t1=Nn(()=>Y({constructor:f1,toString:L,toLocaleString:L,valueOf:gw,hasOwnProperty:B,isPrototypeOf:B,propertyIsEnumerable:B})),tt=class{type="Object";propertiesGenerator;constructor(e){this.propertiesGenerator=e??(()=>[][Symbol.iterator]())}*allProperties(){let e=new Set;for(let n of this.propertiesGenerator())e.has(n[0])||(e.add(n[0]),yield n)}has(e){return e==="Object"}paramType(){return null}propertyType(e){for(let[n,a]of this.allProperties())if(n===e)return a();return t1()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["Object"]}equals(e){if(e.type!=="Object")return!1;let n=e.allProperties(),a=new Map;for(let[i,m]of this.allProperties()){let t=a.get(i);if(t){if(!O1(m(),t()))return!1}else{let r=n.next();for(;!r.done;){let[s,o]=r.value;if(a.set(s,o),i===s){if(!O1(m(),o()))return!1;break}r=n.next()}if(r.done)return!1}}return!!n.next().done}},ba=new tt;function nw(){let e=new U(function(a,i){return i[0]?.()??null});return new g1((n,[a])=>a?.()??ba,Y({getPrototypeOf:null,getOwnPropertyDescriptor:null,getOwnPropertyNames:Ji,create:null,defineProperty:null,defineProperties:null,seal:e,freeze:e,preventExtensions:null,isSealed:B,isFrozen:B,isExtensible:B,keys:Ji,assign:new U(function(a,i){return new tt(function*(){for(let m of[a,...i].reverse()){let t=m?.();V(t)&&t.type==="Object"&&(yield*t.allProperties())}})}),getOwnPropertySymbols:Y1,is:B,setPrototypeOf:null,values:Y1,entries:Y1,getOwnPropertyDescriptors:null,fromEntries:null,hasOwn:B,groupBy:null,prototype:null}))}var ew=class{type="Number";has(e){return e==="Number"}paramType(){return null}propertyType(e){return iw()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["Number"]}equals(e){return e.type==="Number"}},G=new ew;function aw(){return new g1(()=>G,Y({MAX_VALUE:G,MIN_VALUE:G,NaN:G,NEGATIVE_INFINITY:G,POSITIVE_INFINITY:G,EPSILON:G,isFinite:B,isInteger:B,isNaN:B,isSafeInteger:B,MAX_SAFE_INTEGER:G,MIN_SAFE_INTEGER:G,parseFloat:dn,parseInt:dn,prototype:null}))}var iw=Nn(()=>Y({...t1(),toString:L,toFixed:L,toExponential:L,toPrecision:L,valueOf:dn,toLocaleString:L})),mw=class{type="String";has(e){return e==="String"}paramType(){return null}propertyType(e){return e==="0"?this:rw()[e]||null}iterateType(){return this}returnType(){return null}typeNames(){return["String"]}equals(e){return e.type==="String"}},J=new mw;function tw(){return new g1(()=>J,Y({fromCharCode:L,fromCodePoint:L,raw:L,prototype:null}))}var rw=Nn(()=>Y({...t1(),toString:L,charAt:L,charCodeAt:dn,concat:L,indexOf:dn,lastIndexOf:dn,localeCompare:dn,match:Ji,replace:L,search:dn,slice:L,split:Ji,substring:L,toLowerCase:L,toLocaleLowerCase:L,toUpperCase:L,toLocaleUpperCase:L,trim:L,substr:L,valueOf:L,codePointAt:dn,includes:B,endsWith:B,normalize:L,repeat:L,startsWith:B,anchor:L,big:L,blink:L,bold:L,fixed:L,fontcolor:L,fontsize:L,italics:L,link:L,small:L,strike:L,sub:L,sup:L,padStart:L,padEnd:L,trimLeft:L,trimRight:L,trimStart:L,trimEnd:L,matchAll:null,replaceAll:L,at:L,isWellFormed:B,toWellFormed:L,length:G,0:J,[Symbol.iterator]:null})),sw=class{type="BigInt";has(e){return e==="BigInt"}paramType(){return null}propertyType(e){return xw()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["BigInt"]}equals(e){return e.type==="BigInt"}},Bn=new sw;function ow(){return new g1(()=>Bn,Y({asIntN:N7,asUintN:N7,prototype:null}))}var xw=Nn(()=>Y({...t1(),toString:L,toLocaleString:L,valueOf:N7,[Symbol.toStringTag]:J})),cw=class{type="Boolean";has(e){return e==="Boolean"}paramType(){return null}propertyType(e){return uw()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["Boolean"]}equals(e){return e.type==="Boolean"}},_n=new cw;function lw(){return new g1(()=>_n,Y({prototype:null}))}var uw=Nn(()=>Y({...t1(),valueOf:B})),hw=class{type="RegExp";has(e){return e==="RegExp"}paramType(){return null}propertyType(e){return fw()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["RegExp"]}equals(e){return e.type==="RegExp"}},rt=new hw;function pw(){return new g1(()=>rt,Y({$1:J,$2:J,$3:J,$4:J,$5:J,$6:J,$7:J,$8:J,$9:J,$_:J,"$&":J,"$+":J,"$`":J,"$'":J,input:J,lastParen:J,leftContext:J,rightContext:J,lastMatch:G,prototype:null,[Symbol.species]:null}))}var fw=Nn(()=>Y({...t1(),exec:Ji,test:B,source:J,global:_n,ignoreCase:_n,multiline:_n,lastIndex:G,compile:yw,flags:J,sticky:_n,unicode:_n,dotAll:_n,hasIndices:_n,unicodeSets:_n,[Symbol.match]:null,[Symbol.replace]:null,[Symbol.search]:null,[Symbol.split]:null,[Symbol.matchAll]:null})),U=class{type="Function";fn;constructor(e){this.fn=e}has(e){return e==="Function"}returnType(e,n,a){return this.fn(e,n,a)}paramType(){return null}propertyType(e){return vw()[e]||null}iterateType(){return null}typeNames(){return["Function"]}equals(e){return!1}},g1=class extends U{props;constructor(e,n){super(e),this.props=n}propertyType(e){return this.props[e]||super.propertyType(e)}},f1=new U(function(){return null});function dw(){return new g1(function(){return f1},Y({prototype:null}))}var Mi=new U(function(){return"undefined"}),L=new U(function(){return J}),dn=new U(function(){return G}),B=new U(function(){return _n}),Y1=new U(function(){return Le}),Ji=new U(function(){return Sw}),gw=new U(function(){return ba}),yw=new U(function(){return rt}),N7=new U(function(){return Bn}),Cw=new U(function(n){return n?.()??null}),vw=Nn(()=>Y({...t1(),toString:L,bind:Cw,length:G,name:J,apply:f1,call:f1,arguments:null,caller:f1,prototype:null,[Symbol.hasInstance]:null,[Symbol.metadata]:null})),_w=Nn(()=>Y({...t1(),[Symbol.iterator]:null})),i1=class{type="Iterable";param0;constructor(e){this.param0=e}has(e){return!1}paramType(e){return e===0?this.param0():null}propertyType(e){return _w()[e]||null}iterateType(){return this.paramType(0)}returnType(){return null}typeNames(){let e=Ni(this.iterateType());return[`Iterable${e!=null?`<${e}>`:""}`]}equals(e){return e.type!=="Iterable"?!1:O1(this.iterateType(),e.iterateType())}},F3=new i1(()=>null),Me=class wi{type="TypeUnionOrIntersection";collection;static buildType(n){let a=new L7(n);if(a.isOneType()){for(let i of a.all())return i;return null}return new wi(()=>a.all())}constructor(n){this.collection=new L7(n)}has(n){return this.collection.has(n)}paramType(){return null}propertyType(n){let a=this.collection;return wi.buildType(function*(){for(let i of a.all()){let m=V(i)?i.propertyType(n):null;m&&(yield m)}})}iterateType(){let n=this.collection;return wi.buildType(function*(){for(let a of n.all())if(V(a)){let i=a.iterateType();i&&(yield i)}})}returnType(n,a){let i=this.collection;return wi.buildType(function*(){for(let m of i.all())if(V(m)){let t=m.returnType(n,a);t&&(yield t)}})}typeNames(){return[...this.collection.strings()].sort()}equals(n){if(n.type!=="TypeUnionOrIntersection")return!1;let a=this.collection.all(),i=n.collection.all(),m=a.next(),t=i.next();for(;!m.done&&!t.done;){if(!O1(m.value,t.value))return!1;m=a.next(),t=i.next()}return m.done===t.done}},Ln=class{type="Array";collection;maybeTuple;constructor(e,n){this.collection=new L7(e),this.maybeTuple=n??!1}has(e){return e==="Array"}paramType(e){return e===0?Me.buildType(()=>this.collection.all()):null}at(e){if(!this.maybeTuple)return null;let n=0;for(let a of this.collection.tuple()){if(n===e)return a;n++}return null}propertyType(e){return e==="0"?this.paramType(0):Ew()[e]||null}iterateType(){return this.paramType(0)}returnType(){return null}typeNames(){let e=Ni(this.iterateType());return[`Array${e?`<${e}>`:""}`]}equals(e){return e.type!=="Array"?!1:O1(this.iterateType(),e.iterateType())}},Le=new Ln,Sw=new Ln(()=>[J][Symbol.iterator]());function ww(){return new g1(()=>Le,Y({isArray:B,from:Y1,of:Y1,prototype:null,[Symbol.species]:null,fromAsync:null}))}var Ew=Nn(()=>{let e=new U(function(o){let x=o?.();return V(x)?x.paramType(0):null}),n=new U(function(o){return o?.()??null}),a=new U(function(o,x){return new Ln(function*(){for(let c of[o,...x]){let l=c?.();V(l)?yield l.iterateType():yield null}})}),i=new U(function(s){return new i1(()=>new Ln(function*(){yield G;let o=s?.();V(o)&&(yield o.iterateType())}))}),m=new U(function(){return new i1(()=>G)}),t=new U(function(s){return new i1(()=>{let o=s?.();return V(o)?o.iterateType():null})}),r=new U(function(s,[o]){return new Ln(function*(){let x=o?.();V(x)&&(yield x.returnType(s,[()=>{let c=s?.();return V(c)?c.iterateType():null},()=>G]))})});return Y({...t1(),toString:L,toLocaleString:L,pop:e,push:dn,concat:a,join:L,reverse:n,shift:e,slice:n,sort:n,splice:n,unshift:dn,indexOf:dn,lastIndexOf:dn,every:B,some:B,forEach:Mi,map:r,filter:n,reduce:null,reduceRight:null,find:e,findIndex:dn,fill:Y1,copyWithin:n,entries:i,keys:m,values:t,includes:B,flatMap:Y1,flat:Y1,at:e,findLast:e,findLastIndex:dn,toReversed:n,toSorted:n,toSpliced:n,with:n,length:G,0:null,[Symbol.iterator]:null,[Symbol.unscopables]:null})}),bw=Nn(()=>{let e=new U(function(r){let s=r?.();return V(s)?s.paramType(1):null}),n=new U(function(r){return r?.()??null}),a=new U(function(t){return new i1(()=>new Ln(function*(){let r=t?.();V(r)?(yield r.paramType(0),yield r.paramType(1)):(yield null,yield null)},!0))}),i=new U(function(t){return new i1(()=>{let r=t?.();return V(r)?r.paramType(0):null})}),m=new U(function(t){return new i1(()=>{let r=t?.();return V(r)?r.paramType(1):null})});return Y({...t1(),clear:Mi,delete:B,forEach:Mi,get:e,has:B,set:n,size:G,entries:a,keys:i,values:m,[Symbol.iterator]:null,[Symbol.toStringTag]:J})}),n8=class{type="Map";param0;param1;constructor(e,n){this.param0=e,this.param1=n}has(e){return e==="Map"}paramType(e){return e===0?this.param0():e===1?this.param1():null}propertyType(e){return bw()[e]||null}iterateType(){let e=this;return new Ln(function*(){yield e.paramType(0),yield e.paramType(1)},!0)}returnType(){return null}typeNames(){let e=Ni(this.paramType(0)),n=Ni(this.paramType(1));return[`Map${e!=null&&n!=null?`<${e},${n}>`:""}`]}equals(e){return e.type!=="Map"?!1:O1(this.paramType(0),e.paramType(0))&&O1(this.paramType(1),e.paramType(1))}},j3=new n8(()=>null,()=>null);function kw(){return new g1(Tw,Y({prototype:null,[Symbol.species]:null,groupBy:null}))}function Tw(e,n,a){if(!a?.isConstructor)return null;let i=n[0]?.();if(V(i)&&i.type==="Array"){let m=i.iterateType();if(V(m)&&m.type==="Array")return new n8(()=>m.at(0),()=>m.at(1))}return j3}var Aw=Nn(()=>{let e=new U(function(t){return t?.()??null}),n=new U(function(m){return new i1(()=>new Ln(function*(){let t=m?.();V(t)?(yield t.iterateType(),yield t.iterateType()):(yield null,yield null)},!0))}),a=new U(function(m){return new i1(()=>{let t=m?.();return V(t)?t.iterateType():null})}),i=new U(function(m){return new i1(()=>{let t=m?.();return V(t)?t.iterateType():null})});return Y({...t1(),clear:Mi,delete:B,forEach:Mi,has:B,add:e,size:G,entries:n,keys:a,values:i,[Symbol.iterator]:null,[Symbol.toStringTag]:J,difference:e,intersection:e,isDisjointFrom:B,isSubsetOf:B,isSupersetOf:B,symmetricDifference:e,union:e})}),e8=class{type="Set";param0;constructor(e){this.param0=e}has(e){return e==="Set"}paramType(e){return e===0?this.param0():null}propertyType(e){return Aw()[e]||null}iterateType(){return this.paramType(0)}returnType(){return null}typeNames(){let e=Ni(this.iterateType());return[`Set${e!=null?`<${e}>`:""}`]}equals(e){return e.type!=="Set"?!1:O1(this.iterateType(),e.iterateType())}},U3=new e8(()=>null);function Iw(){return new g1(Pw,Y({prototype:null,[Symbol.species]:null}))}function Pw(e,n,a){if(!a?.isConstructor)return null;let i=n[0]?.();return V(i)?new e8(()=>i.iterateType()):U3}var Ow=class{type="Global";has(e){return!1}paramType(){return null}propertyType(e){return Rw()[e]||null}iterateType(){return null}returnType(){return null}typeNames(){return["Global"]}equals(e){return e.type==="Global"}},Ei=new Ow,Rw=Nn(()=>Y({String:tw(),Number:aw(),Boolean:lw(),RegExp:pw(),BigInt:ow(),Array:ww(),Object:nw(),Function:dw(),Map:kw(),Set:Iw(),isFinite:B,isNaN:B,parseFloat:dn,parseInt:dn,decodeURI:L,decodeURIComponent:L,encodeURI:L,encodeURIComponent:L,escape:L,unescape:L,globalThis:Ei,window:Ei,self:Ei,global:Ei,undefined:"undefined",Infinity:G,NaN:G}));function q1(e){let[n,a]=e();return Me.buildType(function*(){let i=!0;(xn(n,"Number")||xn(a,"Number"))&&(i=!1,yield G),xn(n,"BigInt")&&xn(a,"BigInt")&&(i=!1,yield Bn),i&&(yield G,yield Bn)})}function Dn(){return _n}function o7(){return G}var Lw=Y({"==":Dn,"!=":Dn,"===":Dn,"!==":Dn,"<":Dn,"<=":Dn,">":Dn,">=":Dn,in:Dn,instanceof:Dn,"-":q1,"*":q1,"/":q1,"%":q1,"^":q1,"**":q1,"&":q1,"|":q1,"<<":o7,">>":o7,">>>":o7,"+":e=>{let[n,a]=e();return Me.buildType(function*(){let i=!0;(xn(n,"String")||xn(a,"String"))&&(i=!1,yield J),xn(n,"Number")&&xn(a,"Number")&&(i=!1,yield G),xn(n,"BigInt")&&xn(a,"BigInt")&&(i=!1,yield Bn),i&&(yield J,yield G,yield Bn)})}});function x7(e){let n=e();return Me.buildType(function*(){let a=!0;xn(n,"Number")&&(a=!1,yield G),xn(n,"BigInt")&&(a=!1,yield Bn),a&&(yield G,yield Bn)})}var Nw=Y({"!":Dn,delete:Dn,"+":x7,"-":x7,"~":x7,void:()=>"undefined",typeof:()=>J});function Mw(e,n){return nt(e,n)}function D3(e,n){return _m(n,et(e,n))}function Jw(e,n){return r6(n,e.sourceCode)}var Fw=wn(),h5=new WeakMap;function R1(e){let n=e.sourceCode.ast,a=h5.get(n);if(a)return a;let{tsNodeMap:i,checker:m,usedTS:t}=R3(e),r=new WeakMap,s={isString:o,maybeString:x,isRegExp:c,getTypes:l};return h5.set(n,s),s;function o(h){return xn(u(h),"String")}function x(h){return o(h)?!0:t?!1:u(h)==null}function c(h){return xn(u(h),"RegExp")}function l(h){let y=u(h);return y==null?[]:typeof y=="string"?[y]:y.typeNames()}function u(h){if(r.has(h))return r.get(h)??null;r.set(h,null);try{let y=p(h);return r.set(h,y),y}catch{return null}}function p(h){if(h.type==="Literal"){if(typeof h.value=="string")return J;if(typeof h.value=="boolean")return _n;if(typeof h.value=="number")return G;if("regex"in h&&h.regex)return rt;if("bigint"in h&&h.bigint)return Bn;if(h.value==null)return"null"}else if(h.type==="TemplateLiteral")return J;if(t)return f(h);let y=Mm(h,e);if(y&&Jw(e,h)){let C=Ca(y.getTag("type")?.type);if(C)return C}if((h.type==="ArrowFunctionExpression"||h.type==="FunctionExpression")&&y){let C=Ca(y.getTag("returns")?.type);if(C)return new U(()=>C)}if(h.type==="FunctionExpression")return f1;if(h.type==="ArrowFunctionExpression"){if(h.body.type!=="BlockStatement"){let C=h.body;return new U(()=>u(C))}return f1}if(h.type==="ArrayExpression")return new Ln(function*(){for(let C of h.elements)if(!C)yield null;else if(C.type!=="SpreadElement")yield u(C);else{let v=u(C.argument);V(v)?yield v.iterateType():yield null}},h.elements.every(C=>C&&C.type!=="SpreadElement"));if(h.type==="ObjectExpression")return new tt(function*(){for(let C=h.properties.length-1;C>=0;C--){let v=h.properties[C];if(v.type!=="SpreadElement"){if(v.value.type==="ObjectPattern"||v.value.type==="ArrayPattern"||v.value.type==="RestElement"||v.value.type==="AssignmentPattern")continue;let S=D3(e,v);if(S!=null){let w=v.value;yield[S,()=>u(w)]}}else{let S=u(v.argument);V(S)&&S.type==="Object"&&(yield*S.allProperties())}}});if(h.type==="BinaryExpression"){let C=Lw[h.operator];if(C)return C(()=>[u(h.left),u(h.right)])}else if(h.type==="UnaryExpression"){let C=Nw[h.operator];if(C)return C(()=>u(h.argument))}else{if(h.type==="AssignmentExpression")return u(h.right);if(h.type==="SequenceExpression")return u(h.expressions[h.expressions.length-1]);if(h.type==="ChainExpression")return u(h.expression);if(h.type==="ClassExpression")return null;if(h.type==="Identifier"){let C=Mw(e,h);if(C){if(C.defs.length===1){let v=C.defs[0];if(v.type==="Variable"){let S=Mm(v.node,e);if(S){let w=Ca(S.getTag("type")?.type);if(w)return w;let E=Ca(S.getTag("returns")?.type);if(E)return new U(()=>E)}if(v.parent.kind==="const")if(v.node.init){let w=u(v.node.init);if(w)return w}else{let w=Sn(v.parent);if(w){if(w?.type==="ForOfStatement"){let E=u(w.right);if(V(E)){let k=E.iterateType();if(k)return k}}else if(w?.type==="ForInStatement")return J}}}else if(v.type==="Parameter"){let S=Mm(v.node,e);if(S){let E=S.parseParams();if(!E.isEmpty()){let k=Ca(E.get(bi(v.name.name,v.name,e))?.type);if(k)return k}}let w=Sn(v.name);if(w){if(w.type==="RestElement"){let E=Sn(w);if(E){if(E.type==="ArrayPattern")return Le;if(E.type==="ObjectPattern")return ba;if(E.type==="FunctionExpression"||E.type==="FunctionDeclaration"||E.type==="ArrowFunctionExpression")return Le}}else if(w.type==="AssignmentPattern")return u(w.right)}}else if(v.type==="FunctionName"){let S=Mm(v.node,e);if(S){let w=Ca(S.getTag("returns")?.type);if(w)return new U(()=>w)}return f1}}else if(C.defs.length===0){let v=Ei.propertyType(h.name);if(v)return v}}}else if(h.type==="NewExpression"){if(h.callee.type!=="Super"){let C=u(h.callee);if(V(C)){let v=[];for(let S of h.arguments)v.push(S.type==="SpreadElement"?null:()=>u(S));return C.returnType(null,v,{isConstructor:!0})}}}else if(h.type==="CallExpression"||h.type==="TaggedTemplateExpression"){let C=[];if(h.type==="CallExpression")for(let S of h.arguments)C.push(S.type==="SpreadElement"?null:()=>u(S));let v=h.type==="CallExpression"?h.callee:h.tag;if(v.type==="MemberExpression"){let S=v;if(S.object.type!=="Super"){let w=null;if(S.computed?xn(u(S.property),"Number")&&(w="0"):S.property.type==="Identifier"&&(w=S.property.name),w!=null){if(w==="toString"||w==="toLocaleString")return J;let E=u(S.object);if(V(E)){let k=E.propertyType(w);if(V(k))return k.returnType(()=>E,C)}}}}else if(v.type!=="Super"){let S=u(v);if(V(S))return S.returnType(null,C)}}else if(h.type==="MemberExpression"&&h.object.type!=="Super"){let C=null;if(h.computed?xn(u(h.property),"Number")&&(C="0"):h.property.type==="Identifier"&&(C=h.property.name),C!=null){let v=u(h.object);if(V(v)){let S=v.propertyType(C);if(S)return S}}}}return t?f(h):null}function f(h){let y=i.get(h),C=y&&m?.getTypeAtLocation(y)||null;return C&&d(C)}function d(h){if($S(h))return J;if(WS(h))return G;if(QS(h))return _n;if(zS(h))return Bn;if(M3(h)||VS(h))return null;if(DS(h))return Le;if(GS(h)&&h.target!==h)return d(h.target);if(BS(h)){let y=g(h);return y?d(y):null}if(N3(h))return Me.buildType(function*(){for(let y of h.types){let C=d(y);C&&(yield C)}});if(L3(h)){let y=h.symbol.escapedName,C=/^Readonly(?<typeName>.*)/u.exec(y)?.groups.typeName??y;return C==="Array"?Le:C}return mt(h)?ba:m?m.typeToString(h):null}function g(h){let y=h.symbol,C=y&&y.declarations,v=C&&C[0];if(v&&Fw.isTypeParameterDeclaration(v)&&v.constraint!=null)return m?.getTypeFromTypeNode(v.constraint)}}function Ca(e){return e==null?null:on(ZS(e))}function on(e){if(e==null)return null;if(e.type==="JsdocTypeName")return jw(e.value);if(e.type==="JsdocTypeStringValue")return J;if(e.type==="JsdocTypeNumber")return G;if(e.type==="JsdocTypeBigInt")return Bn;if(e.type==="JsdocTypeAsserts")return _n;if(e.type==="JsdocTypeOptional"||e.type==="JsdocTypeNullable"||e.type==="JsdocTypeNotNullable"||e.type==="JsdocTypeParenthesis")return on(e.element);if(e.type==="JsdocTypeVariadic")return new Ln(function*(){e.element?yield on(e.element):yield null});if(e.type==="JsdocTypeUnion"||e.type==="JsdocTypeIntersection")return Me.buildType(function*(){for(let n of e.elements)yield on(n)});if(e.type==="JsdocTypeGeneric"){let n=on(e.left);return xn(n,"Array")?new Ln(function*(){yield on(e.elements[0])}):xn(n,"Map")?new n8(()=>on(e.elements[0]),()=>on(e.elements[1])):xn(n,"Set")?new e8(()=>on(e.elements[0])):n===F3?new i1(()=>on(e.elements[0])):n}if(e.type==="JsdocTypeObject")return new tt(function*(){for(let n of e.elements)if(n.type==="JsdocTypeObjectField"){if(typeof n.key!="string")continue;yield[n.key,()=>n.right?on(n.right):null]}else n.type==="JsdocTypeJsdocObjectField"&&n.left.type==="JsdocTypeNullable"&&n.left.element.type==="JsdocTypeName"&&(yield[n.left.element.value,()=>n.right?on(n.right):null])});if(e.type==="JsdocTypeTuple"){if(e.elements[0].type==="JsdocTypeKeyValue"){let a=e.elements;return new Ln(function*(){for(let i of a)i.right&&(yield on(i.right))})}let n=e.elements;return new Ln(function*(){for(let a of n)yield on(a)})}if(e.type==="JsdocTypeFunction"){if(e.returnType){let n=e.returnType;return new U(()=>on(n))}return f1}if(e.type==="JsdocTypeTypeof")return new U(()=>on(e.element));if(e.type==="JsdocTypeReadonlyArray")return on(e.element);if(e.type==="JsdocTypeConditional"){let n=on(e.trueType),a=on(e.falseType);return n&&a?Me.buildType(function*(){yield n,yield a}):n??a}if(e.type==="JsdocTypeTemplateLiteral")return J;if(e.type==="JsdocTypeAny"||e.type==="JsdocTypeUnknown"||e.type==="JsdocTypeNull"||e.type==="JsdocTypeUndefined"||e.type==="JsdocTypeImport"||e.type==="JsdocTypeKeyof"||e.type==="JsdocTypeNamePath"||e.type==="JsdocTypePredicate"||e.type==="JsdocTypeSpecialNamePath"||e.type==="JsdocTypeSymbol"||e.type==="JsdocTypeUniqueSymbol"||e.type==="JsdocTypeAssertsPlain"||e.type==="JsdocTypeInfer")return null;throw z(e)}function jw(e){return e==="String"||e==="string"?J:e==="Number"||e==="number"?G:e==="Boolean"||e==="boolean"?_n:e==="BigInt"||e==="bigint"?Bn:e==="RegExp"?rt:e==="Array"||e==="array"?Le:e==="Function"||e==="function"?f1:e==="Object"||e==="object"||e==="Record"?ba:e==="Map"?j3:e==="Set"?U3:e==="Generator"||e==="Iterable"||e==="IterableIterator"?F3:null}function bi(e,n,a){let i=Sn(n);if(!i)return[{name:e,index:null}];if(i.type==="FunctionDeclaration"||i.type==="ArrowFunctionExpression"||i.type==="FunctionExpression")return[{name:e,index:i.params.indexOf(n)}];if(i.type==="AssignmentPattern")return bi(e,i,a);if(i.type==="ArrayPattern"){let m={name:e,index:i.elements.indexOf(n)};return bi(null,i,a).concat([m])}if(i.type==="Property"){let m=Sn(i),t={name:D3(a,i),index:m.properties.indexOf(i)};return bi(null,m,a).concat([t])}return i.type==="RestElement"?bi(e,i,a):[{name:e,index:null}]}var p5=" ".codePointAt(0),Uw="!".codePointAt(0);"#".codePointAt(0);var Dw="$".codePointAt(0);"%".codePointAt(0);"&".codePointAt(0);var G3="(".codePointAt(0),B3=")".codePointAt(0),M7="*".codePointAt(0),J7="+".codePointAt(0);",".codePointAt(0);var Km="-".codePointAt(0),Gw=".".codePointAt(0),Fi="/".codePointAt(0),Bw=":".codePointAt(0);";".codePointAt(0);"<".codePointAt(0);"=".codePointAt(0);">".codePointAt(0);var F7="?".codePointAt(0),Vw="@".codePointAt(0),a8="[".codePointAt(0),st="\\".codePointAt(0),i8="]".codePointAt(0),V3="^".codePointAt(0),$w="`".codePointAt(0),f5="'".codePointAt(0),m8="{".codePointAt(0),$3="|".codePointAt(0),W3="}".codePointAt(0),Ww="~".codePointAt(0),Qw="\x85".codePointAt(0);"\xA0".codePointAt(0);"\u1680".codePointAt(0);var zw="\u180E".codePointAt(0);"\u2000".codePointAt(0);"\u200A".codePointAt(0);var qw="\u200B".codePointAt(0),Hw="\u200C".codePointAt(0),Kw="\u200D".codePointAt(0),Yw="\u200E".codePointAt(0),Xw="\u200F".codePointAt(0);"\u2028".codePointAt(0);"\u2029".codePointAt(0);"\u202F".codePointAt(0);"\u205F".codePointAt(0);var Zw="\u2800".codePointAt(0);"\u3000".codePointAt(0);"\uFEFF".codePointAt(0);var t8="0".codePointAt(0),r8="9".codePointAt(0),s8="a".codePointAt(0),o8="z".codePointAt(0),x8="A".codePointAt(0),c8="Z".codePointAt(0),nE="_".codePointAt(0),eE=[s8,o8],aE=[x8,c8];function _a(e,[n,a]){return n<=e&&e<=a}function iE(e){return _.Chars.digit({}).has(e)}function Q3(e){return _a(e,eE)}function z3(e){return _a(e,aE)}function Bm(e){return Q3(e)||z3(e)}function mE(e){return _a(e,[Uw,Fi])||_a(e,[Bw,Vw])||_a(e,[a8,$w])||_a(e,[m8,Ww])}function tE(e){return _.Chars.space({}).has(e)}function d5(e){return tE(e)?!0:e===zw||e===Qw||e===qw||e===Hw||e===Kw||e===Yw||e===Xw||e===Zw}var c7=new WeakMap;function T(e,n){return{meta:{...n.meta,docs:{...n.meta.docs,url:`https://ota-meshi.github.io/eslint-plugin-regexp/rules/${e}.html`,ruleId:`regexp/${e}`,ruleName:e}},create:n.create}}function A(e,n){let a=e.sourceCode.ast,i,m=c7.get(a);m?i={}:(m=[],c7.set(a,m),i=rE(e,m,()=>{c7.delete(a)}));let t,r;return"createVisitor"in n?(t=n.createVisitor,r=n.createVisitor):(t=n.createLiteralVisitor,r=n.createSourceVisitor),m.push({createLiteralVisitor:t,createSourceVisitor:r,visitInvalid:n.visitInvalid,visitUnknown:n.visitUnknown}),i}function rE(e,n,a){let i=new k1;function m(r,s,o,x,c,l,u){let p=kS(c||"");if(!x){cE(n,{pattern:null,patternSource:null,...g5({patternSource:x,patternNode:r,regexpNode:o,context:e,flags:p,flagsString:c,flagsNode:s,ownsFlags:l})});return}let f;try{f=i.parsePattern(x.value,0,x.value.length,p)}catch(g){g instanceof SyntaxError&&xE(n,{pattern:x.value,patternSource:x,error:g,...g5({patternSource:x,patternNode:r,regexpNode:o,context:e,flags:p,flagsString:c,flagsNode:s,ownsFlags:l})});return}let d=lE({patternSource:x,regexpNode:o,flagsNode:s,context:e,flags:p,parsedPattern:f});we(f,u(d))}let t=new Set;return{"Program:exit":a,Literal(r){if(!m1(r)||t.has(r))return;let s=r.regex.flags;m(r,r,r,Z6.fromRegExpLiteral(e,r),s,!0,o=>sE(n,{node:r,flagsString:s,ownsFlags:!0,regexpNode:r,...o}))},Program(r){let s=new T1(e.sourceCode.getScope(r)),o=[];for(let{node:x}of s.iterateGlobalReferences({RegExp:{[be]:!0,[da]:!0}})){let c=x,[l,u]=c.arguments;if(!l||l.type==="SpreadElement")continue;let p=Z6.fromExpression(e,l);p?.getOwnedRegExpLiterals().forEach(h=>t.add(h));let f=null,d=null,g=!1;u?u.type!=="SpreadElement"&&(f=it(e,u),d=Ne(e,f),g=ji(f)):p&&p.regexpValue?(d=p.regexpValue.flags,g=!!p.regexpValue.ownedNode,f=p.regexpValue.ownedNode):(d="",g=!0),o.push({call:c,patternNode:l,patternSource:p,flagsNode:f,flagsString:d,ownsFlags:g})}for(let{call:x,patternNode:c,patternSource:l,flagsNode:u,flagsString:p,ownsFlags:f}of o)m(c,u,x,l,p,f,d=>oE(n,{node:c,flagsString:p,ownsFlags:f,regexpNode:x,...d}))}}}function sE(e,n){let a=[];for(let i of e)i.createLiteralVisitor&&a.push(i.createLiteralVisitor(n));return q3(a)}function oE(e,n){let a=[];for(let i of e)i.createSourceVisitor&&a.push(i.createSourceVisitor(n));return q3(a)}function xE(e,n){for(let a of e)a.visitInvalid?.(n)}function cE(e,n){for(let a of e)a.visitUnknown?.(n)}function q3(e){let n={};for(let a of e){let i=Object.entries(a);for(let[m,t]of i){let r=n[m];r?n[m]=s=>{r(s),t(s)}:n[m]=t}}return n}function Oe(e,...n){for(let a of n)for(let i in a){let m=e[i];m?e[i]=(...t)=>{m(...t),a[i](...t)}:e[i]=a[i]}return e}function lE({patternSource:e,regexpNode:n,flagsNode:a,context:i,flags:m,parsedPattern:t}){let r=i.sourceCode,s=null,o=new Map,x=Nn(()=>w3(t).groups);return{getRegexpLocation:(c,l)=>l?e.getAstLocation({start:c.start+l[0],end:c.start+l[1]}):e.getAstLocation(c),getFlagsLocation:()=>Z7(r,n,a),getFlagLocation:c=>h3(r,n,a,c),fixReplaceNode:(c,l)=>uE(e,c,l),fixReplaceQuant:(c,l)=>hE(e,c,l),fixReplaceFlags:(c,l)=>H3(e,n,a,c,l??!0),getUsageOfPattern:()=>s??=dS(n,i),getCapturingGroupReferences:c=>{let l=!!(c?.strictTypes??!0),u=o.get(l);if(u)return u;let p=x().length,f=[...mS(n,m,R1(i),p,i,{strictTypes:l})];return o.set(l,f),f},getAllCapturingGroups:x,pattern:t.raw,patternAst:t,patternSource:e,flags:(0,_.toCache)(m)}}function g5({patternSource:e,patternNode:n,regexpNode:a,context:i,flags:m,flagsString:t,flagsNode:r,ownsFlags:s}){let o=i.sourceCode;return{regexpNode:a,node:n,flags:(0,_.toCache)(m),flagsString:t,ownsFlags:s,getFlagsLocation:()=>Z7(o,a,r),getFlagLocation:x=>h3(o,a,r,x),fixReplaceFlags:(x,c)=>H3(e,a,r,x,c??!0)}}function uE(e,n,a){return i=>{let m=e.getReplaceRange(n);if(m==null)return null;let t;if(typeof a=="string")t=a;else if(t=a(),t==null)return null;return m.replace(i,t)}}function hE(e,n,a){return i=>{let m;if(typeof a!="function")m=a;else if(m=a(),m==null)return null;let t=Aa(n);typeof m!="string"&&(m.greedy!==void 0&&m.greedy!==n.greedy&&(t[1]+=1),m=P1(m));let r=e.getReplaceRange({start:n.start+t[0],end:n.start+t[1]});return r==null?null:r.replace(i,m)}}function H3(e,n,a,i,m){return t=>{let r;if(typeof i=="string")r=i;else if(r=i(),r==null)return null;if(!/^[a-z]*$/iu.test(r))return null;if(m&&m1(n))return t.replaceText(n,`/${n.regex.pattern}/${r}`);let s;if(m1(n))s=t.replaceTextRange(Wm(n),r);else if(a){let x=Wm(a);if(x==null)return null;s=t.replaceTextRange(x,r)}else{if(n.arguments.length!==1)return null;let x=n.range[1];s=t.replaceTextRange([x-1,x],`, "${r}")`)}if(!m)return s;if(!e)return null;let o=e.getReplaceRange({start:0,end:e.value.length});return o==null?null:[o.replace(t,e.value),s]}}function j7(e,n){return!!(e.endsWith("\\c")&&/^[a-z]/iu.test(n)||/(?:^|[^\\])(?:\\{2})*\\(?:x[\dA-Fa-f]?|u[\dA-Fa-f]{0,3})$/u.test(e)&&/^[\da-f]/iu.test(n)||/(?:^|[^\\])(?:\\{2})*\\u$/u.test(e)&&/^\{[\da-f]*(?:\}[\s\S]*)?$/iu.test(n)||/(?:^|[^\\])(?:\\{2})*\\u\{[\da-f]*$/u.test(e)&&/^(?:[\da-f]+\}?|\})/iu.test(n)||/(?:^|[^\\])(?:\\{2})*\\0[0-7]?$/u.test(e)&&/^[0-7]/u.test(n)||/(?:^|[^\\])(?:\\{2})*\\[1-7]$/u.test(e)&&/^[0-7]/u.test(n)||/(?:^|[^\\])(?:\\{2})*\\[1-9]\d*$/u.test(e)&&/^\d/u.test(n)||/(?:^|[^\\])(?:\\{2})*\\k$/u.test(e)&&n[0]==="<"||/(?:^|[^\\])(?:\\{2})*\\k<[^<>]*$/u.test(e)||/(?:^|[^\\])(?:\\{2})*\\p$/iu.test(e)&&/^\{[\w=]*(?:\}[\s\S]*)?$/u.test(n)||/(?:^|[^\\])(?:\\{2})*\\p\{[\w=]*$/iu.test(e)&&/^[\w=]+(?:\}[\s\S]*)?$|^\}/u.test(n)||/(?:^|[^\\])(?:\\{2})*\{\d*$/u.test(e)&&/^[\d,}]/u.test(n)||/(?:^|[^\\])(?:\\{2})*\{\d+,$/u.test(e)&&/^(?:\d+(?:\}|$)|\})/u.test(n)||/(?:^|[^\\])(?:\\{2})*\{\d+,\d*$/u.test(e)&&n[0]==="}")}function ki(e,n){let a=n.parent;if(a.type!=="CharacterClass")throw new Error("Only call this function for character class elements.");return e.fixReplaceNode(n,()=>{let i=a.raw.slice(0,n.start-a.start),m=a.raw.slice(n.end-a.start);if(j7(i,m))return null;let t=a.elements.indexOf(n),r=a.elements[t-1],s=a.elements[t+1];return r&&s&&r.type==="Character"&&r.raw==="-"&&s.type==="Character"?null:m[0]==="-"&&r&&r.type==="Character"||m[0]==="^"&&!a.negate&&!r?"\\":""})}function pE(e,n){let{parent:a}=n;return a.alternatives.length===1?e.fixReplaceNode(n,"[]"):e.fixReplaceNode(a,()=>{let{start:i,end:m}=n;return a.alternatives[0]===n?m++:i--,a.raw.slice(0,i-a.start)+a.raw.slice(m-a.start)})}function fE(e,n){let{parent:a}=n;return a.alternatives.length===1?e.fixReplaceNode(a,"[]"):e.fixReplaceNode(a,()=>{let{start:i,end:m}=n;return a.alternatives[0]===n?m++:i--,a.raw.slice(0,i-a.start)+a.raw.slice(m-a.start)})}function ka(e,n){let a,i,m=e.parent;if(m.type==="Alternative")a=m.raw.slice(0,e.start-m.start),i=m.raw.slice(e.end-m.start);else if(m.type==="Quantifier"){let t=m.parent;a=t.raw.slice(0,e.start-t.start),i=t.raw.slice(e.end-t.start)}else return!0;return!j7(a,n)&&!j7(n,i)}var dE=T("confusing-quantifier",{meta:{docs:{description:"disallow confusing quantifiers",category:"Best Practices",recommended:!0,default:"warn"},schema:[],messages:{confusing:"This quantifier is confusing because its minimum is {{min}} but it can match the empty string. Maybe replace it with `{{proposal}}` to reflect that it can match the empty string?"},type:"problem"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){return{onQuantifierEnter(t){if(t.min>0&&(0,_.isPotentiallyEmpty)(t.element,i)){let r=P1({...t,min:0});e.report({node:a,loc:m(t,Aa(t)),messageId:"confusing",data:{min:String(t.min),proposal:r}})}}}}return A(e,{createVisitor:n})}});function l7(e){return`U+${e.toString(16).padStart(4,"0")}`}function vn(e){if(e.type==="Character"){let n=l7(e.value);return`'${U7(e.raw)}' (${n})`}if(e.type==="CharacterClassRange"){let n=l7(e.min.value),a=l7(e.max.value);return`'${U7(e.raw)}' (${n} - ${a})`}return R(e)}function R(e){return`'${U7(typeof e=="string"?e:e.raw)}'`}function U7(e){return e.replace(/\\(?<char>[\s\S])/gu,(n,a)=>a.charCodeAt(0)<32?y5(a):n).replace(/[\0-\x1f]/gu,y5)}function y5(e){return e===" "?e:e===`
38
+ `?"\\n":e==="\r"?"\\r":`\\x${e.charCodeAt(0).toString(16).padStart(2,"0")}`}function K3(e){if(e.length===0)return"none";if(e.length===1)return e[0];if(e.length===2)return`${e[0]} and ${e[1]}`;let n=e[0];for(let a=1;a<e.length-1;a++)n+=`, ${e[a]}`;return n+=`, and ${e[e.length-1]}`,n}var gE=new Map([[0,"\\0"],[9,"\\t"],[10,"\\n"],[11,"\\v"],[12,"\\f"],[13,"\\r"]]);function yE({node:e,patternSource:n},a){if(m1(e))return!0;let i=n.getReplaceRange(a);return!!(i&&i.type==="RegExp")}var CE=T("control-character-escape",{meta:{docs:{description:"enforce consistent escaping of control characters",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected control character escape {{actual}}. Use '{{expected}}' instead."},type:"suggestion"},create(e){function n(a){let{node:i,getRegexpLocation:m,fixReplaceNode:t}=a;return{onCharacterEnter(r){if(r.parent.type==="CharacterClassRange")return;let s=gE.get(r.value);s!==void 0&&r.raw!==s&&(!yE(a,r)&&r.raw===String.fromCodePoint(r.value)||e.report({node:i,loc:m(r),messageId:"unexpected",data:{actual:vn(r),expected:s},fix:t(r,s)}))}}}return A(e,{createVisitor:n})}}),vE=new Intl.Segmenter,_E=T("grapheme-string-literal",{meta:{docs:{description:"enforce single grapheme in string literal",category:"Stylistic Issues",recommended:!1},schema:[],messages:{onlySingleCharacters:"Only single characters and graphemes are allowed inside character classes. Use regular alternatives (e.g. `{{alternatives}}`) for strings instead."},type:"suggestion"},create(e){function n(a){let{node:i,getRegexpLocation:m}=a;function t(s){if(s.elements.length<=1)return!1;let o=String.fromCodePoint(...s.elements.map(x=>x.value));return[...vE.segment(o)].length>1}function r(s){return`(?:${s.parent.alternatives.filter(t).map(o=>o.raw).join("|")}|[...])`}return{onStringAlternativeEnter(s){t(s)&&e.report({node:i,loc:m(s),messageId:"onlySingleCharacters",data:{alternatives:r(s)}})}}}return A(e,{createVisitor:n})}}),SE=T("hexadecimal-escape",{meta:{docs:{description:"enforce consistent usage of hexadecimal escape",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{enum:["always","never"]}],messages:{expectedHexEscape:"Expected hexadecimal escape ('{{hexEscape}}'), but {{unexpectedKind}} escape ('{{rejectEscape}}') is used.",unexpectedHexEscape:"Unexpected hexadecimal escape ('{{hexEscape}}')."},type:"suggestion"},create(e){let n=e.options[0]!=="never";function a({node:r,getRegexpLocation:s,fixReplaceNode:o},x,c){if(x!=="unicode"&&x!=="unicode code point")return;let l=`\\x${c.value.toString(16).padStart(2,"0")}`;e.report({node:r,loc:s(c),messageId:"expectedHexEscape",data:{hexEscape:l,unexpectedKind:x,rejectEscape:c.raw},fix:o(c,l)})}function i({node:r,getRegexpLocation:s,fixReplaceNode:o},x,c){x==="hexadecimal"&&e.report({node:r,loc:s(c),messageId:"unexpectedHexEscape",data:{hexEscape:c.raw},fix:o(c,()=>`\\u00${c.raw.slice(2)}`)})}let m=n?a:i;function t(r){return{onCharacterEnter(s){if(s.value>255)return;let o=Di(s.raw);o&&m(r,o,s)}}}return A(e,{createVisitor:t})}}),Jm=["lowercase","uppercase","ignore"],_i={caseInsensitive:"lowercase",unicodeEscape:"lowercase",hexadecimalEscape:"lowercase",controlEscape:"uppercase"};function wE(e){return e?{caseInsensitive:e.caseInsensitive||_i.caseInsensitive,unicodeEscape:e.unicodeEscape||_i.unicodeEscape,hexadecimalEscape:e.hexadecimalEscape||_i.hexadecimalEscape,controlEscape:e.controlEscape||_i.controlEscape}:_i}var u7={lowercase:Q3,uppercase:z3},h7={lowercase:e=>e.toLowerCase()===e,uppercase:e=>e.toUpperCase()===e},EE={lowercase:e=>e.toLowerCase(),uppercase:e=>e.toUpperCase()},bE=T("letter-case",{meta:{docs:{description:"enforce into your favorite case",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{type:"object",properties:{caseInsensitive:{enum:Jm},unicodeEscape:{enum:Jm},hexadecimalEscape:{enum:Jm},controlEscape:{enum:Jm}},additionalProperties:!1}],messages:{unexpected:"'{{char}}' is not in {{case}}"},type:"layout"},create(e){let n=wE(e.options[0]);function a({node:x,getRegexpLocation:c,fixReplaceNode:l},u,p,f){e.report({node:x,loc:c(u),messageId:"unexpected",data:{char:u.raw,case:p},fix:l(u,()=>f(EE[p]))})}function i(x,c){c.parent.type==="CharacterClassRange"||n.caseInsensitive==="ignore"||u7[n.caseInsensitive](c.value)||!Bm(c.value)||a(x,c,n.caseInsensitive,l=>l(String.fromCodePoint(c.value)))}function m(x,c){n.caseInsensitive!=="ignore"&&(u7[n.caseInsensitive](c.min.value)||!Bm(c.min.value)||u7[n.caseInsensitive](c.max.value)||!Bm(c.max.value)||a(x,c,n.caseInsensitive,l=>`${l(String.fromCodePoint(c.min.value))}-${l(String.fromCodePoint(c.max.value))}`))}function t(x,c){if(n.unicodeEscape==="ignore")return;let l=/^(?<prefix>\\u\{?)(?<code>.*?)(?<suffix>\}?)$/u.exec(c.raw);h7[n.unicodeEscape](l.groups.code)||a(x,c,n.unicodeEscape,u=>`${l.groups.prefix}${u(l.groups.code)}${l.groups.suffix}`)}function r(x,c){if(n.hexadecimalEscape==="ignore")return;let l=/^\\x(?<code>.*)$/u.exec(c.raw);h7[n.hexadecimalEscape](l.groups.code)||a(x,c,n.hexadecimalEscape,u=>`\\x${u(l.groups.code)}`)}function s(x,c){if(n.controlEscape==="ignore")return;let l=/^\\c(?<code>.*)$/u.exec(c.raw);h7[n.controlEscape](l.groups.code)||a(x,c,n.controlEscape,u=>`\\c${u(l.groups.code)}`)}function o(x){let{flags:c}=x;return{onCharacterEnter(l){c.ignoreCase&&i(x,l);let u=Di(l.raw);(u==="unicode"||u==="unicode code point")&&t(x,l),u==="hexadecimal"&&r(x,l),u==="control"&&s(x,l)},...c.ignoreCase?{onCharacterClassRangeEnter(l){m(x,l)}}:{}}}return A(e,{createVisitor:o})}}),C5="[\\s\\S]",kE="[\\S\\s]",TE="[^]",Fm="dotAll",AE=T("match-any",{meta:{docs:{description:"enforce match any character style",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[{type:"object",properties:{allows:{type:"array",items:{type:"string",enum:[C5,kE,TE,Fm]},uniqueItems:!0,minItems:1}},additionalProperties:!1}],messages:{unexpected:"Unexpected using {{expr}} to match any character."},type:"suggestion"},create(e){let n=e.sourceCode,a=e.options[0]?.allows??[C5,Fm],i=new Set(a),m=a[0]||null;function t(s,{node:o,flags:x,patternSource:c},l){if(!m)return null;if(m===Fm){if(!x.dotAll||!m1(o))return null;let u=c.getReplaceRange(l);if(u==null)return null;let p=[u.range[1],o.range[1]];return[u.replace(s,"."),s.replaceTextRange(p,n.text.slice(...p))]}return l.type==="CharacterClass"&&m[0]==="["&&m.endsWith("]")?c.getReplaceRange({start:l.start+1,end:l.end-1})?.replace(s,m.slice(1,-1))??null:c.getReplaceRange(l)?.replace(s,m)??null}function r(s){let{node:o,flags:x,getRegexpLocation:c}=s;function l(u){(0,_.matchesAllCharacters)(u,x)&&!(0,_.hasStrings)(u,x)&&!i.has(u.raw)&&e.report({node:o,loc:c(u),messageId:"unexpected",data:{expr:R(u)},fix(p){return t(p,s,u)}})}return{onCharacterSetEnter(u){u.kind==="any"&&x.dotAll&&!i.has(Fm)&&e.report({node:o,loc:c(u),messageId:"unexpected",data:{expr:R(u)},fix(p){return t(p,s,u)}})},onCharacterClassEnter:l,onExpressionCharacterClassEnter:l}}return A(e,{createVisitor:r})}});function IE(e){return e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"||e.type==="CharacterSet"&&(e.kind!=="property"||!e.strings)}var PE=T("negation",{meta:{docs:{description:"enforce use of escapes on negation",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected negated character class. Use '{{negatedCharSet}}' instead."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceNode:m,flags:t}){return{onCharacterClassEnter(r){if(!r.negate||r.elements.length!==1)return;let s=r.elements[0];if(!IE(s)||s.type!=="CharacterSet"&&!s.negate)return;if(t.ignoreCase&&!t.unicodeSets&&s.type==="CharacterSet"&&s.kind==="property"){let x=(0,_.toUnicodeSet)(r,t),c=(0,_.toUnicodeSet)({...s,negate:!s.negate},t);if(!x.equals(c))return}let o=OE(s);e.report({node:a,loc:i(r),messageId:"unexpected",data:{negatedCharSet:o},fix:m(r,o)})}}}return A(e,{createVisitor:n})}});function OE(e){if(e.type==="CharacterSet"){let n=e.raw[1];return n.toLowerCase()===n?n=n.toUpperCase():n=n.toLowerCase(),`\\${n}${e.raw.slice(2)}`}return e.type==="CharacterClass"?`[${e.elements.map(n=>n.raw).join("")}]`:e.type==="ExpressionCharacterClass"?`[${e.raw.slice(2,-1)}]`:z(e)}function RE(e,n,a){if(e.kind!=="word"&&(0,_.getMatchingDirectionFromAssertionKind)(e.kind)!==n||(e.kind==="lookahead"||e.kind==="lookbehind")&&(0,_.isPotentiallyEmpty)(e.alternatives,a))return!0;let i=_.FirstConsumedChars.toLook((0,_.getFirstConsumedChar)(e,n,a));if(i.char.isEmpty||i.char.isAll)return!0;let m=(0,_.getFirstCharAfter)(e,n,a);return!!(!m.edge&&(i.exact&&i.char.isSupersetOf(m.char)||i.char.isDisjointWith(m.char)))}function*LE(e,n,a){let i=e;for(;;){let m=i.parent;if(m.type==="CharacterClass"||m.type==="CharacterClassRange"||m.type==="ClassIntersection"||m.type==="ClassSubtraction"||m.type==="StringAlternative")return;if(m.type==="Quantifier")if(m.max===1){i=m;continue}else return;let t=m.elements,r=t.indexOf(i),s=n==="ltr"?1:-1;for(let x=r+s;x>=0&&x<t.length;x+=s){let c=t[x];if(yield c,!(0,_.isZeroLength)(c,a))return}let o=m.parent;if((o.type==="Group"||o.type==="CapturingGroup"||o.type==="Assertion"&&(0,_.getMatchingDirectionFromAssertionKind)(o.kind)!==n)&&o.alternatives.length===1){i=o;continue}return}}function l8(e,n,a,i){if(a(e))return!0;if(e.type==="CapturingGroup"||e.type==="Group"){let m=!1;return e.alternatives.forEach(t=>{v5(t,n,a,i)&&(m=!0)}),m}return e.type==="Quantifier"&&e.max===1?l8(e.element,n,a,i):(e.type==="Assertion"&&(e.kind==="lookahead"||e.kind==="lookbehind")&&(0,_.getMatchingDirectionFromAssertionKind)(e.kind)===n&&e.alternatives.forEach(m=>v5(m,n,a,i)),!1)}function v5(e,n,a,i){if(a(e))return!0;let{elements:m}=e,t=n==="ltr"?0:m.length,r=n==="ltr"?1:-1;for(let s=t;s>=0&&s<m.length;s+=r){let o=m[s];if(l8(o,n,a,i))return!0;if(!(0,_.isZeroLength)(o,i))break}return!1}function p7(e,n){return e.edge&&n.edge?!1:e.char.isDisjointWith(n.char)}var NE=T("no-contradiction-with-assertion",{meta:{docs:{description:"disallow elements that contradict assertions",category:"Possible Errors",recommended:!0},schema:[],messages:{alternative:"The alternative {{ alt }} can never be entered because it contradicts with the assertion {{ assertion }}. Either change the alternative or assertion to resolve the contradiction.",cannotEnterQuantifier:"The quantifier {{ quant }} can never be entered because its element contradicts with the assertion {{ assertion }}. Change or remove the quantifier or change the assertion to resolve the contradiction.",alwaysEnterQuantifier:"The quantifier {{ quant }} is always entered despite having a minimum of 0. This is because the assertion {{ assertion }} contradicts with the element(s) after the quantifier. Either set the minimum to 1 ({{ newQuant }}) or change the assertion.",removeQuantifier:"Remove the quantifier.",changeQuantifier:"Change the quantifier to {{ newQuant }}."},hasSuggestions:!0,type:"problem"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceQuant:r,fixReplaceNode:s}=a;function o(x,c){if(RE(x,c,m))return;let l=_.FirstConsumedChars.toLook((0,_.getFirstConsumedChar)(x,c,m));for(let d of LE(x,c,m))if(l8(d,c,f,m))break;function u(d){let g=(0,_.getFirstConsumedChar)(d,c,m);g.empty&&(g=_.FirstConsumedChars.concat([g,(0,_.getFirstConsumedCharAfter)(d,c,m)],m));let h=_.FirstConsumedChars.toLook(g);return p7(l,h)?(e.report({node:i,loc:t(d),messageId:"alternative",data:{assertion:R(x),alt:R(d)}}),!0):!1}function p(d){if(d.max===0||d.min!==0)return!1;let g=(0,_.getFirstConsumedChar)(d.element,c,m),h=_.FirstConsumedChars.toLook(g);if(p7(l,h))return e.report({node:i,loc:t(d),messageId:"cannotEnterQuantifier",data:{assertion:R(x),quant:R(d)},suggest:[{messageId:"removeQuantifier",fix:s(d,"")}]}),!0;let y=(0,_.getFirstCharAfter)(d,c,m);if(p7(l,y)){let C=P1({...d,min:1});return e.report({node:i,loc:t(d),messageId:"alwaysEnterQuantifier",data:{assertion:R(x),quant:R(d),newQuant:C},suggest:[{messageId:"changeQuantifier",data:{newQuant:C},fix:r(d,{min:1,max:d.max})}]}),!0}return!1}function f(d){return d.type==="Alternative"?u(d):d.type==="Quantifier"?p(d):!1}}return{onAssertionEnter(x){o(x,"ltr"),o(x,"rtl")}}}return A(e,{createVisitor:n})}}),ME=new Map([[0,"\\0"],[9,"\\t"],[10,"\\n"],[11,"\\v"],[12,"\\f"],[13,"\\r"]]),_5=/^\\[0fnrtv]$/u,JE=T("no-control-character",{meta:{docs:{description:"disallow control characters",category:"Possible Errors",recommended:!1},schema:[],messages:{unexpected:"Unexpected control character {{ char }}.",escape:"Use {{ escape }} instead."},type:"suggestion",hasSuggestions:!0},create(e){function n(a){let{node:i,patternSource:m,getRegexpLocation:t,fixReplaceNode:r}=a;function s(c,l){return c.codePointAt(0)===l||c.startsWith("\\x")||c.startsWith("\\u")}function o(c){return _5.test(c)||c[0]==="\\"&&_5.test(c.slice(1))}function x(c){let l=m.getReplaceRange(c)?.range,u=l?e.sourceCode.text.slice(...l):c.raw;return o(c.raw)||o(u)?!1:s(c.raw,c.value)||c.raw[0]==="\\"&&s(c.raw.slice(1),c.value)}return{onCharacterEnter(c){if(c.value<=31&&x(c)){let l=[],u=ME.get(c.value);u!==void 0&&l.push({messageId:"escape",data:{escape:R(u)},fix:r(c,u)}),e.report({node:i,loc:t(c),messageId:"unexpected",data:{char:vn(c)},suggest:l})}}}}return A(e,{createVisitor:n})}});function Ym(e,n=!1){let{flags:a,flagsString:i,patternAst:m}=e;return{pattern:m,flags:{type:"Flags",raw:i??"",parent:null,start:NaN,end:NaN,dotAll:a.dotAll??!1,global:a.global??!1,hasIndices:a.hasIndices??!1,ignoreCase:a.ignoreCase??!1,multiline:a.multiline??!1,sticky:!n&&(a.sticky??!1),unicode:a.unicode??!1,unicodeSets:a.unicodeSets??!1}}}var ot=X1(e=>O.JS.Parser.fromAst(Ym(e)));function xt(e){if(!O.JS.isFlags(e))throw new Error(`Invalid flags: ${JSON.stringify(e)}`)}function Xm(e,n){xt(n);let a;return typeof e=="number"?a=O.JS.createCharSet([e],n):a=e,O.JS.toLiteral({type:"Concatenation",elements:[{type:"CharacterClass",characters:a}]},{flags:n}).source}function FE(e,n){let a=[],i=new Map,m=new Map,t=new Map;function r(o,x,c){let l=o.get(x);l!==void 0?a.push({element:l,duplicate:c}):o.set(x,c)}for(let o of e)if(o.type==="Character"){let x=(0,_.toCharSet)(o,n).ranges[0].min;r(i,x,o)}else if(o.type==="CharacterClassRange")r(m,s((0,_.toCharSet)(o,n)),o);else if(o.type==="CharacterSet"||o.type==="CharacterClass"||o.type==="ClassStringDisjunction"||o.type==="ExpressionCharacterClass"){let x=o.raw;r(t,x,o)}else z(o);return{duplicates:a,characters:[...i.values()],characterRanges:[...m.values()],characterSetAndClasses:[...t.values()]};function s(o){return o.ranges.map(x=>String.fromCodePoint(x.min,x.max)).join(",")}}function S5({min:e,max:n},a){return e<=a&&a<=n}var jE=T("no-dupe-characters-character-class",{meta:{type:"suggestion",docs:{description:"disallow duplicate characters in the RegExp character class",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{duplicate:"Unexpected duplicate {{duplicate}}.",duplicateNonObvious:"Unexpected duplicate. {{duplicate}} is a duplicate of {{element}}.",subset:"{{subsetElement}} is already included in {{element}}.",subsetOfMany:"{{subsetElement}} is already included by the elements {{elements}}.",overlap:"Unexpected overlap of {{elementA}} and {{elementB}} was found '{{overlap}}'."}},create(e){function n(r,s,o){let{node:x,getRegexpLocation:c}=r;s.raw===o.raw?e.report({node:x,loc:c(s),messageId:"duplicate",data:{duplicate:vn(s)},fix:ki(r,s)}):e.report({node:x,loc:c(s),messageId:"duplicateNonObvious",data:{duplicate:vn(s),element:vn(o)},fix:ki(r,s)})}function a({node:r,getRegexpLocation:s},o,x,c){e.report({node:r,loc:s(o),messageId:"overlap",data:{elementA:vn(o),elementB:vn(x),overlap:c}})}function i(r,s,o){let{node:x,getRegexpLocation:c}=r;e.report({node:x,loc:c(s),messageId:"subset",data:{subsetElement:vn(s),element:vn(o)},fix:ki(r,s)})}function m(r,s,o){let{node:x,getRegexpLocation:c}=r;e.report({node:x,loc:c(s),messageId:"subsetOfMany",data:{subsetElement:vn(s),elements:`'${o.map(l=>l.raw).join("")}' (${o.map(vn).join(", ")})`},fix:ki(r,s)})}function t(r){let{flags:s}=r;return{onCharacterClassEnter(o){let{duplicates:x,characters:c,characterRanges:l,characterSetAndClasses:u}=FE(o.elements,s),p=[...l,...u],f=new Set;for(let{element:g,duplicate:h}of x)n(r,h,g),f.add(h);for(let g of c)for(let h of p)if((0,_.toUnicodeSet)(h,s).chars.has(g.value)){i(r,g,h),f.add(g);break}for(let g of p)for(let h of p)if(!(g===h||f.has(h))&&(0,_.toUnicodeSet)(g,s).isSubsetOf((0,_.toUnicodeSet)(h,s))){i(r,g,h),f.add(g);break}let d=(0,_.toUnicodeSet)(c.filter(g=>!f.has(g)),s);for(let g of p){if(f.has(g))continue;let h=d.union(...p.filter(C=>!f.has(C)&&C!==g).map(C=>(0,_.toUnicodeSet)(C,s))),y=(0,_.toUnicodeSet)(g,s);y.isSubsetOf(h)&&(m(r,g,o.elements.filter(C=>!f.has(C)&&C!==g).filter(C=>!(0,_.toUnicodeSet)(C,s).isDisjointWith(y))),f.add(g))}for(let g=0;g<l.length;g++){let h=l[g];if(!f.has(h))for(let y=g+1;y<p.length;y++){let C=p[y];if(h===C||f.has(C))continue;let v=(0,_.toUnicodeSet)(h,s).intersect((0,_.toUnicodeSet)(C,s));if(v.isEmpty)continue;let S=v.chars.ranges.filter(E=>S5(E,h.min.value)||S5(E,h.max.value));xt(s);let w=O.JS.createCharSet(S,s);if(!w.isEmpty){a(r,h,C,Xm(w,s));break}}}}}}return A(e,{createVisitor:t})}}),UE=[{min:0,max:1114111}],f7=[{min:t8,max:r8},{min:x8,max:c8},{min:s8,max:o8}];function u8(e,n){let a=e||n.settings.regexp?.allowedCharacterRanges;if(!a)return f7;typeof a=="string"&&(a=[a]);let i=[];for(let m of a){if(m==="all")return UE;if(m==="alphanumeric"){if(a.length===1)return f7;i.push(...f7)}else{let t=[...m];if(t.length!==3||t[1]!=="-")throw new Error(`Invalid format: The range ${JSON.stringify(m)} is not of the form \`<char>-<char>\`.`);let r=t[0].codePointAt(0),s=t[2].codePointAt(0);i.push({min:r,max:s})}}return i}function Y3(){return{anyOf:[{enum:["all","alphanumeric"]},{type:"array",items:[{enum:["all","alphanumeric"]}],minItems:1,additionalItems:!1},{type:"array",items:{anyOf:[{const:"alphanumeric"},{type:"string",pattern:/^(?:[\ud800-\udbff][\udc00-\udfff]|[^\ud800-\udfff])-(?:[\ud800-\udbff][\udc00-\udfff]|[^\ud800-\udfff])$/.source}]},uniqueItems:!0,minItems:1,additionalItems:!1}]}}function Ai(e,n,a=n){for(let i of e)if(i.min<=n&&a<=i.max)return!0;return!1}var d7=class{ancestors;alternative;constructor(e){this.alternative=e;let n=new Set;for(let a=e;a;a=a.parent)n.add(a);this.ancestors=n}},DE=class{parser;options;nativeCache=new WeakMap;constructor(e,n={}){this.parser=e,this.options=n}parse(e,n){switch(e.type){case"Pattern":return{type:"Expression",alternatives:this.parseAlternatives(e.alternatives,new d7(n))};case"Alternative":return{type:"Expression",alternatives:[this.parseAlternative(e,new d7(n))]};default:return{type:"Expression",alternatives:[{type:"Concatenation",elements:[this.parseElement(e,new d7(n))]}]}}}parseAlternatives(e,n){let a=e.find(m=>n.ancestors.has(m));if(a)return[this.parseAlternative(a,n)];let i=[];for(let m of e)i.push(...this.parser.parseElement(m,this.options).expression.alternatives);return i}parseAlternative(e,n){return{type:"Concatenation",elements:e.elements.map(a=>this.parseElement(a,n))}}parseStringAlternatives(e,n){let a=e.find(i=>n.ancestors.has(i));return a?[this.parseStringAlternative(a)]:e.map(i=>this.parseStringAlternative(i))}parseStringAlternative(e){return{type:"Concatenation",elements:e.elements.map(n=>this.nativeParseElement(n))}}parseElement(e,n){if(!n.ancestors.has(e))return this.nativeParseElement(e);switch(e.type){case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"ExpressionCharacterClass":return this.nativeParseElement(e);case"CharacterClassRange":return n.alternative===e.min?this.nativeParseElement(n.alternative):n.alternative===e.max?this.nativeParseElement(n.alternative):this.nativeParseElement(e);case"CharacterClass":return this.parseCharacterClass(e,n);case"ClassStringDisjunction":return{type:"Alternation",alternatives:this.parseStringAlternatives(e.alternatives,n)};case"Group":case"CapturingGroup":return{type:"Alternation",alternatives:this.parseAlternatives(e.alternatives,n)};case"Quantifier":{let a=e.element.type==="Group"||e.element.type==="CapturingGroup"?this.parseAlternatives(e.element.alternatives,n):[{type:"Concatenation",elements:[this.parseElement(e.element,n)]}];return{type:"Quantifier",min:e.min,max:e.max,lazy:!e.greedy,alternatives:a}}default:throw z(e)}}parseCharacterClass(e,n){if(e.negate||!n.ancestors.has(e)||n.alternative.type==="Alternative")return this.nativeParseElement(e);for(let a of e.elements)if(n.ancestors.has(a))return this.parseElement(a,n);return this.nativeParseElement(e)}nativeParseElement(e){let n=this.nativeCache.get(e);return n||(n=this.nativeParseElementUncached(e),this.nativeCache.set(e,n)),n}nativeParseElementUncached(e){if(e.type==="CharacterClassRange"){let a={min:e.min.value,max:e.max.value};return{type:"CharacterClass",characters:O.JS.createCharSet([a],this.parser.flags)}}else if(e.type==="ClassStringDisjunction")return{type:"Alternation",alternatives:e.alternatives.map(a=>this.parseStringAlternative(a))};let{expression:n}=this.parser.parseElement(e,this.options);if(n.alternatives.length===1){let a=n.alternatives[0].elements;if(a.length===1)return a[0]}return{type:"Alternation",alternatives:n.alternatives}}};function GE(e){let n=(0,_.getEffectiveMaximumRepetition)(e);return e.type==="Quantifier"&&(n*=e.max),n>10}function BE(e){let n=(0,_.getMatchingDirection)(e);for(let a=e;;a=a.parent){if(a.type==="Assertion"||a.type==="Pattern")return!0;if(a.type!=="Alternative"){let i=a.parent;if(i.type==="Quantifier"){if(i.max>1)return!1}else{let m=n==="ltr"?i.elements.length-1:0;if(i.elements[m]!==a)return!1}}}}function VE(e){try{return(0,O.visitAst)(e,{onAssertionEnter(){throw new Error}}),!1}catch{return!0}}function $E(e){try{return(0,O.visitAst)(e,{onAssertionEnter(){throw new Error},onUnknownEnter(){throw new Error}}),!1}catch{return!0}}function WE(e){return(0,_.hasSomeDescendant)(e,n=>n.type==="Assertion"||n.type==="Backreference")}function QE(e,n){try{let{expression:a,maxCharacter:i}=e.parseElement(n,{backreferences:"unknown",assertions:"parse"}),m;return VE(a)?m=(0,O.transform)(O.Transformers.simplify({ignoreAmbiguity:!0,ignoreOrder:!0}),a):m=a,{nfa:O.NFA.fromRegex(m,{maxCharacter:i},{assertions:"disable",unknowns:"disable"}),partial:$E(m)}}catch{return{nfa:O.NFA.empty({maxCharacter:e.maxCharacter}),partial:!0}}}function*X3(e){for(let n of e.elements){if(n.type==="Group"||n.type==="CapturingGroup")for(let a of n.alternatives)n.alternatives.length>1&&(yield a),yield*X3(a);if(n.type==="CharacterClass"&&!n.negate){let a=[],i=m=>{switch(m.type){case"CharacterClassRange":{let t=m.min,r=m.max;t.value===r.value?a.push(m):t.value+1===r.value?a.push(t,r):a.push(m,t,r);break}case"ClassStringDisjunction":a.push(...m.alternatives);break;case"CharacterClass":m.negate?a.push(m):m.elements.forEach(i);break;case"Character":case"CharacterSet":case"ExpressionCharacterClass":a.push(m);break;default:throw z(m)}};n.elements.forEach(i),a.length>1&&(yield*a)}}}function*zE(e,n){if(WE(e))return;let a=n.maxCharacter,i=new DE(n,{assertions:"throw",backreferences:"throw"});for(let m of X3(e))try{let t=i.parse(e,m);yield{nested:m,nfa:O.NFA.fromRegex(t,{maxCharacter:a})}}catch{}}function Z3(e){if(e.length===0)throw new Error("Cannot union 0 NFAs.");if(e.length===1)return e[0];let n=e[0].copy();for(let a=1;a<e.length;a++)n.union(e[a]);return n}var Ii=1e5;function no(e,n){try{let a=O.DFA.fromIntersection(e,n,new O.DFA.LimitedNodeFactory(Ii)),i=O.DFA.fromFA(n,new O.DFA.LimitedNodeFactory(Ii));return a.minimize(),i.minimize(),a.structurallyEqual(i)}catch{return null}}function qE(e,n){try{let a=O.DFA.fromIntersection(e,n,new O.DFA.LimitedNodeFactory(Ii));a.minimize();let i=O.DFA.fromFA(e,new O.DFA.LimitedNodeFactory(Ii));i.minimize();let m=O.DFA.fromFA(n,new O.DFA.LimitedNodeFactory(Ii));m.minimize();let t=i.structurallyEqual(a),r=m.structurallyEqual(a);return t&&r?1:t?2:r?3:0}catch{return 4}}function HE(e,n,a,i){let m=qE(e,a);if(!n&&!i||m===0||m===4)return m;if(n&&!i)switch(m){case 1:return 3;case 2:return 0;case 3:return 3;default:return z(m)}if(i&&!n)switch(m){case 1:return 2;case 2:return 2;case 3:return 0;default:return z(m)}return 0}function KE(e,n){try{return xt(n),O.JS.toLiteral(e.toRegex(),{flags:n}).source}catch{return"<ERROR>"}}function*YE(e,n){let a=i=>i.type==="CapturingGroup"?!1:null;for(let i=0;i<e.length;i++){let m=e[i];for(let t=0;t<i;t++){let r=e[t];bn(r,m,n,a)&&(yield{type:"Duplicate",alternative:m,others:[r]})}}}function*XE(e,n,a){let i={flags:n,canOmitRight:a},m={flags:n,canOmitRight:!1};for(let t=0;t<e.length;t++){let r=e[t];for(let s=0;s<t;s++){let o=e[s];r5(o,r,i)&&(bn(o,r,n)?yield{type:"Duplicate",alternative:r,others:[o]}:a&&!r5(o,r,m)?yield{type:"PrefixSubset",alternative:r,others:[o]}:yield{type:"Subset",alternative:r,others:[o]})}}}function*ZE(e,n){if(e.length===0)return;let a=O.NFA.all({maxCharacter:e[0][0].maxCharacter});for(let i=0;i<e.length;i++){let[m,t,r]=e[i];if(!t){let s=e.slice(0,i).filter(([o])=>!(0,O.isDisjointWith)(m,o));if(s.length>=1){let o=Z3(s.map(([c])=>c)),x=s.map(([,,c])=>c);if(no(o,m))yield{type:"PrefixSubset",alternative:r,others:x};else{let c=eo(s.map(l=>[l[0],l[2]]),o,r,n);c&&(yield{...c,type:"PrefixNestedSubset"})}}}m.append(a)}}function*nb(e,n,{hasNothingAfter:a,parser:i,ignoreOverlap:m}){let t=[];for(let r=0;r<e.length;r++){let s=e[r],{nfa:o,partial:x}=QE(i,s),c=t.filter(([l])=>!(0,O.isDisjointWith)(o,l));if(c.length>=1){let l=Z3(c.map(([d])=>d)),u=c.some(([,d])=>d),p=c.map(([,,d])=>d),f=HE(o,x,l,u);switch(f){case 1:p.length===1?yield{type:"Duplicate",alternative:s,others:[p[0]]}:yield{type:"Subset",alternative:s,others:p};break;case 2:yield{type:"Subset",alternative:s,others:p};break;case 3:if((0,_.canReorder)([s,...p],n))for(let d of p)yield{type:"Subset",alternative:d,others:[s]};else yield{type:"Superset",alternative:s,others:p};break;case 0:case 4:{let d=eo(c.map(g=>[g[0],g[2]]),l,s,i);if(d){yield d;break}m||(yield{type:"Overlap",alternative:s,others:p,overlap:O.NFA.fromIntersection(o,l)});break}default:throw z(f)}}t.push([o,x,s])}a&&(yield*ZE(t,i))}function eo(e,n,a,i){let m=new Set;for(let{nested:t,nfa:r}of zE(a,i))if(!(0,_.hasSomeAncestor)(t,s=>m.has(s))){if((0,O.isDisjointWith)(n,r)){m.add(t);continue}if(no(n,r))return{type:"NestedSubset",alternative:a,nested:t,others:e.filter(s=>!(0,O.isDisjointWith)(s[0],r)).map(s=>s[1])}}}function*eb(e,n,a){a.fastAst?yield*YE(e,n):yield*XE(e,n,a.hasNothingAfter),a.noNfa||(yield*nb(e,n,a))}var w5=["Duplicate","Subset","NestedSubset","PrefixSubset","PrefixNestedSubset","Superset","Overlap"];function ab(e,{reportExp:n}){let a=[...e].sort((m,t)=>w5.indexOf(m.type)-w5.indexOf(t.type)),i=new Map;return a.filter(({alternative:m,type:t})=>{let r=i.get(m);return r===void 0||n&&r==="PrefixSubset"&&t!=="PrefixSubset"?(i.set(m,t),!0):!1})}function g7(e){return e.type==="Alternative"||e.type==="StringAlternative"?R(e):vn(e)}function ib(e,n){switch(n.type){case"Alternative":return pE(e,n);case"StringAlternative":return fE(e,n);case"Character":case"CharacterClassRange":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":case"ClassStringDisjunction":return n.parent.type!=="CharacterClass"?()=>null:ki(e,n);default:throw z(n)}}var mb=T("no-dupe-disjunctions",{meta:{docs:{description:"disallow duplicate disjunctions",category:"Possible Errors",recommended:!0},hasSuggestions:!0,schema:[{type:"object",properties:{report:{type:"string",enum:["all","trivial","interesting"]},reportExponentialBacktracking:{enum:["none","certain","potential"]},reportUnreachable:{enum:["certain","potential"]}},additionalProperties:!1}],messages:{duplicate:"Unexpected duplicate alternative. This alternative can be removed.{{cap}}{{exp}}",subset:"Unexpected useless alternative. This alternative is a strict subset of {{others}} and can be removed.{{cap}}{{exp}}",nestedSubset:"Unexpected useless element. All paths of {{root}} that go through {{nested}} are a strict subset of {{others}}. This element can be removed.{{cap}}{{exp}}",prefixSubset:"Unexpected useless alternative. This alternative is already covered by {{others}} and can be removed.{{cap}}",prefixNestedSubset:"Unexpected useless element. All paths of {{root}} that go through {{nested}} are already covered by {{others}}. This element can be removed.{{cap}}",superset:"Unexpected superset. This alternative is a superset of {{others}}. It might be possible to remove the other alternative(s).{{cap}}{{exp}}",overlap:"Unexpected overlap. This alternative overlaps with {{others}}. The overlap is {{expr}}.{{cap}}{{exp}}",remove:"Remove the {{alternative}} {{type}}.",replaceRange:"Replace {{range}} with {{replacement}}."},type:"suggestion"},create(e){let n=e.options[0]?.reportExponentialBacktracking??"potential",a=e.options[0]?.reportUnreachable??"certain",i=e.options[0]?.report??"trivial",m=u8(void 0,e);function t(r){let{flags:s,node:o,getRegexpLocation:x,getUsageOfPattern:c}=r,l=ot(r);function u(y){let C=c(),v;GE(y)?v=1:C===0||C===2?v=2:v=0;let S;BE(y)?C===0||C===2?S=2:S=1:S=0;let w;switch(n){case"none":w=!1;break;case"certain":w=v===1;break;case"potential":w=v!==0;break;default:z(n)}let E;switch(a){case"certain":E=S===1;break;case"potential":E=S!==0;break;default:z(a)}return{stared:v,nothingAfter:S,reportExp:w,reportPrefix:E}}function p(y){let C=u(y),v=f([...eb(y.alternatives,s,{fastAst:!1,noNfa:!1,ignoreOverlap:!C.reportExp&&i!=="all",hasNothingAfter:C.reportPrefix,parser:l})],C);v=ab(v,C),v.forEach(S=>h(S,C))}function f(y,{nothingAfter:C,reportExp:v,reportPrefix:S}){switch(i){case"all":return y;case"trivial":return y.filter(({type:w})=>{switch(w){case"Duplicate":case"Subset":case"NestedSubset":return!0;case"Overlap":case"Superset":return v;case"PrefixSubset":case"PrefixNestedSubset":return S;default:throw z(w)}});case"interesting":return y.filter(({type:w})=>{switch(w){case"Duplicate":case"Subset":case"NestedSubset":return!0;case"Overlap":return v;case"Superset":return v||C===0;case"PrefixSubset":case"PrefixNestedSubset":return S;default:throw z(w)}});default:throw z(i)}}function d(y){return Ai(m,y)?String.fromCodePoint(y):y===0?"\\0":y<=255?`\\x${y.toString(16).padStart(2,"0")}`:y<=65535?`\\u${y.toString(16).padStart(4,"0")}`:`\\u{${y.toString(16)}}`}function g(y){if(y.type==="Overlap"||y.type==="Superset")return[];let C=y.type==="NestedSubset"||y.type==="PrefixNestedSubset"?y.nested:y.alternative;if((0,_.hasSomeDescendant)(C,v=>v.type==="CapturingGroup"))return[];if(C.type==="Character"&&C.parent.type==="CharacterClassRange"){let v=C.parent,S;if(v.min.value+1===v.max.value)S=v.min===C?v.max.raw:v.min.raw;else if(v.min===C)S=`${d(v.min.value+1)}-${v.max.raw}`;else{let w=d(v.max.value-1);S=`${v.min.raw}-${w}`}return[{messageId:"replaceRange",data:{range:vn(v),replacement:R(S)},fix:r.fixReplaceNode(v,S)}]}return[{messageId:"remove",data:{alternative:g7(C),type:C.type==="Alternative"?"alternative":"element"},fix:ib(r,C)}]}function h(y,{stared:C}){let v;C===1?v=" This ambiguity is likely to cause exponential backtracking.":C===2?v=" This ambiguity might cause exponential backtracking.":v="";let S=y.type==="NestedSubset"||y.type==="PrefixNestedSubset"?y.nested:y.alternative,w=x(S),E=(0,_.hasSomeDescendant)(S,M=>M.type==="CapturingGroup")?" Careful! This alternative contains capturing groups which might be difficult to remove.":"",k=R(y.others.map(M=>M.raw).join("|")),I=g(y);switch(y.type){case"Duplicate":e.report({node:o,loc:w,messageId:"duplicate",data:{exp:v,cap:E,others:k},suggest:I});break;case"Subset":e.report({node:o,loc:w,messageId:"subset",data:{exp:v,cap:E,others:k},suggest:I});break;case"NestedSubset":e.report({node:o,loc:w,messageId:"nestedSubset",data:{exp:v,cap:E,others:k,root:R(y.alternative),nested:g7(y.nested)},suggest:I});break;case"PrefixSubset":e.report({node:o,loc:w,messageId:"prefixSubset",data:{exp:v,cap:E,others:k},suggest:I});break;case"PrefixNestedSubset":e.report({node:o,loc:w,messageId:"prefixNestedSubset",data:{exp:v,cap:E,others:k,root:R(y.alternative),nested:g7(y.nested)},suggest:I});break;case"Superset":e.report({node:o,loc:w,messageId:"superset",data:{exp:v,cap:E,others:k},suggest:I});break;case"Overlap":e.report({node:o,loc:w,messageId:"overlap",data:{exp:v,cap:E,others:k,expr:R(KE(y.overlap,s))},suggest:I});break;default:throw z(y)}}return{onPatternEnter:p,onGroupEnter:p,onCapturingGroupEnter:p,onAssertionEnter(y){(y.kind==="lookahead"||y.kind==="lookbehind")&&p(y)}}}return A(e,{createVisitor:t})}});function tb(e){let n=e.alternatives[0],a=e.alternatives[e.alternatives.length-1],i=n.start-e.start,m=a.end-e.start;return[e.raw.slice(0,i),e.raw.slice(m)]}function y7(e,n){let a;if(e.alternatives.at(0)===n)a="??";else if(e.alternatives.at(-1)===n)a="?";else return null;let i=`(?:${e.alternatives.filter(m=>m!==n).map(m=>m.raw).join("|")})${a}`;if(e.type==="CapturingGroup"){let[m,t]=tb(e);i=`${m}${i}${t}`}else e.parent?.type==="Quantifier"&&(i=`(?:${i})`);return i}var rb=T("no-empty-alternative",{meta:{docs:{description:"disallow alternatives without elements",category:"Possible Errors",recommended:!0,default:"warn"},schema:[],hasSuggestions:!0,messages:{empty:"This empty alternative might be a mistake. If not, use a quantifier instead.",suggest:"Use a quantifier instead."},type:"problem"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceNode:m}){function t(r,s){if(r.alternatives.length>=2)for(let o=0;o<r.alternatives.length;o++){let x=r.alternatives[o],c=o===r.alternatives.length-1;if(x.elements.length===0){let l=x.start,u=i(c?{start:l-1,end:l}:{start:l,end:l+1}),p=s(x);e.report({node:a,loc:u,messageId:"empty",suggest:p?[{messageId:"suggest",fix:m(r,p)}]:void 0});return}}}return{onGroupEnter:r=>t(r,s=>y7(r,s)),onCapturingGroupEnter:r=>t(r,s=>y7(r,s)),onPatternEnter:r=>t(r,s=>y7(r,s)),onClassStringDisjunctionEnter:r=>t(r,()=>null)}}return A(e,{createVisitor:n})}}),sb=T("no-empty-capturing-group",{meta:{docs:{description:"disallow capturing group that captures empty.",category:"Possible Errors",recommended:!0},schema:[],messages:{unexpected:"Unexpected capture empty."},type:"suggestion"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){return{onCapturingGroupEnter(t){(0,_.isZeroLength)(t,i)&&e.report({node:a,loc:m(t),messageId:"unexpected"})}}}return A(e,{createVisitor:n})}}),ob=T("no-empty-character-class",{meta:{docs:{description:"disallow character classes that match no characters",category:"Possible Errors",recommended:!0},schema:[],messages:{empty:"This character class matches no characters because it is empty.",cannotMatchAny:"This character class cannot match any characters."},type:"suggestion"},create(e){function n(a){let{node:i,getRegexpLocation:m,flags:t}=a;return{onCharacterClassEnter(r){(0,_.matchesNoCharacters)(r,t)&&e.report({node:i,loc:m(r),messageId:r.elements.length?"cannotMatchAny":"empty"})},onExpressionCharacterClassEnter(r){(0,_.matchesNoCharacters)(r,t)&&e.report({node:i,loc:m(r),messageId:"cannotMatchAny"})}}}return A(e,{createVisitor:n})}}),xb=T("no-empty-group",{meta:{docs:{description:"disallow empty group",category:"Possible Errors",recommended:!0},schema:[],messages:{unexpected:"Unexpected empty group."},type:"suggestion"},create(e){function n({node:i,getRegexpLocation:m},t){t.alternatives.every(r=>r.elements.length===0)&&e.report({node:i,loc:m(t),messageId:"unexpected"})}function a(i){return{onGroupEnter(m){n(i,m)},onCapturingGroupEnter(m){n(i,m)}}}return A(e,{createVisitor:a})}}),cb=T("no-empty-lookarounds-assertion",{meta:{docs:{description:"disallow empty lookahead assertion or empty lookbehind assertion",category:"Possible Errors",recommended:!0},schema:[],messages:{unexpected:"Unexpected empty {{kind}}. It will trivially {{result}} all inputs."},type:"suggestion"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){return{onAssertionEnter(t){t.kind!=="lookahead"&&t.kind!=="lookbehind"||(0,_.isPotentiallyEmpty)(t.alternatives,i)&&e.report({node:a,loc:m(t),messageId:"unexpected",data:{kind:t.kind,result:t.negate?"reject":"accept"}})}}}return A(e,{createVisitor:n})}}),lb=T("no-empty-string-literal",{meta:{docs:{description:"disallow empty string literals in character classes",category:"Best Practices",recommended:!0},schema:[],messages:{unexpected:"Unexpected empty string literal."},type:"suggestion"},create(e){function n(a){let{node:i,getRegexpLocation:m}=a;return{onClassStringDisjunctionEnter(t){t.alternatives.every(r=>r.elements.length===0)&&e.report({node:i,loc:m(t),messageId:"unexpected"})}}}return A(e,{createVisitor:n})}}),ub=T("no-escape-backspace",{meta:{docs:{description:"disallow escape backspace (`[\\b]`)",category:"Possible Errors",recommended:!0},schema:[],hasSuggestions:!0,messages:{unexpected:"Unexpected '[\\b]'. Use '\\u0008' instead.",suggest:"Use '\\u0008'."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceNode:m}){return{onCharacterEnter(t){t.value===8&&t.raw==="\\b"&&e.report({node:a,loc:i(t),messageId:"unexpected",suggest:[{messageId:"suggest",fix:m(t,"\\u0008")}]})}}}return A(e,{createVisitor:n})}}),hb=T("no-extra-lookaround-assertions",{meta:{docs:{description:"disallow unnecessary nested lookaround assertions",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{canBeInlined:"This {{kind}} assertion is useless and can be inlined.",canBeConvertedIntoGroup:"This {{kind}} assertion is useless and can be converted into a group."},type:"suggestion"},create(e){function n(m){return{onAssertionEnter(t){(t.kind==="lookahead"||t.kind==="lookbehind")&&a(m,t)}}}function a(m,t){for(let r of t.alternatives){let s=r.elements.at(t.kind==="lookahead"?-1:0);s?.type==="Assertion"&&s.kind===t.kind&&!s.negate&&i(m,s)}}function i({node:m,getRegexpLocation:t,fixReplaceNode:r},s){let o,x;s.alternatives.length===1?(o="canBeInlined",x=s.alternatives[0].raw):(o="canBeConvertedIntoGroup",x=`(?:${s.alternatives.map(c=>c.raw).join("|")})`),e.report({node:m,loc:t(s),messageId:o,data:{kind:s.kind},fix:r(s,x)})}return A(e,{createVisitor:n})}});function pb(e){let n=e.index;return typeof n=="number"?n:null}var fb=T("no-invalid-regexp",{meta:{docs:{description:"disallow invalid regular expression strings in `RegExp` constructors",category:"Possible Errors",recommended:!0},schema:[],messages:{error:"{{message}}",duplicateFlag:"Duplicate {{flag}} flag.",uvFlag:"Regex 'u' and 'v' flags cannot be used together."},type:"problem"},create(e){function n(i){let{node:m,error:t,patternSource:r}=i,s,o=pb(t);o!==null&&o>=0&&o<=r.value.length&&(s=r.getAstLocation({start:Math.max(o-1,0),end:Math.min(o+1,r.value.length)})),e.report({node:m,loc:s??void 0,messageId:"error",data:{message:t.message}})}function a(i){let{node:m,flags:t,flagsString:r,getFlagsLocation:s}=i,o=new Set;for(let x of r??""){if(o.has(x)){e.report({node:m,loc:s(),messageId:"duplicateFlag",data:{flag:x}});return}o.add(x)}t.unicode&&t.unicodeSets&&e.report({node:m,loc:s(),messageId:"uvFlag"})}return A(e,{visitInvalid:n,visitUnknown:a})}}),db=T("no-invisible-character",{meta:{docs:{description:"disallow invisible raw character",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected invisible character. Use '{{instead}}' instead."},type:"suggestion"},create(e){let n=e.sourceCode;function a({node:m,flags:t,getRegexpLocation:r,fixReplaceNode:s}){return{onCharacterEnter(o){if(o.raw!==" "&&o.raw.length===1&&d5(o.value)){let x=Xm(o.value,t);e.report({node:m,loc:r(o),messageId:"unexpected",data:{instead:x},fix:s(o,x)})}}}}function i({node:m,flags:t}){let r=n.getText(m),s=0;for(let o of r){if(o===" ")continue;let x=o.codePointAt(0);if(d5(x)){let c=Xm(x,t),l=[m.range[0]+s,m.range[0]+s+o.length];e.report({node:m,loc:{start:n.getLocFromIndex(l[0]),end:n.getLocFromIndex(l[1])},messageId:"unexpected",data:{instead:c},fix(u){return u.replaceTextRange(l,c)}})}s+=o.length}}return A(e,{createLiteralVisitor:a,createSourceVisitor(m){return m.node.type==="Literal"&&i(m),{}}})}});function*D7(e){for(let{elements:n}of e)if(n.length>0){let a=n[n.length-1];switch(a.type){case"Quantifier":if(!a.greedy&&a.min!==a.max)yield a;else if(a.max===1){let i=a.element;(i.type==="Group"||i.type==="CapturingGroup")&&(yield*D7(i.alternatives))}break;case"CapturingGroup":case"Group":yield*D7(a.alternatives);break;default:break}}}var gb=T("no-lazy-ends",{meta:{docs:{description:"disallow lazy quantifiers at the end of an expression",category:"Possible Errors",recommended:!0,default:"warn"},schema:[{type:"object",properties:{ignorePartial:{type:"boolean"}},additionalProperties:!1}],hasSuggestions:!0,messages:{uselessElement:"The quantifier and the quantified element can be removed because the quantifier is lazy and has a minimum of 0.",uselessQuantifier:"The quantifier can be removed because the quantifier is lazy and has a minimum of 1.",uselessRange:"The quantifier can be replaced with '{{{min}}}' because the quantifier is lazy and has a minimum of {{min}}.",suggestMakeGreedy:"Make the quantifier greedy. (This changes the behavior of the regex.)",suggestRemoveElement:"Remove the quantified element. (This does not changes the behavior of the regex.)",suggestRemoveQuantifier:"Remove the quantifier. (This does not changes the behavior of the regex.)",suggestRange:"Replace the quantifier with '{{{min}}}'. (This does not changes the behavior of the regex.)"},type:"problem"},create(e){let n=e.options[0]?.ignorePartial??!0;function a({node:i,getRegexpLocation:m,getUsageOfPattern:t,fixReplaceNode:r}){return n&&t()!==1?{}:{onPatternEnter(s){for(let o of D7(s.alternatives)){let x={messageId:"suggestMakeGreedy",fix:r(o,o.raw.slice(0,-1))};if(o.min===0){let c=s.alternatives.length===1&&s.alternatives[0].elements.length===1&&s.alternatives[0].elements[0]===o?"(?:)":"";e.report({node:i,loc:m(o),messageId:"uselessElement",suggest:[{messageId:"suggestRemoveElement",fix:r(o,c)},x]})}else o.min===1?e.report({node:i,loc:m(o),messageId:"uselessQuantifier",suggest:[{messageId:"suggestRemoveQuantifier",fix:r(o,o.element.raw)},x]}):e.report({node:i,loc:m(o),messageId:"uselessRange",data:{min:String(o.min)},suggest:[{messageId:"suggestRange",data:{min:String(o.min)},fix:r(o,`${o.element.raw}{${o.min}}`)},x]})}}}}return A(e,{createVisitor:a})}}),E5=["input","$_","lastMatch","$&","lastParen","$+","leftContext","$`","rightContext","$'","$1","$2","$3","$4","$5","$6","$7","$8","$9"],b5=["compile"],yb=T("no-legacy-features",{meta:{docs:{description:"disallow legacy RegExp features",category:"Best Practices",recommended:!0},schema:[{type:"object",properties:{staticProperties:{type:"array",items:{enum:E5},uniqueItems:!0},prototypeMethods:{type:"array",items:{enum:b5},uniqueItems:!0}},additionalProperties:!1}],messages:{forbiddenStaticProperty:"'{{name}}' static property is forbidden.",forbiddenPrototypeMethods:"RegExp.prototype.{{name}} method is forbidden."},type:"suggestion"},create(e){let n=e.options[0]?.staticProperties??E5,a=e.options[0]?.prototypeMethods??b5,i=R1(e);return{...n.length?{Program(m){let t=new T1(e.sourceCode.getScope(m)),r={};for(let s of n)r[s]={[Q]:!0};for(let{node:s,path:o}of t.iterateGlobalReferences({RegExp:r}))e.report({node:s,messageId:"forbiddenStaticProperty",data:{name:o.join(".")}})}}:{},...a.length?{MemberExpression(m){m.computed||m.property.type!=="Identifier"||!a.includes(m.property.name)||m.object.type==="Super"||i.isRegExp(m.object)&&e.report({node:m,messageId:"forbiddenPrototypeMethods",data:{name:m.property.name}})}}:{}}}});function ao(e,n,{fixReplaceNode:a}){let i=(0,_.getClosestAncestor)(e,...n.dependencies),m;return e.min===0?m="":e.min===1?m=e.element.raw:m=e.element.raw+P1({min:e.min,max:e.min,greedy:!0}),[m,a(i,()=>i.raw.slice(0,e.start-i.start)+m+i.raw.slice(e.end-i.start))]}function*Sa(e,n,a){if(Array.isArray(e)){for(let i of e)yield*Sa(i,n,a);return}switch(e.type){case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":case"Backreference":break;case"Assertion":break;case"Alternative":{let i=n==="ltr"?e.elements:_3(e.elements);for(let m of i)if(!(0,_.isEmpty)(m,a)){yield*Sa(m,n,a);break}break}case"CapturingGroup":break;case"Group":yield*Sa(e.alternatives,n,a);break;case"Quantifier":yield e,e.max===1&&(yield*Sa(e.element,n,a));break;default:yield z(e)}}var Cb=X1(e=>new WeakMap);function Ea(e,n,a=Cb(n)){let i=a.get(e);return i===void 0&&(i=vb(e,n,a),a.set(e,i)),i}function vb(e,n,a){switch(e.type){case"Alternative":{let i;for(let m of e.elements){let t=Ea(m,n,a);if(i===void 0?i=t:i=i.intersect(t),i.isEmpty)return i}return i??_.Chars.empty(n)}case"Assertion":return _.Chars.empty(n);case"Backreference":return _.Chars.empty(n);case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":{let i=(0,_.toUnicodeSet)(e,n);return i.accept.isEmpty?i.chars:i.wordSets.map(m=>{let t;for(let r of m)if(t===void 0?t=r:t=t.intersect(r),t.isEmpty)return t;return t??_.Chars.empty(n)}).reduce((m,t)=>m.union(t))}case"CapturingGroup":case"Group":return e.alternatives.map(i=>Ea(i,n,a)).reduce((i,m)=>i.union(m));case"Quantifier":return e.max===0?_.Chars.empty(n):Ea(e.element,n,a);default:return z(e)}}function _b(e,n,a,i){let m=[];return(0,_.followPaths)(e,"next",n,{join(t){return O.CharSet.empty(n.maximum).union(...t)},continueAfter(t,r){return!r.isEmpty},continueInto(t,r){return t.type!=="Assertion"&&!r.isEmpty},leave(t,r){switch(t.type){case"Assertion":case"Backreference":case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return r.intersect(Ea(t,i));case"CapturingGroup":case"Group":case"Quantifier":return r;default:return z(t)}},enter(t,r){if(t.type==="Quantifier"&&t.min!==t.max){let s=Ea(t,i),o=s.intersect(r);o.isEmpty||m.push({quant:t,quantRepeatedChar:s,intersection:o})}return r}},a),m}var Sb=T("no-misleading-capturing-group",{meta:{docs:{description:"disallow capturing groups that do not behave as one would expect",category:"Possible Errors",recommended:!0},hasSuggestions:!0,schema:[{type:"object",properties:{reportBacktrackingEnds:{type:"boolean"}},additionalProperties:!1}],messages:{removeQuant:"{{quant}} can be removed because it is already included by {{cause}}. This makes the capturing group misleading, because it actually captures less text than its pattern suggests.",replaceQuant:"{{quant}} can be replaced with {{fix}} because of {{cause}}. This makes the capturing group misleading, because it actually captures less text than its pattern suggests.",suggestionRemove:"Remove {{quant}}.",suggestionReplace:"Replace {{quant}} with {{fix}}.",nonAtomic:"The quantifier {{quant}} is not atomic for the characters {{chars}}, so it might capture fewer characters than expected. This makes the capturing group misleading, because the quantifier will capture fewer characters than its pattern suggests in some edge cases.",suggestionNonAtomic:"Make the quantifier atomic by adding {{fix}}. Careful! This is going to change the behavior of the regex in some edge cases.",trading:"The quantifier {{quant}} can exchange characters ({{chars}}) with {{other}}. This makes the capturing group misleading, because the quantifier will capture fewer characters than its pattern suggests."},type:"problem"},create(e){let n=e.options[0]?.reportBacktrackingEnds??!0;function a(i){let{node:m,flags:t,getRegexpLocation:r}=i,s=ot(i);function o(c){let l=(0,_.getMatchingDirection)(c),u=Sa(c.alternatives,l,t);for(let p of u){let f=T3(p,t,s);if(!f.canSimplify)return;let d=K3(f.dependencies.map(y=>R(y))),[g,h]=ao(p,f,i);if(p.min===0){let y=Gm(p);e.report({node:m,loc:r(p),messageId:"removeQuant",data:{quant:R(p),cause:d},suggest:y?void 0:[{messageId:"suggestionRemove",data:{quant:R(p)},fix:h}]})}else e.report({node:m,loc:r(p),messageId:"replaceQuant",data:{quant:R(p),fix:R(g),cause:d},suggest:[{messageId:"suggestionReplace",data:{quant:R(p),fix:R(g)},fix:h}]})}}function x(c){let l=(0,_.getMatchingDirection)(c),u=Sa(c.alternatives,(0,_.invertMatchingDirection)(l),t);for(let p of u){if(!p.greedy||p.min===p.max)continue;let f=Ea(p,t);if(!f.isEmpty)for(let d of _b(p,f,l,t))(0,_.hasSomeDescendant)(c,d.quant)||d.quant.min>=1&&!(0,_.isPotentiallyZeroLength)(d.quant.element,t)&&e.report({node:m,loc:r(p),messageId:"trading",data:{quant:R(p),other:R(d.quant),chars:Xm(d.intersection,t)}})}}return{onCapturingGroupLeave(c){o(c),n&&x(c)}}}return A(e,{createVisitor:a})}}),io=new Intl.Segmenter;function k5(e){if(e.length<2)return!1;let n=e.charCodeAt(0),a=e.charCodeAt(1);return n>=55296&&n<=56319&&a>=56320&&a<=57343}function mo(e,n){return e.length>2||e.length===2&&!k5(e)?"Multi":!n.unicode&&!n.unicodeSets&&k5(e)?"Surrogate":null}function wb(e){let n=e.parent,a=e.start;for(let t=n.elements.indexOf(e)-1;t>=0;t--){let r=n.elements[t];if(r.type==="Character"&&!zm(r.raw))a=r.start;else break}let i=n.raw.slice(a-n.start,e.element.end-n.start),m=[...io.segment(i)];return m[m.length-1].segment}function Eb(e,n){let a=e.negate?2:1,i=e.elements.filter(t=>t.type==="CharacterClass"||t.type==="ExpressionCharacterClass"||t.type==="ClassStringDisjunction"),m=[];for(let{segment:t,index:r}of io.segment(e.raw.slice(a,-1))){let s=mo(t,n);if(s!==null){let o=a+r+e.start,x=o+t.length;if(i.some(c=>c.start<=o&&x<=c.end))continue;m.push({grapheme:t,problem:s,start:o,end:x,elements:e.elements.filter(c=>c.start<x&&c.end>o)})}}return m}function bb(e,n,a){if(n.negate||!e.every(s=>s.start===s.elements[0].start&&s.end===s.elements[s.elements.length-1].end))return null;let i=e.map(s=>s.grapheme),m=n.raw;for(let s=e.length-1;s>=0;s--){let{start:o,end:x}=e[s];m=m.slice(0,o-n.start)+m.slice(x-n.start)}if(a.unicodeSets)return`[\\q{${i.join("|")}}${m.slice(1,-1)}]`;m.startsWith("[^")&&(m=`[\\${m.slice(1)}`);let t=i.sort((s,o)=>o.length-s.length).join("|"),r=e.length===1;return m!=="[]"&&(t+=`|${m}`,r=!1),r&&n.parent.type==="Alternative"||n.parent.type==="Alternative"&&n.parent.elements.length===1?t:`(?:${t})`}var kb=T("no-misleading-unicode-character",{meta:{docs:{description:"disallow multi-code-point characters in character classes and quantifiers",category:"Possible Errors",recommended:!0},schema:[{type:"object",properties:{fixable:{type:"boolean"}},additionalProperties:!1}],fixable:"code",hasSuggestions:!0,messages:{characterClass:"The character(s) {{ graphemes }} are all represented using multiple {{ unit }}.{{ uFlag }}",quantifierMulti:"The character {{ grapheme }} is represented using multiple Unicode code points. The quantifier only applies to the last code point {{ last }} and not to the whole character.",quantifierSurrogate:"The character {{ grapheme }} is represented using a surrogate pair. The quantifier only applies to the tailing surrogate {{ last }} and not to the whole character.",fixCharacterClass:"Move the character(s) {{ graphemes }} outside the character class.",fixQuantifier:"Wrap a group around {{ grapheme }}."},type:"problem"},create(e){let n=e.options[0]?.fixable??!1;function a(m,t,r){return n?{fix:m}:{suggest:[{messageId:t,data:r,fix:m}]}}function i(m){let{node:t,patternSource:r,flags:s,getRegexpLocation:o,fixReplaceNode:x}=m;return{onCharacterClassEnter(c){let l=Eb(c,s);if(l.length===0)return;let u={start:l[0].start,end:l[l.length-1].end},p=bb(l,c,s),f=l.map(g=>R(g.grapheme)).join(", "),d=l.every(g=>g.problem==="Surrogate");e.report({node:t,loc:o(u),messageId:"characterClass",data:{graphemes:f,unit:s.unicode||s.unicodeSets?"code points":"char codes",uFlag:d?" Use the `u` flag.":""},...a(x(c,()=>p),"fixCharacterClass",{graphemes:f})})},onQuantifierEnter(c){if(c.element.type!=="Character")return;let l=wb(c),u=mo(l,s);u!==null&&e.report({node:t,loc:o(c),messageId:`quantifier${u}`,data:{grapheme:R(l),last:vn(c.element)},...a(p=>{let f=r.getReplaceRange({start:c.element.end-l.length,end:c.element.end});return f?f.replace(p,`(?:${l})`):null},"fixQuantifier",{grapheme:R(l)})})}}}return A(e,{createVisitor:i})}});function Tb(e){let n=!0;return e&&e.strictTypes!=null&&(n=e.strictTypes),{strictTypes:n}}var Ab=T("no-missing-g-flag",{meta:{docs:{description:"disallow missing `g` flag in patterns used in `String#matchAll` and `String#replaceAll`",category:"Possible Errors",recommended:!0},fixable:"code",schema:[{type:"object",properties:{strictTypes:{type:"boolean"}},additionalProperties:!1}],messages:{missingGlobalFlag:"The pattern given to the argument of `String#{{method}}()` requires the `g` flag, but is missing it."},type:"problem"},create(e){let{strictTypes:n}=Tb(e.options[0]),a=R1(e);function i(t){let{regexpNode:r,flags:s,flagsString:o}=t;if(!(s.global||o==null))for(let x of Ta(r,e))m(x,t)}function m(t,{regexpNode:r,fixReplaceFlags:s,flagsString:o}){if(t.type!=="argument")return;let x=t.callExpression;if(x.arguments[0]!==t.node||!d1(x,{matchAll:1,replaceAll:2})||(n?!a.isString(x.callee.object):!a.maybeString(x.callee.object)))return;e.report({node:t.node,messageId:"missingGlobalFlag",data:{method:x.callee.property.name},fix:c()});function c(){return x.arguments[0]!==r||(r.type==="NewExpression"||r.type==="CallExpression")&&r.arguments[1]&&r.arguments[1].type!=="Literal"?null:s(`${o}g`,!1)}}return A(e,{createVisitor(t){return i(t),{}},visitInvalid:i,visitUnknown:i})}}),Ib="dgimsuvy",Pb=T("no-non-standard-flag",{meta:{docs:{description:"disallow non-standard flags",category:"Best Practices",recommended:!0},schema:[],messages:{unexpected:"Unexpected non-standard flag '{{flag}}'."},type:"suggestion"},create(e){function n({regexpNode:a,getFlagsLocation:i,flagsString:m}){if(m){let t=[...m].filter(r=>!Ib.includes(r));t.length>0&&e.report({node:a,loc:i(),messageId:"unexpected",data:{flag:t[0]}})}}return A(e,{createVisitor(a){return n(a),{}},visitInvalid:n,visitUnknown:n})}}),Ob=T("no-obscure-range",{meta:{docs:{description:"disallow obscure character ranges",category:"Best Practices",recommended:!0},schema:[{type:"object",properties:{allowed:Y3()},additionalProperties:!1}],messages:{unexpected:"Unexpected obscure character range. The characters of {{range}} are not obvious."},type:"suggestion"},create(e){let n=u8(e.options[0]?.allowed,e);function a({node:i,getRegexpLocation:m}){return{onCharacterClassRangeEnter(t){let{min:r,max:s}=t;r.value!==s.value&&(A7(r.raw)&&A7(s.raw)||Ri(r.raw)&&Ri(s.raw)||(n5(r.raw)||r.value===0)&&n5(s.raw)||!zm(r.raw)&&!zm(s.raw)&&Ai(n,r.value,s.value)||e.report({node:i,loc:m(t),messageId:"unexpected",data:{range:vn(t)}}))}}}return A(e,{createVisitor:a})}}),Rb=T("no-octal",{meta:{docs:{description:"disallow octal escape sequence",category:"Best Practices",recommended:!1},schema:[],messages:{unexpected:"Unexpected octal escape sequence '{{expr}}'.",replaceHex:"Replace the octal escape sequence with a hexadecimal escape sequence."},type:"suggestion",hasSuggestions:!0},create(e){function n({node:a,fixReplaceNode:i,getRegexpLocation:m}){return{onCharacterEnter(t){t.raw!=="\\0"&&Ri(t.raw)&&(t.raw.startsWith("\\0")||!(t.parent.type==="CharacterClass"||t.parent.type==="CharacterClassRange"))&&e.report({node:a,loc:m(t),messageId:"unexpected",data:{expr:t.raw},suggest:[{messageId:"replaceHex",fix:i(t,()=>`\\x${t.value.toString(16).padStart(2,"0")}`)}]})}}}return A(e,{createVisitor:n})}});function Lb(e){return e.min===0}function Nb(e,n,a){let i=e;for(;i.parent!==n;){let m=i.parent;if(m.type==="Alternative"){for(let t of m.elements)if(t!==i&&!(0,_.isZeroLength)(t,a))return!1;if(m.parent.type==="Pattern")throw new Error("The given assertion is not a descendant of the given quantifier.");i=m.parent}else{if(m.max>1&&!(0,_.isZeroLength)(m,a))return!1;i=m}}return!0}var Mb=T("no-optional-assertion",{meta:{docs:{description:"disallow optional assertions",category:"Possible Errors",recommended:!0},schema:[],messages:{optionalAssertion:"This assertion effectively optional and does not change the pattern. Either remove the assertion or change the parent quantifier '{{quantifier}}'."},type:"problem"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){let t=[];return{onQuantifierEnter(r){Lb(r)&&t.unshift(r)},onQuantifierLeave(r){t[0]===r&&t.shift()},onAssertionEnter(r){let s=t[0];s&&Nb(r,s,i)&&e.report({node:a,loc:m(r),messageId:"optionalAssertion",data:{quantifier:s.raw.substr(s.element.raw.length)}})}}}return A(e,{createVisitor:n})}}),Jb=T("no-potentially-useless-backreference",{meta:{docs:{description:"disallow backreferences that reference a group that might not be matched",category:"Possible Errors",recommended:!0,default:"warn"},schema:[],messages:{potentiallyUselessBackreference:"Some paths leading to the backreference do not go through the referenced capturing group or the captured text might be reset before reaching the backreference."},type:"problem"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){return{onBackreferenceEnter(t){(0,_.isEmptyBackreference)(t,i)||(0,_.isStrictBackreference)(t)||e.report({node:a,loc:m(t),messageId:"potentiallyUselessBackreference"})}}}return A(e,{createVisitor:n})}}),Fb=T("no-standalone-backslash",{meta:{docs:{description:"disallow standalone backslashes (`\\`)",category:"Best Practices",recommended:!1},schema:[],messages:{unexpected:"Unexpected standalone backslash (`\\`). It looks like an escape sequence, but it's a single `\\` character pattern."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i}){return{onCharacterEnter(m){m.value===st&&m.raw==="\\"&&e.report({node:a,loc:i(m),messageId:"unexpected"})}}}return A(e,{createVisitor:n})}});function jb(e,n){function a(i,m){return i.line<m.line?!0:i.line>m.line?!1:i.column<m.column}return{start:{...a(e.start,n.start)?e.start:n.start},end:{...a(e.end,n.end)?n.end:e.end}}}var Ub=T("no-super-linear-backtracking",{meta:{docs:{description:"disallow exponential and polynomial backtracking",category:"Possible Errors",recommended:!0},fixable:"code",schema:[{type:"object",properties:{report:{enum:["certain","potential"]}},additionalProperties:!1}],messages:{self:"This quantifier can reach itself via the loop {{parent}}. Using any string accepted by {{attack}}, this can be exploited to cause at least polynomial backtracking.{{exp}}",trade:"The quantifier {{start}} can exchange characters with {{end}}. Using any string accepted by {{attack}}, this can be exploited to cause at least polynomial backtracking.{{exp}}"},type:"problem"},create(e){let n=(e.options[0]?.report??"certain")==="potential";function a(i){let{node:m,patternAst:t,flags:r,getRegexpLocation:s,fixReplaceNode:o,getUsageOfPattern:x}=i,c=(0,X7.analyse)(Ym(i),{reportTypes:{Move:!1},assumeRejectingSuffix:n&&x()!==1});for(let l of c.reports){let u=l.exponential?" This is going to cause exponential backtracking resulting in exponential worst-case runtime behavior.":x()!==1?" This might cause exponential backtracking.":"",p=`/${l.character.literal.source}+/${r.ignoreCase?"i":""}`,f=o(t,()=>l.fix()?.source??null);l.type==="Self"?e.report({node:m,loc:s(l.quant),messageId:"self",data:{exp:u,attack:p,parent:R(l.parentQuant)},fix:f}):l.type==="Trade"&&e.report({node:m,loc:jb(s(l.startQuant),s(l.endQuant)),messageId:"trade",data:{exp:u,attack:p,start:R(l.startQuant),end:R(l.endQuant)},fix:f})}return{}}return A(e,{createVisitor:a})}});function Db(e){let n=new Set,a=[];for(let i of e)n.has(i.quant)||(a.push(i),n.add(i.quant));return a}function*Vm(e,n){switch(e.type){case"CapturingGroup":case"Group":case"Pattern":for(let a of e.alternatives)yield*Vm(a,n);break;case"Assertion":if(e.kind==="lookahead"||e.kind==="lookbehind")for(let a of e.alternatives)yield*Vm(a,n);break;case"Quantifier":yield e;break;case"Alternative":{let a=(0,_.getMatchingDirection)(e);for(let i=0;i<e.elements.length;i++){let m=a==="ltr"?i:e.elements.length-1-i,t=e.elements[m];if(yield*Vm(t,n),!(0,_.isPotentiallyEmpty)(t,n))break}break}default:break}}var $m={ignoreAmbiguity:!0,ignoreOrder:!0},Gb=O.Transformers.simplify($m),Bb=new O.CombinedTransformer([O.Transformers.inline($m),O.Transformers.removeDeadBranches($m),O.Transformers.replaceAssertions({...$m,replacement:"empty-set"})]),Vb=T("no-super-linear-move",{meta:{docs:{description:"disallow quantifiers that cause quadratic moves",category:"Possible Errors",recommended:!1},schema:[{type:"object",properties:{report:{enum:["certain","potential"]},ignoreSticky:{type:"boolean"},ignorePartial:{type:"boolean"}},additionalProperties:!1}],messages:{unexpected:"Any attack string {{attack}} plus some rejecting suffix will cause quadratic runtime because of this quantifier."},type:"problem"},create(e){let n=(e.options[0]?.report??"certain")==="potential",a=e.options[0]?.ignoreSticky??!0,i=e.options[0]?.ignorePartial??!0;function m(s,o){let{flags:x}=s;return(0,X7.analyse)(Ym(s,!0),{reportTypes:{Move:!0,Self:!1,Trade:!1},assumeRejectingSuffix:o}).reports.map(c=>{if(c.type!=="Move")throw new Error("Unexpected report type");return{quant:c.quant,attack:`/${c.character.literal.source}+/${x.ignoreCase?"i":""}`}})}function*t(s,o){let{patternAst:x,flags:c}=s,l=O.JS.Parser.fromAst(Ym(s,!0));for(let u of Vm(x,c)){if(u.max!==1/0||u.element.type==="Assertion"||u.element.type==="Backreference")continue;let p=l.parseElement(u.element,{assertions:"parse",backreferences:"disable"}).expression;if(p=(0,O.transform)(Gb,p),p=(0,O.transform)(Bb,p),p.alternatives.length===0)continue;let f=!1;if((0,O.visitAst)(p,{onCharacterClassEnter(){f=!0}}),!!f){if(!o){let d=(0,_.getFirstConsumedCharAfter)(u,(0,_.getMatchingDirection)(u),c);if(d.empty&&d.look.char.isAll)continue}yield{quant:u,attack:`/${O.JS.toLiteral({type:"Quantifier",alternatives:p.alternatives,min:1,max:1/0,lazy:!1}).source}/${c.ignoreCase?"i":""}`}}}}function r(s){let{node:o,flags:x,getRegexpLocation:c,getUsageOfPattern:l}=s;if(a&&x.sticky)return{};let u=l();if(i&&u===0)return{};let p=n&&u!==1;for(let f of Db([...t(s,p),...m(s,p)]))e.report({node:o,loc:c(f.quant),messageId:"unexpected",data:{attack:f.attack}});return{}}return A(e,{createVisitor:r})}});function T5(e){return e.type==="Assertion"&&(e.kind==="lookahead"||e.kind==="lookbehind")}function $b(e){let n=e.alternatives;if(n.length===1){let a=n[0].elements;if(a.length===1){let i=a[0];if(i.type==="Assertion")return i}}return null}function Wb(e){return e.kind==="word"?e.negate?"\\b":"\\B":e.kind==="lookahead"?`(?${e.negate?"=":"!"}${e.raw.slice(3)}`:e.kind==="lookbehind"?`(?<${e.negate?"=":"!"}${e.raw.slice(4)}`:null}var Qb=T("no-trivially-nested-assertion",{meta:{docs:{description:"disallow trivially nested assertions",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected trivially nested assertion."},type:"suggestion"},create(e){function n({node:a,fixReplaceNode:i,getRegexpLocation:m}){return{onAssertionEnter(t){if(t.parent.type==="Quantifier"||!T5(t))return;let r=$b(t);if(r===null||t.negate&&T5(r)&&r.negate&&(0,_.hasSomeDescendant)(r,o=>o.type==="CapturingGroup"))return;let s=t.negate?Wb(r):r.raw;s!==null&&e.report({node:a,loc:m(t),messageId:"unexpected",fix:i(t,s)})}}}return A(e,{createVisitor:n})}});function zb(e,n){if(e.max===0||n.max===0)return null;if(e.greedy===n.greedy){let a=e.greedy,i=n.min,m=n.max,t=e.min,r=e.max;return(m===1/0&&t===0?i<=1:t===r||m*t+1>=i*(t+1))?{min:i*t,max:m*r,greedy:a}:null}return null}function qb(e,n){if(e.max===0||n.max===0)return null;if(e.greedy!==n.greedy)return null;let a=n.min,i=n.max;return a===0&&e.min===0&&(a=1),e.max===1/0&&(a===0||a===1)&&i>1&&(i=1),{min:a,max:i,greedy:n.greedy}}function A5(e){return e.min===e.max&&(e.min===0||e.min===1)}function*Hb(e){for(let{elements:n}of e.alternatives)if(n.length===1){let a=n[0];a.type==="Quantifier"&&(yield a)}}var Kb=T("no-trivially-nested-quantifier",{meta:{docs:{description:"disallow nested quantifiers that can be rewritten as one quantifier",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{nested:"These two quantifiers are trivially nested and can be replaced with '{{quant}}'.",childOne:"This nested quantifier can be removed.",childSimpler:"This nested quantifier can be simplified to '{{quant}}'."},type:"suggestion"},create(e){function n({node:a,fixReplaceNode:i,fixReplaceQuant:m,getRegexpLocation:t}){return{onQuantifierEnter(r){if(A5(r))return;let s=r.element;if(s.type==="Group"){for(let o of Hb(s))if(!A5(o))if(s.alternatives.length===1){let x=zb(r,o);if(!x)continue;let c=P1(x),l=o.element.raw+c;e.report({node:a,loc:t(r),messageId:"nested",data:{quant:c},fix:i(r,l)})}else{let x=qb(r,o);if(!x||x.min===o.min&&x.max===o.max)continue;x.min===1&&x.max===1?e.report({node:a,loc:t(o),messageId:"childOne",fix:i(o,o.element.raw)}):(x.greedy=void 0,e.report({node:a,loc:t(o),messageId:"childSimpler",data:{quant:P1(x)},fix:m(o,x)}))}}}}}return A(e,{createVisitor:n})}});function Yb(e){return e.name?`'${e.name}'`:`number ${(0,_.getCapturingGroupNumber)(e)}`}var Xb=T("no-unused-capturing-group",{meta:{docs:{description:"disallow unused capturing group",category:"Best Practices",recommended:!0},fixable:"code",schema:[{type:"object",properties:{fixable:{type:"boolean"},allowNamed:{type:"boolean"}},additionalProperties:!1}],messages:{unusedCapturingGroup:"Capturing group {{identifier}} is defined but never used.",makeNonCapturing:"Making this a non-capturing group."},type:"suggestion",hasSuggestions:!0},create(e){let n=e.options[0]?.fixable??!1,a=e.options[0]?.allowNamed??!1;function i(r,s){let{node:o,getRegexpLocation:x,fixReplaceNode:c,getAllCapturingGroups:l}=s;if(a)for(let p of r)p.name&&r.delete(p);let u=new Set;for(let p of[...l()].reverse())if(r.has(p))u.add(p);else break;for(let p of r){let f=u.has(p)?c(p,p.raw.replace(/^\((?:\?<[^<>]+>)?/u,"(?:")):null;e.report({node:o,loc:x(p),messageId:"unusedCapturingGroup",data:{identifier:Yb(p)},fix:n?f:null,suggest:f?[{messageId:"makeNonCapturing",fix:f}]:null})}}function m(r){let s=r.getCapturingGroupReferences();if(!s.length)return null;let o=[],x=[],c=!1,l=!1;for(let u of s){if(u.type==="UnknownUsage"||u.type==="UnknownRef")return null;if(u.type==="ArrayRef"||u.type==="ReplacementRef"||u.type==="ReplacerFunctionRef")if(u.kind==="index")if(u.ref!=null)o.push(u.ref);else return null;else u.ref?x.push(u.ref):c=!0;else u.type==="Split"&&(l=!0)}return{unusedIndexRef(u){return l?!1:!o.includes(u)},unusedNamedRef(u){return c?!1:!x.includes(u)}}}function t(r){let s=m(r);if(!s)return{};let o=new Set,x=r.getAllCapturingGroups();for(let c=0;c<x.length;c++){let l=x[c];l.references.length||!s.unusedIndexRef(c+1)||l.name&&!s.unusedNamedRef(l.name)||o.add(l)}return i(o,r),{}}return A(e,{createVisitor:t})}});function I5(e){return(0,_.hasSomeDescendant)(e,n=>n.type==="Assertion")}function G7(e,n,a){switch(e.kind){case"word":return!1;case"start":return n==="rtl";case"end":return n==="ltr";default:break}return(0,_.getMatchingDirectionFromAssertionKind)(e.kind)!==n?!1:e.alternatives.every(i=>{if(!I5(i)){let s=(0,_.getLengthRange)(i,a);return s.min===1&&s.max===1}let m=!1,t=!1,r=n==="ltr"?i.elements:[...i.elements].reverse();for(let s of r)if(m){let o=(0,_.invertMatchingDirection)(n);if(s.type==="Assertion"&&G7(s,o,a))continue;return!1}else{if(s.type==="Assertion"&&G7(s,n,a)){t=!0;continue}if(I5(s))return!1;let o=(0,_.getLengthRange)(s,a);if(o.max===0)continue;if(o.min===1&&o.max===1)m=!0;else return!1}return m||t})}function Zb(e,n){let a=e.char.intersect(n.char);return{char:e.char.intersect(n.char),exact:e.exact&&n.exact||a.isEmpty,edge:e.edge&&n.edge}}function nk(e){function n(a){if(a.type==="Assertion"&&e.has(a))return!0;for(let i of e)if((0,_.hasSomeDescendant)(a,i))return!0;return!1}return(a,i,m)=>{let t=(0,_.getFirstCharAfter)(a,i,m);if(a.parent.type==="Alternative"){let{elements:r}=a.parent,s=i==="ltr"?-1:1,o=r.indexOf(a);for(let x=o+s;x>=0&&x<r.length;x+=s){let c=r[x];if(!(0,_.isZeroLength)(c,m)||n(c))break;let l=_.FirstConsumedChars.toLook((0,_.getFirstConsumedChar)(c,i,m));t=Zb(t,l)}}return t}}function wa(e){let n=e.parent;if(n.alternatives.length>1){let{start:a,end:i}=e;return n.alternatives[0]===e?i++:a--,[n,n.raw.slice(0,a-n.start)+n.raw.slice(i-n.start)]}switch(n.type){case"Pattern":return[n,"[]"];case"Assertion":{let a=n.parent;return n.negate?[a.type==="Quantifier"?a:n,""]:a.type==="Quantifier"?a.min===0?[a,""]:wa(a.parent):wa(a)}case"CapturingGroup":return[n,`${n.raw.slice(0,e.start-n.start)}[]${n.raw.slice(e.end-n.start)}`];case"Group":{let a=n.parent;return a.type==="Quantifier"?a.min===0?[a,""]:wa(a.parent):wa(a)}default:return z(n)}}var ek=T("no-useless-assertions",{meta:{docs:{description:"disallow assertions that are known to always accept (or reject)",category:"Possible Errors",recommended:!0},hasSuggestions:!0,schema:[],messages:{alwaysRejectByChar:"{{assertion}} will always reject because it is {{followedOrPreceded}} by a character.",alwaysAcceptByChar:"{{assertion}} will always accept because it is never {{followedOrPreceded}} by a character.",alwaysRejectByNonLineTerminator:"{{assertion}} will always reject because it is {{followedOrPreceded}} by a non-line-terminator character.",alwaysAcceptByLineTerminator:"{{assertion}} will always accept because it is {{followedOrPreceded}} by a line-terminator character.",alwaysAcceptByLineTerminatorOrEdge:"{{assertion}} will always accept because it is {{followedOrPreceded}} by a line-terminator character or the {{startOrEnd}} of the input string.",alwaysAcceptOrRejectFollowedByWord:"{{assertion}} will always {{acceptOrReject}} because it is preceded by a non-word character and followed by a word character.",alwaysAcceptOrRejectFollowedByNonWord:"{{assertion}} will always {{acceptOrReject}} because it is preceded by a non-word character and followed by a non-word character.",alwaysAcceptOrRejectPrecededByWordFollowedByNonWord:"{{assertion}} will always {{acceptOrReject}} because it is preceded by a word character and followed by a non-word character.",alwaysAcceptOrRejectPrecededByWordFollowedByWord:"{{assertion}} will always {{acceptOrReject}} because it is preceded by a word character and followed by a word character.",alwaysForLookaround:"The {{kind}} {{assertion}} will always {{acceptOrReject}}.",alwaysForNegativeLookaround:"The negative {{kind}} {{assertion}} will always {{acceptOrReject}}.",acceptSuggestion:"Remove the assertion. (Replace with empty string.)",rejectSuggestion:"Remove branch of the assertion. (Replace with empty set.)"},type:"problem"},create(e){function n({node:a,flags:i,getRegexpLocation:m,fixReplaceNode:t}){let r=new Set;function s(d){return d.parent.type==="Quantifier"?t(d.parent,""):t(d,"")}function o(d){if(d.parent.type==="Quantifier"){if(d.parent.min===0)return t(d.parent,"");let[y,C]=wa(d.parent.parent);return t(y,C)}let[g,h]=wa(d.parent);return t(g,h)}function x(d,g,h){r.add(d);let{acceptOrReject:y}=h;e.report({node:a,loc:m(d),messageId:g,data:{assertion:R(d),...h},suggest:[{messageId:`${y}Suggestion`,fix:y==="accept"?s(d):o(d)}]})}function c(d,g){let h=g(d,(0,_.getMatchingDirectionFromAssertionKind)(d.kind),i),y=d.kind==="end"?"followed":"preceded",C=_.Chars.lineTerminator(i);h.edge?i.multiline?h.char.isSubsetOf(C)&&x(d,"alwaysAcceptByLineTerminatorOrEdge",{followedOrPreceded:y,startOrEnd:d.kind,acceptOrReject:"accept"}):h.char.isEmpty&&x(d,"alwaysAcceptByChar",{followedOrPreceded:y,acceptOrReject:"accept"}):i.multiline?h.char.isDisjointWith(C)?x(d,"alwaysRejectByNonLineTerminator",{followedOrPreceded:y,acceptOrReject:"reject"}):h.char.isSubsetOf(C)&&x(d,"alwaysAcceptByLineTerminator",{followedOrPreceded:y,acceptOrReject:"accept"}):x(d,"alwaysRejectByChar",{followedOrPreceded:y,acceptOrReject:"reject"})}function l(d,g){let h=_.Chars.word(i),y=g(d,"ltr",i),C=g(d,"rtl",i),v=y.char.isSubsetOf(h)&&!y.edge,S=C.char.isSubsetOf(h)&&!C.edge,w=y.char.isDisjointWith(h),E=C.char.isDisjointWith(h),k=d.negate?"reject":"accept",I=d.negate?"accept":"reject";E&&(v&&x(d,"alwaysAcceptOrRejectFollowedByWord",{acceptOrReject:k}),w&&x(d,"alwaysAcceptOrRejectFollowedByNonWord",{acceptOrReject:I})),S&&(w&&x(d,"alwaysAcceptOrRejectPrecededByWordFollowedByNonWord",{acceptOrReject:k}),v&&x(d,"alwaysAcceptOrRejectPrecededByWordFollowedByWord",{acceptOrReject:I}))}function u(d,g){if((0,_.isPotentiallyEmpty)(d.alternatives,i))return;let h=(0,_.getMatchingDirectionFromAssertionKind)(d.kind),y=g(d,h,i),C=_.FirstConsumedChars.toLook((0,_.getFirstConsumedChar)(d.alternatives,h,i)),v=d.negate?"reject":"accept",S=d.negate?"accept":"reject";y.char.isDisjointWith(C.char)&&!(y.edge&&C.edge)&&x(d,d.negate?"alwaysForNegativeLookaround":"alwaysForLookaround",{kind:d.kind,acceptOrReject:S});let w=C.edge||!y.edge;C.exact&&w&&y.char.isSubsetOf(C.char)&&G7(d,(0,_.getMatchingDirectionFromAssertionKind)(d.kind),i)&&x(d,d.negate?"alwaysForNegativeLookaround":"alwaysForLookaround",{kind:d.kind,acceptOrReject:v})}function p(d,g){switch(d.kind){case"start":case"end":c(d,g);break;case"word":l(d,g);break;case"lookahead":case"lookbehind":u(d,g);break;default:throw z(d)}}let f=[];return{onAssertionEnter(d){p(d,_.getFirstCharAfter),f.push(d)},onPatternLeave(){let d=nk(r);for(let g of f)r.has(g)||p(g,d)}}}return A(e,{createVisitor:n})}});function ak(e,n){for(let a=e.parent;a&&a!==n;a=a.parent)if(a.type==="Assertion"&&(a.kind==="lookahead"||a.kind==="lookbehind")&&a.negate)return!0;return!1}function ik(e,n){let a=[e.resolved].flat(),i=[];for(let c of a){let l=mk(e,c,n);if(!l)return null;i.push({messageId:l,group:c})}if(i.length===0)return null;let m,t=i.filter(c=>c.messageId!=="disjunctive");t.length?m=t:m=i;let[{messageId:r,group:s},...o]=m,x="";return o.length===1?x=" and another group":o.length>1&&(x=` and other ${o.length} groups`),{messageId:r,group:s,otherGroups:x}}function mk(e,n,a){let i=(0,_.getClosestAncestor)(e,n);if(i===n)return"nested";if(i.type!=="Alternative")return"disjunctive";if(ak(n,i))return"intoNegativeLookaround";let m=(0,_.getMatchingDirection)(i);return m==="ltr"&&e.end<=n.start?"forward":m==="rtl"&&n.end<=e.start?"backward":(0,_.isZeroLength)(n,a)?"empty":null}var tk=T("no-useless-backreference",{meta:{docs:{description:"disallow useless backreferences in regular expressions",category:"Possible Errors",recommended:!0},schema:[],messages:{nested:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} from within that group.",forward:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} which appears later in the pattern.",backward:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} which appears before in the same lookbehind.",disjunctive:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} which is in another alternative.",intoNegativeLookaround:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} which is in a negative lookaround.",empty:"Backreference {{ bref }} will be ignored. It references group {{ group }}{{ otherGroups }} which always captures zero characters."},type:"suggestion"},create(e){function n({node:a,flags:i,getRegexpLocation:m}){return{onBackreferenceEnter(t){let r=ik(t,i);r&&e.report({node:a,loc:m(t),messageId:r.messageId,data:{bref:R(t),group:R(r.group),otherGroups:r.otherGroups}})}}}return A(e,{createVisitor:n})}}),to=new Set("$()*+./?[{|"),rk=new Set([...to,"}"]),sk=T("no-useless-character-class",{meta:{docs:{description:"disallow character class with one character",category:"Best Practices",recommended:!0},fixable:"code",schema:[{type:"object",properties:{ignores:{type:"array",items:{type:"string",minLength:1},uniqueItems:!0}},additionalProperties:!1}],messages:{unexpectedCharacterClassWith:"Unexpected character class with one {{type}}. Can remove brackets{{additional}}.",unexpectedUnnecessaryNestingCharacterClass:"Unexpected unnecessary nesting character class. Can remove brackets."},type:"suggestion"},create(e){let n=e.options[0]?.ignores??["="];function a({node:i,pattern:m,flags:t,fixReplaceNode:r,getRegexpLocation:s}){let o=[];return{onExpressionCharacterClassEnter(x){o.push(x)},onExpressionCharacterClassLeave(){o.pop()},onCharacterClassEnter(x){o.push(x)},onCharacterClassLeave(x){if(o.pop(),x.negate)return;let c,l,u=x.elements.map((h,y)=>{let C=x.elements[y];return(y===0?d(C):null)??(y===x.elements.length-1?g(C):null)??C.raw});if(x.elements.length!==1&&x.parent.type==="CharacterClass"){if(c="unexpectedUnnecessaryNestingCharacterClass",l={type:"unnecessary nesting character class"},!x.elements.length){let h=x.parent.elements[x.parent.elements.indexOf(x)+1];h&&p(h)&&u.push("\\")}}else{if(x.elements.length!==1)return;let h=x.elements[0];if(n.length>0&&n.includes(h.raw))return;if(h.type==="Character"){if(h.raw==="\\b"||/^\\\d+$/u.test(h.raw)&&!h.raw.startsWith("\\0")||n.length>0&&n.includes(String.fromCodePoint(h.value))||!ka(x,h.raw))return;l={type:"character"}}else if(h.type==="CharacterClassRange"){if(h.min.value!==h.max.value)return;l={type:"character class range",additional:" and range"},u[0]=d(h.min)??g(h.min)??h.min.raw}else if(h.type==="ClassStringDisjunction"){if(!o.length)return;l={type:"string literal"}}else if(h.type==="CharacterSet")l={type:"character class escape"};else if(h.type==="CharacterClass"||h.type==="ExpressionCharacterClass")l={type:"character class"};else return;c="unexpectedCharacterClassWith"}e.report({node:i,loc:s(x),messageId:c,data:{type:l.type,additional:l.additional||""},fix:r(x,u.join(""))});function p(h){let y=h.type==="Character"?h.raw:h.type==="CharacterClassRange"?h.min.raw:null;return y==null?!1:o.length?Oi.has(y)&&m[x.start-1]===y?!0:y==="^"&&x.parent.type==="CharacterClass"&&x.parent.elements[0]===x:(t.unicode?rk:to).has(y)}function f(h){let y=h.type==="Character"?h.raw:h.type==="CharacterClassRange"?h.max.raw:null;return y==null?!1:o.length?Oi.has(y)&&m[x.end]===y:!1}function d(h){return p(h)?`\\${h.raw}`:null}function g(h){if(f(h)){let y=h.type==="Character"?h.raw:h.type==="CharacterClassRange"?h.max.raw:"";return`${h.raw.slice(0,-y.length)}\\${y}`}return null}}}}return A(e,{createVisitor:a})}});function ok(e,n){return at(e,n).filter(a=>a.type==="ReferenceElement")}var xk=T("no-useless-dollar-replacements",{meta:{docs:{description:"disallow useless `$` replacements in replacement string",category:"Possible Errors",recommended:!0},schema:[],messages:{numberRef:"'${{ refText }}' replacement will insert '${{ refText }}' because there are less than {{ num }} capturing groups. Use '$$' if you want to escape '$'.",numberRefCapturingNotFound:"'${{ refText }}' replacement will insert '${{ refText }}' because capturing group is not found. Use '$$' if you want to escape '$'.",namedRef:"'$<{{ refText }}>' replacement will be ignored because the named capturing group is not found. Use '$$' if you want to escape '$'.",namedRefNamedCapturingNotFound:"'$<{{ refText }}>' replacement will insert '$<{{ refText }}>' because named capturing group is not found. Use '$$' if you want to escape '$'."},type:"suggestion"},create(e){let n=R1(e),a=e.sourceCode;function i(m,t){let r=w3(m);for(let s of ok(e,t))typeof s.ref=="number"?r.count<s.ref&&e.report({node:t,loc:{start:a.getLocFromIndex(s.range[0]),end:a.getLocFromIndex(s.range[1])},messageId:r.count>0?"numberRef":"numberRefCapturingNotFound",data:{refText:s.refText,num:String(s.ref)}}):r.names.has(s.ref)||e.report({node:t,loc:{start:a.getLocFromIndex(s.range[0]),end:a.getLocFromIndex(s.range[1])},messageId:r.names.size>0?"namedRef":"namedRefNamedCapturingNotFound",data:{refText:s.refText}})}return{CallExpression(m){if(!d1(m,{replace:2,replaceAll:2}))return;let t=m.callee,r=m.arguments[1];if(r.type!=="Literal"||typeof r.value!="string")return;let s=AS(m.arguments[0],e);s&&n.isString(t.object)&&i(s,r)}}}}),ck=new Set([st,i8,Km]),lk=new Set([st,Fi,a8,i8,m8,W3,$3,G3,B3,Km]),uk=new Set([st,Fi,V3,Gw,Dw,M7,J7,F7,a8,i8,m8,W3,$3,G3,B3]),ro=new Set("uxkpP"),hk=new Set([...ro,"q"]),pk=T("no-useless-escape",{meta:{docs:{description:"disallow unnecessary escape characters in RegExp",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{unnecessary:"Unnecessary escape character: \\{{character}}."},type:"suggestion"},create(e){function n({node:a,flags:i,pattern:m,getRegexpLocation:t,fixReplaceNode:r}){function s(x,c,l,u){e.report({node:a,loc:t(x,[c,c+1]),messageId:"unnecessary",data:{character:l},fix:u?r(x,l):null})}let o=[];return{onCharacterClassEnter:x=>o.unshift(x),onCharacterClassLeave:()=>o.shift(),onExpressionCharacterClassEnter:x=>o.unshift(x),onExpressionCharacterClassLeave:()=>o.shift(),onCharacterEnter(x){if(x.raw[0]==="\\"){let c=x.raw.slice(1),l=String.fromCodePoint(x.value);if(c===l){let u;if(o.length?u=i.unicodeSets?lk:ck:u=uk,u.has(x.value))return;if(o.length){let p=o[0];if(x.value===V3&&p.start+1===x.start)return;if(i.unicodeSets&&_S.has(x.value)){if(m[x.end]===l)return;let f=x.start-1;if(m[f]===l&&(l!=="^"||p.start+1+(p.negate?1:0)<=f))return}}if(!ka(x,c))return;s(x,0,c,!(o.length?hk:ro).has(c))}}}}}return A(e,{createVisitor:n})}}),fk=class{regExpContext;get defineNode(){return this.regExpContext.regexpNode}defineId;readNodes=new Map;state={usedNodes:new Map,track:!0};constructor(e){this.regExpContext=e}addReadNode(e){this.readNodes.set(e,{})}setDefineId(e,n){this.defineId={codePathId:e,loopNode:n}}markAsUsedInSearch(e){let n=this.readNodes.get(e);n&&(n.marked=!0),this.addUsedNode("search",e)}markAsUsedInSplit(e){let n=this.readNodes.get(e);n&&(n.marked=!0),this.addUsedNode("split",e)}markAsUsedInExec(e,n,a){let i=this.readNodes.get(e);i&&(i.marked=!0,i.usedInExec={id:{codePathId:n,loopNode:a}}),this.addUsedNode("exec",e)}markAsUsedInTest(e,n,a){let i=this.readNodes.get(e);i&&(i.marked=!0,i.usedInTest={id:{codePathId:n,loopNode:a}}),this.addUsedNode("test",e)}isUsed(e){for(let n of e)if(this.state.usedNodes.has(n))return!0;return!1}isCannotTrack(){return!this.state.track}markAsUsed(e,n){this.addUsedNode(e,n)}markAsCannotTrack(){this.state.track=!1}getUsedNodes(){return this.state.usedNodes}addUsedNode(e,n){let a=this.state.usedNodes.get(e);a?a.push(n):this.state.usedNodes.set(e,[n])}};function Gi({flagsString:e,fixReplaceFlags:n},a){return e?n(e.replace(a,"")):null}function dk(e){return A(e,{createVisitor(n){let{flags:a,regexpNode:i,ownsFlags:m,getFlagLocation:t}=n;return!a.ignoreCase||!m?{}:{onPatternLeave(r){qm(r,a,!1)||e.report({node:i,loc:t("i"),messageId:"uselessIgnoreCaseFlag",fix:Gi(n,"i")})}}}})}function gk(e){return A(e,{createVisitor(n){let{flags:a,regexpNode:i,ownsFlags:m,getFlagLocation:t}=n;if(!a.multiline||!m)return{};let r=!0;return{onAssertionEnter(s){(s.kind==="start"||s.kind==="end")&&(r=!1)},onPatternLeave(){r&&e.report({node:i,loc:t("m"),messageId:"uselessMultilineFlag",fix:Gi(n,"m")})}}}})}function yk(e){return A(e,{createVisitor(n){let{flags:a,regexpNode:i,ownsFlags:m,getFlagLocation:t}=n;if(!a.dotAll||!m)return{};let r=!0;return{onCharacterSetEnter(s){s.kind==="any"&&(r=!1)},onPatternLeave(){r&&e.report({node:i,loc:t("s"),messageId:"uselessDotAllFlag",fix:Gi(n,"s")})}}}})}function Ck(e,n){function a(t,r){let{getFlagLocation:s}=t.regExpContext,o=t.defineNode;e.report({node:o,loc:s("g"),messageId:r.kind===0?"uselessGlobalFlagForSplit":r.kind===1?"uselessGlobalFlagForSearch":r.kind===3?"uselessGlobalFlagForTest":r.kind===2?"uselessGlobalFlagForExec":"uselessGlobalFlag",fix:r.fixable?Gi(t.regExpContext,"g"):null})}function i(t){let r=0;for(let s of t.readNodes.values()){if(!s.marked)return null;let o=s.usedInExec||s.usedInTest;if(o){if(!t.defineId)return null;if(t.defineId.codePathId===o.id.codePathId&&t.defineId.loopNode===o.id.loopNode){if(r++,r>1)return null;continue}else return null}}return m(t)}function m(t){let r=t.getUsedNodes();if(r.size===1){let[[s,o]]=r,x=o.length===1&&o.includes(t.defineNode);if(s==="split")return{kind:0,fixable:x};if(s==="search")return{kind:1,fixable:x};if(s==="exec"&&o.length===1)return{kind:2,fixable:x};if(s==="test"&&o.length===1)return{kind:3,fixable:x}}return{kind:4}}return so(e,{flag:"global",exit(t){for(let r of t){let s=i(r);s!=null&&a(r,s)}},isUsedShortCircuit(t){return t.isUsed(["match","matchAll","replace","replaceAll"])},strictTypes:n})}function vk(e,n){function a(t,r){let{getFlagLocation:s}=t.regExpContext,o=t.defineNode;e.report({node:o,loc:s("y"),messageId:"uselessStickyFlag",fix:r.fixable?Gi(t.regExpContext,"y"):null})}function i(t){for(let r of t.readNodes.values())if(!r.marked)return null;return m(t)}function m(t){let r=t.getUsedNodes();if(r.size===1){let[[s,o]]=r,x=o.length===1&&o.includes(t.defineNode);if(s==="split")return{fixable:x}}return{}}return so(e,{flag:"sticky",exit(t){for(let r of t){let s=i(r);s!=null&&a(r,s)}},isUsedShortCircuit(t){return t.isUsed(["search","exec","test","match","matchAll","replace","replaceAll"])},strictTypes:n})}function so(e,{flag:n,exit:a,isUsedShortCircuit:i,strictTypes:m}){let t=R1(e),r=null,s=new Map,o=[];function x(l,u){let p=s.get(l.arguments[0]);if(!(p==null||i(p))){if(m?!t.isString(l.callee.object):!t.maybeString(l.callee.object)){p.markAsCannotTrack();return}u==="search"?p.markAsUsedInSearch(l.arguments[0]):p.markAsUsedInSplit(l.arguments[0])}}function c(l,u){let p=s.get(l.callee.object);p==null||i(p)||(u==="exec"?p.markAsUsedInExec(l.callee.object,r.codePathId,r.loopStack[0]):p.markAsUsedInTest(l.callee.object,r.codePathId,r.loopStack[0]))}return Oe(A(e,{createVisitor(l){let{flags:u,regexpNode:p}=l;if(u[n]){let f=new fk(l);o.push(f),s.set(p,f);for(let d of Ta(p,e))d.type==="argument"||d.type==="member"?(s.set(d.node,f),f.addReadNode(d.node)):f.markAsCannotTrack()}return{}}}),{"Program:exit"(){a(o.filter(l=>!(!l.readNodes.size||l.isCannotTrack()||i(l))))},onCodePathStart(l){r={codePathId:l.id,upper:r,loopStack:[]}},onCodePathEnd(){r=r?.upper??null},"WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement, :matches(WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement) > :statement"(l){r?.loopStack.unshift(l)},"WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement, :matches(WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement) > :statement:exit"(){r?.loopStack.shift()},"Literal, NewExpression, CallExpression:exit"(l){if(!r)return;let u=s.get(l);!u||u.defineNode!==l||u.setDefineId(r.codePathId,r.loopStack[0])},"CallExpression:exit"(l){r&&d1(l,{search:1,split:1,test:1,exec:1,match:1,matchAll:1,replace:2,replaceAll:2})&&(l.callee.property.name==="search"||l.callee.property.name==="split"?x(l,l.callee.property.name):l.callee.property.name==="test"||l.callee.property.name==="exec"?c(l,l.callee.property.name):(l.callee.property.name==="match"||l.callee.property.name==="matchAll"||l.callee.property.name==="replace"||l.callee.property.name==="replaceAll")&&s.get(l.arguments[0])?.markAsUsed(l.callee.property.name,l.arguments[0]))}})}function _k(e){let n=e.sourceCode;function a(i){let m=i.regex.flags.replace(/[^u]+/gu,"");m!==i.regex.flags&&e.report({node:i,loc:Z7(n,i,i),messageId:"uselessFlagsOwned",fix(t){let r=Wm(i);return t.replaceTextRange(r,m)}})}return A(e,{createSourceVisitor(i){let{patternSource:m,regexpNode:t}=i;if(m.isStringValue())m.getOwnedRegExpLiterals().forEach(a);else if(t.arguments.length>=2){let r=m.regexpValue?.ownedNode;r&&a(r)}return{}}})}function Sk(e){let n=new Set,a=!0;if(e){for(let i of e.ignore??[])n.add(i);e.strictTypes!=null&&(a=e.strictTypes)}return{ignore:n,strictTypes:a}}var wk=T("no-useless-flag",{meta:{docs:{description:"disallow unnecessary regex flags",category:"Best Practices",recommended:!0,default:"warn"},fixable:"code",schema:[{type:"object",properties:{ignore:{type:"array",items:{enum:["i","m","s","g","y"]},uniqueItems:!0},strictTypes:{type:"boolean"}},additionalProperties:!1}],messages:{uselessIgnoreCaseFlag:"The 'i' flag is unnecessary because the pattern only contains case-invariant characters.",uselessMultilineFlag:"The 'm' flag is unnecessary because the pattern does not contain start (^) or end ($) assertions.",uselessDotAllFlag:"The 's' flag is unnecessary because the pattern does not contain dots (.).",uselessGlobalFlag:"The 'g' flag is unnecessary because the regex does not use global search.",uselessGlobalFlagForTest:"The 'g' flag is unnecessary because the regex is used only once in 'RegExp.prototype.test'.",uselessGlobalFlagForExec:"The 'g' flag is unnecessary because the regex is used only once in 'RegExp.prototype.exec'.",uselessGlobalFlagForSplit:"The 'g' flag is unnecessary because 'String.prototype.split' ignores the 'g' flag.",uselessGlobalFlagForSearch:"The 'g' flag is unnecessary because 'String.prototype.search' ignores the 'g' flag.",uselessStickyFlag:"The 'y' flag is unnecessary because 'String.prototype.split' ignores the 'y' flag.",uselessFlagsOwned:"The flags of this RegExp literal are useless because only the source of the regex is used."},type:"suggestion"},create(e){let{ignore:n,strictTypes:a}=Sk(e.options[0]),i={};return n.has("i")||(i=Oe(i,dk(e))),n.has("m")||(i=Oe(i,gk(e))),n.has("s")||(i=Oe(i,yk(e))),n.has("g")||(i=Oe(i,Ck(e,a))),n.has("y")||(i=Oe(i,vk(e,a))),i=Oe(i,_k(e)),i}});function P5({patternSource:e},n){return a=>{if(n.greedy)return null;let i=e.getReplaceRange({start:n.end-1,end:n.end});return i?i.remove(a):null}}function O5({getRegexpLocation:e},n){let a=n.raw.length-1;return e(n,[a,a+1])}var Ek=T("no-useless-lazy",{meta:{docs:{description:"disallow unnecessarily non-greedy quantifiers",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{constant:"Unexpected non-greedy constant quantifier.",possessive:"Unexpected non-greedy constant quantifier. The quantifier is effectively possessive, so it doesn't matter whether it is greedy or not."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m}=a;return{onQuantifierEnter(t){if(t.greedy)return;if(t.min===t.max){e.report({node:i,loc:O5(a,t),messageId:"constant",fix:P5(a,t)});return}let r=(0,_.getMatchingDirection)(t),s=(0,_.getFirstConsumedChar)(t.element,r,m);if(!s.empty){let o=(0,_.getFirstCharAfter)(t,r,m);s.char.isDisjointWith(o.char)&&e.report({node:i,loc:O5(a,t),messageId:"possessive",fix:P5(a,t)})}}}}return A(e,{createVisitor:n})}});function C7(e){let n=e.parent;if(n.type==="Alternative"&&n.elements.length===1){let a=n.parent;if(a.type==="Pattern"&&a.alternatives.length===1)return!0}return!1}var bk=T("no-useless-non-capturing-group",{meta:{docs:{description:"disallow unnecessary non-capturing group",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[{type:"object",properties:{allowTop:{anyOf:[{type:"boolean"},{enum:["always","never","partial"]}]}},additionalProperties:!1}],messages:{unexpected:"Unexpected unnecessary non-capturing group. This group can be removed without changing the behaviour of the regex."},type:"suggestion"},create(e){let n=e.options[0]?.allowTop===!0?"always":e.options[0]?.allowTop===!1?"never":e.options[0]?.allowTop??"partial";function a({node:i,getRegexpLocation:m,fixReplaceNode:t,getUsageOfPattern:r}){let s;return n==="always"?s=C7:n==="partial"?r()!==1?s=C7:s=()=>!1:s=()=>!1,{onGroupEnter(o){if(!s(o)){if(o.alternatives.length===1){let x=o.alternatives[0];if(x.elements.length===0||o.parent.type==="Quantifier"&&(x.elements.length>1||x.elements[0].type==="Quantifier")||!ka(o,x.raw))return}else{let x=o.parent;if(x.type!=="Alternative"||x.elements.length!==1)return}e.report({node:i,loc:m(o,[0,3]),messageId:"unexpected",fix:t(o,()=>n==="never"&&C7(o)&&r()!==1?null:o.raw.slice(3,-1))})}}}}return A(e,{createVisitor:a})}}),kk=T("no-useless-quantifier",{meta:{docs:{description:"disallow quantifiers that can be removed",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{constOne:"Unexpected useless quantifier.",empty:"Unexpected useless quantifier. The quantified element doesn't consume or assert characters.",emptyQuestionMark:"Unexpected useless quantifier. The quantified element can already accept the empty string, so this quantifier is redundant.",zeroLength:"Unexpected useless quantifier. The quantified element doesn't consume characters.",remove:"Remove the '{{quant}}' quantifier."},type:"suggestion",hasSuggestions:!0},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a;function s(x){return r(x,()=>{let c=x.element.raw;return ka(x,c)?c:null})}function o(x){return{messageId:"remove",data:{quant:x.raw.slice(x.element.end-x.start)},fix:r(x,()=>{let c=x.element.raw;return ka(x,c)?c:null})}}return{onQuantifierEnter(x){if(x.min===1&&x.max===1){e.report({node:i,loc:t(x),messageId:"constOne",fix:s(x)});return}if((0,_.isEmpty)(x.element,m)){e.report({node:i,loc:t(x),messageId:"empty",suggest:[o(x)]});return}if(x.min===0&&x.max===1&&x.greedy&&(0,_.isPotentiallyEmpty)(x.element,m)){e.report({node:i,loc:t(x),messageId:"emptyQuestionMark",suggest:[o(x)]});return}x.min>=1&&(0,_.isZeroLength)(x.element,m)&&e.report({node:i,loc:t(x),messageId:"zeroLength",suggest:[o(x)]})}}}return A(e,{createVisitor:n})}}),Tk=T("no-useless-range",{meta:{docs:{description:"disallow unnecessary character ranges",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected unnecessary character ranges. The hyphen is unnecessary."},type:"suggestion"},create(e){function n({node:a,fixReplaceNode:i,getRegexpLocation:m}){return{onCharacterClassRangeEnter(t){t.min.value!==t.max.value&&t.min.value+1!==t.max.value||e.report({node:a,loc:m(t),messageId:"unexpected",fix:i(t,()=>{let r=t.parent,s=r.raw.slice(0,t.start-r.start),o=r.raw.slice(t.end-r.start);if(/\\(?:x[\dA-Fa-f]?|u[\dA-Fa-f]{0,3})?$/u.test(s))return null;let x=t.min.raw;return t.min.value<t.max.value&&(t.max.raw==="-"?x+="\\-":x+=`${t.max.raw}`),o[0]==="-"&&(x+="\\"),x})})}}}return A(e,{createVisitor:n})}});function v7(e){if(e.type==="ClassStringDisjunction")return e.alternatives;if(e.type==="CharacterClass"){let n=[],a=i=>{i.type==="ClassStringDisjunction"?n.push(...i.alternatives):(i.type==="CharacterClass"&&(i.negate||n.push(...i.elements)),n.push(i))};return e.elements.forEach(a),n}return[]}function R5(e,n){let{start:a,end:i}=n;return n.type==="StringAlternative"&&(n.parent.alternatives.length===1?(n=n.parent,a=n.start,i=n.end):n.parent.alternatives.at(-1)===n?a--:i++),e.raw.slice(0,a-e.start)+e.raw.slice(i-e.start)}var Ak=T("no-useless-set-operand",{meta:{docs:{description:"disallow unnecessary elements in expression character classes",category:"Best Practices",recommended:!0},schema:[],messages:{intersectionDisjoint:"'{{left}}' and '{{right}}' are disjoint, so the result of the intersection is always going to be the empty set.",intersectionSubset:"'{{sub}}' is a subset of '{{super}}', so the result of the intersection is always going to be '{{sub}}'.",intersectionRemove:"'{{expr}}' can be removed without changing the result of the intersection.",subtractionDisjoint:"'{{left}}' and '{{right}}' are disjoint, so the subtraction doesn't do anything.",subtractionSubset:"'{{left}}' is a subset of '{{right}}', so the result of the subtraction is always going to be the empty set.",subtractionRemove:"'{{expr}}' can be removed without changing the result of the subtraction."},fixable:"code",type:"suggestion"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a;if(!m.unicodeSets)return{};function s(o){if(o.parent.type==="ExpressionCharacterClass"){let x=o.parent;return r(x,x.negate?"[^]":"[]")}return r(o,"[]")}return{onClassIntersectionEnter(o){let x=(0,_.toUnicodeSet)(o.left,m),c=(0,_.toUnicodeSet)(o.right,m);if(x.isDisjointWith(c)){e.report({node:i,loc:t(o),messageId:"intersectionDisjoint",data:{left:o.left.raw,right:o.right.raw},fix:s(o)});return}if(x.isSubsetOf(c)){e.report({node:i,loc:t(o),messageId:"intersectionSubset",data:{sub:o.left.raw,super:o.right.raw},fix:r(o,o.left.raw)});return}if(c.isSubsetOf(x)){e.report({node:i,loc:t(o),messageId:"intersectionSubset",data:{sub:o.right.raw,super:o.left.raw},fix:r(o,o.right.raw)});return}let l=v7(o.right).filter(p=>x.isDisjointWith((0,_.toUnicodeSet)(p,m))),u=v7(o.left).filter(p=>c.isDisjointWith((0,_.toUnicodeSet)(p,m)));for(let p of[...l,...u])e.report({node:i,loc:t(p),messageId:"subtractionRemove",data:{expr:p.raw},fix:r(o,R5(o,p))})},onClassSubtractionEnter(o){let x=(0,_.toUnicodeSet)(o.left,m),c=(0,_.toUnicodeSet)(o.right,m);if(x.isDisjointWith(c)){e.report({node:i,loc:t(o),messageId:"subtractionDisjoint",data:{left:o.left.raw,right:o.right.raw},fix:r(o,o.left.raw)});return}if(x.isSubsetOf(c)){e.report({node:i,loc:t(o),messageId:"subtractionSubset",data:{left:o.left.raw,right:o.right.raw},fix:s(o)});return}let l=v7(o.right).filter(u=>x.isDisjointWith((0,_.toUnicodeSet)(u,m)));for(let u of l)e.report({node:i,loc:t(u),messageId:"subtractionRemove",data:{expr:u.raw},fix:r(o,R5(o,u))})}}}return A(e,{createVisitor:n})}}),Ik=T("no-useless-string-literal",{meta:{docs:{description:"disallow string disjunction of single characters in `\\q{...}`",category:"Best Practices",recommended:!0},schema:[],messages:{unexpected:"Unexpected string disjunction of single character."},type:"suggestion",fixable:"code"},create(e){function n(a){let{node:i,getRegexpLocation:m,fixReplaceNode:t,pattern:r}=a;return{onStringAlternativeEnter(x){if(x.elements.length===1){let c=x.parent;e.report({node:i,loc:m(x),messageId:"unexpected",fix:t(c,()=>{let l=c.alternatives.filter(p=>p!==x).map(p=>p.raw).join("|");if(!l.length)return`${s(c,x)||o(c,x)?"\\":""}${x.raw}`;if(c.parent.type==="ClassIntersection"||c.parent.type==="ClassSubtraction"){let p=x.raw==="^"?"\\":"";return String.raw`[${p}${x.raw}\q{${l}}]`}let u=s(c,x)?"\\":"";return String.raw`${u}${x.raw}\q{${l}}`})})}}};function s(x,c){let l=c.raw;return Oi.has(l)&&r[x.start-1]===l?!0:l==="^"&&x.parent.type==="CharacterClass"&&x.parent.start===x.start-1}function o(x,c){let l=c.raw;return Oi.has(l)&&r[x.end]===l}}return A(e,{createVisitor:n})}}),Pk=T("no-useless-two-nums-quantifier",{meta:{docs:{description:"disallow unnecessary `{n,m}` quantifier",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected quantifier '{{expr}}'."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceQuant:m}){return{onQuantifierEnter(t){if(t.min===t.max){let[r,s]=Aa(t),o=t.raw.slice(r,s);if(!/^\{\d+,\d+\}$/u.test(o))return;e.report({node:a,loc:i(t,[r,s]),messageId:"unexpected",data:{expr:o},fix:m(t,`{${t.min}}`)})}}}}return A(e,{createVisitor:n})}}),Ok=T("no-zero-quantifier",{meta:{docs:{description:"disallow quantifiers with a maximum of zero",category:"Best Practices",recommended:!0},schema:[],messages:{unexpected:"Unexpected zero quantifier. The quantifier and its quantified element can be removed without affecting the pattern.",withCapturingGroup:"Unexpected zero quantifier. The quantifier and its quantified element do not affecting the pattern. Try to remove the elements but be careful because it contains at least one capturing group.",remove:"Remove this zero quantifier."},type:"suggestion",hasSuggestions:!0},create(e){function n(a){let{node:i,getRegexpLocation:m,fixReplaceNode:t,patternAst:r}=a;return{onQuantifierEnter(s){if(s.max===0)if((0,_.hasSomeDescendant)(s,o=>o.type==="CapturingGroup"))e.report({node:i,loc:m(s),messageId:"withCapturingGroup"});else{let o=[];r.raw===s.raw?o.push({messageId:"remove",fix:t(s,"(?:)")}):ka(s,"")&&o.push({messageId:"remove",fix:t(s,"")}),e.report({node:i,loc:m(s),messageId:"unexpected",suggest:o})}}}}return A(e,{createVisitor:n})}});function*oo(e,n){for(let{elements:a}of e)if(a.length>0){let i=a[n==="lookahead"?a.length-1:0];switch(i.type){case"Quantifier":i.min!==i.max&&((0,_.hasSomeDescendant)(i.element,m=>m.type==="CapturingGroup")||(yield i));break;case"Group":yield*oo(i.alternatives,n);break;default:break}}}var Rk={lookahead:"end",lookbehind:"start"},Lk=T("optimal-lookaround-quantifier",{meta:{docs:{description:"disallow the alternatives of lookarounds that end with a non-constant quantifier",category:"Best Practices",recommended:!0,default:"warn"},schema:[],hasSuggestions:!0,messages:{remove:"The quantified expression {{expr}} at the {{endOrStart}} of the expression tree should only be matched a constant number of times. The expression can be removed without affecting the lookaround.",replacedWith:"The quantified expression {{expr}} at the {{endOrStart}} of the expression tree should only be matched a constant number of times. The expression can be replaced with {{replacer}} without affecting the lookaround.",suggestRemove:"Remove the expression.",suggestReplace:"Replace the expression with {{replacer}}."},type:"problem"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceNode:m}){return{onAssertionEnter(t){if(t.kind==="lookahead"||t.kind==="lookbehind"){let r=Rk[t.kind],s=oo(t.alternatives,t.kind);for(let o of s){let x=o.min===0?"":o.min===1?`'${o.element.raw}' (no quantifier)`:`'${o.element.raw}{${o.min}}'`;e.report({node:a,loc:i(o),messageId:o.min===0?"remove":"replacedWith",data:{expr:R(o),endOrStart:r,replacer:x},suggest:[{messageId:o.min===0?"suggestRemove":"suggestReplace",data:{replacer:x},fix:m(o,()=>o.min===0?"":o.min===1?o.element.raw:`${o.element.raw}{${o.min}}`)}]})}}}}}return A(e,{createVisitor:n})}}),Nk={char:_.Chars.empty({}),complete:!1},Mk={char:_.Chars.empty({unicode:!0}),complete:!1};function Je(e,n){let a=n.unicode||n.unicodeSets?Mk:Nk;switch(e.type){case"Alternative":return e.elements.length===1?Je(e.elements[0],n):a;case"Character":case"CharacterSet":case"CharacterClass":case"ExpressionCharacterClass":{let i=(0,_.toUnicodeSet)(e,n);return{char:i.chars,complete:i.accept.isEmpty}}case"Group":case"CapturingGroup":{let i=e.alternatives.map(m=>Je(m,n));return{char:a.char.union(...i.map(m=>m.char)),complete:i.every(m=>m.complete)}}case"Assertion":case"Backreference":case"Quantifier":return a;default:return z(e)}}function L5(e,n){return{min:e.min+n,max:e.max+n,greedy:e.greedy}}function B7(e,n){return n.min===0&&n.max===0?"":n.min===1&&n.max===1?e.raw:e.raw+P1(n)}function Zm(e){switch(e.type){case"Group":case"CapturingGroup":case"Character":case"CharacterClass":case"CharacterSet":case"ExpressionCharacterClass":return!0;case"Assertion":case"Backreference":case"Quantifier":return!1;default:return z(e)}}function Jk(e,n,a){if(e.min===e.max||n.min===n.max||e.greedy!==n.greedy)return null;let i=Je(e.element,a),m=Je(n.element,a),t=i.complete?i.char:(0,_.getConsumedChars)(e.element,a).chars,r=m.complete?m.char:(0,_.getConsumedChars)(n.element,a).chars,s=e.greedy,o,x;if(i.complete&&m.complete&&i.char.equals(m.char))o={min:e.min+n.min,max:e.max+n.max,greedy:s},x={min:0,max:0,greedy:s};else if(n.max===1/0&&m.char.isSupersetOf(t))o={min:e.min,max:e.min,greedy:s},x=n;else if(e.max===1/0&&i.char.isSupersetOf(r))o=e,x={min:n.min,max:n.min,greedy:s};else return null;let c=B7(e.element,o)+B7(n.element,x),l;return o.max===0&&n.max===x.max&&n.min===x.min?l="removeLeft":x.max===0&&e.max===o.max&&e.min===o.min?l="removeRight":l="replace",{type:"Both",raw:c,messageId:l}}function N5(e){if(e.type==="Quantifier"){if(e.min===e.max&&e.min>0&&Zm(e.element))return{type:"Repeated",element:e.element,min:e.min}}else if(Zm(e))return{type:"Repeated",element:e,min:1};return null}function M5(e,n){let[a,i]=e,m=Je(a.element,n);if(!m.complete)return null;let t=Je(i.element,n);if(!t.complete||!t.char.equals(m.char))return null;let r,s;if(a.type==="Quantifier")r=a.element.raw,s=L5(a,i.min);else if(i.type==="Quantifier")r=i.element.raw,s=L5(i,a.min);else throw new Error;return{type:"Both",messageId:"combine",raw:r+P1(s)}}function J5(e,n,a){if(e.greedy!==n.greedy||e.max<1/0||n.min===n.max)return null;let i=Je(e.element,a);if(i.char.isEmpty)return null;let m=(0,_.getConsumedChars)(n.element,a);if(i.char.isSupersetOf(m.chars)){let{min:t}=n;return t===0?{type:"Nested",messageId:"nestedRemove",raw:"",nested:n,dominate:e}:{type:"Nested",messageId:"nestedReplace",raw:B7(n.element,{...n,max:t}),nested:n,dominate:e}}return null}function*Pi(e,n){switch(e.type){case"Alternative":if(e.elements.length>0){let a=n==="start"?0:e.elements.length-1;yield*Pi(e.elements[a],n)}break;case"CapturingGroup":case"Group":for(let a of e.alternatives)yield*Pi(a,n);break;case"Quantifier":yield e,e.max===1&&(yield*Pi(e.element,n));break;default:break}}function _7(e,n,a){return!!(e.type==="Quantifier"&&e.raw.length+n.raw.length<=a.raw.length&&Zm(n)&&e.min===0&&e.max===1||n.type==="Quantifier"&&e.raw.length+n.raw.length<=a.raw.length&&Zm(e)&&n.min===0&&n.max===1)}function Fk(e,n,a){if(e.type==="Quantifier"&&n.type==="Quantifier"){let i=Jk(e,n,a);if(i&&!_7(e,n,i))return i}if(e.type==="Quantifier"){let i=N5(n);if(i){let m=M5([e,i],a);if(m&&!_7(e,n,m))return m}}if(n.type==="Quantifier"){let i=N5(e);if(i){let m=M5([i,n],a);if(m&&!_7(e,n,m))return m}}if(e.type==="Quantifier"&&e.max===1/0)for(let i of Pi(n,"start")){let m=J5(e,i,a);if(m)return m}if(n.type==="Quantifier"&&n.max===1/0)for(let i of Pi(e,"end")){let m=J5(n,i,a);if(m)return m}return null}function jk(e,n,{patternSource:a}){return a.getAstLocation({start:Math.min(e.start,n.start),end:Math.max(e.end,n.end)})}function F5(e){let n="";for(let a=e.parent;a.type!=="Pattern";a=a.parent)if(a.type==="CapturingGroup"){let i=a.start;n+=String.fromCodePoint(32+i)}return n}var Uk=T("optimal-quantifier-concatenation",{meta:{docs:{description:"require optimal quantifiers for concatenated quantifiers",category:"Best Practices",recommended:!0},fixable:"code",schema:[{type:"object",properties:{capturingGroups:{enum:["ignore","report"]}},additionalProperties:!1}],messages:{combine:"{{left}} and {{right}} can be combined into one quantifier {{fix}}.{{cap}}",removeLeft:"{{left}} can be removed because it is already included by {{right}}.{{cap}}",removeRight:"{{right}} can be removed because it is already included by {{left}}.{{cap}}",replace:"{{left}} and {{right}} can be replaced with {{fix}}.{{cap}}",nestedRemove:"{{nested}} can be removed because of {{dominate}}.{{cap}}",nestedReplace:"{{nested}} can be replaced with {{fix}} because of {{dominate}}.{{cap}}",removeQuant:"{{quant}} can be removed because it is already included by {{cause}}.{{cap}}",replaceQuant:"{{quant}} can be replaced with {{fix}} because of {{cause}}.{{cap}}"},type:"suggestion"},create(e){let n=e.options[0]?.capturingGroups??"report";function a(i){let{node:m,flags:t,getRegexpLocation:r,fixReplaceNode:s}=i,o=ot(i),x=[];function c(l){return x.some(u=>(0,_.hasSomeDescendant)(u,l))}return{onQuantifierEnter(l){let u=T3(l,t,o);if(!u.canSimplify)return;let p=F5(l),f=u.dependencies.some(v=>F5(v)!==p),d=l.min===0&&Gm(l),g=d||f;if(g&&n==="ignore")return;x.push(l,...u.dependencies);let h=K3(u.dependencies.map(v=>R(v))),[y,C]=ao(l,u,i);if(l.min===0){let v=g?d?" This cannot be fixed automatically because it removes a capturing group.":" This cannot be fixed automatically because it involves a capturing group.":"";e.report({node:m,loc:r(l),messageId:"removeQuant",data:{quant:R(l),cause:h,cap:v},fix:g?void 0:C})}else{let v=g?" This cannot be fixed automatically because it involves a capturing group.":"";e.report({node:m,loc:r(l),messageId:"replaceQuant",data:{quant:R(l),fix:R(y),cause:h,cap:v},fix:g?void 0:C})}},onAlternativeLeave(l){for(let u=0;u<l.elements.length-1;u++){let p=l.elements[u],f=l.elements[u+1];if(c(p)||c(f))continue;let d=Fk(p,f,t);if(!d)continue;let g=Gm(p)||Gm(f);if(g&&n==="ignore")continue;let h=g?" This cannot be fixed automatically because it might change or remove a capturing group.":"";d.type==="Both"?e.report({node:m,loc:jk(p,f,i),messageId:d.messageId,data:{left:R(p),right:R(f),fix:R(d.raw),cap:h},fix:s(l,()=>{if(g)return null;let y=l.raw.slice(0,p.start-l.start),C=l.raw.slice(f.end-l.start);return y+d.raw+C})}):e.report({node:m,loc:r(d.nested),messageId:d.messageId,data:{nested:R(d.nested),dominate:R(d.dominate),fix:R(d.raw),cap:h},fix:s(d.nested,()=>g?null:d.raw)})}}}}return A(e,{createVisitor:a})}});function Dk(e,n){return e.findIndex(n)}function Gk(e,n){for(let a=e.length-1;a>=0;a--)if(n(e[a],a))return a;return-1}function Bk(e){let n=[];e.forEach(a=>{switch(a.type){case"Character":a.raw==="-"?n.push("\\-"):a.raw==="]"?n.push("\\]"):n.push(a.raw);break;case"CharacterClassRange":case"CharacterSet":case"CharacterClass":case"ClassStringDisjunction":case"ExpressionCharacterClass":n.push(a.raw);break;default:throw z(a)}}),n.length>0&&n[0][0]==="^"&&(n[0]=`\\${n[0]}`);for(let a=1;a<n.length;a++){let i=n[a-1],m=n[a],t=i.slice(-1),r=m[0];Oi.has(r)&&r===t&&!i.endsWith(`\\${t}`)&&(n[a-1]=`${i.slice(0,-1)}\\${t}`)}return`[${n.join("")}]`}function Vk(e,n){return e.map(a=>{if(a.elements.length===1){let i=a.elements[0];if(i.type==="Character"||i.type==="CharacterClass"||i.type==="CharacterSet"||i.type==="ExpressionCharacterClass"){let m=(0,_.toUnicodeSet)(i,n);if(m.accept.isEmpty)return{isCharacter:!0,alternative:a,char:m.chars,element:i}}}return{isCharacter:!1,alternative:a}})}function $k(e){for(let n of e)if(n.isCharacter&&n.alternative.elements.length===1){let a=n.alternative.elements[0];if(a.type==="CharacterClass"&&!a.negate)return!0}return!1}function Wk(e){switch(e.type){case"Character":return[e];case"CharacterSet":return e.kind==="any"?null:[e];case"CharacterClass":return e.negate?e.unicodeSets?[e]:null:e.elements;case"ExpressionCharacterClass":return[e];default:return z(e)}}function Qk(e,n){return e.map(a=>{if(a.isCharacter){let i=Wk(a.element);if(i)return{isCharacter:!0,elements:i,char:a.char,raw:a.alternative.raw}}return{isCharacter:!1,firstChar:(0,_.getFirstConsumedChar)(a.alternative,(0,_.getMatchingDirection)(a.alternative),n),raw:a.alternative.raw}})}function zk(e){function n(a,i){let m=[...a.elements,...i.elements];return{isCharacter:!0,char:a.char.union(i.char),elements:m,raw:Bk(m)}}for(let a=0;a<e.length-1;a++){let i=e[a];if(!i.isCharacter)continue;let m;for(let t=a+1;t<e.length;t++){let r=e[t];if(r.isCharacter)if(m===void 0||r.char.isDisjointWith(m))i=n(i,r),e.splice(t,1),t--;else break;else{if(r.firstChar.empty)break;if(m===void 0?m=r.firstChar.char:m=m.union(r.firstChar.char),m.isAll)break}}e[a]=i}}function qk(e){let n;for(let a of e)if(a.isCharacter)if(n===void 0)n=a.char;else{if(!n.isDisjointWith(a.char))return a;n=n.union(a.char)}return null}function j5(e){let n;for(let a of e)a.isCharacter&&(n===void 0?n=a.char:n=n.union(a.char));return n!==void 0&&n.isAll}function Hk(e){switch(e.type){case"Assertion":return[`(?${e.kind==="lookahead"?"":"<"}${e.negate?"!":"="}`,")"];case"CapturingGroup":return e.name!==null?[`(?<${e.name}>`,")"]:["(",")"];case"Group":return["(?:",")"];case"Pattern":return["",""];default:return z(e)}}function Kk(e,n){return e.column<n.column?e:n.column<e.column?n:e.line<n.line?e:n}function Yk(e,n){return e.column>n.column?e:n.column>e.column?n:e.line>n.line?e:n}var Xk=T("prefer-character-class",{meta:{docs:{description:"enforce using character class",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[{type:"object",properties:{minAlternatives:{type:"integer",minimum:2}},additionalProperties:!1}],messages:{unexpected:"Unexpected the disjunction of single element alternatives. Use character class '[...]' instead."},type:"suggestion"},create(e){let n=e.options[0]?.minAlternatives??3;function a(i){let{node:m,flags:t,getRegexpLocation:r,fixReplaceNode:s}=i;function o(l,u){let[p,f]=Hk(l);return s(l,p+u+f)}function x(l){let{start:u,end:p}=r(l[0]);for(let f=1;f<l.length;f++){let d=r(l[1]);u=Kk(u,d.start),p=Yk(p,d.end)}return{start:u,end:p}}function c(l){if(l.alternatives.length<2)return;let u=Vk(l.alternatives,t),p=u.filter(d=>d.isCharacter).length;if(p<2)return;if(u.every(d=>d.isCharacter)&&j5(u)){e.report({node:m,loc:r(l),messageId:"unexpected",fix:o(l,"[^]")});return}let f=Qk(u,t);if((p>=n||$k(u)||j5(u)||qk(f))&&(zk(f),f.length!==u.length)){let d=Dk(f,(y,C)=>y.raw!==l.alternatives[C].raw),g=Gk(f,(y,C)=>{let v=l.alternatives.length+C-f.length;return y.raw!==l.alternatives[v].raw}),h=[l.alternatives[d],l.alternatives[l.alternatives.length+g-f.length]];e.report({node:m,loc:x(h),messageId:"unexpected",fix:o(l,f.map(y=>y.raw).join("|"))})}}return{onPatternEnter:c,onGroupEnter:c,onCapturingGroupEnter:c,onAssertionEnter(l){(l.kind==="lookahead"||l.kind==="lookbehind")&&c(l)}}}return A(e,{createVisitor:a})}});function Zk(e){return e.type==="CharacterSet"&&e.kind==="digit"&&!e.negate||e.type==="CharacterClassRange"&&e.min.value===t8&&e.max.value===r8}var nT=T("prefer-d",{meta:{docs:{description:"enforce using `\\d`",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[{type:"object",properties:{insideCharacterClass:{type:"string",enum:["ignore","range","d"]}},additionalProperties:!1}],messages:{unexpected:"Unexpected {{type}} {{expr}}. Use '{{instead}}' instead."},type:"suggestion"},create(e){let n=e.options[0]?.insideCharacterClass??"ignore";function a({node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}){function s(o){let x=(0,_.toUnicodeSet)(o,m),c;if(x.equals(_.Chars.digit(m))?c="\\d":x.equals(_.Chars.digit(m).negate())&&(c="\\D"),c){e.report({node:i,loc:t(o),messageId:"unexpected",data:{type:"character class",expr:R(o),instead:c},fix:r(o,c)});return}if(n==="ignore"||o.type!=="CharacterClass")return;let l=n==="d"?"\\d":"0-9";for(let u of o.elements)Zk(u)&&u.raw!==l&&e.report({node:i,loc:t(u),messageId:"unexpected",data:{type:u.type==="CharacterSet"?"character set":"character class range",expr:R(u),instead:l},fix:r(u,l)})}return{onCharacterClassEnter:s,onExpressionCharacterClassEnter:s}}return A(e,{createVisitor:a})}}),eT=T("prefer-escape-replacement-dollar-char",{meta:{docs:{description:"enforces escape of replacement `$` character (`$$`).",category:"Best Practices",recommended:!1},schema:[],messages:{unexpected:"Unexpected replacement `$` character without escaping. Use `$$` instead."},type:"suggestion"},create(e){let n=R1(e),a=e.sourceCode;function i(m){for(let t of at(e,m))t.type==="CharacterElement"&&t.value==="$"&&e.report({node:m,loc:{start:a.getLocFromIndex(t.range[0]),end:a.getLocFromIndex(t.range[1])},messageId:"unexpected"})}return{CallExpression(m){if(!d1(m,{replace:2,replaceAll:2}))return;let t=m.callee,r=m.arguments[1];r.type!=="Literal"||typeof r.value!="string"||n.isRegExp(m.arguments[0])&&n.isString(t.object)&&i(r)}}}}),aT=class{list;startRefName;endRefName;otherThanStartRefNames;otherThanEndRefNames;constructor(e){this.list=e,this.startRefName=e[0].startRef?.ref,this.endRefName=e[0].endRef?.ref;let n=new Set,a=new Set;for(let{startRef:i,endRef:m,allRefs:t}of this.list)for(let r of t)r!==i&&n.add(r.ref),r!==m&&a.add(r.ref);this.otherThanStartRefNames=n,this.otherThanEndRefNames=a}*[Symbol.iterator](){yield*this.list}};function iT(e,n,a,{flags:i}){let m=new Set;if(n){let{chars:s}=(0,_.getConsumedChars)(n,i);if(!t(s,e.slice(1)))m.add(0);else{let o=e[e.length-1];_.FirstConsumedChars.toLook(r7(o,"rtl",i)).char.isDisjointWith(s)||m.add(0)}}if(a&&i.global){let s=e[0];if(s){let{chars:o}=(0,_.getConsumedChars)(a,i);_.FirstConsumedChars.toLook(r7(s,"ltr",i)).char.isDisjointWith(o)||m.add(1)}}return m;function t(s,o){for(let x of o)if(r(x)){let c=(0,_.getConsumedChars)(x,i);if(c.chars.isEmpty)continue;if(c.chars.isDisjointWith(s))return!0}else return _.FirstConsumedChars.toLook(r7(x,"ltr",i)).char.isDisjointWith(s);return!1}function r(s){let o=(0,_.getLengthRange)(s,i);return o.min===o.max}}function U5(e,n){return e.type==="CapturingGroup"&&!(0,_.isZeroLength)(e,n)}function mT(e,n){if(e.alternatives.length>1)return null;let a=e.alternatives[0].elements,i=[],m=null;for(let s of a){if((0,_.isZeroLength)(s,n)){i.push(s);continue}if(U5(s,n)){let o=s;m={leadingElements:i,capturingGroup:o,replacedAssertion:rT(i,o),range:{start:(i[0]||o).start,end:o.end}}}break}let t=null,r=[];for(let s of[...a].reverse()){if((0,_.isZeroLength)(s,n)){r.unshift(s);continue}if(U5(s,n)){let o=s;t={capturingGroup:o,trailingElements:r,replacedAssertion:tT(o,r),range:{start:o.start,end:(r[r.length-1]||o).end}}}break}return!m&&!t||m&&t&&m.capturingGroup===t.capturingGroup?null:{elements:a,start:m,end:t}}function tT(e,n){let a=e.alternatives.map(m=>m.raw).join("|"),i=xo(n,"lookahead");return i&&e.alternatives.length!==1?`(?=(?:${a})${i})`:`(?=${a}${i})`}function rT(e,n){let a=xo(e,"lookbehind"),i=n.alternatives.map(m=>m.raw).join("|");return a&&n.alternatives.length!==1?`(?<=${a}(?:${i}))`:`(?<=${a}${i})`}function xo(e,n){if(e.length===1&&e[0].type==="Assertion"){let a=e[0];if(a.kind===n&&!a.negate&&a.alternatives.length===1)return a.alternatives[0].raw}return e.map(a=>a.raw).join("")}function sT(e){return{lookbehind:e?.lookbehind??!0,strictTypes:e?.strictTypes??!0}}var oT=T("prefer-lookaround",{meta:{docs:{description:"prefer lookarounds over capturing group that do not replace",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{type:"object",properties:{lookbehind:{type:"boolean"},strictTypes:{type:"boolean"}},additionalProperties:!1}],messages:{preferLookarounds:"These capturing groups can be replaced with lookaround assertions ({{expr1}} and {{expr2}}).",prefer:"This capturing group can be replaced with a {{kind}} ({{expr}})."},type:"suggestion"},create(e){let{lookbehind:n,strictTypes:a}=sT(e.options[0]),i=R1(e);function m(c){let{regexpNode:l,flags:u,patternAst:p}=c,f=mT(p,u);if(!f)return{};let d=[];for(let h of Ta(l,e))if(h.type==="argument"){if(!d1(h.callExpression,{replace:2,replaceAll:2}))return{};let y=t(h.callExpression);if(!y)return{};d.push(y)}else if(h.type==="member"){let y=Sn(h.memberExpression);if(y?.type==="CallExpression"&&d1(y,{test:1})&&!c.flags.global)continue;return{}}else return{};if(!d.length)return{};let g=d[0];return d.some(h=>h.startRef?.ref!==g.startRef?.ref||h.endRef?.ref!==g.endRef?.ref)?{}:o(c,f,new aT(d))}function t(c){if(a?!i.isString(c.callee.object):!i.maybeString(c.callee.object))return null;let l=c.arguments[1];return l.type==="Literal"?r(l):s(l)}function r(c){if(typeof c.value!="string")return null;let l=at(e,c),u=null,p=null,f=l[0];f?.type==="ReferenceElement"&&(u=f);let d=l[l.length-1];return d?.type==="ReferenceElement"&&(p=d),!u&&!p?null:{startRef:u,endRef:p,allRefs:l.filter(g=>g.type==="ReferenceElement")}}function s(c){let l=Gn(e,c);if(!l||typeof l.value!="string")return null;let u=/\$(?<ref>[1-9]\d*|<(?<named>[^>]+)>)/gu,p=[],f=null,d=null,g;for(;g=u.exec(l.value);){let h={ref:g.groups.named?g.groups.named:Number(g.groups.ref)};g.index===0&&(f=h),u.lastIndex===l.value.length&&(d=h),p.push(h)}return!f&&!d?null:{startRef:f,endRef:d,allRefs:p}}function o(c,l,u){let p={capturingGroups:[],capturingNum:-1},f={capturingGroups:[],capturingNum:-1},d=0;return{onCapturingGroupEnter(g){d++,h(u.startRefName,u.otherThanStartRefNames,p),h(u.endRefName,u.otherThanEndRefNames,f);function h(y,C,v){(y===d||y===g.name)&&(v.capturingGroups.push(g),v.capturingNum=d,v.isUseOther||=!!(C.has(d)||g.name&&C.has(g.name)))}},onPatternLeave(){let g=null;!p.isUseOther&&p.capturingGroups.length===1&&p.capturingGroups[0]===l.start?.capturingGroup&&(g=l.start);let h=null;!f.isUseOther&&f.capturingGroups.length===1&&f.capturingGroups[0]===l.end?.capturingGroup&&(h=l.end);let y=iT(l.elements,g?.capturingGroup,h?.capturingGroup,c);if(y.has(0)&&(g=null),y.has(1)&&(h=null),n||(g=null),g&&h){let C=x(c,[g,h],u,v=>v.allRefs.some(S=>S!==v.startRef&&S!==v.endRef)?null:[v.startRef?.range,v.endRef?.range]);for(let v of[g,h])e.report({loc:c.getRegexpLocation(v.range),messageId:"preferLookarounds",data:{expr1:R(g.replacedAssertion),expr2:R(h.replacedAssertion)},fix:C})}else if(g){let C=x(c,[g],u,v=>v.allRefs.some(S=>S!==v.startRef)?null:[v.startRef?.range]);e.report({loc:c.getRegexpLocation(g.range),messageId:"prefer",data:{kind:"lookbehind assertion",expr:R(g.replacedAssertion)},fix:C})}else if(h){let C=x(c,[h],u,v=>v.allRefs.some(S=>S===v.endRef||typeof S.ref!="number"?!1:f.capturingNum<=S.ref)?null:[v.endRef?.range]);e.report({loc:c.getRegexpLocation(h.range),messageId:"prefer",data:{kind:"lookahead assertion",expr:R(h.replacedAssertion)},fix:C})}}}}function x(c,l,u,p){let f=[];for(let g of u){let h=p(g);if(!h)return null;for(let y of h){if(!y)return null;f.push(y)}}let d=[];for(let{range:g,replacedAssertion:h}of l){let y=c.patternSource.getReplaceRange(g);if(!y)return null;d.push({replaceRange:y,replacedAssertion:h})}return g=>{let h=[];for(let y of f)h.push({offset:y[0],fix:()=>g.removeRange(y)});for(let{replaceRange:y,replacedAssertion:C}of d)h.push({offset:y.range[0],fix:()=>y.replace(g,C)});return h.sort((y,C)=>y.offset-C.offset).map(y=>y.fix())}}return A(e,{createVisitor:m})}}),xT=T("prefer-named-backreference",{meta:{docs:{description:"enforce using named backreferences",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[],messages:{unexpected:"Unexpected unnamed backreference."},type:"suggestion"},create(e){function n({node:a,fixReplaceNode:i,getRegexpLocation:m}){return{onBackreferenceEnter(t){!t.ambiguous&&t.resolved.name&&!t.raw.startsWith("\\k<")&&e.report({node:a,loc:m(t),messageId:"unexpected",fix:i(t,`\\k<${t.resolved.name}>`)})}}}return A(e,{createVisitor:n})}}),cT=T("prefer-named-capture-group",{meta:{docs:{description:"enforce using named capture groups",category:"Stylistic Issues",recommended:!1},schema:[],messages:{required:"Capture group {{group}} should be converted to a named or non-capturing group."},type:"suggestion"},create(e){function n(a){let{node:i,getRegexpLocation:m}=a;return{onCapturingGroupEnter(t){t.name===null&&e.report({node:i,loc:m(t),messageId:"required",data:{group:R(t)}})}}}return A(e,{createVisitor:n})}}),lT=T("prefer-named-replacement",{meta:{docs:{description:"enforce using named replacement",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{type:"object",properties:{strictTypes:{type:"boolean"}},additionalProperties:!1}],messages:{unexpected:"Unexpected indexed reference in replacement string."},type:"suggestion"},create(e){let n=e.options[0]?.strictTypes??!0,a=e.sourceCode;function i(m){let{node:t,getAllCapturingGroups:r,getCapturingGroupReferences:s}=m,o=r();if(!o.length)return{};for(let x of s({strictTypes:n}))if(x.type==="ReplacementRef"&&x.kind==="index"&&x.range){let c=o[x.ref-1];c&&c.name&&e.report({node:t,loc:{start:a.getLocFromIndex(x.range[0]),end:a.getLocFromIndex(x.range[1])},messageId:"unexpected",fix(l){return l.replaceTextRange(x.range,`$<${c.name}>`)}})}return{}}return A(e,{createVisitor:i})}}),uT=T("prefer-plus-quantifier",{meta:{docs:{description:"enforce using `+` quantifier",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected quantifier '{{expr}}'. Use '+' instead."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceQuant:m}){return{onQuantifierEnter(t){if(t.min===1&&t.max===1/0){let[r,s]=Aa(t),o=t.raw.slice(r,s);o!=="+"&&e.report({node:a,loc:i(t,[r,s]),messageId:"unexpected",data:{expr:o},fix:m(t,"+")})}}}}return A(e,{createVisitor:n})}});function hT(e){if(e.alternatives.length===1){let n=e.alternatives[0];if(n.elements.length===1){let a=n.elements[0];if(a.type==="CharacterSet"||a.type==="CharacterClass"||a.type==="ExpressionCharacterClass")return a}}return null}var pT=T("prefer-predefined-assertion",{meta:{docs:{description:"prefer predefined assertion over equivalent lookarounds",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{replace:"This lookaround assertion can be replaced with {{kind}} ('{{expr}}')."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a,s=_.Chars.word(m),o=_.Chars.word(m).negate();function x(l,u){let p=(0,_.getMatchingDirectionFromAssertionKind)(l.kind),f=l.negate;if(u)if(!(0,_.getFirstCharAfter)(l,p,m).edge)f=!f;else return;let d=(0,_.getFirstCharAfter)(l,(0,_.invertMatchingDirection)(p),m);if(d.edge)return;let g;if(d.char.isSubsetOf(s))g=!1;else if(d.char.isSubsetOf(o))g=!0;else return;let h,y;f===g?(h="a negated word boundary assertion",y="\\B"):(h="a word boundary assertion",y="\\b"),h&&y&&e.report({node:i,loc:t(l),messageId:"replace",data:{kind:h,expr:y},fix:r(l,y)})}function c(l,u){if(l.negate&&m.multiline===u){let p=l.kind==="lookahead"?"$":"^";e.report({node:i,loc:t(l),messageId:"replace",data:{kind:"an edge assertion",expr:p},fix:r(l,p)})}}return{onAssertionEnter(l){if(l.kind!=="lookahead"&&l.kind!=="lookbehind")return;let u=hT(l);if(u===null)return;if(u.type==="CharacterSet"){if(u.kind==="word"){x(l,u.negate);return}if(u.kind==="any"){c(l,!m.dotAll);return}}let p=(0,_.toUnicodeSet)(u,m);if(!p.accept.isEmpty)return;let f=p.chars;f.isAll?c(l,!1):f.equals(s)?x(l,!1):f.equals(o)&&x(l,!0)}}}return A(e,{createVisitor:n})}}),fT=class{target;elements;times;equalChar;allows;constructor(e,n){this.target=e,this.elements=[e],this.allows=n,this.times=1,e.type==="CharacterSet"?e.kind==="any"?this.equalChar=a=>a.type==="CharacterSet"&&a.kind==="any":e.kind==="property"?this.equalChar=a=>a.type==="CharacterSet"&&a.kind==="property"&&a.key===e.key&&a.value===e.value&&a.negate===e.negate:this.equalChar=a=>a.type==="CharacterSet"&&a.kind===e.kind&&a.negate===e.negate:this.equalChar=a=>a.type==="Character"&&a.value===e.value}addElement(e){this.elements.push(e),this.times+=1}get bufferRawContents(){return this.elements.reduce((e,n)=>e+n.raw,"")}isValid(){if(this.elements.length<2||this.allows.includes(this.bufferRawContents))return!0;let e=null;for(let n of this.elements)if(n.type==="Character"){if(e==null)if(iE(n.value))e="digit";else if(Bm(n.value))e="letter";else if(mE(n.value))e="symbol";else return!1}else return!1;return e==="digit"||e==="letter"&&this.elements.length<=2||e==="symbol"&&this.elements.length<=3}getQuantifier(){return P1({min:this.times,max:this.times})}},dT=T("prefer-quantifier",{meta:{docs:{description:"enforce using quantifier",category:"Best Practices",recommended:!1},fixable:"code",schema:[{type:"object",properties:{allows:{type:"array",items:{type:"string"}}},additionalProperties:!1}],messages:{unexpected:"Unexpected consecutive same {{type}}. Use '{{quantifier}}' instead."},type:"suggestion"},create(e){let n=e.options[0]?.allows??[];function a({node:i,patternSource:m}){return{onAlternativeEnter(t){let r=null;for(let o of t.elements)o.type==="CharacterSet"||o.type==="Character"?r&&r.equalChar(o)?r.addElement(o):(s(r),r=new fT(o,n)):(s(r),r=null);s(r);function s(o){if(!o||o.isValid())return;let x={start:o.elements[0].start,end:o.elements[o.elements.length-1].end};e.report({node:i,loc:m.getAstLocation(x),messageId:"unexpected",data:{type:o.target.type==="Character"?"characters":o.target.kind==="any"?"any characters":"character class escapes",quantifier:o.getQuantifier()},fix(c){let l=m.getReplaceRange(x);return l?l.replace(c,o.target.raw+o.getQuantifier()):null}})}}}}return A(e,{createVisitor:a})}}),gT=T("prefer-question-quantifier",{meta:{docs:{description:"enforce using `?` quantifier",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected quantifier '{{expr}}'. Use '?' instead.",unexpectedGroup:"Unexpected group {{expr}}. Use '{{instead}}' instead."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceQuant:m,fixReplaceNode:t}){return{onQuantifierEnter(r){if(r.min===0&&r.max===1){let[s,o]=Aa(r),x=r.raw.slice(s,o);x!=="?"&&e.report({node:a,loc:i(r,[s,o]),messageId:"unexpected",data:{expr:x},fix:m(r,"?")})}},onGroupEnter(r){if(!r.alternatives[r.alternatives.length-1].elements.length){let s=r.alternatives.slice(0,-1);for(;s.length>0;){if(!s[s.length-1].elements.length){s.pop();continue}break}if(!s.length)return;let o=r,x=`(?:${s.map(c=>c.raw).join("|")})?`;if(r.parent.type==="Quantifier")if(r.parent.greedy&&r.parent.min===0&&r.parent.max===1)o=r.parent;else return;e.report({node:a,loc:i(o),messageId:"unexpectedGroup",data:{expr:R(o),instead:x},fix:t(o,x)})}}}}return A(e,{createVisitor:n})}}),yT=T("prefer-range",{meta:{docs:{description:"enforce using character class range",category:"Best Practices",recommended:!0},fixable:"code",schema:[{type:"object",properties:{target:Y3()},additionalProperties:!1}],messages:{unexpected:"Unexpected multiple adjacent characters. Use {{range}} instead."},type:"suggestion"},create(e){let n=u8(e.options[0]?.target,e),a=e.sourceCode;function i(m){let{node:t,patternSource:r}=m;function s(o){let x=[];for(let c of o){let l=r.getReplaceRange(c);if(!l)return null;let u=x.find(p=>p.range[0]<=l.range[1]&&l.range[0]<=p.range[1]);u?(u.range[0]=Math.min(u.range[0],l.range[0]),u.range[1]=Math.max(u.range[1],l.range[1])):x.push(l)}return x}return{onCharacterClassEnter(o){let x=[];for(let c of o.elements){let l;if(c.type==="Character")if(Ai(n,c.value))l={min:c,max:c};else continue;else if(c.type==="CharacterClassRange")if(Ai(n,c.min.value,c.max.value))l={min:c.min,max:c.max};else continue;else continue;let u=x.find(p=>{if(!(p.min.value-1<=l.max.value&&l.min.value<=p.max.value+1))return!1;let f=Math.min(p.min.value,l.min.value),d=Math.max(p.max.value,l.max.value);return Ai(n,f,d)});u?(l.min.value<u.min.value&&(u.min=l.min),u.max.value<l.max.value&&(u.max=l.max),u.nodes.push(c)):x.push({...l,nodes:[c]})}for(let c of x)if(c.max.value-c.min.value+1>=4&&c.nodes.length>1){let l=`${c.min.raw}-${c.max.raw}`,u=s(c.nodes);if(!u){e.report({node:t,loc:t.loc,messageId:"unexpected",data:{range:R(l)}});continue}for(let p of u)e.report({node:t,loc:p.getAstLocation(a),messageId:"unexpected",data:{range:R(l)},fix:f=>u.map((d,g)=>g===0?d.replace(f,l):d.remove(f))})}}}}return A(e,{createVisitor:i})}}),CT=T("prefer-regexp-exec",{meta:{docs:{description:"enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided",category:"Best Practices",recommended:!1},schema:[],messages:{disallow:"Use the `RegExp#exec()` method instead."},type:"suggestion"},create(e){let n=R1(e);return{CallExpression(a){if(!d1(a,{match:1}))return;let i=a.arguments[0],m=Gn(e,i);m&&m.value instanceof RegExp&&m.value.flags.includes("g")||n.isString(a.callee.object)&&e.report({node:a,messageId:"disallow"})}}}}),vT=T("prefer-regexp-test",{meta:{docs:{description:"enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`",category:"Best Practices",recommended:!1},fixable:"code",schema:[],messages:{disallow:"Use the `RegExp#test()` method instead of `{{target}}`, if you need a boolean."},type:"suggestion"},create(e){let n=e.sourceCode,a=R1(e);return{CallExpression(i){if(d1(i,{match:1,exec:1})&&co(i)){if(i.callee.property.name==="match"){if(!a.isString(i.callee.object))return;let m=i.arguments[0],t=Gn(e,m),r=!0;if(t&&t.value instanceof RegExp){if(t.value.flags.includes("g"))return}else a.isRegExp(m)||(r=!1);let s=i.callee;e.report({node:i,messageId:"disallow",data:{target:"String#match"},fix(o){if(!r||i.arguments.length!==1||Rr(s,n)||Rr(i.arguments[0],n))return null;let x=n.getTokenAfter(i.callee,ga),c=n.getLastToken(i),l=s.object.range,u=[x.range[1],c.range[0]],p=n.text.slice(...l),f=n.text.slice(...u),d=i.parent.type==="BinaryExpression"&&V7(i.parent)?D5(i.parent,n)(o):[];return[o.replaceTextRange(l,f),o.replaceText(s.property,"test"),o.replaceTextRange(u,p),...d]}})}if(i.callee.property.name==="exec"){if(!a.isRegExp(i.callee.object))return;let m=i.callee.property;e.report({node:m,messageId:"disallow",data:{target:"RegExp#exec"},*fix(t){yield t.replaceText(m,"test"),i.parent.type==="BinaryExpression"&&V7(i.parent)&&(yield*D5(i.parent,n)(t))}})}}}}}});function co(e){let n=Sn(e);return n?n.type==="UnaryExpression"?n.operator==="!":n.type==="CallExpression"?n.callee.type==="Identifier"&&n.callee.name==="Boolean"&&n.arguments[0]===e:n.type==="IfStatement"||n.type==="ConditionalExpression"||n.type==="WhileStatement"||n.type==="DoWhileStatement"||n.type==="ForStatement"?n.test===e:n.type==="BinaryExpression"?V7(n):n.type==="LogicalExpression"&&(n.operator==="&&"||n.operator==="||")?co(n):!1:!1}function V7(e){return(e.operator==="==="||e.operator==="!==")&&e.right.type==="Literal"&&e.right.value===null}function D5(e,n){return function(i){let m=n.getTokenBefore(e.right,({value:r})=>r===e.operator),t=n.getTokenBefore(m,{includeComments:!0});return[i.removeRange([t.range[1],e.range[1]]),...e.operator==="==="?[i.insertTextBefore(e.left,"!")]:[]]}}var _T=T("prefer-result-array-groups",{meta:{docs:{description:"enforce using result array `groups`",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{type:"object",properties:{strictTypes:{type:"boolean"}},additionalProperties:!1}],messages:{unexpected:"Unexpected indexed access for the named capturing group '{{ name }}' from regexp result array."},type:"suggestion"},create(e){let n=e.options[0]?.strictTypes??!0,a=e.sourceCode;function i(r){let{getAllCapturingGroups:s,getCapturingGroupReferences:o}=r,x=s();if(!x.length)return{};for(let c of o({strictTypes:n}))if(c.type==="ArrayRef"&&c.kind==="index"&&c.ref!=null){let l=x[c.ref-1];if(l&&l.name){let u=c.prop.type==="member"?c.prop.node:null;e.report({node:c.prop.node,messageId:"unexpected",data:{name:l.name},fix:u&&u.computed?p=>{let f=a.getTokensBetween(u.object,u.property),d=f.pop();for(;d&&!Ir(d);)d=f.pop();if(!d)return null;let g=m(u.object);if(g==="unknown")return null;let h=g==="RegExpXArray";return p.replaceTextRange([d.range[0],u.range[1]],`${u.optional?"":"."}groups${h?"!":""}.${l.name}`)}:null})}}return{}}return A(e,{createVisitor:i});function m(r){let{tsNodeMap:s,checker:o,usedTS:x,hasFullTypeInformation:c}=R3(e);if(!x)return null;if(!c)return"unknown";let l=s.get(r),u=l&&o?.getTypeAtLocation(l)||null;return u?M3(u)?"any":t(u)||N3(u)&&u.types.every(p=>t(p)||qS(p))?"RegExpXArray":"unknown":"unknown"}function t(r){if(L3(r)){let s=r.symbol.escapedName;return s==="RegExpMatchArray"||s==="RegExpExecArray"}return!1}}});function $7(e){return e.type==="Character"||e.type==="CharacterSet"||e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"}function G5(e){return e.type==="Assertion"&&(e.kind==="lookahead"||e.kind==="lookbehind")&&e.alternatives.length===1&&e.alternatives[0].elements.length===1&&$7(e.alternatives[0].elements[0])}function B5(e){return/^[&\-^]$/u.test(e)?`\\${e}`:e}var ST=T("prefer-set-operation",{meta:{docs:{description:"prefer character class set operations instead of lookarounds",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"This lookaround can be combined with '{{char}}' using a set operation."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a;if(!m.unicodeSets)return{};function s(o,x,c){let l=x.alternatives[0].elements[0];(0,_.hasStrings)(l,m)||e.report({node:i,loc:t(x),messageId:"unexpected",data:{char:o.raw},fix:r(c,()=>{let u=x.negate?"--":"&&",p=`[${B5(o.raw)}${u}${B5(l.raw)}]`;return c.elements.map(f=>f===x?"":f===o?p:f.raw).join("")})})}return{onAlternativeEnter(o){let{elements:x}=o;for(let c=1;c<x.length;c++){let l=x[c-1],u=x[c];$7(l)&&G5(u)&&u.kind==="lookbehind"&&s(l,u,o),G5(l)&&l.kind==="lookahead"&&$7(u)&&s(u,l,o)}}}}return A(e,{createVisitor:n})}}),wT=T("prefer-star-quantifier",{meta:{docs:{description:"enforce using `*` quantifier",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected quantifier '{{expr}}'. Use '*' instead."},type:"suggestion"},create(e){function n({node:a,getRegexpLocation:i,fixReplaceQuant:m}){return{onQuantifierEnter(t){if(t.min===0&&t.max===1/0){let[r,s]=Aa(t),o=t.raw.slice(r,s);o!=="*"&&e.report({node:a,loc:i(t,[r,s]),messageId:"unexpected",data:{expr:o},fix:m(t,"*")})}}}}return A(e,{createVisitor:n})}}),ET=T("prefer-unicode-codepoint-escapes",{meta:{docs:{description:"enforce use of unicode codepoint escapes",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{disallowSurrogatePair:"Use Unicode codepoint escapes instead of Unicode escapes using surrogate pairs."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a;return!m.unicode&&!m.unicodeSets?{}:{onCharacterEnter(s){s.value>=65536&&/^(?:\\u[\dA-Fa-f]{4}){2}$/u.test(s.raw)&&e.report({node:i,loc:t(s),messageId:"disallowSurrogatePair",fix:r(s,()=>{let o=String.fromCodePoint(s.value).codePointAt(0).toString(16);return/[A-F]/u.test(s.raw)&&(o=o.toUpperCase()),`\\u{${o}}`})})}}}return A(e,{createVisitor:n})}});function bT(e){return e.type==="CharacterClassRange"&&e.min.value===s8&&e.max.value===o8}function kT(e){return e.type==="CharacterClassRange"&&e.min.value===x8&&e.max.value===c8}function TT(e){return e.type==="CharacterClassRange"&&e.min.value===t8&&e.max.value===r8||e.type==="CharacterSet"&&e.kind==="digit"&&!e.negate}function AT(e){return e.type==="Character"&&e.value===nE}var IT=T("prefer-w",{meta:{docs:{description:"enforce using `\\w`",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"Unexpected {{type}} {{expr}}. Use '{{instead}}' instead."},type:"suggestion"},create(e){function n({node:a,flags:i,getRegexpLocation:m,fixReplaceNode:t,patternSource:r}){return{onCharacterClassEnter(s){let o=(0,_.toUnicodeSet)(s,i),x,c=_.Chars.word(i);if(o.equals(c)?x="\\w":o.equals(c.negate())&&(x="\\W"),x){e.report({node:a,loc:m(s),messageId:"unexpected",data:{type:"character class",expr:R(s),instead:x},fix:t(s,x)});return}let l=[],u=[],p=[],f=[];for(let d of s.elements)bT(d)?(l.push(d),i.ignoreCase&&u.push(d)):kT(d)?(u.push(d),i.ignoreCase&&l.push(d)):TT(d)?p.push(d):AT(d)&&f.push(d);if(l.length&&u.length&&p.length&&f.length){let d=[...new Set([...l,...u,...p,...f])].sort((g,h)=>g.start-h.start);e.report({node:a,loc:m(s),messageId:"unexpected",data:{type:"character class ranges",expr:`'[${d.map(g=>g.raw).join("")}]'`,instead:"\\w"},fix(g){let h=[];for(let y of d){let C=r.getReplaceRange(y);if(!C)return null;h.length===0?h.push(C.replace(g,"\\w")):h.push(C.remove(g))}return h}})}}}}return A(e,{createVisitor:n})}}),W7=65535;function PT(e){let n={},a;try{a=new k1().parsePattern(e.raw,void 0,void 0,{unicode:!0})}catch{return!1}try{we(e,{onCharacterEnter(i){if(/^\\(?![bfnrtv])[A-Za-z]$/u.test(i.raw))throw n}}),we(a,{onCharacterEnter(i){if(i.value>W7&&(i.parent.type==="CharacterClass"||i.parent.type==="CharacterClassRange"))throw n},onQuantifierEnter(i){if(i.element.type==="Character"&&i.element.value>W7)throw n}})}catch(i){if(i===n)return!1;throw i}return a}var OT={min:55296,max:56319},RT={min:56320,max:57343},Q7={min:55296,max:57343},V5={min:65536,max:1114111};function lo(e,n){if(e.length!==n.length)return!1;for(let a=0;a<e.length;a++){let i=e[a],m=n[a];if(i.min!==m.min||i.max!==m.max)return!1}return!0}function uo(e){return e.type==="Character"||e.type==="CharacterClass"||e.type==="CharacterSet"}function ho(e,n,a){let i=(0,_.toUnicodeSet)(e,n);if(!i.isDisjointWith(Q7))return!1;let m=(0,_.toUnicodeSet)(e,a);return lo(i.chars.ranges,m.chars.ranges)}function LT(e,n,a){if(!uo(e.element))return;if(ho(e.element,n,a))return!0;if(e.min>1||e.max!==1/0)return;let i=(0,_.toUnicodeSet)(e.element,n);if(!i.isSupersetOf(Q7))return!1;let m=(0,_.toUnicodeSet)(e.element,a);return!(!m.isSupersetOf(Q7)||!m.isSupersetOf(V5)||!lo(i.chars.ranges,m.without(V5).chars.ranges)||!(0,_.getFirstCharAfter)(e,"rtl",n).char.isDisjointWith(OT)||!(0,_.getFirstCharAfter)(e,"ltr",n).char.isDisjointWith(RT))}function NT(e,n){let a=new Set;we(n,{onCharacterEnter(s){if(s.value>W7)for(let o=s.start;o<s.end;o++)a.add(o)}});let i=e.patternAst,m=e.flags,t=(0,_.toCache)({...m,unicode:!0}),r=new Set;return!(0,_.hasSomeDescendant)(i,s=>{if(s.type==="Character"&&a.has(s.start))return!1;if(s.type==="Assertion"&&s.kind==="word"&&m.ignoreCase)return!0;if(uo(s))return!ho(s,m,t);if(s.type==="Quantifier"){let o=LT(s,m,t);if(o!==void 0)return r.add(s),!o}return!1},s=>s.type!=="CharacterClass"&&!r.has(s))}function MT(e){let n=PT(e.patternAst);return n?NT(e,n):!1}var JT=T("require-unicode-regexp",{meta:{docs:{description:"enforce the use of the `u` flag",category:"Best Practices",recommended:!1},schema:[],fixable:"code",messages:{require:"Use the 'u' flag."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,flagsString:t,getFlagsLocation:r,fixReplaceFlags:s}=a;return t===null?{}:(!m.unicode&&!m.unicodeSets&&e.report({node:i,loc:r(),messageId:"require",fix:s(()=>MT(a)?`${t}u`:null)}),{})}return A(e,{createVisitor:n})}});function FT(e){let n={},{flags:a,patternAst:i,pattern:m}=e;try{let t={...a,unicodeSets:!0,unicode:!1};we(i,{onCharacterClassEnter(r){let s=(0,_.toUnicodeSet)(r,a),o=(0,_.toUnicodeSet)({...r,unicodeSets:!0},t);if(!s.equals(o)||SS.test(r.raw))throw n}})}catch(t){if(t===n)return!1;throw t}try{new k1().parsePattern(m,void 0,void 0,{unicodeSets:!0})}catch{return!1}return!0}var jT=T("require-unicode-sets-regexp",{meta:{docs:{description:"enforce the use of the `v` flag",category:"Best Practices",recommended:!1},schema:[],fixable:"code",messages:{require:"Use the 'v' flag."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,flagsString:t,getFlagsLocation:r,fixReplaceFlags:s}=a;return t===null?{}:(m.unicodeSets||e.report({node:i,loc:r(),messageId:"require",fix:s(()=>!m.unicode||!FT(a)?null:`${t.replace(/u/gu,"")}v`)}),{})}return A(e,{createVisitor:n})}});function UT(e){return e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"||e.type==="CharacterSet"&&(e.kind!=="property"||!e.strings)}function jm(e){return UT(e)&&e.negate}function Um(e){let n=e.raw;if(e.type==="CharacterClass"||e.type==="ExpressionCharacterClass")return`${n[0]}${n.slice(2)}`;let a=e.raw[1].toLowerCase();return`${n[0]}${a}${n.slice(2)}`}function $5(e){let n=[],a=e;for(;a.type==="ClassIntersection";)n.unshift(a.right),a=a.left;return n.unshift(a),n}function DT(e,n){try{let a=new k1().parsePattern(e,void 0,void 0,{unicode:n.unicode,unicodeSets:n.unicodeSets});if(a.alternatives.length===1&&a.alternatives[0].elements.length===1){let i=a.alternatives[0].elements[0];if(i.type!=="Assertion"&&i.type!=="Quantifier"&&i.type!=="CapturingGroup"&&i.type!=="Group"&&i.type!=="Backreference")return i}}catch{}return null}var GT=T("simplify-set-operations",{meta:{docs:{description:"require simplify set operations",category:"Best Practices",recommended:!0},schema:[],messages:{toNegationOfDisjunction:"This {{target}} can be converted to the negation of a disjunction using De Morgan's laws.",toNegationOfConjunction:"This character class can be converted to the negation of a conjunction using De Morgan's laws.",toSubtraction:"This expression can be converted to the subtraction.",toIntersection:"This expression can be converted to the intersection."},fixable:"code",type:"suggestion"},create(e){function n(a){let{node:i,flags:m,getRegexpLocation:t,fixReplaceNode:r}=a;if(!m.unicodeSets)return{};return{onCharacterClassEnter(p){c(p)},onExpressionCharacterClassEnter(p){x(p)||l(p)||o(p)}};function s({reportNode:p,targetNode:f,messageId:d,data:g,fix:h}){let y=(0,_.toUnicodeSet)(f,m),C=h(),v=DT(C,m);if(!v)return!1;let S=(0,_.toUnicodeSet)(v,m);return y.equals(S)?(e.report({node:i,loc:t(p),messageId:d,data:g||{},fix:r(f,C)}),!0):!1}function o(p){let f=p.expression,d=null;for(;f.type==="ClassIntersection"||f.type==="ClassSubtraction";)u(f,d,p),d=f.right,f=f.left}function x(p){let f=p.expression;if(f.type!=="ClassIntersection")return!1;let d=$5(f),g=[],h=[];for(let C of d)jm(C)?g.push(C):h.push(C);let y=g.map(C=>Um(C)).join("");return g.length===d.length?s({reportNode:p,targetNode:p,messageId:"toNegationOfDisjunction",data:{target:"character class"},fix:()=>`[${p.negate?"":"^"}${y}]`}):g.length<2?null:s({reportNode:g[g.length-1].parent,targetNode:p,messageId:"toNegationOfDisjunction",data:{target:"expression"},fix:()=>{let C=[`[^${y}]`,...h.map(v=>v.raw)];return`[${p.negate?"^":""}${C.join("&&")}]`}})}function c(p){if(p.elements.length<=1)return!1;let f=p.elements,d=f.filter(jm);return d.length!==f.length?!1:s({reportNode:p,targetNode:p,messageId:"toNegationOfConjunction",fix:()=>{let g=d.map(h=>Um(h));return`[${p.negate?"":"^"}${g.join("&&")}]`}})}function l(p){let f=p.expression;if(f.type!=="ClassIntersection")return!1;let d=$5(f),g=d.find(jm);return g?s({reportNode:f,targetNode:p,messageId:"toSubtraction",fix(){let h=d.filter(v=>v!==g),y=h.map(v=>v.raw).join("&&");h.length>=2&&(y=`[${y}]`);let C=Um(g);return`[${p.negate?"^":""}${`${y}--${C}`}]`}}):!1}function u(p,f,d){if(p.type!=="ClassSubtraction")return!1;let{left:g,right:h}=p;return jm(h)?s({reportNode:p,targetNode:d,messageId:"toIntersection",fix(){let y=g.raw;g.type==="ClassSubtraction"&&(y=`[${y}]`);let C=Um(h),v=`${y}&&${C}`;f&&(v=`[${v}]`);let S=d.raw;return`${S.slice(0,p.start-d.start)}${v}${S.slice(p.end-d.start)}`}}):!1}}return A(e,{createVisitor:n})}});function po(e,n){if(e.length===0)return;let a=e[0];for(let i=1;i<e.length;i++){let m=e[i];n(m,a)<0&&(a=m)}return a}function z7(e,n){let a=Math.min(e.length,n.length);for(let i=0;i<a;i++){let m=e[i]-n[i];if(m!==0)return m}return e.length-n.length}function fo(e){return e.accept.isEmpty?e.chars.isEmpty?void 0:[e.chars.ranges[0].min]:po(e.accept.wordSets.map(n=>n.map(a=>a.ranges[0].min)),z7)}function BT(e){if(e.length===1)return fo(e[0]);let n=[];for(let a=e.length-1;a>=0;a--){let i=e[a];if(i.isEmpty)return;if(i.accept.isEmpty)n.unshift(i.chars.ranges[0].min);else{let m=[...i.chars.isEmpty?[]:[[i.chars]],...i.accept.wordSets].map(r=>r.map(s=>s.ranges[0].min)),t=new Set;m=m.sort(z7).filter(r=>t.has(r.length)?!1:(t.add(r.length),!0)),n=po(m.map(r=>[...r,...n]),z7)}}return n}var W5=new Map;function VT(e){xt(e);let n=(e.ignoreCase?"i":"")+(e.unicode?"u":"")+(e.unicodeSets?"v":""),a=W5.get(n);return a===void 0&&(a={allowed:O.JS.createCharSet([{kind:"word",negate:!1},{min:p5,max:p5},{min:J7,max:J7},{min:Km,max:Km},{min:M7,max:M7},{min:Fi,max:Fi},{min:f5,max:f5},{min:F7,max:F7}],e),required:_.Chars.word(e)},W5.set(n,a)),a}function $T(e){return!(0,_.hasSomeDescendant)(e,n=>n.type==="Backreference"||n.type==="CharacterSet"||n.type==="Quantifier"&&n.max===1/0||n.type==="CharacterClass"&&n.negate||n.type==="ExpressionCharacterClass"&&n.negate,n=>n.type!=="Assertion")}var Q5=new WeakMap;function z5(e,n,a){let i=Q5.get(e);return i===void 0&&(i=WT(e,n,a),Q5.set(e,i)),i}var q7={includeAfter:!0,onlyInside:!0,looseGroups:!0};function WT(e,n,a){let i=H7(e,n,a);return i!==void 0?i:qT((0,_.getLongestPrefix)(e,"ltr",a,q7))}function H7(e,n,a){if(e.type==="StringAlternative"||QT(e,a)){let i=[];for(let m of e.elements){let t=(0,_.toUnicodeSet)(m,a).chars;if(t.isEmpty)return;i.push(t.ranges[0].min)}return i}if(go(e.elements))return BT(e.elements.map(i=>(0,_.toUnicodeSet)(i,a)));try{let i=n.parseElement(e,{assertions:"unknown",backreferences:"disable",maxBackreferenceWords:4,maxNodes:1e3}),m=(0,O.transform)({onConcatenation(r){r.elements=r.elements.filter(s=>s.type!=="Unknown")}},i.expression),t=O.NFA.fromRegex(m,{maxCharacter:i.maxCharacter},{},new O.NFA.LimitedNodeFactory(1e3));return zT(t.initial,t.finals)}catch{return}}function go(e){return e.every(n=>n.type==="Character"||n.type==="CharacterClass"||n.type==="CharacterSet"||n.type==="ExpressionCharacterClass")}function QT(e,n){return go(e.elements)&&e.elements.every(a=>!(0,_.hasStrings)(a,n))}function zT(e,n){let a=[],i=[e],m=new Set,t=1e3;for(let r=0;r<t;r++){if(i.some(x=>n.has(x)))return a;let s=1/0;for(let x of i)x.out.forEach(c=>{c.isEmpty||(s=Math.min(s,c.ranges[0].min))});if(s===1/0)return;a.push(s);let o=[];m.clear();for(let x of i)x.out.forEach((c,l)=>{c.has(s)&&!m.has(l)&&(o.push(l),m.add(l))});i=o}}function qT(e){let n=[];for(let a of e){if(a.isEmpty)break;n.push(a.ranges[0].min)}return n}function S7(e,n){return e===n?0:e<n?-1:1}function HT(e,n){let a=e.ranges,i=n.ranges;for(let m=0;m<a.length&&m<i.length;m++){let t=a[m],r=i[m];if(t.min!==r.min)return t.min-r.min;if(t.max!==r.max)return t.max<r.max?m+1<a.length?1:-1:m+1<i.length?-1:1}return a.length-i.length}function KT(e,n){let a=Math.min(e.length,n.length);for(let i=0;i<a;i++){let m=HT(e[i],n[i]);if(m!==0)return m}return e.length-n.length}function yo(e,n){let a=Math.min(e.length,n.length);for(let i=0;i<a;i++){let m=e[i],t=n[i];if(m!==t)return m-t}return e.length-n.length}function YT(e,n,a){e.sort((i,m)=>{let t=yo(z5(i,n,a),z5(m,n,a));if(t!==0)return t;let r=KT((0,_.getLongestPrefix)(i,"ltr",a,q7),(0,_.getLongestPrefix)(m,"ltr",a,q7));return r!==0?r:a.ignoreCase&&S7(i.raw.toUpperCase(),m.raw.toUpperCase())||S7(i.raw,m.raw)})}function XT(e,n,a){e.sort((i,m)=>yo(H7(i,n,a),H7(m,n,a)))}function Co(e){return/^(?:0|[1-9]\d*)$/u.test(e)}function w7(e){let n=K7(e,a=>Co(a.raw));for(let{startIndex:a,elements:i}of n)i.sort((m,t)=>Number(m.raw)-Number(t.raw)),e.splice(a,i.length,...i)}function ZT(e,n){if(e.length!==n.length)return;let a=e.length,i=0;for(;i<a&&e[i]===n[i];i++);if(i===a)return;let m=a-1;for(;m>=0&&e[m]===n[m];m--);return[i,m]}function K7(e,n){let a=[],i=[],m=0;for(let t of e)n(t)?i.push(t):i.length>0&&(a.push({startIndex:m-i.length,elements:i}),i=[]),m++;return i.length>0&&a.push({startIndex:m-i.length,elements:i}),a}var nA=T("sort-alternatives",{meta:{docs:{description:"sort alternatives if order doesn't matter",category:"Best Practices",recommended:!1},fixable:"code",schema:[],messages:{sort:"The {{alternatives}} can be sorted without affecting the regex."},type:"suggestion"},create(e){function a(i){let{node:m,getRegexpLocation:t,fixReplaceNode:r,flags:s}=i,o=VT(s),x=new Map,c=ot(i);function l(g){let h=x.get(g);return h===void 0&&(h=(0,_.getConsumedChars)(g,s).chars),h}function u(g){let h=g.elements;if((0,_.canReorder)(h,s))YT(h,c,s),w7(h);else if(!_.Chars.empty(s).union(...h.map(l)).isDisjointWith(_.Chars.digit(s))){let y=K7(h,C=>Co(C.raw));for(let{startIndex:C,elements:v}of y)v.length>1&&(0,_.canReorder)(v,s)&&(w7(v),h.splice(C,v.length,...v))}p(g,"alternatives of this group")}function p(g,h){let y=g.elements,C=y[0].parent,v=C.alternatives.slice(g.startIndex,g.startIndex+y.length),S=ZT(v,y);if(!S)return;let w=t({start:v[S[0]].start,end:v[S[1]].end});e.report({node:m,loc:w,messageId:"sort",data:{alternatives:h},fix:r(C,()=>{let E=C.raw.slice(0,v[0].start-C.start),k=C.raw.slice(v[v.length-1].end-C.start);return E+y.map(I=>I.raw).join("|")+k})})}function f(g){if(g.alternatives.length<2)return;let h=K7(g.alternatives,y=>{if(!$T(y))return!1;let C=l(y);return!(C.isEmpty||!C.isSubsetOf(o.allowed)||C.isDisjointWith(o.required))});if(h.length===1&&h[0].elements.length===g.alternatives.length)u(h[0]);else for(let y of h)y.elements.length>=3&&y.elements.length>=2&&u(y)}function d(g){if(g.alternatives.length<2)return;let h=[...g.alternatives];XT(h,c,s),w7(h),p({startIndex:0,elements:[...h]},"string alternatives")}return{onGroupEnter:f,onPatternEnter:f,onCapturingGroupEnter:f,onClassStringDisjunctionEnter:d}}return A(e,{createVisitor:a})}}),E7=["\\s","\\w","\\d","\\p","*","\\q","[]"];function q5(e){return e.type==="CharacterSet"?e.kind==="word"?"\\w":e.kind==="digit"?"\\d":e.kind==="space"?"\\s":"\\p":e.type==="ClassStringDisjunction"?"\\q":e.type==="CharacterClass"||e.type==="ExpressionCharacterClass"?"[]":"*"}function H5(e,n){return fo(e.type==="CharacterSet"&&e.negate?(0,_.toUnicodeSet)({...e,negate:!1},n):(0,_.toUnicodeSet)(e,n))||[]}function eA(e,n){let a=Math.min(e.length,n.length);for(let i=0;i<a;i++){let m=e[i],t=n[i];if(m!==t)return m-t}return e.length-n.length}var aA=T("sort-character-class-elements",{meta:{docs:{description:"enforces elements order in character class",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{type:"object",properties:{order:{type:"array",items:{enum:["\\s","\\w","\\d","\\p","*","\\q","[]"]}}},additionalProperties:!1}],messages:{sortElements:"Expected character class elements to be in ascending order. {{next}} should be before {{prev}}."},type:"layout"},create(e){let n={"*":1/0};(e.options[0]?.order??E7).forEach((t,r)=>{n[t]=r+1});function a({node:t,flags:r,getRegexpLocation:s,patternSource:o}){return{onCharacterClassEnter(x){let c=[];for(let l of x.elements){if(c.length){let u=c[0];if(!i(u,l,r)){let p=u;for(let f of c){if(i(f,l,r))break;p=f}e.report({node:t,loc:s(l),messageId:"sortElements",data:{next:R(l),prev:R(p)},*fix(f){let d=o.getReplaceRange(l),g=o.getReplaceRange(p);!g||!d||(yield g.insertBefore(f,iA(l,p)),yield d.remove(f))}})}}c.unshift(l)}}}}function i(t,r,s){let o=q5(t),x=q5(r),c=n[o]??n["*"],l=n[x]??n["*"];if(c<l)return!0;if(c>l)return!1;let u=E7.indexOf(o),p=E7.indexOf(x);return u<p?!0:u>p?!1:t.type==="CharacterSet"&&t.kind==="property"&&r.type==="CharacterSet"&&r.kind==="property"?m(t,r):eA(H5(t,s),H5(r,s))<=0}function m(t,r){return t.key<r.key?!0:t.key>r.key?!1:t.value?r.value?t.value<=r.value:!1:!0}return A(e,{createVisitor:a})}});function iA(e,n){let a=e.raw;if(a[0]==="-"){let i=n.parent.elements,m=i[i.indexOf(n)-1];m&&(m.type==="Character"||m.type==="CharacterSet")&&(a=`\\${a}`)}else a[0]==="^"&&n.parent.elements[0]===n&&(a=`\\${a}`);return n.raw[0]==="-"&&(e.type==="Character"||e.type==="CharacterSet")&&(a=`${a}\\`),a}var mA=T("sort-flags",{meta:{docs:{description:"require regex flags to be sorted",category:"Stylistic Issues",recommended:!0},fixable:"code",schema:[],messages:{sortFlags:"The flags '{{flags}}' should be in the order '{{sortedFlags}}'."},type:"suggestion"},create(e){function n(i){return[...i].sort((m,t)=>m.codePointAt(0)-t.codePointAt(0)).join("")}function a({regexpNode:i,flagsString:m,ownsFlags:t,getFlagsLocation:r,fixReplaceFlags:s}){if(m&&t){let o=n(m);m!==o&&e.report({node:i,loc:r(),messageId:"sortFlags",data:{flags:m,sortedFlags:o},fix:s(o,!1)})}}return A(e,{createVisitor(i){return a(i),{}},visitInvalid:a,visitUnknown:a})}}),tA=new li({strict:!0,ecmaVersion:2020});function rA(e,n){try{return tA.validatePattern(e,void 0,void 0,n),null}catch(a){return a instanceof Error?a.message:null}}var sA=new Set("\\/()[]{}^$.|-+*?".split("")),oA=new Set("\\/()[]{}^$.|+*?".split("")),xA=T("strict",{meta:{docs:{description:"disallow not strictly valid regular expressions",category:"Possible Errors",recommended:!0},fixable:"code",schema:[],messages:{invalidControlEscape:"Invalid or incomplete control escape sequence. Either use a valid control escape sequence or escaping the standalone backslash.",incompleteEscapeSequence:"Incomplete escape sequence {{expr}}. Either use a valid escape sequence or remove the useless escaping.",invalidPropertyEscape:"Invalid property escape sequence {{expr}}. Either use a valid property escape sequence or remove the useless escaping.",incompleteBackreference:"Incomplete backreference {{expr}}. Either use a valid backreference or remove the useless escaping.",unescapedSourceCharacter:"Unescaped source character {{expr}}.",octalEscape:"Invalid legacy octal escape sequence {{expr}}. Use a hexadecimal escape instead.",uselessEscape:"Useless identity escapes with non-syntax characters are forbidden.",invalidRange:"Invalid character class range. A character set cannot be the minimum or maximum of a character class range. Either escape the `-` or fix the character class range.",quantifiedAssertion:"Assertion are not allowed to be quantified directly.",regexMessage:"{{message}}.",hexEscapeSuggestion:"Replace the octal escape with a hexadecimal escape."},type:"suggestion",hasSuggestions:!0},create(e){function n(a){let{node:i,flags:m,pattern:t,getRegexpLocation:r,fixReplaceNode:s}=a;if(m.unicode||m.unicodeSets)return{};let o=!1,x=!1;function c(l,u,p){o=!0,p&&typeof p=="object"?e.report({node:i,loc:r(u),messageId:l,data:{expr:R(u)},suggest:[{messageId:p.messageId,fix:s(u,p.fix)}]}):e.report({node:i,loc:r(u),messageId:l,data:{expr:R(u)},fix:p?s(u,p):null})}return{onCharacterEnter(l){if(l.raw==="\\"){c("invalidControlEscape",l);return}if(l.raw==="\\u"||l.raw==="\\x"){c("incompleteEscapeSequence",l);return}if(l.raw==="\\p"||l.raw==="\\P"){c("invalidPropertyEscape",l);return}if(l.value!==0&&Ri(l.raw)){c("octalEscape",l,{fix:`\\x${l.value.toString(16).padStart(2,"0")}`,messageId:"hexEscapeSuggestion"});return}let u=l.parent.type==="CharacterClass"||l.parent.type==="CharacterClassRange";if(!u){if(l.raw==="\\k"){c("incompleteBackreference",l);return}if(l.raw==="{"||l.raw==="}"||l.raw==="]"){c("unescapedSourceCharacter",l,`\\${l.raw}`);return}}if(!zm(l.raw)&&l.raw[0]==="\\"){let p=l.raw.slice(1),f=u?sA:oA;l.value===p.charCodeAt(0)&&!f.has(p)&&c("uselessEscape",l,p)}},onCharacterClassEnter(l){for(let u=0;u<l.elements.length;u++){let p=l.elements[u];if(p.type==="CharacterSet"){let f=l.elements[u+1],d=l.elements[u+2];if(f&&f.raw==="-"&&d){c("invalidRange",p);return}let g=l.elements[u-1],h=l.elements[u-2];if(g&&g.raw==="-"&&h&&h.type!=="CharacterClassRange"){c("invalidRange",p);return}}}},onQuantifierEnter(l){l.element.type==="Assertion"&&c("quantifiedAssertion",l,`(?:${l.element.raw})${l.raw.slice(l.element.end-l.start)}`)},onBackreferenceEnter(l){typeof l.ref=="string"&&(x=!0)},onPatternLeave(){if(!x&&!o){let l=rA(t,m);l&&e.report({node:i,messageId:"regexMessage",data:{message:l}})}}}}return A(e,{createVisitor:n})}}),cA=T("unicode-escape",{meta:{docs:{description:"enforce consistent usage of unicode escape or unicode codepoint escape",category:"Stylistic Issues",recommended:!1},fixable:"code",schema:[{enum:["unicodeCodePointEscape","unicodeEscape"]}],messages:{expectedUnicodeCodePointEscape:"Expected unicode code point escape ('{{unicodeCodePointEscape}}'), but unicode escape ('{{unicodeEscape}}') is used.",expectedUnicodeEscape:"Expected unicode escape ('{{unicodeEscape}}'), but unicode code point escape ('{{unicodeCodePointEscape}}') is used."},type:"suggestion"},create(e){let n=e.options[0]!=="unicodeEscape";function a({node:r,getRegexpLocation:s,fixReplaceNode:o},x,c){if(x!=="unicode")return;let l=`\\u{${c.value.toString(16)}}`;e.report({node:r,loc:s(c),messageId:"expectedUnicodeCodePointEscape",data:{unicodeCodePointEscape:l,unicodeEscape:c.raw},fix:o(c,l)})}function i({node:r,getRegexpLocation:s,fixReplaceNode:o},x,c){if(x!=="unicode code point")return;let l=`\\u${c.value.toString(16).padStart(4,"0")}`;e.report({node:r,loc:s(c),messageId:"expectedUnicodeEscape",data:{unicodeEscape:l,unicodeCodePointEscape:c.raw},fix:o(c,l)})}let m=n?a:i;function t(r){let{flags:s}=r;return!s.unicode&&!s.unicodeSets?{}:{onCharacterEnter(o){if(o.value>=65536)return;let x=Di(o.raw);x&&m(r,x,o)}}}return A(e,{createVisitor:t})}}),ct=class{toShortMap;toLongMap;constructor({shortToLong:e,otherToLong:n}){let a=new Map,i=new Map;for(let[m,t]of Object.entries(e))a.set(t,m),i.set(m,t);for(let[m,t]of Object.entries(n)){i.set(m,t);let r=a.get(t);if(!r)throw new Error(`No short key for ${t} with other key ${m}`);a.set(m,r)}this.toShortMap=a,this.toLongMap=i}toShort(e){return this.toShortMap.get(e)||e}toLong(e){return this.toLongMap.get(e)||e}},Y7=new ct({shortToLong:{gc:"General_Category",sc:"Script",scx:"Script_Extensions"},otherToLong:{}}),K5=new ct({shortToLong:{AHex:"ASCII_Hex_Digit",Alpha:"Alphabetic",Bidi_C:"Bidi_Control",Bidi_M:"Bidi_Mirrored",CE:"Composition_Exclusion",CI:"Case_Ignorable",Comp_Ex:"Full_Composition_Exclusion",CWCF:"Changes_When_Casefolded",CWCM:"Changes_When_Casemapped",CWKCF:"Changes_When_NFKC_Casefolded",CWL:"Changes_When_Lowercased",CWT:"Changes_When_Titlecased",CWU:"Changes_When_Uppercased",Dep:"Deprecated",DI:"Default_Ignorable_Code_Point",Dia:"Diacritic",EBase:"Emoji_Modifier_Base",EComp:"Emoji_Component",EMod:"Emoji_Modifier",EPres:"Emoji_Presentation",Ext:"Extender",ExtPict:"Extended_Pictographic",Gr_Base:"Grapheme_Base",Gr_Ext:"Grapheme_Extend",Gr_Link:"Grapheme_Link",Hex:"Hex_Digit",IDC:"ID_Continue",Ideo:"Ideographic",IDS:"ID_Start",IDSB:"IDS_Binary_Operator",IDST:"IDS_Trinary_Operator",IDSU:"IDS_Unary_Operator",Join_C:"Join_Control",LOE:"Logical_Order_Exception",Lower:"Lowercase",MCM:"Modifier_Combining_Mark",NChar:"Noncharacter_Code_Point",OAlpha:"Other_Alphabetic",ODI:"Other_Default_Ignorable_Code_Point",OGr_Ext:"Other_Grapheme_Extend",OIDC:"Other_ID_Continue",OIDS:"Other_ID_Start",OLower:"Other_Lowercase",OMath:"Other_Math",OUpper:"Other_Uppercase",Pat_Syn:"Pattern_Syntax",Pat_WS:"Pattern_White_Space",PCM:"Prepended_Concatenation_Mark",QMark:"Quotation_Mark",RI:"Regional_Indicator",SD:"Soft_Dotted",STerm:"Sentence_Terminal",Term:"Terminal_Punctuation",UIdeo:"Unified_Ideograph",Upper:"Uppercase",VS:"Variation_Selector",WSpace:"White_Space",XIDC:"XID_Continue",XIDS:"XID_Start",XO_NFC:"Expands_On_NFC",XO_NFD:"Expands_On_NFD",XO_NFKC:"Expands_On_NFKC",XO_NFKD:"Expands_On_NFKD"},otherToLong:{space:"White_Space"}}),lA=new ct({shortToLong:{C:"Other",Cc:"Control",Cf:"Format",Cn:"Unassigned",Co:"Private_Use",Cs:"Surrogate",L:"Letter",LC:"Cased_Letter",Ll:"Lowercase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",Lt:"Titlecase_Letter",Lu:"Uppercase_Letter",M:"Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",Mn:"Nonspacing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pc:"Connector_Punctuation",Pd:"Dash_Punctuation",Pe:"Close_Punctuation",Pf:"Final_Punctuation",Pi:"Initial_Punctuation",Po:"Other_Punctuation",Ps:"Open_Punctuation",S:"Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",Sm:"Math_Symbol",So:"Other_Symbol",Z:"Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",Zs:"Space_Separator"},otherToLong:{cntrl:"Control",Combining_Mark:"Mark",digit:"Decimal_Number",punct:"Punctuation"}}),uA=new ct({shortToLong:{Adlm:"Adlam",Aghb:"Caucasian_Albanian",Arab:"Arabic",Armi:"Imperial_Aramaic",Armn:"Armenian",Avst:"Avestan",Bali:"Balinese",Bamu:"Bamum",Bass:"Bassa_Vah",Batk:"Batak",Beng:"Bengali",Berf:"Beria_Erfe",Bhks:"Bhaiksuki",Bopo:"Bopomofo",Brah:"Brahmi",Brai:"Braille",Bugi:"Buginese",Buhd:"Buhid",Cakm:"Chakma",Cans:"Canadian_Aboriginal",Cari:"Carian",Cher:"Cherokee",Chrs:"Chorasmian",Copt:"Coptic",Cpmn:"Cypro_Minoan",Cprt:"Cypriot",Cyrl:"Cyrillic",Deva:"Devanagari",Diak:"Dives_Akuru",Dogr:"Dogra",Dsrt:"Deseret",Dupl:"Duployan",Egyp:"Egyptian_Hieroglyphs",Elba:"Elbasan",Elym:"Elymaic",Ethi:"Ethiopic",Gara:"Garay",Geor:"Georgian",Glag:"Glagolitic",Gong:"Gunjala_Gondi",Gonm:"Masaram_Gondi",Goth:"Gothic",Gran:"Grantha",Grek:"Greek",Gujr:"Gujarati",Gukh:"Gurung_Khema",Guru:"Gurmukhi",Hang:"Hangul",Hani:"Han",Hano:"Hanunoo",Hatr:"Hatran",Hebr:"Hebrew",Hira:"Hiragana",Hluw:"Anatolian_Hieroglyphs",Hmng:"Pahawh_Hmong",Hmnp:"Nyiakeng_Puachue_Hmong",Hrkt:"Katakana_Or_Hiragana",Hung:"Old_Hungarian",Ital:"Old_Italic",Java:"Javanese",Jurc:"Jurchen",Kali:"Kayah_Li",Kana:"Katakana",Khar:"Kharoshthi",Khmr:"Khmer",Khoj:"Khojki",Kits:"Khitan_Small_Script",Knda:"Kannada",Krai:"Kirat_Rai",Kthi:"Kaithi",Lana:"Tai_Tham",Laoo:"Lao",Latn:"Latin",Lepc:"Lepcha",Limb:"Limbu",Lina:"Linear_A",Linb:"Linear_B",Lyci:"Lycian",Lydi:"Lydian",Mahj:"Mahajani",Maka:"Makasar",Mand:"Mandaic",Mani:"Manichaean",Marc:"Marchen",Medf:"Medefaidrin",Mend:"Mende_Kikakui",Merc:"Meroitic_Cursive",Mero:"Meroitic_Hieroglyphs",Mlym:"Malayalam",Mong:"Mongolian",Mroo:"Mro",Mtei:"Meetei_Mayek",Mult:"Multani",Mymr:"Myanmar",Nagm:"Nag_Mundari",Nand:"Nandinagari",Narb:"Old_North_Arabian",Nbat:"Nabataean",Nkoo:"Nko",Nshu:"Nushu",Ogam:"Ogham",Olck:"Ol_Chiki",Onao:"Ol_Onal",Orkh:"Old_Turkic",Orya:"Oriya",Osge:"Osage",Osma:"Osmanya",Ougr:"Old_Uyghur",Palm:"Palmyrene",Pauc:"Pau_Cin_Hau",Pcun:"Proto_Cuneiform",Perm:"Old_Permic",Phag:"Phags_Pa",Phli:"Inscriptional_Pahlavi",Phlp:"Psalter_Pahlavi",Phnx:"Phoenician",Plrd:"Miao",Prti:"Inscriptional_Parthian",Rjng:"Rejang",Rohg:"Hanifi_Rohingya",Runr:"Runic",Samr:"Samaritan",Sarb:"Old_South_Arabian",Saur:"Saurashtra",Sgnw:"SignWriting",Shaw:"Shavian",Shrd:"Sharada",Sidd:"Siddham",Sidt:"Sidetic",Sind:"Khudawadi",Sinh:"Sinhala",Sogd:"Sogdian",Sogo:"Old_Sogdian",Sora:"Sora_Sompeng",Soyo:"Soyombo",Sund:"Sundanese",Sunu:"Sunuwar",Sylo:"Syloti_Nagri",Syrc:"Syriac",Tagb:"Tagbanwa",Takr:"Takri",Tale:"Tai_Le",Talu:"New_Tai_Lue",Taml:"Tamil",Tang:"Tangut",Tavt:"Tai_Viet",Tayo:"Tai_Yo",Telu:"Telugu",Tfng:"Tifinagh",Tglg:"Tagalog",Thaa:"Thaana",Tibt:"Tibetan",Tirh:"Tirhuta",Tnsa:"Tangsa",Todr:"Todhri",Tols:"Tolong_Siki",Tutg:"Tulu_Tigalari",Ugar:"Ugaritic",Vaii:"Vai",Vith:"Vithkuqi",Wara:"Warang_Citi",Wcho:"Wancho",Xpeo:"Old_Persian",Xsux:"Cuneiform",Yezi:"Yezidi",Yiii:"Yi",Zanb:"Zanabazar_Square",Zinh:"Inherited",Zyyy:"Common",Zzzz:"Unknown"},otherToLong:{Qaac:"Coptic",Qaai:"Inherited"}});function hA(e){return Y7.toShort(e)==="gc"}var pA=T("unicode-property",{meta:{docs:{description:"enforce consistent naming of unicode properties",category:"Stylistic Issues",recommended:!1},schema:[{type:"object",properties:{generalCategory:{enum:["always","never","ignore"]},key:{enum:["short","long","ignore"]},property:{anyOf:[{enum:["short","long","ignore"]},{type:"object",properties:{binary:{enum:["short","long","ignore"]},generalCategory:{enum:["short","long","ignore"]},script:{enum:["short","long","ignore"]}},additionalProperties:!1}]}},additionalProperties:!1}],messages:{unnecessaryGc:"Unnecessary '{{ gc }}=' in Unicode property.",missingGc:"Missing '{{ gc }}=' in Unicode property.",expectedKey:"Excepted {{ len }} key. Use '{{ key }}' instead.",expectedProperty:"Excepted {{ len }} {{ type }} property. Use '{{ prop }}' instead."},type:"suggestion",fixable:"code"},create(e){let{generalCategory:n="never",key:a="ignore",property:i={binary:"ignore",generalCategory:"ignore",script:"long"}}=e.options[0]||{},m="long";typeof i=="string"&&(m=i);let{binary:t=m,generalCategory:r=m,script:s=m}=typeof i=="string"?{}:i;function o(x){let{node:c,getRegexpLocation:l,fixReplaceNode:u}=x;function p(f){let d=f.raw.includes("=");function g(S){return u(f,`${f.raw.slice(0,2)}{${S}}`)}function h(){return l(d?{start:f.start+3,end:f.start+3+f.key.length}:{start:f.start+3,end:f.end-1})}function y(){return l({start:f.end-1-(f.value||f.key).length,end:f.end-1})}let{key:C,value:v}=f;if(v===null){if(t!=="ignore"){let S=t==="short"?K5.toShort(C):K5.toLong(C);C!==S&&e.report({node:c,loc:h(),messageId:"expectedProperty",data:{len:t,type:"binary",prop:S},fix:g(S)})}}else{let S=hA(C),w=!1;if(S&&(d&&n==="never"&&(e.report({node:c,loc:h(),messageId:"unnecessaryGc",data:{gc:C},fix:g(v)}),w=!0),!d&&n==="always")){let k=a==="long"?"General_Category":"gc";e.report({node:c,loc:l(f),messageId:"missingGc",data:{gc:k},fix:g(`${k}=${v}`)}),w=!0}if(!w&&d&&a!=="ignore"){let k=a==="short"?Y7.toShort(C):Y7.toLong(C);C!==k&&e.report({node:c,loc:h(),messageId:"expectedKey",data:{len:a,key:k},fix:g(`${k}=${v}`)})}let E=S?r:s;if(E!=="ignore"){let k=S?lA:uA,I=E==="short"?k.toShort(v):k.toLong(v);if(v!==I){let M=d?`${C}=`:"",$=S?"General_Category":"Script";e.report({node:c,loc:y(),messageId:"expectedProperty",data:{len:E,type:$,prop:I},fix:g(`${M}${I}`)})}}}}return{onCharacterSetEnter(f){f.kind==="property"&&p(f)}}}return A(e,{createVisitor:o})}}),Y5={Character:1,CharacterClassRange:2,CharacterSet:3,CharacterClass:4,ExpressionCharacterClass:5,ClassStringDisjunction:6,StringAlternative:7};function X5(e,n,a){let i=X1(n),m=[...e].reverse().sort((r,s)=>Y5[r.type]-Y5[s.type]),t=new Set;for(let r of m){let s=i(r);if(s.isSubsetOf(a)){t.add(r);continue}let o=e.filter(c=>c!==r&&!t.has(c)),x=a.union(...o.map(i));if(s.isSubsetOf(x)){t.add(r);continue}}return t}function Z5(e,n){let a=[];for(let i of e)n.has(i)||a.push(i);return a}function fA(e,n,a){let i=O.CharSet.empty(Number.MAX_SAFE_INTEGER).union(a.map(s=>{let o=s.start,x=s.end-1;if(s.type==="StringAlternative"){let c=s.parent;c.alternatives.length===1||c.alternatives.every(l=>a.includes(l))?(o=c.start,x=c.end-1):c.alternatives.at(0)===s?x++:o--}return{min:o,max:x}})).ranges.map(({min:s,max:o})=>({start:s,end:o+1})),m=n.value,t=0;for(let{start:s,end:o}of i)m=m.slice(0,s-t)+m.slice(o-t),t+=o-s;let r=n.getReplaceRange({start:0,end:n.value.length});return r?r.replace(e,m):null}function dA(e){if(e.includes("i"))return e;for(let n=0;n<e.length;n++)if(e[n]>"i")return`${e.slice(0,n)}i${e.slice(n)}`;return`${e}i`}var vo=[dE,CE,_E,SE,bE,AE,PE,NE,JE,jE,mb,rb,sb,ob,xb,cb,lb,ub,hb,fb,db,gb,yb,Sb,kb,Ab,Pb,Ob,Rb,Mb,Jb,Fb,Ub,Vb,Qb,Kb,Xb,ek,tk,sk,xk,pk,wk,Ek,bk,kk,Tk,Ak,Ik,Pk,Ok,Lk,Uk,Xk,nT,eT,oT,xT,cT,lT,uT,pT,dT,gT,yT,CT,vT,_T,ST,wT,ET,IT,JT,jT,GT,nA,aA,mA,xA,cA,pA,T("use-ignore-case",{meta:{docs:{description:"use the `i` flag if it simplifies the pattern",category:"Best Practices",recommended:!0},fixable:"code",schema:[],messages:{unexpected:"The character class(es) {{ classes }} can be simplified using the `i` flag."},type:"suggestion"},create(e){function n(a){let{node:i,flags:m,ownsFlags:t,flagsString:r,patternAst:s,patternSource:o,getUsageOfPattern:x,getFlagsLocation:c,fixReplaceFlags:l}=a;if(!t||r===null)return{};if(m.ignoreCase)return{};if(x()===0)return{};if(qm(s,m))return{};let u=[],p=[];return{onCharacterClassEnter(f){let d=f.elements.flatMap(w=>w.type==="ClassStringDisjunction"?w.alternatives:[w]),g=d.filter(w=>!qm(w,m));if(g.length===d.length)return;let h=O.JS.UnicodeSet.empty(_.Chars.maxChar(m)).union(...g.map(w=>(0,_.toUnicodeSet)(w,m))),y=Z5(d,new Set(g)),C=X5(y,w=>(0,_.toUnicodeSet)(w,m),h);y=Z5(y,C);let v=k3(m),S=X5(y,w=>(0,_.toUnicodeSet)(w,v),h);u.push(...S),p.push(f)},onPatternLeave(){u.length!==0&&e.report({node:i,loc:c(),messageId:"unexpected",data:{classes:p.map(f=>R(f)).join(", ")},fix(f){let d=fA(f,o,u);if(!d)return null;let g=l(dA(r),!1)(f);if(!g)return null;let h=[d];return Array.isArray(g)?h.push(...g):h.push(g),h}})}}}return A(e,{createVisitor:n})}})],_o={"no-control-regex":"error","no-misleading-character-class":"error","no-regex-spaces":"error","prefer-regex-literals":"error","no-invalid-regexp":"off","no-useless-backreference":"off","no-empty-character-class":"off","regexp/confusing-quantifier":"warn","regexp/control-character-escape":"error","regexp/match-any":"error","regexp/negation":"error","regexp/no-contradiction-with-assertion":"error","regexp/no-dupe-characters-character-class":"error","regexp/no-dupe-disjunctions":"error","regexp/no-empty-alternative":"warn","regexp/no-empty-capturing-group":"error","regexp/no-empty-character-class":"error","regexp/no-empty-group":"error","regexp/no-empty-lookarounds-assertion":"error","regexp/no-empty-string-literal":"error","regexp/no-escape-backspace":"error","regexp/no-extra-lookaround-assertions":"error","regexp/no-invalid-regexp":"error","regexp/no-invisible-character":"error","regexp/no-lazy-ends":"warn","regexp/no-legacy-features":"error","regexp/no-misleading-capturing-group":"error","regexp/no-misleading-unicode-character":"error","regexp/no-missing-g-flag":"error","regexp/no-non-standard-flag":"error","regexp/no-obscure-range":"error","regexp/no-optional-assertion":"error","regexp/no-potentially-useless-backreference":"warn","regexp/no-super-linear-backtracking":"error","regexp/no-trivially-nested-assertion":"error","regexp/no-trivially-nested-quantifier":"error","regexp/no-unused-capturing-group":"error","regexp/no-useless-assertions":"error","regexp/no-useless-backreference":"error","regexp/no-useless-character-class":"error","regexp/no-useless-dollar-replacements":"error","regexp/no-useless-escape":"error","regexp/no-useless-flag":"warn","regexp/no-useless-lazy":"error","regexp/no-useless-non-capturing-group":"error","regexp/no-useless-quantifier":"error","regexp/no-useless-range":"error","regexp/no-useless-set-operand":"error","regexp/no-useless-string-literal":"error","regexp/no-useless-two-nums-quantifier":"error","regexp/no-zero-quantifier":"error","regexp/optimal-lookaround-quantifier":"warn","regexp/optimal-quantifier-concatenation":"error","regexp/prefer-character-class":"error","regexp/prefer-d":"error","regexp/prefer-plus-quantifier":"error","regexp/prefer-predefined-assertion":"error","regexp/prefer-question-quantifier":"error","regexp/prefer-range":"error","regexp/prefer-set-operation":"error","regexp/prefer-star-quantifier":"error","regexp/prefer-unicode-codepoint-escapes":"error","regexp/prefer-w":"error","regexp/simplify-set-operations":"error","regexp/sort-flags":"error","regexp/strict":"error","regexp/use-ignore-case":"error"},So={};for(let e of vo)So[e.meta.docs.ruleId]="error";var gA={...So,..._o},n3=ut({name:()=>yA,plugins:()=>CA,rules:()=>gA}),yA="regexp/all",CA={get regexp(){return Bi}},e3=ut({name:()=>vA,plugins:()=>_A,rules:()=>_o}),vA="regexp/recommended",_A={get regexp(){return Bi}},SA={name:"eslint-plugin-regexp",version:"3.3.3"},wA={recommended:e3,all:n3,"flat/all":n3,"flat/recommended":e3},EA=vo.reduce((e,n)=>(e[n.meta.docs.ruleName]=n,e),{}),Bi={configs:wA,rules:EA,meta:SA};var bA=Object.fromEntries(["no-contradiction-with-assertion","no-useless-assertions"].map(e=>{if(!Bi.rules[e])throw new Error("Missing upstream rule: "+e);return[e,Bi.rules[e]]})),$P={meta:{name:"eslint-plugin-regexp",version:"3.3.3"},rules:bA};export{$P as default};